diff --git a/ProcessMaker/Http/Controllers/Api/DevLinkController.php b/ProcessMaker/Http/Controllers/Api/DevLinkController.php index f4f24a7016..d43415461c 100644 --- a/ProcessMaker/Http/Controllers/Api/DevLinkController.php +++ b/ProcessMaker/Http/Controllers/Api/DevLinkController.php @@ -4,11 +4,14 @@ use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Notification; use Illuminate\Validation\Rule; +use ProcessMaker\Events\CustomizeUiUpdated; use ProcessMaker\Exception\ValidationException; use ProcessMaker\Http\Controllers\Controller; use ProcessMaker\Http\Resources\ApiCollection; +use ProcessMaker\Jobs\CompileSass; use ProcessMaker\Jobs\DevLinkInstall; use ProcessMaker\Models\Bundle; use ProcessMaker\Models\BundleAsset; @@ -198,6 +201,8 @@ public function bundleUpdated($bundleId, $token) public function deleteBundle(Bundle $bundle) { + $bundle->assets()->delete(); + $bundle->settings()->delete(); $bundle->delete(); } @@ -255,7 +260,7 @@ public function exportLocalBundleSettings(Bundle $bundle) public function exportLocalBundleSettingPayloads(Bundle $bundle) { if ($bundle->settings->isEmpty()) { - return ['payloads' => [0 => []]]; + return ['payloads' => []]; } return ['payloads' => $bundle->exportSettingPayloads()]; @@ -384,6 +389,79 @@ public function getBundleSetting(Bundle $bundle, $settingKey) public function getBundleAllSettings($settingKey) { - return Setting::where([['group_id', SettingsMenus::getId($settingKey)], ['hidden', 0]])->get(); + if ($settingKey === 'ui_settings') { + return Setting::whereIn('key', ['css-override', 'login-footer', 'logo-alt-text']) + ->get(); + } + + return Setting::where([ + ['group_id', SettingsMenus::getId($settingKey)], + ['hidden', 0], + ])->get(); + } + + public function refreshUi() + { + $cssOverride = Setting::where('key', 'css-override')->first(); + + $config = $cssOverride->config; + $variables = json_decode($config['variables']); + $sansSerif = json_decode($config['sansSerifFont'], true); + + $this->writeColors($variables); + $this->writeFonts($sansSerif); + $this->compileSass(auth()->user()->id); + CustomizeUiUpdated::dispatch([], [], false); + } + + private function writeColors($data) + { + // Now generate the _colors.scss file + $contents = "// Changed theme colors\n"; + foreach ($data as $value) { + $contents .= $value->id . ': ' . $value->value . ";\n"; + } + File::put(app()->resourcePath('sass') . '/_colors.scss', $contents); + } + + /** + * Write variables font in file + * + * @param $sansSerif + * @param $serif + */ + private function writeFonts($sansSerif) + { + $sansSerif = $sansSerif ? $sansSerif : $this->sansSerifFontDefault(); + // Generate the _fonts.scss file + $contents = "// Changed theme fonts\n"; + $contents .= '$font-family-sans-serif: ' . $sansSerif['id'] . " !default;\n"; + File::put(app()->resourcePath('sass') . '/_fonts.scss', $contents); + } + + /** + * run jobs compile + */ + private function compileSass($userId) + { + // Compile the Sass files + $this->dispatch(new CompileSass([ + 'tag' => 'sidebar', + 'origin' => 'resources/sass/sidebar/sidebar.scss', + 'target' => 'public/css/sidebar.css', + 'user' => $userId, + ])); + $this->dispatch(new CompileSass([ + 'tag' => 'app', + 'origin' => 'resources/sass/app.scss', + 'target' => 'public/css/app.css', + 'user' => $userId, + ])); + $this->dispatch(new CompileSass([ + 'tag' => 'queues', + 'origin' => 'resources/sass/admin/queues.scss', + 'target' => 'public/css/admin/queues.css', + 'user' => $userId, + ])); } } diff --git a/ProcessMaker/Models/Bundle.php b/ProcessMaker/Models/Bundle.php index 1cdd68fc76..a7dff711d1 100644 --- a/ProcessMaker/Models/Bundle.php +++ b/ProcessMaker/Models/Bundle.php @@ -233,6 +233,11 @@ public function addSettings($setting, $newId, $type = null) } } + if ($type === 'ui_settings') { + $config['id'] = ['css-override', 'login-footer', 'logo-alt-text']; + $config['type'] = $type; + } + BundleSetting::create([ 'bundle_id' => $this->id, 'setting' => $setting, @@ -292,8 +297,16 @@ public function newestVersionFile() return $this->filesSortedByVersion()->first(); } - public function savePayloadsToFile(array $payloads) + public function savePayloadsToFile(array $payloads, array $payloadsSettings, $logger = null) { + if ($logger === null) { + $logger = new Logger(); + } + $logger->status('Saving the bundle locally'); + if (isset($payloadsSettings[0])) { + $payloads = array_merge($payloads, $payloadsSettings[0]); + } + $this->addMediaFromString( gzencode( json_encode($payloads) @@ -338,51 +351,63 @@ public function installSettingsPayloads(array $payloads, $mode, $logger = null) $logger->status('Installing bundle settings on the this instance'); $logger->setSteps($payloads[0]); $assets[] = DevLink::import($payload[0], $options, $logger); - } else { - switch ($payload[0]['setting_type']) { - case 'auth_clients': - $clientRepository->create( - null, - $payload[0]['name'], - $payload[0]['redirect'], - $payload[0]['provider'], - $payload[0]['personal_access_client'], - $payload[0]['password_client'] - ); - break; - case 'User Settings': - case 'Email': - case 'Integrations': - case 'Log-In & Auth': - $settingsMenu = SettingsMenus::where('menu_group', $payload[0]['setting_type'])->first(); - Setting::updateOrCreate([ - 'key' => $payload[0]['key'], - ], [ - 'config' => $payload[0]['config'], - 'name' => $payload[0]['name'], - 'helper' => $payload[0]['helper'], - 'format' => $payload[0]['format'], - 'hidden' => $payload[0]['hidden'], - 'readonly' => $payload[0]['readonly'], - 'ui' => $payload[0]['ui'], - 'group_id' => $settingsMenu->id, - 'group' => $payload[0]['group'], - ]); - break; + } elseif (isset($payload[0]['setting_type'])) { + foreach ($payload as $setting) { + switch ($setting['setting_type']) { + case 'auth_clients': + $clientRepository->create( + null, + $setting['name'], + $setting['redirect'], + $setting['provider'], + $setting['personal_access_client'], + $setting['password_client'] + ); + break; + case 'User Settings': + case 'Email': + case 'Integrations': + case 'Log-In & Auth': + $settingsMenu = SettingsMenus::where('menu_group', $setting['setting_type'])->first(); + Setting::updateOrCreate([ + 'key' => $setting['key'], + ], [ + 'config' => $setting['config'], + 'name' => $setting['name'], + 'helper' => $setting['helper'], + 'format' => $setting['format'], + 'hidden' => $setting['hidden'], + 'readonly' => $setting['readonly'], + 'ui' => $setting['ui'], + 'group_id' => $settingsMenu->id, + 'group' => $setting['group'], + ]); + break; + case 'ui_settings': + Setting::updateOrCreate([ + 'key' => $setting['key'], + ], [ + 'config' => $setting['config'], + 'name' => $setting['name'], + 'helper' => $setting['helper'], + 'format' => $setting['format'], + 'hidden' => $setting['hidden'], + 'readonly' => $setting['readonly'], + 'ui' => $setting['ui'], + ]); + break; + } } } } } - public function install(array $payloads, $mode, $logger = null) + public function install(array $payloads, $mode, $logger = null, $reinstall = false) { if ($logger === null) { $logger = new Logger(); } - $logger->status('Saving the bundle locally'); - $this->savePayloadsToFile($payloads); - $logger->status('Installing bundle on the this instance'); $logger->setSteps($payloads); @@ -394,7 +419,7 @@ public function install(array $payloads, $mode, $logger = null) $assets[] = DevLink::import($payload, $options, $logger); } - if ($mode === 'update') { + if ($mode === 'update' && $reinstall === false) { $logger->status('Syncing bundle assets'); $this->syncAssets($assets); } @@ -406,8 +431,7 @@ public function reinstall(string $mode, Logger $logger = null) $content = file_get_contents($media->getPath()); $payloads = json_decode(gzdecode($content), true); - - $this->install($payloads, $mode, $logger); + $this->install($payloads, $mode, $logger, true); $logger?->setStatus('done'); } diff --git a/ProcessMaker/Models/BundleSetting.php b/ProcessMaker/Models/BundleSetting.php index 9a8afb14a4..316ee37bb4 100644 --- a/ProcessMaker/Models/BundleSetting.php +++ b/ProcessMaker/Models/BundleSetting.php @@ -6,6 +6,7 @@ use ProcessMaker\Enums\ExporterMap; use ProcessMaker\ImportExport\Exporter; use ProcessMaker\ImportExport\Exporters\GroupExporter; +use ProcessMaker\ImportExport\Exporters\MediaExporter; use ProcessMaker\ImportExport\Exporters\ScriptExecutorExporter; use ProcessMaker\ImportExport\Exporters\UserExporter; use ProcessMaker\Models\ProcessMakerModel; @@ -91,31 +92,22 @@ public function export() return $uiMenus->map(function ($uiMenu) { return $this->exportHelper($uiMenu, MenuExporter::class); }); - case 'translations': + case 'public_files': if (empty($this->config)) { - $translations = Translatable::all(); + $publicFiles = Media::all()->filter(function ($media) { + return $media->isPublicFile(); + }); } else { - $translations = Translatable::whereIn('key', $ids)->get(); + $publicFiles = Media::whereIn('id', $ids)->get(); } - return $translations->map(function ($translation) { - return $this->exportHelper($translation, TranslatableExporter::class); - }); - case 'auth_clients': - if (empty($this->config)) { - $authClients = \Laravel\Passport\Client::where('revoked', false)->get(); - } else { - $authClients = \Laravel\Passport\Client::where('revoked', false)->whereIn('id', $ids)->get(); - } - - return $authClients->map(function ($authClient) { - $authClient->setting_type = $this->setting; - - return $authClient; + return $publicFiles->map(function ($publicFile) { + return $this->exportHelper($publicFile, MediaExporter::class); }); case 'Log-In & Auth': case 'User Settings': case 'Email': + case 'ui_settings': case 'Integrations': $bundleSettings = Setting::whereIn('key', $ids)->get(); @@ -125,8 +117,6 @@ public function export() return $bundleSetting; }); } - - return []; } public function exportHelper($model, $exporterClass, $options = null, $ignoreExplicitExport = true) diff --git a/ProcessMaker/Models/DevLink.php b/ProcessMaker/Models/DevLink.php index a7d83f6cde..57c2879f46 100644 --- a/ProcessMaker/Models/DevLink.php +++ b/ProcessMaker/Models/DevLink.php @@ -172,6 +172,8 @@ public function installRemoteBundle($remoteBundleId, $updateType) ] ); + $bundle->savePayloadsToFile($bundleExport['payloads'], $bundleSettingsPayloads['payloads']); + $bundle->install($bundleExport['payloads'], $updateType, $this->logger); $bundle->installSettingsPayloads($bundleSettingsPayloads['payloads'], $updateType, $this->logger); $bundle->installSettings($bundleSettingsExport['settings']); diff --git a/devhub/pm-font/svg/add-outlined.svg b/devhub/pm-font/svg/add-outlined.svg new file mode 100644 index 0000000000..cd39c4f44c --- /dev/null +++ b/devhub/pm-font/svg/add-outlined.svg @@ -0,0 +1,3 @@ + diff --git a/resources/fonts/pm-font/index.html b/resources/fonts/pm-font/index.html index b5f9bc7fa0..10529f3013 100644 --- a/resources/fonts/pm-font/index.html +++ b/resources/fonts/pm-font/index.html @@ -103,7 +103,7 @@
diff --git a/resources/fonts/pm-font/processmaker-font.css b/resources/fonts/pm-font/processmaker-font.css
index a46ccdf3d1..31a8273d9a 100644
--- a/resources/fonts/pm-font/processmaker-font.css
+++ b/resources/fonts/pm-font/processmaker-font.css
@@ -1,11 +1,11 @@
@font-face {
font-family: "processmaker-font";
- src: url('processmaker-font.eot?t=1733168374693'); /* IE9*/
- src: url('processmaker-font.eot?t=1733168374693#iefix') format('embedded-opentype'), /* IE6-IE8 */
- url("processmaker-font.woff2?t=1733168374693") format("woff2"),
- url("processmaker-font.woff?t=1733168374693") format("woff"),
- url('processmaker-font.ttf?t=1733168374693') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
- url('processmaker-font.svg?t=1733168374693#processmaker-font') format('svg'); /* iOS 4.1- */
+ src: url('processmaker-font.eot?t=1738332521802'); /* IE9*/
+ src: url('processmaker-font.eot?t=1738332521802#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url("processmaker-font.woff2?t=1738332521802") format("woff2"),
+ url("processmaker-font.woff?t=1738332521802") format("woff"),
+ url('processmaker-font.ttf?t=1738332521802') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('processmaker-font.svg?t=1738332521802#processmaker-font') format('svg'); /* iOS 4.1- */
}
[class^="fp-"], [class*=" fp-"] {
@@ -16,49 +16,50 @@
}
-.fp-bpmn-action-by-email:before { content: "\ea01"; }
-.fp-bpmn-data-connector:before { content: "\ea02"; }
-.fp-bpmn-data-object:before { content: "\ea03"; }
-.fp-bpmn-data-store:before { content: "\ea04"; }
-.fp-bpmn-docusign:before { content: "\ea05"; }
-.fp-bpmn-end-event:before { content: "\ea06"; }
-.fp-bpmn-flowgenie:before { content: "\ea07"; }
-.fp-bpmn-gateway:before { content: "\ea08"; }
-.fp-bpmn-generic-gateway:before { content: "\ea09"; }
-.fp-bpmn-idp:before { content: "\ea0a"; }
-.fp-bpmn-intermediate-event:before { content: "\ea0b"; }
-.fp-bpmn-pool:before { content: "\ea0c"; }
-.fp-bpmn-send-email:before { content: "\ea0d"; }
-.fp-bpmn-start-event:before { content: "\ea0e"; }
-.fp-bpmn-task:before { content: "\ea0f"; }
-.fp-bpmn-text-annotation:before { content: "\ea10"; }
-.fp-brush-icon:before { content: "\ea11"; }
-.fp-close:before { content: "\ea12"; }
-.fp-cloud-download-outline:before { content: "\ea13"; }
-.fp-copy:before { content: "\ea14"; }
-.fp-desktop:before { content: "\ea15"; }
-.fp-edit-outline:before { content: "\ea16"; }
-.fp-eye:before { content: "\ea17"; }
-.fp-fields-icon:before { content: "\ea18"; }
-.fp-flowgenie-outline:before { content: "\ea19"; }
-.fp-folder-outline:before { content: "\ea1a"; }
-.fp-fullscreen:before { content: "\ea1b"; }
-.fp-github:before { content: "\ea1c"; }
-.fp-layout-icon:before { content: "\ea1d"; }
-.fp-link-icon:before { content: "\ea1e"; }
-.fp-map:before { content: "\ea1f"; }
-.fp-mobile:before { content: "\ea20"; }
-.fp-pdf:before { content: "\ea21"; }
-.fp-play-outline:before { content: "\ea22"; }
-.fp-plus-thin:before { content: "\ea23"; }
-.fp-plus:before { content: "\ea24"; }
-.fp-remove-outlined:before { content: "\ea25"; }
-.fp-screen-outline:before { content: "\ea26"; }
-.fp-script-outline:before { content: "\ea27"; }
-.fp-slack-notification:before { content: "\ea28"; }
-.fp-slack:before { content: "\ea29"; }
-.fp-slideshow:before { content: "\ea2a"; }
-.fp-table:before { content: "\ea2b"; }
-.fp-trash:before { content: "\ea2c"; }
-.fp-unlink:before { content: "\ea2d"; }
+.fp-add-outlined:before { content: "\ea01"; }
+.fp-bpmn-action-by-email:before { content: "\ea02"; }
+.fp-bpmn-data-connector:before { content: "\ea03"; }
+.fp-bpmn-data-object:before { content: "\ea04"; }
+.fp-bpmn-data-store:before { content: "\ea05"; }
+.fp-bpmn-docusign:before { content: "\ea06"; }
+.fp-bpmn-end-event:before { content: "\ea07"; }
+.fp-bpmn-flowgenie:before { content: "\ea08"; }
+.fp-bpmn-gateway:before { content: "\ea09"; }
+.fp-bpmn-generic-gateway:before { content: "\ea0a"; }
+.fp-bpmn-idp:before { content: "\ea0b"; }
+.fp-bpmn-intermediate-event:before { content: "\ea0c"; }
+.fp-bpmn-pool:before { content: "\ea0d"; }
+.fp-bpmn-send-email:before { content: "\ea0e"; }
+.fp-bpmn-start-event:before { content: "\ea0f"; }
+.fp-bpmn-task:before { content: "\ea10"; }
+.fp-bpmn-text-annotation:before { content: "\ea11"; }
+.fp-brush-icon:before { content: "\ea12"; }
+.fp-close:before { content: "\ea13"; }
+.fp-cloud-download-outline:before { content: "\ea14"; }
+.fp-copy:before { content: "\ea15"; }
+.fp-desktop:before { content: "\ea16"; }
+.fp-edit-outline:before { content: "\ea17"; }
+.fp-eye:before { content: "\ea18"; }
+.fp-fields-icon:before { content: "\ea19"; }
+.fp-flowgenie-outline:before { content: "\ea1a"; }
+.fp-folder-outline:before { content: "\ea1b"; }
+.fp-fullscreen:before { content: "\ea1c"; }
+.fp-github:before { content: "\ea1d"; }
+.fp-layout-icon:before { content: "\ea1e"; }
+.fp-link-icon:before { content: "\ea1f"; }
+.fp-map:before { content: "\ea20"; }
+.fp-mobile:before { content: "\ea21"; }
+.fp-pdf:before { content: "\ea22"; }
+.fp-play-outline:before { content: "\ea23"; }
+.fp-plus-thin:before { content: "\ea24"; }
+.fp-plus:before { content: "\ea25"; }
+.fp-remove-outlined:before { content: "\ea26"; }
+.fp-screen-outline:before { content: "\ea27"; }
+.fp-script-outline:before { content: "\ea28"; }
+.fp-slack-notification:before { content: "\ea29"; }
+.fp-slack:before { content: "\ea2a"; }
+.fp-slideshow:before { content: "\ea2b"; }
+.fp-table:before { content: "\ea2c"; }
+.fp-trash:before { content: "\ea2d"; }
+.fp-unlink:before { content: "\ea2e"; }
diff --git a/resources/fonts/pm-font/processmaker-font.eot b/resources/fonts/pm-font/processmaker-font.eot
index 312adfcd8c..5f3ea3c9e8 100644
Binary files a/resources/fonts/pm-font/processmaker-font.eot and b/resources/fonts/pm-font/processmaker-font.eot differ
diff --git a/resources/fonts/pm-font/processmaker-font.less b/resources/fonts/pm-font/processmaker-font.less
index aebacf2c8d..ba2a59c3ee 100644
--- a/resources/fonts/pm-font/processmaker-font.less
+++ b/resources/fonts/pm-font/processmaker-font.less
@@ -1,10 +1,10 @@
@font-face {font-family: "processmaker-font";
- src: url('processmaker-font.eot?t=1733168374693'); /* IE9*/
- src: url('processmaker-font.eot?t=1733168374693#iefix') format('embedded-opentype'), /* IE6-IE8 */
- url("processmaker-font.woff2?t=1733168374693") format("woff2"),
- url("processmaker-font.woff?t=1733168374693") format("woff"),
- url('processmaker-font.ttf?t=1733168374693') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
- url('processmaker-font.svg?t=1733168374693#processmaker-font') format('svg'); /* iOS 4.1- */
+ src: url('processmaker-font.eot?t=1738332521802'); /* IE9*/
+ src: url('processmaker-font.eot?t=1738332521802#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url("processmaker-font.woff2?t=1738332521802") format("woff2"),
+ url("processmaker-font.woff?t=1738332521802") format("woff"),
+ url('processmaker-font.ttf?t=1738332521802') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('processmaker-font.svg?t=1738332521802#processmaker-font') format('svg'); /* iOS 4.1- */
}
[class^="fp-"], [class*=" fp-"] {
@@ -14,48 +14,49 @@
-moz-osx-font-smoothing: grayscale;
}
-.fp-bpmn-action-by-email:before { content: "\ea01"; }
-.fp-bpmn-data-connector:before { content: "\ea02"; }
-.fp-bpmn-data-object:before { content: "\ea03"; }
-.fp-bpmn-data-store:before { content: "\ea04"; }
-.fp-bpmn-docusign:before { content: "\ea05"; }
-.fp-bpmn-end-event:before { content: "\ea06"; }
-.fp-bpmn-flowgenie:before { content: "\ea07"; }
-.fp-bpmn-gateway:before { content: "\ea08"; }
-.fp-bpmn-generic-gateway:before { content: "\ea09"; }
-.fp-bpmn-idp:before { content: "\ea0a"; }
-.fp-bpmn-intermediate-event:before { content: "\ea0b"; }
-.fp-bpmn-pool:before { content: "\ea0c"; }
-.fp-bpmn-send-email:before { content: "\ea0d"; }
-.fp-bpmn-start-event:before { content: "\ea0e"; }
-.fp-bpmn-task:before { content: "\ea0f"; }
-.fp-bpmn-text-annotation:before { content: "\ea10"; }
-.fp-brush-icon:before { content: "\ea11"; }
-.fp-close:before { content: "\ea12"; }
-.fp-cloud-download-outline:before { content: "\ea13"; }
-.fp-copy:before { content: "\ea14"; }
-.fp-desktop:before { content: "\ea15"; }
-.fp-edit-outline:before { content: "\ea16"; }
-.fp-eye:before { content: "\ea17"; }
-.fp-fields-icon:before { content: "\ea18"; }
-.fp-flowgenie-outline:before { content: "\ea19"; }
-.fp-folder-outline:before { content: "\ea1a"; }
-.fp-fullscreen:before { content: "\ea1b"; }
-.fp-github:before { content: "\ea1c"; }
-.fp-layout-icon:before { content: "\ea1d"; }
-.fp-link-icon:before { content: "\ea1e"; }
-.fp-map:before { content: "\ea1f"; }
-.fp-mobile:before { content: "\ea20"; }
-.fp-pdf:before { content: "\ea21"; }
-.fp-play-outline:before { content: "\ea22"; }
-.fp-plus-thin:before { content: "\ea23"; }
-.fp-plus:before { content: "\ea24"; }
-.fp-remove-outlined:before { content: "\ea25"; }
-.fp-screen-outline:before { content: "\ea26"; }
-.fp-script-outline:before { content: "\ea27"; }
-.fp-slack-notification:before { content: "\ea28"; }
-.fp-slack:before { content: "\ea29"; }
-.fp-slideshow:before { content: "\ea2a"; }
-.fp-table:before { content: "\ea2b"; }
-.fp-trash:before { content: "\ea2c"; }
-.fp-unlink:before { content: "\ea2d"; }
+.fp-add-outlined:before { content: "\ea01"; }
+.fp-bpmn-action-by-email:before { content: "\ea02"; }
+.fp-bpmn-data-connector:before { content: "\ea03"; }
+.fp-bpmn-data-object:before { content: "\ea04"; }
+.fp-bpmn-data-store:before { content: "\ea05"; }
+.fp-bpmn-docusign:before { content: "\ea06"; }
+.fp-bpmn-end-event:before { content: "\ea07"; }
+.fp-bpmn-flowgenie:before { content: "\ea08"; }
+.fp-bpmn-gateway:before { content: "\ea09"; }
+.fp-bpmn-generic-gateway:before { content: "\ea0a"; }
+.fp-bpmn-idp:before { content: "\ea0b"; }
+.fp-bpmn-intermediate-event:before { content: "\ea0c"; }
+.fp-bpmn-pool:before { content: "\ea0d"; }
+.fp-bpmn-send-email:before { content: "\ea0e"; }
+.fp-bpmn-start-event:before { content: "\ea0f"; }
+.fp-bpmn-task:before { content: "\ea10"; }
+.fp-bpmn-text-annotation:before { content: "\ea11"; }
+.fp-brush-icon:before { content: "\ea12"; }
+.fp-close:before { content: "\ea13"; }
+.fp-cloud-download-outline:before { content: "\ea14"; }
+.fp-copy:before { content: "\ea15"; }
+.fp-desktop:before { content: "\ea16"; }
+.fp-edit-outline:before { content: "\ea17"; }
+.fp-eye:before { content: "\ea18"; }
+.fp-fields-icon:before { content: "\ea19"; }
+.fp-flowgenie-outline:before { content: "\ea1a"; }
+.fp-folder-outline:before { content: "\ea1b"; }
+.fp-fullscreen:before { content: "\ea1c"; }
+.fp-github:before { content: "\ea1d"; }
+.fp-layout-icon:before { content: "\ea1e"; }
+.fp-link-icon:before { content: "\ea1f"; }
+.fp-map:before { content: "\ea20"; }
+.fp-mobile:before { content: "\ea21"; }
+.fp-pdf:before { content: "\ea22"; }
+.fp-play-outline:before { content: "\ea23"; }
+.fp-plus-thin:before { content: "\ea24"; }
+.fp-plus:before { content: "\ea25"; }
+.fp-remove-outlined:before { content: "\ea26"; }
+.fp-screen-outline:before { content: "\ea27"; }
+.fp-script-outline:before { content: "\ea28"; }
+.fp-slack-notification:before { content: "\ea29"; }
+.fp-slack:before { content: "\ea2a"; }
+.fp-slideshow:before { content: "\ea2b"; }
+.fp-table:before { content: "\ea2c"; }
+.fp-trash:before { content: "\ea2d"; }
+.fp-unlink:before { content: "\ea2e"; }
diff --git a/resources/fonts/pm-font/processmaker-font.module.less b/resources/fonts/pm-font/processmaker-font.module.less
index 5b6fb9fdbc..98365ba237 100644
--- a/resources/fonts/pm-font/processmaker-font.module.less
+++ b/resources/fonts/pm-font/processmaker-font.module.less
@@ -1,10 +1,10 @@
@font-face {font-family: "processmaker-font";
- src: url('processmaker-font.eot?t=1733168374693'); /* IE9*/
- src: url('processmaker-font.eot?t=1733168374693#iefix') format('embedded-opentype'), /* IE6-IE8 */
- url("processmaker-font.woff2?t=1733168374693") format("woff2"),
- url("processmaker-font.woff?t=1733168374693") format("woff"),
- url('processmaker-font.ttf?t=1733168374693') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
- url('processmaker-font.svg?t=1733168374693#processmaker-font') format('svg'); /* iOS 4.1- */
+ src: url('processmaker-font.eot?t=1738332521802'); /* IE9*/
+ src: url('processmaker-font.eot?t=1738332521802#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url("processmaker-font.woff2?t=1738332521802") format("woff2"),
+ url("processmaker-font.woff?t=1738332521802") format("woff"),
+ url('processmaker-font.ttf?t=1738332521802') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('processmaker-font.svg?t=1738332521802#processmaker-font') format('svg'); /* iOS 4.1- */
}
[class^="fp-"], [class*=" fp-"] {
@@ -15,50 +15,51 @@
}
:global {
-.fp-bpmn-action-by-email:before { content: "\ea01"; }
-.fp-bpmn-data-connector:before { content: "\ea02"; }
-.fp-bpmn-data-object:before { content: "\ea03"; }
-.fp-bpmn-data-store:before { content: "\ea04"; }
-.fp-bpmn-docusign:before { content: "\ea05"; }
-.fp-bpmn-end-event:before { content: "\ea06"; }
-.fp-bpmn-flowgenie:before { content: "\ea07"; }
-.fp-bpmn-gateway:before { content: "\ea08"; }
-.fp-bpmn-generic-gateway:before { content: "\ea09"; }
-.fp-bpmn-idp:before { content: "\ea0a"; }
-.fp-bpmn-intermediate-event:before { content: "\ea0b"; }
-.fp-bpmn-pool:before { content: "\ea0c"; }
-.fp-bpmn-send-email:before { content: "\ea0d"; }
-.fp-bpmn-start-event:before { content: "\ea0e"; }
-.fp-bpmn-task:before { content: "\ea0f"; }
-.fp-bpmn-text-annotation:before { content: "\ea10"; }
-.fp-brush-icon:before { content: "\ea11"; }
-.fp-close:before { content: "\ea12"; }
-.fp-cloud-download-outline:before { content: "\ea13"; }
-.fp-copy:before { content: "\ea14"; }
-.fp-desktop:before { content: "\ea15"; }
-.fp-edit-outline:before { content: "\ea16"; }
-.fp-eye:before { content: "\ea17"; }
-.fp-fields-icon:before { content: "\ea18"; }
-.fp-flowgenie-outline:before { content: "\ea19"; }
-.fp-folder-outline:before { content: "\ea1a"; }
-.fp-fullscreen:before { content: "\ea1b"; }
-.fp-github:before { content: "\ea1c"; }
-.fp-layout-icon:before { content: "\ea1d"; }
-.fp-link-icon:before { content: "\ea1e"; }
-.fp-map:before { content: "\ea1f"; }
-.fp-mobile:before { content: "\ea20"; }
-.fp-pdf:before { content: "\ea21"; }
-.fp-play-outline:before { content: "\ea22"; }
-.fp-plus-thin:before { content: "\ea23"; }
-.fp-plus:before { content: "\ea24"; }
-.fp-remove-outlined:before { content: "\ea25"; }
-.fp-screen-outline:before { content: "\ea26"; }
-.fp-script-outline:before { content: "\ea27"; }
-.fp-slack-notification:before { content: "\ea28"; }
-.fp-slack:before { content: "\ea29"; }
-.fp-slideshow:before { content: "\ea2a"; }
-.fp-table:before { content: "\ea2b"; }
-.fp-trash:before { content: "\ea2c"; }
-.fp-unlink:before { content: "\ea2d"; }
+.fp-add-outlined:before { content: "\ea01"; }
+.fp-bpmn-action-by-email:before { content: "\ea02"; }
+.fp-bpmn-data-connector:before { content: "\ea03"; }
+.fp-bpmn-data-object:before { content: "\ea04"; }
+.fp-bpmn-data-store:before { content: "\ea05"; }
+.fp-bpmn-docusign:before { content: "\ea06"; }
+.fp-bpmn-end-event:before { content: "\ea07"; }
+.fp-bpmn-flowgenie:before { content: "\ea08"; }
+.fp-bpmn-gateway:before { content: "\ea09"; }
+.fp-bpmn-generic-gateway:before { content: "\ea0a"; }
+.fp-bpmn-idp:before { content: "\ea0b"; }
+.fp-bpmn-intermediate-event:before { content: "\ea0c"; }
+.fp-bpmn-pool:before { content: "\ea0d"; }
+.fp-bpmn-send-email:before { content: "\ea0e"; }
+.fp-bpmn-start-event:before { content: "\ea0f"; }
+.fp-bpmn-task:before { content: "\ea10"; }
+.fp-bpmn-text-annotation:before { content: "\ea11"; }
+.fp-brush-icon:before { content: "\ea12"; }
+.fp-close:before { content: "\ea13"; }
+.fp-cloud-download-outline:before { content: "\ea14"; }
+.fp-copy:before { content: "\ea15"; }
+.fp-desktop:before { content: "\ea16"; }
+.fp-edit-outline:before { content: "\ea17"; }
+.fp-eye:before { content: "\ea18"; }
+.fp-fields-icon:before { content: "\ea19"; }
+.fp-flowgenie-outline:before { content: "\ea1a"; }
+.fp-folder-outline:before { content: "\ea1b"; }
+.fp-fullscreen:before { content: "\ea1c"; }
+.fp-github:before { content: "\ea1d"; }
+.fp-layout-icon:before { content: "\ea1e"; }
+.fp-link-icon:before { content: "\ea1f"; }
+.fp-map:before { content: "\ea20"; }
+.fp-mobile:before { content: "\ea21"; }
+.fp-pdf:before { content: "\ea22"; }
+.fp-play-outline:before { content: "\ea23"; }
+.fp-plus-thin:before { content: "\ea24"; }
+.fp-plus:before { content: "\ea25"; }
+.fp-remove-outlined:before { content: "\ea26"; }
+.fp-screen-outline:before { content: "\ea27"; }
+.fp-script-outline:before { content: "\ea28"; }
+.fp-slack-notification:before { content: "\ea29"; }
+.fp-slack:before { content: "\ea2a"; }
+.fp-slideshow:before { content: "\ea2b"; }
+.fp-table:before { content: "\ea2c"; }
+.fp-trash:before { content: "\ea2d"; }
+.fp-unlink:before { content: "\ea2e"; }
}
\ No newline at end of file
diff --git a/resources/fonts/pm-font/processmaker-font.scss b/resources/fonts/pm-font/processmaker-font.scss
index ad7f2ab9b9..35036a2cd7 100644
--- a/resources/fonts/pm-font/processmaker-font.scss
+++ b/resources/fonts/pm-font/processmaker-font.scss
@@ -1,10 +1,10 @@
@font-face {font-family: "processmaker-font";
- src: url('processmaker-font.eot?t=1733168374693'); /* IE9*/
- src: url('processmaker-font.eot?t=1733168374693#iefix') format('embedded-opentype'), /* IE6-IE8 */
- url("processmaker-font.woff2?t=1733168374693") format("woff2"),
- url("processmaker-font.woff?t=1733168374693") format("woff"),
- url('processmaker-font.ttf?t=1733168374693') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
- url('processmaker-font.svg?t=1733168374693#processmaker-font') format('svg'); /* iOS 4.1- */
+ src: url('processmaker-font.eot?t=1738332521802'); /* IE9*/
+ src: url('processmaker-font.eot?t=1738332521802#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url("processmaker-font.woff2?t=1738332521802") format("woff2"),
+ url("processmaker-font.woff?t=1738332521802") format("woff"),
+ url('processmaker-font.ttf?t=1738332521802') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('processmaker-font.svg?t=1738332521802#processmaker-font') format('svg'); /* iOS 4.1- */
}
[class^="fp-"], [class*=" fp-"] {
@@ -14,95 +14,97 @@
-moz-osx-font-smoothing: grayscale;
}
-.fp-bpmn-action-by-email:before { content: "\ea01"; }
-.fp-bpmn-data-connector:before { content: "\ea02"; }
-.fp-bpmn-data-object:before { content: "\ea03"; }
-.fp-bpmn-data-store:before { content: "\ea04"; }
-.fp-bpmn-docusign:before { content: "\ea05"; }
-.fp-bpmn-end-event:before { content: "\ea06"; }
-.fp-bpmn-flowgenie:before { content: "\ea07"; }
-.fp-bpmn-gateway:before { content: "\ea08"; }
-.fp-bpmn-generic-gateway:before { content: "\ea09"; }
-.fp-bpmn-idp:before { content: "\ea0a"; }
-.fp-bpmn-intermediate-event:before { content: "\ea0b"; }
-.fp-bpmn-pool:before { content: "\ea0c"; }
-.fp-bpmn-send-email:before { content: "\ea0d"; }
-.fp-bpmn-start-event:before { content: "\ea0e"; }
-.fp-bpmn-task:before { content: "\ea0f"; }
-.fp-bpmn-text-annotation:before { content: "\ea10"; }
-.fp-brush-icon:before { content: "\ea11"; }
-.fp-close:before { content: "\ea12"; }
-.fp-cloud-download-outline:before { content: "\ea13"; }
-.fp-copy:before { content: "\ea14"; }
-.fp-desktop:before { content: "\ea15"; }
-.fp-edit-outline:before { content: "\ea16"; }
-.fp-eye:before { content: "\ea17"; }
-.fp-fields-icon:before { content: "\ea18"; }
-.fp-flowgenie-outline:before { content: "\ea19"; }
-.fp-folder-outline:before { content: "\ea1a"; }
-.fp-fullscreen:before { content: "\ea1b"; }
-.fp-github:before { content: "\ea1c"; }
-.fp-layout-icon:before { content: "\ea1d"; }
-.fp-link-icon:before { content: "\ea1e"; }
-.fp-map:before { content: "\ea1f"; }
-.fp-mobile:before { content: "\ea20"; }
-.fp-pdf:before { content: "\ea21"; }
-.fp-play-outline:before { content: "\ea22"; }
-.fp-plus-thin:before { content: "\ea23"; }
-.fp-plus:before { content: "\ea24"; }
-.fp-remove-outlined:before { content: "\ea25"; }
-.fp-screen-outline:before { content: "\ea26"; }
-.fp-script-outline:before { content: "\ea27"; }
-.fp-slack-notification:before { content: "\ea28"; }
-.fp-slack:before { content: "\ea29"; }
-.fp-slideshow:before { content: "\ea2a"; }
-.fp-table:before { content: "\ea2b"; }
-.fp-trash:before { content: "\ea2c"; }
-.fp-unlink:before { content: "\ea2d"; }
+.fp-add-outlined:before { content: "\ea01"; }
+.fp-bpmn-action-by-email:before { content: "\ea02"; }
+.fp-bpmn-data-connector:before { content: "\ea03"; }
+.fp-bpmn-data-object:before { content: "\ea04"; }
+.fp-bpmn-data-store:before { content: "\ea05"; }
+.fp-bpmn-docusign:before { content: "\ea06"; }
+.fp-bpmn-end-event:before { content: "\ea07"; }
+.fp-bpmn-flowgenie:before { content: "\ea08"; }
+.fp-bpmn-gateway:before { content: "\ea09"; }
+.fp-bpmn-generic-gateway:before { content: "\ea0a"; }
+.fp-bpmn-idp:before { content: "\ea0b"; }
+.fp-bpmn-intermediate-event:before { content: "\ea0c"; }
+.fp-bpmn-pool:before { content: "\ea0d"; }
+.fp-bpmn-send-email:before { content: "\ea0e"; }
+.fp-bpmn-start-event:before { content: "\ea0f"; }
+.fp-bpmn-task:before { content: "\ea10"; }
+.fp-bpmn-text-annotation:before { content: "\ea11"; }
+.fp-brush-icon:before { content: "\ea12"; }
+.fp-close:before { content: "\ea13"; }
+.fp-cloud-download-outline:before { content: "\ea14"; }
+.fp-copy:before { content: "\ea15"; }
+.fp-desktop:before { content: "\ea16"; }
+.fp-edit-outline:before { content: "\ea17"; }
+.fp-eye:before { content: "\ea18"; }
+.fp-fields-icon:before { content: "\ea19"; }
+.fp-flowgenie-outline:before { content: "\ea1a"; }
+.fp-folder-outline:before { content: "\ea1b"; }
+.fp-fullscreen:before { content: "\ea1c"; }
+.fp-github:before { content: "\ea1d"; }
+.fp-layout-icon:before { content: "\ea1e"; }
+.fp-link-icon:before { content: "\ea1f"; }
+.fp-map:before { content: "\ea20"; }
+.fp-mobile:before { content: "\ea21"; }
+.fp-pdf:before { content: "\ea22"; }
+.fp-play-outline:before { content: "\ea23"; }
+.fp-plus-thin:before { content: "\ea24"; }
+.fp-plus:before { content: "\ea25"; }
+.fp-remove-outlined:before { content: "\ea26"; }
+.fp-screen-outline:before { content: "\ea27"; }
+.fp-script-outline:before { content: "\ea28"; }
+.fp-slack-notification:before { content: "\ea29"; }
+.fp-slack:before { content: "\ea2a"; }
+.fp-slideshow:before { content: "\ea2b"; }
+.fp-table:before { content: "\ea2c"; }
+.fp-trash:before { content: "\ea2d"; }
+.fp-unlink:before { content: "\ea2e"; }
-$fp-bpmn-action-by-email: "\ea01";
-$fp-bpmn-data-connector: "\ea02";
-$fp-bpmn-data-object: "\ea03";
-$fp-bpmn-data-store: "\ea04";
-$fp-bpmn-docusign: "\ea05";
-$fp-bpmn-end-event: "\ea06";
-$fp-bpmn-flowgenie: "\ea07";
-$fp-bpmn-gateway: "\ea08";
-$fp-bpmn-generic-gateway: "\ea09";
-$fp-bpmn-idp: "\ea0a";
-$fp-bpmn-intermediate-event: "\ea0b";
-$fp-bpmn-pool: "\ea0c";
-$fp-bpmn-send-email: "\ea0d";
-$fp-bpmn-start-event: "\ea0e";
-$fp-bpmn-task: "\ea0f";
-$fp-bpmn-text-annotation: "\ea10";
-$fp-brush-icon: "\ea11";
-$fp-close: "\ea12";
-$fp-cloud-download-outline: "\ea13";
-$fp-copy: "\ea14";
-$fp-desktop: "\ea15";
-$fp-edit-outline: "\ea16";
-$fp-eye: "\ea17";
-$fp-fields-icon: "\ea18";
-$fp-flowgenie-outline: "\ea19";
-$fp-folder-outline: "\ea1a";
-$fp-fullscreen: "\ea1b";
-$fp-github: "\ea1c";
-$fp-layout-icon: "\ea1d";
-$fp-link-icon: "\ea1e";
-$fp-map: "\ea1f";
-$fp-mobile: "\ea20";
-$fp-pdf: "\ea21";
-$fp-play-outline: "\ea22";
-$fp-plus-thin: "\ea23";
-$fp-plus: "\ea24";
-$fp-remove-outlined: "\ea25";
-$fp-screen-outline: "\ea26";
-$fp-script-outline: "\ea27";
-$fp-slack-notification: "\ea28";
-$fp-slack: "\ea29";
-$fp-slideshow: "\ea2a";
-$fp-table: "\ea2b";
-$fp-trash: "\ea2c";
-$fp-unlink: "\ea2d";
+$fp-add-outlined: "\ea01";
+$fp-bpmn-action-by-email: "\ea02";
+$fp-bpmn-data-connector: "\ea03";
+$fp-bpmn-data-object: "\ea04";
+$fp-bpmn-data-store: "\ea05";
+$fp-bpmn-docusign: "\ea06";
+$fp-bpmn-end-event: "\ea07";
+$fp-bpmn-flowgenie: "\ea08";
+$fp-bpmn-gateway: "\ea09";
+$fp-bpmn-generic-gateway: "\ea0a";
+$fp-bpmn-idp: "\ea0b";
+$fp-bpmn-intermediate-event: "\ea0c";
+$fp-bpmn-pool: "\ea0d";
+$fp-bpmn-send-email: "\ea0e";
+$fp-bpmn-start-event: "\ea0f";
+$fp-bpmn-task: "\ea10";
+$fp-bpmn-text-annotation: "\ea11";
+$fp-brush-icon: "\ea12";
+$fp-close: "\ea13";
+$fp-cloud-download-outline: "\ea14";
+$fp-copy: "\ea15";
+$fp-desktop: "\ea16";
+$fp-edit-outline: "\ea17";
+$fp-eye: "\ea18";
+$fp-fields-icon: "\ea19";
+$fp-flowgenie-outline: "\ea1a";
+$fp-folder-outline: "\ea1b";
+$fp-fullscreen: "\ea1c";
+$fp-github: "\ea1d";
+$fp-layout-icon: "\ea1e";
+$fp-link-icon: "\ea1f";
+$fp-map: "\ea20";
+$fp-mobile: "\ea21";
+$fp-pdf: "\ea22";
+$fp-play-outline: "\ea23";
+$fp-plus-thin: "\ea24";
+$fp-plus: "\ea25";
+$fp-remove-outlined: "\ea26";
+$fp-screen-outline: "\ea27";
+$fp-script-outline: "\ea28";
+$fp-slack-notification: "\ea29";
+$fp-slack: "\ea2a";
+$fp-slideshow: "\ea2b";
+$fp-table: "\ea2c";
+$fp-trash: "\ea2d";
+$fp-unlink: "\ea2e";
diff --git a/resources/fonts/pm-font/processmaker-font.styl b/resources/fonts/pm-font/processmaker-font.styl
index aebacf2c8d..ba2a59c3ee 100644
--- a/resources/fonts/pm-font/processmaker-font.styl
+++ b/resources/fonts/pm-font/processmaker-font.styl
@@ -1,10 +1,10 @@
@font-face {font-family: "processmaker-font";
- src: url('processmaker-font.eot?t=1733168374693'); /* IE9*/
- src: url('processmaker-font.eot?t=1733168374693#iefix') format('embedded-opentype'), /* IE6-IE8 */
- url("processmaker-font.woff2?t=1733168374693") format("woff2"),
- url("processmaker-font.woff?t=1733168374693") format("woff"),
- url('processmaker-font.ttf?t=1733168374693') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
- url('processmaker-font.svg?t=1733168374693#processmaker-font') format('svg'); /* iOS 4.1- */
+ src: url('processmaker-font.eot?t=1738332521802'); /* IE9*/
+ src: url('processmaker-font.eot?t=1738332521802#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url("processmaker-font.woff2?t=1738332521802") format("woff2"),
+ url("processmaker-font.woff?t=1738332521802") format("woff"),
+ url('processmaker-font.ttf?t=1738332521802') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('processmaker-font.svg?t=1738332521802#processmaker-font') format('svg'); /* iOS 4.1- */
}
[class^="fp-"], [class*=" fp-"] {
@@ -14,48 +14,49 @@
-moz-osx-font-smoothing: grayscale;
}
-.fp-bpmn-action-by-email:before { content: "\ea01"; }
-.fp-bpmn-data-connector:before { content: "\ea02"; }
-.fp-bpmn-data-object:before { content: "\ea03"; }
-.fp-bpmn-data-store:before { content: "\ea04"; }
-.fp-bpmn-docusign:before { content: "\ea05"; }
-.fp-bpmn-end-event:before { content: "\ea06"; }
-.fp-bpmn-flowgenie:before { content: "\ea07"; }
-.fp-bpmn-gateway:before { content: "\ea08"; }
-.fp-bpmn-generic-gateway:before { content: "\ea09"; }
-.fp-bpmn-idp:before { content: "\ea0a"; }
-.fp-bpmn-intermediate-event:before { content: "\ea0b"; }
-.fp-bpmn-pool:before { content: "\ea0c"; }
-.fp-bpmn-send-email:before { content: "\ea0d"; }
-.fp-bpmn-start-event:before { content: "\ea0e"; }
-.fp-bpmn-task:before { content: "\ea0f"; }
-.fp-bpmn-text-annotation:before { content: "\ea10"; }
-.fp-brush-icon:before { content: "\ea11"; }
-.fp-close:before { content: "\ea12"; }
-.fp-cloud-download-outline:before { content: "\ea13"; }
-.fp-copy:before { content: "\ea14"; }
-.fp-desktop:before { content: "\ea15"; }
-.fp-edit-outline:before { content: "\ea16"; }
-.fp-eye:before { content: "\ea17"; }
-.fp-fields-icon:before { content: "\ea18"; }
-.fp-flowgenie-outline:before { content: "\ea19"; }
-.fp-folder-outline:before { content: "\ea1a"; }
-.fp-fullscreen:before { content: "\ea1b"; }
-.fp-github:before { content: "\ea1c"; }
-.fp-layout-icon:before { content: "\ea1d"; }
-.fp-link-icon:before { content: "\ea1e"; }
-.fp-map:before { content: "\ea1f"; }
-.fp-mobile:before { content: "\ea20"; }
-.fp-pdf:before { content: "\ea21"; }
-.fp-play-outline:before { content: "\ea22"; }
-.fp-plus-thin:before { content: "\ea23"; }
-.fp-plus:before { content: "\ea24"; }
-.fp-remove-outlined:before { content: "\ea25"; }
-.fp-screen-outline:before { content: "\ea26"; }
-.fp-script-outline:before { content: "\ea27"; }
-.fp-slack-notification:before { content: "\ea28"; }
-.fp-slack:before { content: "\ea29"; }
-.fp-slideshow:before { content: "\ea2a"; }
-.fp-table:before { content: "\ea2b"; }
-.fp-trash:before { content: "\ea2c"; }
-.fp-unlink:before { content: "\ea2d"; }
+.fp-add-outlined:before { content: "\ea01"; }
+.fp-bpmn-action-by-email:before { content: "\ea02"; }
+.fp-bpmn-data-connector:before { content: "\ea03"; }
+.fp-bpmn-data-object:before { content: "\ea04"; }
+.fp-bpmn-data-store:before { content: "\ea05"; }
+.fp-bpmn-docusign:before { content: "\ea06"; }
+.fp-bpmn-end-event:before { content: "\ea07"; }
+.fp-bpmn-flowgenie:before { content: "\ea08"; }
+.fp-bpmn-gateway:before { content: "\ea09"; }
+.fp-bpmn-generic-gateway:before { content: "\ea0a"; }
+.fp-bpmn-idp:before { content: "\ea0b"; }
+.fp-bpmn-intermediate-event:before { content: "\ea0c"; }
+.fp-bpmn-pool:before { content: "\ea0d"; }
+.fp-bpmn-send-email:before { content: "\ea0e"; }
+.fp-bpmn-start-event:before { content: "\ea0f"; }
+.fp-bpmn-task:before { content: "\ea10"; }
+.fp-bpmn-text-annotation:before { content: "\ea11"; }
+.fp-brush-icon:before { content: "\ea12"; }
+.fp-close:before { content: "\ea13"; }
+.fp-cloud-download-outline:before { content: "\ea14"; }
+.fp-copy:before { content: "\ea15"; }
+.fp-desktop:before { content: "\ea16"; }
+.fp-edit-outline:before { content: "\ea17"; }
+.fp-eye:before { content: "\ea18"; }
+.fp-fields-icon:before { content: "\ea19"; }
+.fp-flowgenie-outline:before { content: "\ea1a"; }
+.fp-folder-outline:before { content: "\ea1b"; }
+.fp-fullscreen:before { content: "\ea1c"; }
+.fp-github:before { content: "\ea1d"; }
+.fp-layout-icon:before { content: "\ea1e"; }
+.fp-link-icon:before { content: "\ea1f"; }
+.fp-map:before { content: "\ea20"; }
+.fp-mobile:before { content: "\ea21"; }
+.fp-pdf:before { content: "\ea22"; }
+.fp-play-outline:before { content: "\ea23"; }
+.fp-plus-thin:before { content: "\ea24"; }
+.fp-plus:before { content: "\ea25"; }
+.fp-remove-outlined:before { content: "\ea26"; }
+.fp-screen-outline:before { content: "\ea27"; }
+.fp-script-outline:before { content: "\ea28"; }
+.fp-slack-notification:before { content: "\ea29"; }
+.fp-slack:before { content: "\ea2a"; }
+.fp-slideshow:before { content: "\ea2b"; }
+.fp-table:before { content: "\ea2c"; }
+.fp-trash:before { content: "\ea2d"; }
+.fp-unlink:before { content: "\ea2e"; }
diff --git a/resources/fonts/pm-font/processmaker-font.svg b/resources/fonts/pm-font/processmaker-font.svg
index adcf85c789..abec5f3e76 100644
--- a/resources/fonts/pm-font/processmaker-font.svg
+++ b/resources/fonts/pm-font/processmaker-font.svg
@@ -7,140 +7,143 @@
units-per-em="1000" ascent="1000"
descent="0" />