@acorex/platform 0.0.0-ACOREX
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/auth/README.md +3 -0
- package/common/README.md +3 -0
- package/core/README.md +4 -0
- package/fesm2022/acorex-platform-auth.mjs +1362 -0
- package/fesm2022/acorex-platform-auth.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs +127 -0
- package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +4601 -0
- package/fesm2022/acorex-platform-common.mjs.map +1 -0
- package/fesm2022/acorex-platform-core.mjs +4374 -0
- package/fesm2022/acorex-platform-core.mjs.map +1 -0
- package/fesm2022/acorex-platform-domain.mjs +3234 -0
- package/fesm2022/acorex-platform-domain.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-builder.mjs +2847 -0
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
- package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-components.mjs +8583 -0
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-designer.mjs +2474 -0
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-entity.mjs +19150 -0
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-views.mjs +1468 -0
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs +2950 -0
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs +72 -0
- package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs +158 -0
- package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs +29 -0
- package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs +172 -0
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs +111 -0
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs +274 -0
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs +64 -0
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs +34 -0
- package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs +29791 -0
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
- package/fesm2022/acorex-platform-native.mjs +155 -0
- package/fesm2022/acorex-platform-native.mjs.map +1 -0
- package/fesm2022/acorex-platform-runtime-catalog-command-definition.mjs +20 -0
- package/fesm2022/acorex-platform-runtime-catalog-command-definition.mjs.map +1 -0
- package/fesm2022/acorex-platform-runtime-catalog-query-definition.mjs +20 -0
- package/fesm2022/acorex-platform-runtime-catalog-query-definition.mjs.map +1 -0
- package/fesm2022/acorex-platform-runtime.mjs +899 -0
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs +237 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs +31 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs +25 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +2589 -0
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs +55 -0
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs +57 -0
- package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs +168 -0
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +65 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs +64 -0
- package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +2125 -0
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -0
- package/fesm2022/acorex-platform-workflow.mjs +2501 -0
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -0
- package/fesm2022/acorex-platform.mjs +6 -0
- package/fesm2022/acorex-platform.mjs.map +1 -0
- package/layout/builder/README.md +1578 -0
- package/layout/components/README.md +3 -0
- package/layout/designer/README.md +4 -0
- package/layout/entity/README.md +4 -0
- package/layout/views/README.md +3 -0
- package/layout/widget-core/README.md +4 -0
- package/layout/widgets/README.md +3 -0
- package/native/README.md +4 -0
- package/package.json +103 -0
- package/runtime/README.md +3 -0
- package/themes/default/README.md +3 -0
- package/themes/shared/README.md +3 -0
- package/types/acorex-platform-auth.d.ts +680 -0
- package/types/acorex-platform-common.d.ts +2926 -0
- package/types/acorex-platform-core.d.ts +2896 -0
- package/types/acorex-platform-domain.d.ts +2353 -0
- package/types/acorex-platform-layout-builder.d.ts +926 -0
- package/types/acorex-platform-layout-components.d.ts +2903 -0
- package/types/acorex-platform-layout-designer.d.ts +422 -0
- package/types/acorex-platform-layout-entity.d.ts +3189 -0
- package/types/acorex-platform-layout-views.d.ts +667 -0
- package/types/acorex-platform-layout-widget-core.d.ts +1086 -0
- package/types/acorex-platform-layout-widgets.d.ts +5478 -0
- package/types/acorex-platform-native.d.ts +28 -0
- package/types/acorex-platform-runtime-catalog-command-definition.d.ts +137 -0
- package/types/acorex-platform-runtime-catalog-query-definition.d.ts +125 -0
- package/types/acorex-platform-runtime.d.ts +470 -0
- package/types/acorex-platform-themes-default.d.ts +573 -0
- package/types/acorex-platform-themes-shared.d.ts +170 -0
- package/types/acorex-platform-workflow.d.ts +1806 -0
- package/types/acorex-platform.d.ts +2 -0
- package/workflow/README.md +4 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/settings.keys.ts","../../../../libs/platform/themes/shared/src/lib/theme.types.ts","../../../../libs/platform/themes/shared/src/lib/theme.service.ts","../../../../libs/platform/themes/shared/src/lib/slots/theme-slot.component.ts","../../../../libs/platform/themes/shared/src/lib/palette.provider.ts","../../../../libs/platform/themes/shared/src/lib/widgets/icon-chooser/icon-chooser.token.ts","../../../../libs/platform/themes/shared/src/lib/widgets/icon-chooser/icon-chooser.service.ts","../../../../libs/platform/themes/shared/src/lib/widgets/icon-chooser/icon-chooser-popup.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/icon-chooser/icon-chooser-edit.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/icon-chooser/icon-chooser-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/widgets/icon-chooser/icon-chooser-default.provider.ts","../../../../libs/platform/themes/shared/src/lib/widgets/icon-chooser/icon-chooser.provider.ts","../../../../libs/platform/themes/shared/src/lib/widgets/font-size-chooser/font-size-chooser-widget.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/font-size-chooser/font-size-chooser-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/widgets/font-style-chooser/font-style-chooser-widget.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/font-style-chooser/font-style-chooser-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/widgets/menu-orientation-chooser/menu-orientation-chooser-widget.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/menu-orientation-chooser/menu-orientation-chooser-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-color-chooser/theme-color-chooser.service.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-color-chooser/theme-color-chooser-edit.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-color-chooser/theme-color-chooser-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-mode-chooser/theme-mode-chooser-widget.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-mode-chooser/theme-mode-chooser-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-palette-chooser/theme-palette-chooser-widget.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-palette-chooser/theme-palette-chooser-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/widget-definition.provider.ts","../../../../libs/platform/themes/shared/src/lib/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["export enum AXPThemeLayoutSetting {\n Name = 'Common:Setting:Layout.Name',\n Layout = 'Common:Setting:Layout.Layout',\n Font = 'Common:Setting:Layout.Font.Family',\n FontSize = 'Common:Setting:Layout.Font.Size',\n Palette = 'Common:Setting:Layout.Palette',\n Mode = 'Common:Setting:Layout.Mode',\n SideMenuStatus = 'Common:Setting:Layout.SideMenu.Status',\n SideMenuWidth = 'Common:Setting:Layout.SideMenu.Width',\n MenuOrientation = 'Common:Setting:Layout.RootMenu.Direction',\n MenuBadgeVisible = 'Common:Setting:Layout.RootMenu.Badge',\n}","export interface AXPThemePaletteColors {\n primary: string;\n secondary: string;\n success: string;\n warning: string;\n danger: string;\n accents: string[];\n dark: string;\n light: string;\n}\n\nexport interface AXPThemePalette {\n name: string;\n title: string;\n colors: AXPThemePaletteColors;\n}\n\n// Theme Enum\nexport enum AXPThemeMode {\n Light = 'light',\n Dark = 'dark',\n System = 'system',\n}\n\n// Side Menu State Enum\nexport enum AXPSideMenuState {\n Opened = 'opened',\n Closed = 'closed',\n}\n\n// Menu Orientation Enum\nexport enum AXPMenuOrientation {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","import { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPPlatformScope, AXPScreenSize } from '@acorex/platform/core';\nimport { HttpClient } from '@angular/common/http';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { filter, firstValueFrom, timer } from 'rxjs';\nimport { AXPThemeLayoutSetting } from './settings.keys';\nimport { AXPMenuOrientation, AXPSideMenuState, AXPThemeMode } from './theme.types';\n// ThemeStore - Manages theme settings, system changes, and loading states\nexport const AXPLayoutThemeService = signalStore(\n { providedIn: 'root' },\n\n // Initial State\n withState(() => {\n const isSystemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n // Helper function to get the initial screen size for side menu initialization\n const getInitialScreenSize = (): AXPScreenSize => {\n const width = window.innerWidth;\n if (width <= 600) return AXPScreenSize.Small;\n if (width <= 1024) return AXPScreenSize.Medium;\n return AXPScreenSize.Large;\n };\n\n const state = {\n currentMode: AXPThemeMode.System,\n currentPalette: 'default',\n systemThemeMode: (isSystemDark ? AXPThemeMode.Dark : AXPThemeMode.Light) as AXPThemeMode,\n font: {\n family: 'system-ui',\n size: 'medium',\n },\n overlayLoading: false,\n navigationLoading: false,\n overlayLoadingTaskCount: 0,\n navigationLoadingTaskCount: 0,\n sideMenuState: (getInitialScreenSize() === AXPScreenSize.Large\n ? AXPSideMenuState.Opened\n : AXPSideMenuState.Closed) as AXPSideMenuState,\n sideMenuWidth: 288,\n menuOrientation: 'vertical' as AXPMenuOrientation,\n _listener: null as ((e: MediaQueryListEvent) => void) | null,\n isPrinting: false,\n };\n\n return state;\n }),\n\n // Computed Signals\n withComputed(\n ({\n currentMode: currentTheme,\n systemThemeMode: systemTheme,\n sideMenuState,\n overlayLoading,\n navigationLoading,\n menuOrientation,\n isPrinting,\n }) => ({\n isDarkMode: computed(() => {\n if (isPrinting()) {\n return false;\n }\n return (\n currentTheme() === AXPThemeMode.Dark ||\n (currentTheme() === AXPThemeMode.System && systemTheme() === AXPThemeMode.Dark)\n );\n }),\n isLightMode: computed(\n () =>\n currentTheme() === AXPThemeMode.Light ||\n (currentTheme() === AXPThemeMode.System && systemTheme() === AXPThemeMode.Light),\n ),\n isSystemMode: computed(() => currentTheme() === AXPThemeMode.System),\n isSideMenuOpen: computed(() => sideMenuState() === AXPSideMenuState.Opened),\n isOverlayLoading: computed(() => overlayLoading()),\n isNavigationLoading: computed(() => navigationLoading()),\n isMenuHorizontal: computed(() => menuOrientation() === AXPMenuOrientation.Horizontal),\n }),\n ),\n\n // Methods for State Management\n withMethods((store, http = inject(HttpClient), settingsService = inject(AXPSettingsService)) => {\n const _applySettings = async () => {\n // Initialize theme and side menu setting from storage\n const settingThemeMode =\n ((await settingsService.get(AXPThemeLayoutSetting.Mode)) as AXPThemeMode) ?? AXPThemeMode.Light;\n patchState(store, { currentMode: settingThemeMode });\n //\n const settingThemePallete = ((await settingsService.get(AXPThemeLayoutSetting.Palette)) as string) ?? 'default';\n patchState(store, { currentPalette: settingThemePallete });\n //\n const settingSideMenu =\n ((await settingsService.get(AXPThemeLayoutSetting.SideMenuStatus)) as AXPSideMenuState) ?? store.sideMenuState();\n patchState(store, { sideMenuState: settingSideMenu });\n //\n const settingMenuOrientation =\n ((await settingsService.get(AXPThemeLayoutSetting.MenuOrientation)) as AXPMenuOrientation) ??\n store.menuOrientation();\n patchState(store, { menuOrientation: settingMenuOrientation });\n //\n const fontFamily = await settingsService.get(AXPThemeLayoutSetting.Font);\n const fontSize = await settingsService.get(AXPThemeLayoutSetting.FontSize);\n patchState(store, { font: { family: fontFamily, size: fontSize } });\n //\n const sideMenuWidth = await settingsService.get(AXPThemeLayoutSetting.SideMenuWidth);\n patchState(store, { sideMenuWidth });\n\n await _updateHtmlClass();\n };\n\n // Update HTML class based on theme\n const _updateHtmlClass = async () => {\n const html = document.getElementsByTagName('html')[0];\n //\n store.isDarkMode() ? html.classList.add('ax-dark') : html.classList.remove('ax-dark');\n //\n html.style.fontFamily = store.font().family;\n html.style.fontSize = store.font().size;\n //\n await _applyThemePalette(store.currentPalette());\n };\n\n const _setOverlayLoading = async (value: boolean, delay: number = 0): Promise<void> => {\n if (value) {\n let timeoutId: number | null = null;\n\n if (delay > 0) {\n timeoutId = window.setTimeout(() => {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() + 1 });\n patchState(store, { overlayLoading: true });\n }, delay);\n } else {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() + 1 });\n patchState(store, { overlayLoading: true });\n }\n\n // Store timeout ID to clear it if the loading ends before delay\n (store as any)._loadingTimeoutId = timeoutId;\n } else {\n if (store.overlayLoadingTaskCount() > 0) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() - 1 });\n }\n\n if (store.overlayLoadingTaskCount() === 0) {\n const timeoutId = (store as any)._loadingTimeoutId;\n if (timeoutId) {\n clearTimeout(timeoutId);\n (store as any)._loadingTimeoutId = null;\n }\n\n timer(minimumDisplayTime).subscribe(() => {\n if (store.overlayLoadingTaskCount() === 0) {\n patchState(store, { overlayLoading: false });\n }\n });\n }\n }\n };\n\n const _setNavigationLoading = (value: boolean, delay?: number) => {\n if (value) {\n patchState(store, { navigationLoadingTaskCount: store.navigationLoadingTaskCount() + 1 });\n patchState(store, { navigationLoading: true });\n } else {\n if (store.navigationLoadingTaskCount() > 0) {\n patchState(store, { navigationLoadingTaskCount: store.navigationLoadingTaskCount() - 1 });\n }\n if (store.navigationLoadingTaskCount() === 0) {\n timer(minimumDisplayTime).subscribe(() => {\n if (store.navigationLoadingTaskCount() === 0) {\n patchState(store, { navigationLoading: false });\n }\n });\n }\n }\n };\n\n // Helper method to apply a cached theme palette\n const _applyThemePalette = async (name: string): Promise<void> => {\n // TODO: Get the path from the palette provider token\n const path = `/assets/themes/palettes/css/${name}.css`;\n // Check if the current theme is already applied\n const existingStyle = document.querySelector<HTMLStyleElement>(`style[data-theme=\"${name}\"]`);\n if (existingStyle) {\n return; // Theme is already applied, no need to reapply\n }\n\n _setNavigationLoading(true);\n\n try {\n // Fetch the CSS file via HttpClient\n const cssText = await firstValueFrom(http.get(path!, { responseType: 'text' }));\n\n // Create a new <style> tag and apply the CSS\n const style = document.createElement('style');\n style.setAttribute('data-theme', name);\n style.textContent = cssText!;\n document.head.appendChild(style);\n\n // Remove any other outdated theme styles\n document.querySelectorAll<HTMLStyleElement>('style[data-theme]').forEach((existing) => {\n if (existing !== style) {\n existing.remove();\n }\n });\n } catch (error) {\n console.error(`Error loading theme CSS:`, error);\n } finally {\n _setNavigationLoading(false);\n }\n };\n\n const minimumDisplayTime = 500; // milliseconds\n\n return {\n // Change theme and update HTML class\n changeThemeMode(theme: AXPThemeMode) {\n settingsService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.Mode, theme);\n patchState(store, { currentMode: theme });\n _updateHtmlClass();\n },\n\n // Open side menu\n openSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Opened });\n settingsService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Opened);\n },\n\n // Close side menu\n closeSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingsService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Closed);\n },\n\n // Set side menu width\n setSideMenuWidth(width: number) {\n patchState(store, { sideMenuWidth: width });\n settingsService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuWidth, width);\n },\n\n // Toggle side menu state\n toggleSideMenu() {\n const newSideMenuState =\n store.sideMenuState() === AXPSideMenuState.Opened ? AXPSideMenuState.Closed : AXPSideMenuState.Opened;\n patchState(store, { sideMenuState: newSideMenuState });\n settingsService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, newSideMenuState);\n },\n\n // Set navigation loading state with a task counter\n setNavigationLoading(value: boolean, delay?: number) {\n _setNavigationLoading(value, delay);\n },\n\n // Set overlay loading state with a task counter\n setOverlayLoading(value: boolean, delay?: number) {\n _setOverlayLoading(value, delay);\n },\n\n async loadSettings() {\n await _applySettings();\n },\n // This is for internal use to react to print mode changes\n _internal_updateHtmlClass: _updateHtmlClass,\n\n // Set up event listener for system theme changes\n _setupSystemColorListener() {\n const mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n const listener = (e: MediaQueryListEvent) => {\n patchState(store, { systemThemeMode: e.matches ? AXPThemeMode.Dark : AXPThemeMode.Light });\n _updateHtmlClass();\n };\n mediaQueryList.addEventListener('change', listener);\n return listener;\n },\n\n // Remove event listener for system theme changes\n _removeSystemColorListener(listener: (e: MediaQueryListEvent) => void) {\n const mediaQueryList = window.matchMedia('(prefers-color-scheme: dark)');\n mediaQueryList.removeEventListener('change', listener);\n },\n };\n }),\n\n // Lifecycle Hooks\n withHooks((store, settingsService = inject(AXPSettingsService)) => ({\n onInit() {\n //\n settingsService.onChanged.pipe(filter((c) => c.scope == AXPPlatformScope.User)).subscribe(async (changes) => {\n const keys = Object.values(AXPThemeLayoutSetting);\n if (changes.keys.some((key) => keys.includes(key as any))) {\n await store['loadSettings']();\n }\n });\n //\n settingsService.onLoaded.subscribe(async () => {\n await store['loadSettings']();\n });\n\n // Set up event listener for system theme changes\n const listener = store['_setupSystemColorListener']();\n patchState(store, { _listener: listener });\n\n window.addEventListener('beforeprint', () => {\n patchState(store, { isPrinting: true });\n (store as any)._internal_updateHtmlClass();\n });\n window.addEventListener('afterprint', () => {\n patchState(store, { isPrinting: false });\n (store as any)._internal_updateHtmlClass();\n });\n },\n\n onDestroy() {\n // Clean up event listeners when store is destroyed\n const { _listener: listener } = store;\n if (listener) {\n store['_removeSystemColorListener'](listener);\n }\n },\n })),\n);\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { AXPLayoutThemeService } from '../theme.service';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPThemeMode } from '../theme.types';\n\n@Component({\n template: `\n <ax-button color=\"primary\">\n <ax-icon\n class=\"fa-regular \"\n [ngClass]=\"{\n 'fa-desktop':store.isSystemMode(),\n 'fa-moon':!store.isSystemMode() && store.isDarkMode(),\n 'fa-brightness':!store.isSystemMode() && !store.isDarkMode(),\n }\"\n >\n </ax-icon>\n <ax-dropdown-panel *translate=\"let t\">\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"store.changeThemeMode(variants.Light)\"\n [text]=\"('@layout:terms.theme-modes.light' | translate | async)!\"\n [selected]=\"!store.isSystemMode() && !store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-brightness\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeThemeMode(variants.Dark)\"\n [text]=\"('@layout:terms.theme-modes.dark' | translate | async)!\"\n [selected]=\"!store.isSystemMode() && store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-moon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeThemeMode(variants.System)\"\n [text]=\"('@layout:terms.theme-modes.system' | translate | async)!\"\n [selected]=\"store.isSystemMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-desktop\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n `,\n imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeSlotComponent {\n protected store = inject(AXPLayoutThemeService);\n\n protected variants = AXPThemeMode;\n}\n","import { InjectionToken } from '@angular/core';\nimport { AXPThemePalette } from './theme.types';\n\nexport interface AXPThemePaletteProvider {\n getList(): Promise<AXPThemePalette[]>;\n}\n\nexport const AXP_THEME_PALETTE_PROVIDER = new InjectionToken<Promise<AXPThemePaletteProvider>>('AXP_THEME_PALETTE_PROVIDER', {\n providedIn: 'root',\n factory: async () => {\n return new AXPThemePaletteProviderDefault();\n },\n});\n\nexport class AXPThemePaletteProviderDefault implements AXPThemePaletteProvider {\n getList(): Promise<AXPThemePalette[]> {\n return Promise.resolve([\n {\n name: 'default',\n title: 'Default',\n path: '/assets/themes/palletes/default.css',\n colors: {\n primary: '#113b53',\n secondary: '#1a6ab1',\n neutral: '#606c76',\n success: '#2d9c67',\n warning: '#e9a01b',\n danger: '#c02f1d',\n accents: ['#d6a7a6', '#a0897e', '#8bf4d9'],\n dark: '#2a2d30',\n light: '#ffffff',\n },\n },\n\n ]);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { AXPIconProvider, AXPIconStyleProvider } from './icon-chooser.service';\n\n//#region ---- Injection Tokens ----\n\n/**\n * Injection token for icon providers.\n * Use multi: true to register multiple providers.\n */\nexport const AXP_ICON_PROVIDER = new InjectionToken<AXPIconProvider[]>('AXP_ICON_PROVIDER');\n\n/**\n * Injection token for icon style providers.\n * Use multi: true to register multiple providers.\n */\nexport const AXP_ICON_STYLE_PROVIDER = new InjectionToken<AXPIconStyleProvider[]>('AXP_ICON_STYLE_PROVIDER');\n\n//#endregion\n\n","import { inject, Injectable } from '@angular/core';\nimport { AXP_ICON_PROVIDER, AXP_ICON_STYLE_PROVIDER } from './icon-chooser.token';\n\n//#region ---- Interfaces ----\n\nexport interface AXPFontAwesomeIcon {\n name: string;\n label: string;\n tags?: string[];\n supportedStyle?: string[];\n}\n\nexport interface AXPFontAwesomeIconStyle {\n name: string;\n label: string;\n}\n\nexport interface AXPFontAwesomeIconData {\n label?: string;\n styleClass: string;\n iconClass: string;\n}\n\n//#endregion\n\n//#region ---- Abstract Providers ----\n\nexport abstract class AXPIconProvider {\n abstract provide(): Promise<AXPFontAwesomeIcon[]>;\n}\n\nexport abstract class AXPIconStyleProvider {\n abstract provide(): Promise<AXPFontAwesomeIconStyle[]>;\n}\n\n//#endregion\n\n//#region ---- Service ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXPIconChooserService {\n\n //#region ---- Properties ----\n\n private iconProviders = inject(AXP_ICON_PROVIDER, { optional: true }) ?? [];\n private styleProviders = inject(AXP_ICON_STYLE_PROVIDER, { optional: true }) ?? [];\n\n private iconsCache: AXPFontAwesomeIcon[] | null = null;\n private stylesCache: AXPFontAwesomeIconStyle[] | null = null;\n\n //#endregion\n\n //#region ---- Public Methods ----\n\n /**\n * Get all available icon styles from registered providers.\n * Results are cached after first call.\n */\n async getStyles(): Promise<AXPFontAwesomeIconStyle[]> {\n if (this.stylesCache) {\n return this.stylesCache;\n }\n\n const allStyles: AXPFontAwesomeIconStyle[] = [];\n\n for (const provider of this.styleProviders) {\n const result = await provider.provide();\n allStyles.push(...result);\n }\n\n // Remove duplicates based on style name\n const uniqueStyles = allStyles.filter(\n (style, index, self) => index === self.findIndex((s) => s.name === style.name),\n );\n\n this.stylesCache = uniqueStyles;\n return uniqueStyles;\n }\n\n /**\n * Get all available icons from registered providers.\n * Icons from multiple providers are merged, with duplicates removed.\n * Results are cached after first call.\n */\n async getIcons(): Promise<AXPFontAwesomeIcon[]> {\n if (this.iconsCache) {\n return this.iconsCache;\n }\n\n const allIcons: AXPFontAwesomeIcon[] = [];\n\n for (const provider of this.iconProviders) {\n const result = await provider.provide();\n allIcons.push(...result);\n }\n\n // Remove duplicates based on icon name, keeping first occurrence\n const uniqueIcons = allIcons.filter((icon, index, self) => index === self.findIndex((i) => i.name === icon.name));\n\n this.iconsCache = uniqueIcons;\n return uniqueIcons;\n }\n\n //#endregion\n}\n\n//#endregion\n","import { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnInit } from '@angular/core';\nimport { AXPFontAwesomeIcon, AXPFontAwesomeIconStyle, AXPIconChooserService } from './icon-chooser.service';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@Component({\n template: `\n <div class=\"ax-flex ax-flex-col ax-h-full ax-bg-lightest\">\n <!-- Fixed Header Section -->\n <div class=\"ax-sticky ax-top-0 ax-z-10 ax-bg-lightest ax-border-b ax-p-4 ax-gap-4 ax-flex ax-flex-col\">\n <!-- Search Bar -->\n <div class=\"ax-flex ax-justify-center\">\n <ax-search-box\n class=\"ax-w-full\"\n (onValueChanged)=\"handleSearch($event)\"\n [placeholder]=\"'@general:widgets.icon-chooser.search-placeholder' | translate | async\"\n ></ax-search-box>\n </div>\n\n <!-- Controls Row -->\n <div class=\"ax-flex ax-justify-between ax-items-center ax-flex-wrap ax-gap-2\">\n <!-- Icon Style Filter -->\n <ax-button-group selection=\"single\" look=\"outline\">\n @for (item of iconTypes; track item.name) {\n <ax-button-group-item\n [text]=\"item.label\"\n [selected]=\"item.name === selectedIconType\"\n (onClick)=\"handleIconTypeChange(item)\"\n >\n </ax-button-group-item>\n }\n </ax-button-group>\n\n <!-- View Mode Toggle -->\n <ax-button-group selection=\"single\" look=\"outline\">\n @for (item of viewModes; track item.value) {\n <ax-button-group-item\n [title]=\"item.text | translate | async\"\n [selected]=\"item.value === selectedViewMode\"\n (onClick)=\"handleViewModeChange(item)\"\n >\n <ax-icon [class]=\"item.icon\"></ax-icon>\n </ax-button-group-item>\n }\n </ax-button-group>\n </div>\n </div>\n\n <!-- Scrollable Content Area -->\n <div class=\"ax-flex-1 ax-overflow-y-auto ax-p-4 ax-pt-2\">\n <div\n class=\"ax-grid ax-gap-1\"\n [ngClass]=\"\n selectedViewMode === 'square'\n ? 'ax-grid-cols-[repeat(auto-fill,minmax(6rem,1fr))]'\n : 'ax-grid-cols-1 md:ax-grid-cols-2'\n \"\n >\n @for (icon of filteredIcons; track icon) {\n <div\n class=\"ax-p-4 ax-border ax-border-transparent ax-rounded-lg ax-flex ax-items-center ax-justify-center ax-gap-2 ax-cursor-pointer ax-transition-all ax-duration-200 ax-ease-in-out hover:ax-border-primary hover:ax-shadow-md\"\n [ngClass]=\"{\n 'ax-flex-col': selectedViewMode === 'square',\n 'ax-flex-row ax-justify-start': selectedViewMode === 'rectangle',\n }\"\n (click)=\"selectIcon(icon)\"\n >\n <i [class]=\"getIconClass(icon) + ' ax-text-3xl'\"></i>\n <span\n class=\"ax-text-xs ax-w-full ax-overflow-hidden ax-text-ellipsis ax-whitespace-nowrap\"\n [ngClass]=\"{\n 'ax-text-center': selectedViewMode === 'square',\n 'ax-text-left': selectedViewMode === 'rectangle',\n }\"\n >{{ icon.label }}</span\n >\n </div>\n }\n </div>\n </div>\n </div>\n `,\n imports: [AXSearchBoxModule, AXButtonGroupModule, CommonModule, AXDecoratorModule, AXTranslationModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPIconChooserPopupComponent extends AXBasePageComponent implements OnInit {\n @Input() value: string | undefined;\n\n icons: AXPFontAwesomeIcon[] = [];\n filteredIcons: AXPFontAwesomeIcon[] = [];\n searchQuery: string = '';\n viewModes = [\n { value: 'square', text: '@general:widgets.icon-chooser.view-mode.square', icon: 'fa-solid fa-border-all' },\n {\n value: 'rectangle',\n text: '@general:widgets.icon-chooser.view-mode.rectangle',\n icon: 'fa-solid fa-list',\n },\n ];\n selectedViewMode = 'square';\n iconTypes: AXPFontAwesomeIconStyle[] = [];\n selectedIconType: string = 'fa-solid';\n\n private popupService = inject(AXPIconChooserService);\n\n override async ngOnInit() {\n this.iconTypes = await this.popupService.getStyles();\n this.icons = await this.popupService.getIcons();\n this.applyFilters();\n this.cdr.detectChanges();\n }\n\n handleSearch(event: any) {\n this.searchQuery = event.value?.toLowerCase();\n this.applyFilters();\n }\n\n handleViewModeChange(mode: any) {\n this.selectedViewMode = mode.value;\n }\n\n handleIconTypeChange(type: AXPFontAwesomeIconStyle) {\n this.selectedIconType = type.name;\n this.applyFilters();\n }\n\n applyFilters() {\n let result = this.icons;\n\n if (this.searchQuery) {\n result = result.filter(\n (icon) =>\n icon.label.toLowerCase().includes(this.searchQuery) ||\n icon.tags?.some((tag) => tag.toLowerCase().includes(this.searchQuery)),\n );\n }\n\n result = result.filter((icon) => {\n if (!icon.supportedStyle || icon.supportedStyle.length === 0) {\n return true;\n }\n return icon.supportedStyle.includes(this.selectedIconType);\n });\n\n this.filteredIcons = result;\n }\n\n selectIcon(icon: AXPFontAwesomeIcon) {\n this.close({\n label: icon.label,\n styleClass: this.selectedIconType,\n iconClass: `fa-${icon.name}`,\n });\n }\n\n getIconClass(icon: AXPFontAwesomeIcon): string {\n return `${this.selectedIconType} fa-${icon.name}`;\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { AXPIconChooserPopupComponent } from './icon-chooser-popup.component';\nimport { AXPFontAwesomeIconData } from './icon-chooser.service';\n\n@Component({\n selector: 'ax-icon-chooser-edit',\n template: `\n <div\n class=\"ax-grid ax-grid-cols-[6rem_auto] ax-items-center ax-rounded-md ax-text-3xl ax-w-fit\"\n [class.ax-border]=\"getValue()\"\n >\n <!-- Left: Add or Selected Icon -->\n <div\n class=\"ax-grid ax-place-items-center ax-w-24 ax-h-24 \"\n [class]=\"getValue() ? 'ax-border-e ax-cursor-default' : 'icon-container ax-cursor-pointer'\"\n (click)=\"addIcon()\"\n >\n <i [class]=\"getValue() ? computedValue().styleClass + ' ' + computedValue().iconClass : 'fa-solid fa-plus'\"></i>\n </div>\n\n <!-- Right: Edit & Delete (only if value exists) -->\n @if (getValue()) {\n <div class=\"ax-flex ax-flex-col ax-w-16 ax-text-2xl\">\n <div class=\"ax-h-12 ax-grid ax-place-items-center ax-cursor-pointer hover:ax-bg-surface\" (click)=\"editIcon()\">\n <i class=\"fa-light fa-edit ax-text-primary-400\"></i>\n </div>\n <div\n class=\"ax-h-12 ax-grid ax-place-items-center ax-cursor-pointer ax-border-t hover:ax-bg-surface\"\n (click)=\"deleteIcon()\"\n >\n <i class=\"fa-light fa-trash-can ax-text-danger-400\"></i>\n </div>\n </div>\n }\n </div>\n `,\n styles: [\n `\n .icon-container {\n background-color: theme('colors.primary.300 / 10%');\n background-image: linear-gradient(\n 135deg,\n theme('colors.primary.300 / 50%') 10%,\n transparent 0,\n transparent 50%,\n theme('colors.primary.300 / 50%') 0,\n theme('colors.primary.300 / 50%') 60%,\n transparent 0,\n transparent\n );\n background-size: 7.5px 7.5px;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPIconChooserWidgetEditComponent extends AXPValueWidgetComponent<AXPFontAwesomeIconData | string> {\n private popupService = inject(AXPopupService);\n\n public computedValue = computed<AXPFontAwesomeIconData>(() => {\n const value = this.getValue();\n if (typeof value === 'string') {\n const parts = value.split(' ');\n if (parts.length === 1) {\n return { styleClass: 'fa-solid', iconClass: parts[0] };\n } else if (parts.length === 2) {\n return { styleClass: parts[0], iconClass: parts[1] };\n } else {\n throw new Error(`Invalid icon format: \"${value}\". Expected format: \"icon-class\" or \"style-class icon-class\"`);\n }\n }\n return value;\n });\n\n public async openPopup() {\n const result = await this.popupService.open(AXPIconChooserPopupComponent, {\n title: 'Choose Icon',\n size: 'md',\n data: {\n value: this.getValue(),\n },\n });\n if (result?.data) {\n this.setValue(result.data.styleClass + ' ' + result.data.iconClass);\n }\n }\n\n public addIcon() {\n if (!this.getValue()) {\n this.openPopup();\n }\n }\n public deleteIcon() {\n this.setValue(undefined);\n }\n public editIcon() {\n this.openPopup();\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPIconChooserWidget: AXPWidgetConfig = {\n name: 'icon-chooser',\n title: 'Icon Chooser',\n icon: 'fa-solid fa-icons',\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () => import('./icon-chooser-edit.component').then((c) => c.AXPIconChooserWidgetEditComponent),\n },\n column: {\n component: () =>\n import('./icon-chooser-column.component').then((c) => c.AXPIconChooserWidgetColumnComponent),\n },\n view: {\n component: () => import('./icon-chooser-view.component').then((c) => c.AXPIconChooserWidgetViewComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/widget-core' {\n interface AXPWidgetTypesMap {\n iconChooser: 'icon-chooser';\n }\n}\n","import { AXPIconProvider, AXPIconStyleProvider, AXPFontAwesomeIcon, AXPFontAwesomeIconStyle } from './icon-chooser.service';\n\n//#region ---- Default Icon Styles ----\n\nconst DEFAULT_ICON_STYLES: AXPFontAwesomeIconStyle[] = [\n { name: 'fa-regular', label: 'Regular' },\n { name: 'fa-solid', label: 'Solid' },\n];\n\n//#endregion\n\n//#region ---- Default Icons ----\n\nconst DEFAULT_ICONS: AXPFontAwesomeIcon[] = [\n // Navigation & Actions\n { name: 'house', label: 'House', tags: ['home', 'building', 'house'] },\n { name: 'magnifying-glass', label: 'Search', tags: ['find', 'zoom'] },\n { name: 'user', label: 'User', tags: ['person', 'account'] },\n { name: 'users', label: 'Users', tags: ['people', 'group', 'team'] },\n { name: 'user-group', label: 'User Group', tags: ['team', 'group', 'people'] },\n { name: 'check', label: 'Check', tags: ['confirm', 'done', 'tick'] },\n { name: 'check-circle', label: 'Check Circle', tags: ['confirm', 'success', 'done'] },\n { name: 'check-double', label: 'Check Double', tags: ['verified', 'confirmed'] },\n { name: 'xmark', label: 'Close', tags: ['cancel', 'exit', 'remove'] },\n { name: 'circle-xmark', label: 'Circle Close', tags: ['cancel', 'error', 'remove'] },\n { name: 'plus', label: 'Add', tags: ['create', 'new', 'plus'] },\n { name: 'circle-plus', label: 'Circle Plus', tags: ['add', 'create', 'new'] },\n { name: 'minus', label: 'Remove', tags: ['delete', 'subtract', 'minus'] },\n { name: 'circle-minus', label: 'Circle Minus', tags: ['remove', 'subtract'] },\n { name: 'edit', label: 'Edit', tags: ['modify', 'change', 'pencil'] },\n { name: 'pen-to-square', label: 'Edit Square', tags: ['edit', 'modify', 'write'] },\n { name: 'trash', label: 'Delete', tags: ['remove', 'delete', 'bin'] },\n { name: 'trash-can', label: 'Trash Can', tags: ['delete', 'remove', 'garbage'] },\n { name: 'copy', label: 'Copy', tags: ['duplicate', 'clone'] },\n { name: 'clone', label: 'Clone', tags: ['duplicate', 'copy'] },\n { name: 'download', label: 'Download', tags: ['save', 'export'] },\n { name: 'upload', label: 'Upload', tags: ['import', 'send'] },\n { name: 'print', label: 'Print', tags: ['printer', 'document'] },\n { name: 'share', label: 'Share', tags: ['send', 'distribute'] },\n { name: 'share-nodes', label: 'Share Network', tags: ['share', 'distribute', 'network'] },\n { name: 'link', label: 'Link', tags: ['url', 'connection'] },\n { name: 'link-slash', label: 'Unlink', tags: ['disconnect', 'remove'] },\n { name: 'external-link', label: 'External Link', tags: ['open', 'external'] },\n { name: 'arrows-rotate', label: 'Refresh', tags: ['reload', 'sync', 'update'] },\n { name: 'rotate-right', label: 'Rotate Right', tags: ['refresh', 'reload'] },\n { name: 'arrows-left-right', label: 'Arrows Horizontal', tags: ['swap', 'exchange'] },\n { name: 'arrow-up', label: 'Arrow Up', tags: ['up', 'direction'] },\n { name: 'arrow-down', label: 'Arrow Down', tags: ['down', 'direction'] },\n { name: 'arrow-left', label: 'Arrow Left', tags: ['left', 'back', 'previous'] },\n { name: 'arrow-right', label: 'Arrow Right', tags: ['right', 'forward', 'next'] },\n { name: 'chevron-up', label: 'Chevron Up', tags: ['up', 'collapse'] },\n { name: 'chevron-down', label: 'Chevron Down', tags: ['down', 'expand'] },\n { name: 'chevron-left', label: 'Chevron Left', tags: ['left', 'previous'] },\n { name: 'chevron-right', label: 'Chevron Right', tags: ['right', 'next'] },\n { name: 'angle-up', label: 'Angle Up', tags: ['up', 'caret'] },\n { name: 'angle-down', label: 'Angle Down', tags: ['down', 'caret'] },\n { name: 'angle-left', label: 'Angle Left', tags: ['left', 'caret'] },\n { name: 'angle-right', label: 'Angle Right', tags: ['right', 'caret'] },\n { name: 'bars', label: 'Menu', tags: ['hamburger', 'menu', 'navigation'] },\n { name: 'ellipsis', label: 'Ellipsis', tags: ['more', 'options', 'menu'] },\n { name: 'ellipsis-vertical', label: 'Ellipsis Vertical', tags: ['more', 'options', 'menu'] },\n { name: 'grip', label: 'Grip', tags: ['drag', 'handle', 'move'] },\n { name: 'grip-vertical', label: 'Grip Vertical', tags: ['drag', 'handle', 'move'] },\n { name: 'filter', label: 'Filter', tags: ['sort', 'search', 'refine'] },\n { name: 'sliders', label: 'Settings', tags: ['adjust', 'options', 'preferences'] },\n\n // Media & Files\n { name: 'star', label: 'Star', tags: ['favorite', 'rate'] },\n { name: 'star-half', label: 'Star Half', tags: ['rating', 'half'] },\n { name: 'heart', label: 'Heart', tags: ['love', 'like', 'favorite'] },\n { name: 'heart-pulse', label: 'Heart Pulse', tags: ['health', 'medical', 'heartbeat'] },\n { name: 'cloud', label: 'Cloud', tags: ['weather', 'sky', 'storage'] },\n { name: 'cloud-arrow-up', label: 'Cloud Upload', tags: ['upload', 'backup', 'save'] },\n { name: 'cloud-arrow-down', label: 'Cloud Download', tags: ['download', 'restore'] },\n { name: 'envelope', label: 'Envelope', tags: ['mail', 'message', 'email'] },\n { name: 'envelope-open', label: 'Envelope Open', tags: ['mail', 'read', 'message'] },\n { name: 'paper-plane', label: 'Send', tags: ['send', 'message', 'email'] },\n { name: 'folder', label: 'Folder', tags: ['directory', 'files'] },\n { name: 'folder-open', label: 'Folder Open', tags: ['directory', 'files', 'open'] },\n { name: 'folder-plus', label: 'New Folder', tags: ['create', 'directory', 'add'] },\n { name: 'folder-tree', label: 'Folder Tree', tags: ['structure', 'hierarchy', 'files'] },\n { name: 'gear', label: 'Gear', tags: ['settings', 'options', 'config'] },\n { name: 'gears', label: 'Gears', tags: ['settings', 'configuration', 'system'] },\n { name: 'camera', label: 'Camera', tags: ['photo', 'image', 'picture'] },\n { name: 'camera-retro', label: 'Camera Retro', tags: ['photo', 'vintage'] },\n { name: 'video', label: 'Video', tags: ['film', 'movie', 'camera'] },\n { name: 'video-slash', label: 'Video Off', tags: ['disabled', 'mute', 'off'] },\n { name: 'music', label: 'Music', tags: ['sound', 'audio', 'song'] },\n { name: 'file', label: 'File', tags: ['document', 'file'] },\n { name: 'file-lines', label: 'File Text', tags: ['document', 'text'] },\n { name: 'file-pdf', label: 'PDF', tags: ['document', 'pdf'] },\n { name: 'file-word', label: 'Word Document', tags: ['document', 'word', 'doc'] },\n { name: 'file-excel', label: 'Excel', tags: ['spreadsheet', 'excel', 'xls'] },\n { name: 'file-powerpoint', label: 'PowerPoint', tags: ['presentation', 'powerpoint', 'ppt'] },\n { name: 'file-image', label: 'Image File', tags: ['picture', 'photo', 'image'] },\n { name: 'file-video', label: 'Video File', tags: ['movie', 'clip', 'video'] },\n { name: 'file-audio', label: 'Audio File', tags: ['sound', 'music', 'audio'] },\n { name: 'file-code', label: 'Code File', tags: ['code', 'programming', 'source'] },\n { name: 'file-zipper', label: 'Archive', tags: ['zip', 'compressed', 'archive'] },\n { name: 'file-csv', label: 'CSV File', tags: ['spreadsheet', 'data', 'csv'] },\n { name: 'image', label: 'Image', tags: ['picture', 'photo'] },\n { name: 'images', label: 'Images', tags: ['gallery', 'photos', 'pictures'] },\n { name: 'photo-film', label: 'Photo Film', tags: ['gallery', 'images', 'media'] },\n { name: 'microphone', label: 'Microphone', tags: ['audio', 'voice', 'record'] },\n { name: 'microphone-slash', label: 'Microphone Off', tags: ['mute', 'audio', 'off'] },\n { name: 'volume-high', label: 'Volume High', tags: ['sound', 'audio', 'loud'] },\n { name: 'volume-low', label: 'Volume Low', tags: ['sound', 'audio', 'quiet'] },\n { name: 'volume-xmark', label: 'Mute', tags: ['mute', 'silent', 'off'] },\n\n // Communication & Social\n { name: 'phone', label: 'Phone', tags: ['call', 'telephone', 'contact'] },\n { name: 'phone-flip', label: 'Phone Flip', tags: ['call', 'mobile', 'flip'] },\n { name: 'mobile', label: 'Mobile', tags: ['cell', 'smartphone', 'phone'] },\n { name: 'mobile-screen', label: 'Mobile Screen', tags: ['smartphone', 'device'] },\n { name: 'fax', label: 'Fax', tags: ['document', 'send', 'print'] },\n { name: 'comment', label: 'Comment', tags: ['message', 'chat', 'text'] },\n { name: 'comments', label: 'Comments', tags: ['messages', 'discussion', 'chat'] },\n { name: 'comment-dots', label: 'Comment Typing', tags: ['message', 'typing', 'chat'] },\n { name: 'message', label: 'Message', tags: ['chat', 'text', 'communication'] },\n { name: 'inbox', label: 'Inbox', tags: ['mail', 'messages', 'receive'] },\n { name: 'at', label: 'At Symbol', tags: ['email', 'mention', 'tag'] },\n { name: 'hashtag', label: 'Hashtag', tags: ['tag', 'social', 'topic'] },\n { name: 'thumbs-up', label: 'Like', tags: ['approve', 'good', 'positive'] },\n { name: 'thumbs-down', label: 'Dislike', tags: ['disapprove', 'bad', 'negative'] },\n { name: 'bell', label: 'Notification', tags: ['alert', 'reminder', 'notification'] },\n { name: 'bell-slash', label: 'Notifications Off', tags: ['mute', 'silent', 'off'] },\n { name: 'flag', label: 'Flag', tags: ['mark', 'report', 'bookmark'] },\n { name: 'flag-checkered', label: 'Flag Checkered', tags: ['finish', 'end', 'goal'] },\n { name: 'bookmark', label: 'Bookmark', tags: ['save', 'favorite', 'mark'] },\n { name: 'calendar', label: 'Calendar', tags: ['date', 'schedule', 'event'] },\n { name: 'calendar-days', label: 'Calendar Days', tags: ['date', 'month', 'schedule'] },\n { name: 'calendar-check', label: 'Calendar Check', tags: ['event', 'confirmed', 'scheduled'] },\n { name: 'calendar-plus', label: 'Calendar Add', tags: ['event', 'create', 'schedule'] },\n { name: 'clock', label: 'Clock', tags: ['time', 'schedule', 'hour'] },\n { name: 'hourglass', label: 'Hourglass', tags: ['time', 'waiting', 'timer'] },\n { name: 'stopwatch', label: 'Stopwatch', tags: ['timer', 'time', 'track'] },\n { name: 'rss', label: 'RSS', tags: ['feed', 'news', 'subscribe'] },\n\n // Business & Finance\n { name: 'chart-line', label: 'Chart Line', tags: ['graph', 'analytics', 'trending'] },\n { name: 'chart-bar', label: 'Bar Chart', tags: ['graph', 'statistics', 'data'] },\n { name: 'chart-pie', label: 'Pie Chart', tags: ['graph', 'percentage', 'data'] },\n { name: 'chart-area', label: 'Area Chart', tags: ['graph', 'analytics', 'data'] },\n { name: 'chart-column', label: 'Column Chart', tags: ['graph', 'statistics'] },\n { name: 'chart-simple', label: 'Simple Chart', tags: ['graph', 'data', 'analytics'] },\n { name: 'calculator', label: 'Calculator', tags: ['math', 'compute', 'calculate'] },\n { name: 'percent', label: 'Percent', tags: ['percentage', 'discount', 'rate'] },\n { name: 'dollar-sign', label: 'Dollar', tags: ['money', 'currency', 'usd'] },\n { name: 'euro-sign', label: 'Euro', tags: ['money', 'currency', 'eur'] },\n { name: 'sterling-sign', label: 'Pound', tags: ['money', 'currency', 'gbp'] },\n { name: 'yen-sign', label: 'Yen', tags: ['money', 'currency', 'jpy'] },\n { name: 'coins', label: 'Coins', tags: ['money', 'cash', 'currency'] },\n { name: 'money-bill', label: 'Money Bill', tags: ['cash', 'currency', 'payment'] },\n { name: 'wallet', label: 'Wallet', tags: ['money', 'payment', 'cash'] },\n { name: 'credit-card', label: 'Credit Card', tags: ['payment', 'card', 'bank'] },\n { name: 'money-check', label: 'Check', tags: ['payment', 'bank', 'check'] },\n { name: 'receipt', label: 'Receipt', tags: ['bill', 'invoice', 'payment'] },\n { name: 'file-invoice', label: 'Invoice', tags: ['bill', 'receipt', 'document'] },\n { name: 'file-invoice-dollar', label: 'Invoice Dollar', tags: ['bill', 'payment', 'money'] },\n { name: 'briefcase', label: 'Briefcase', tags: ['business', 'work', 'professional'] },\n { name: 'suitcase', label: 'Suitcase', tags: ['travel', 'business', 'luggage'] },\n { name: 'building', label: 'Building', tags: ['office', 'company', 'business'] },\n { name: 'building-columns', label: 'Bank', tags: ['bank', 'government', 'institution'] },\n { name: 'store', label: 'Store', tags: ['shop', 'retail', 'business'] },\n { name: 'handshake', label: 'Handshake', tags: ['agreement', 'partnership', 'deal'] },\n { name: 'scale-balanced', label: 'Balance', tags: ['law', 'justice', 'legal'] },\n { name: 'gavel', label: 'Gavel', tags: ['law', 'court', 'legal'] },\n\n // Technology & Tools\n { name: 'laptop', label: 'Laptop', tags: ['computer', 'notebook', 'device'] },\n { name: 'laptop-code', label: 'Laptop Code', tags: ['programming', 'development'] },\n { name: 'desktop', label: 'Desktop', tags: ['computer', 'monitor', 'screen'] },\n { name: 'tablet', label: 'Tablet', tags: ['ipad', 'device', 'mobile'] },\n { name: 'tablet-screen-button', label: 'Tablet Button', tags: ['device', 'touch'] },\n { name: 'keyboard', label: 'Keyboard', tags: ['input', 'typing', 'keys'] },\n { name: 'mouse', label: 'Mouse', tags: ['pointer', 'click', 'input'] },\n { name: 'display', label: 'Display', tags: ['monitor', 'screen', 'computer'] },\n { name: 'wifi', label: 'WiFi', tags: ['internet', 'connection', 'wireless'] },\n { name: 'ethernet', label: 'Ethernet', tags: ['network', 'connection', 'cable'] },\n { name: 'signal', label: 'Signal', tags: ['network', 'connection', 'wifi'] },\n { name: 'network-wired', label: 'Network', tags: ['connection', 'lan', 'ethernet'] },\n { name: 'database', label: 'Database', tags: ['data', 'storage', 'sql'] },\n { name: 'hard-drive', label: 'Hard Drive', tags: ['storage', 'disk', 'hdd'] },\n { name: 'server', label: 'Server', tags: ['hosting', 'backend', 'computer'] },\n { name: 'memory', label: 'Memory', tags: ['ram', 'chip', 'hardware'] },\n { name: 'microchip', label: 'Microchip', tags: ['chip', 'processor', 'cpu'] },\n { name: 'code', label: 'Code', tags: ['programming', 'development', 'coding'] },\n { name: 'code-branch', label: 'Git Branch', tags: ['version', 'git', 'branch'] },\n { name: 'code-commit', label: 'Commit', tags: ['git', 'version', 'save'] },\n { name: 'code-merge', label: 'Merge', tags: ['git', 'branch', 'combine'] },\n { name: 'code-pull-request', label: 'Pull Request', tags: ['git', 'pr', 'review'] },\n { name: 'terminal', label: 'Terminal', tags: ['console', 'command', 'cli'] },\n { name: 'window-maximize', label: 'Maximize', tags: ['window', 'expand', 'fullscreen'] },\n { name: 'window-minimize', label: 'Minimize', tags: ['window', 'collapse'] },\n { name: 'window-restore', label: 'Restore', tags: ['window', 'resize'] },\n { name: 'bug', label: 'Bug', tags: ['error', 'debug', 'issue'] },\n { name: 'wrench', label: 'Wrench', tags: ['tools', 'settings', 'fix'] },\n { name: 'screwdriver-wrench', label: 'Tools', tags: ['repair', 'fix', 'settings'] },\n { name: 'hammer', label: 'Hammer', tags: ['tool', 'build', 'construct'] },\n { name: 'shield', label: 'Shield', tags: ['security', 'protection', 'defense'] },\n { name: 'shield-halved', label: 'Shield Half', tags: ['security', 'protection'] },\n { name: 'lock', label: 'Lock', tags: ['security', 'private', 'secure'] },\n { name: 'lock-open', label: 'Lock Open', tags: ['unlocked', 'open'] },\n { name: 'unlock', label: 'Unlock', tags: ['open', 'access', 'unlock'] },\n { name: 'key', label: 'Key', tags: ['access', 'password', 'security'] },\n { name: 'user-lock', label: 'User Lock', tags: ['security', 'private', 'protected'] },\n { name: 'user-shield', label: 'User Shield', tags: ['security', 'protected', 'admin'] },\n { name: 'qrcode', label: 'QR Code', tags: ['code', 'scan', 'barcode'] },\n { name: 'barcode', label: 'Barcode', tags: ['scan', 'code', 'product'] },\n\n // Transportation & Location\n { name: 'car', label: 'Car', tags: ['vehicle', 'automobile', 'transport'] },\n { name: 'car-side', label: 'Car Side', tags: ['vehicle', 'automobile'] },\n { name: 'taxi', label: 'Taxi', tags: ['cab', 'transport', 'vehicle'] },\n { name: 'bus', label: 'Bus', tags: ['transport', 'public', 'vehicle'] },\n { name: 'van-shuttle', label: 'Van', tags: ['transport', 'vehicle'] },\n { name: 'truck', label: 'Truck', tags: ['vehicle', 'delivery', 'transport'] },\n { name: 'truck-fast', label: 'Fast Delivery', tags: ['shipping', 'express', 'delivery'] },\n { name: 'motorcycle', label: 'Motorcycle', tags: ['bike', 'vehicle', 'transport'] },\n { name: 'plane', label: 'Plane', tags: ['aircraft', 'travel', 'flight'] },\n { name: 'plane-departure', label: 'Departure', tags: ['flight', 'travel', 'takeoff'] },\n { name: 'plane-arrival', label: 'Arrival', tags: ['flight', 'travel', 'landing'] },\n { name: 'helicopter', label: 'Helicopter', tags: ['aircraft', 'flight'] },\n { name: 'rocket', label: 'Rocket', tags: ['space', 'launch', 'fast'] },\n { name: 'train', label: 'Train', tags: ['railway', 'transport', 'travel'] },\n { name: 'subway', label: 'Subway', tags: ['metro', 'underground', 'transport'] },\n { name: 'ship', label: 'Ship', tags: ['boat', 'vessel', 'water'] },\n { name: 'anchor', label: 'Anchor', tags: ['ship', 'marine', 'boat'] },\n { name: 'bicycle', label: 'Bicycle', tags: ['bike', 'cycle', 'transport'] },\n { name: 'road', label: 'Road', tags: ['street', 'path', 'route'] },\n { name: 'map', label: 'Map', tags: ['location', 'navigation', 'directions'] },\n { name: 'map-location', label: 'Map Location', tags: ['pin', 'marker', 'place'] },\n { name: 'map-pin', label: 'Location Pin', tags: ['pin', 'marker', 'place'] },\n { name: 'location-dot', label: 'Location', tags: ['pin', 'marker', 'gps'] },\n { name: 'location-crosshairs', label: 'GPS', tags: ['location', 'position', 'gps'] },\n { name: 'route', label: 'Route', tags: ['directions', 'path', 'navigation'] },\n { name: 'globe', label: 'Globe', tags: ['world', 'earth', 'global'] },\n { name: 'earth-americas', label: 'Americas', tags: ['world', 'global', 'earth'] },\n { name: 'earth-europe', label: 'Europe', tags: ['world', 'global', 'earth'] },\n { name: 'earth-asia', label: 'Asia', tags: ['world', 'global', 'earth'] },\n { name: 'compass', label: 'Compass', tags: ['direction', 'navigation', 'north'] },\n { name: 'street-view', label: 'Street View', tags: ['location', 'map', 'view'] },\n\n // Health & Medical\n { name: 'heart-pulse', label: 'Heart Rate', tags: ['health', 'medical', 'heartbeat'] },\n { name: 'heart-circle-plus', label: 'Heart Plus', tags: ['health', 'add', 'medical'] },\n { name: 'stethoscope', label: 'Stethoscope', tags: ['medical', 'doctor', 'health'] },\n { name: 'user-doctor', label: 'Doctor', tags: ['medical', 'physician', 'healthcare'] },\n { name: 'user-nurse', label: 'Nurse', tags: ['medical', 'healthcare', 'hospital'] },\n { name: 'pills', label: 'Pills', tags: ['medicine', 'drugs', 'medication'] },\n { name: 'capsules', label: 'Capsules', tags: ['medicine', 'pills', 'medication'] },\n { name: 'prescription-bottle', label: 'Prescription', tags: ['medicine', 'pharmacy'] },\n { name: 'syringe', label: 'Syringe', tags: ['injection', 'medical', 'vaccine'] },\n { name: 'vial', label: 'Vial', tags: ['medicine', 'vaccine', 'medical'] },\n { name: 'bandage', label: 'Bandage', tags: ['first aid', 'wound', 'medical'] },\n { name: 'thermometer', label: 'Thermometer', tags: ['temperature', 'health', 'medical'] },\n { name: 'hospital', label: 'Hospital', tags: ['medical', 'healthcare', 'building'] },\n { name: 'hospital-user', label: 'Patient', tags: ['medical', 'healthcare', 'patient'] },\n { name: 'bed-pulse', label: 'Hospital Bed', tags: ['medical', 'patient', 'hospital'] },\n { name: 'wheelchair', label: 'Wheelchair', tags: ['accessibility', 'medical', 'disabled'] },\n { name: 'crutch', label: 'Crutch', tags: ['medical', 'injury', 'support'] },\n { name: 'smoking', label: 'Smoking', tags: ['cigarette', 'health', 'no-smoking'] },\n { name: 'smoking-ban', label: 'No Smoking', tags: ['prohibited', 'health'] },\n\n // Education & Learning\n { name: 'graduation-cap', label: 'Graduation', tags: ['education', 'degree', 'graduate'] },\n { name: 'user-graduate', label: 'Graduate', tags: ['student', 'education', 'degree'] },\n { name: 'chalkboard-user', label: 'Teacher', tags: ['education', 'teaching', 'classroom'] },\n { name: 'school', label: 'School', tags: ['education', 'building', 'learning'] },\n { name: 'book', label: 'Book', tags: ['reading', 'education', 'library'] },\n { name: 'book-open', label: 'Open Book', tags: ['reading', 'study', 'learn'] },\n { name: 'book-bookmark', label: 'Bookmark', tags: ['reading', 'save', 'mark'] },\n { name: 'books', label: 'Books', tags: ['reading', 'library', 'education'] },\n { name: 'bookmark', label: 'Bookmark', tags: ['save', 'mark', 'reading'] },\n { name: 'pen', label: 'Pen', tags: ['write', 'draw', 'writing'] },\n { name: 'pen-fancy', label: 'Fancy Pen', tags: ['write', 'signature'] },\n { name: 'pen-nib', label: 'Pen Nib', tags: ['write', 'calligraphy'] },\n { name: 'pencil', label: 'Pencil', tags: ['write', 'draw', 'edit'] },\n { name: 'highlighter', label: 'Highlighter', tags: ['mark', 'emphasize', 'note'] },\n { name: 'marker', label: 'Marker', tags: ['write', 'draw', 'mark'] },\n { name: 'eraser', label: 'Eraser', tags: ['delete', 'remove', 'erase'] },\n { name: 'ruler', label: 'Ruler', tags: ['measure', 'straight', 'tool'] },\n { name: 'ruler-combined', label: 'Rulers', tags: ['measure', 'geometry'] },\n { name: 'calculator', label: 'Calculator', tags: ['math', 'calculate', 'compute'] },\n { name: 'square-root-variable', label: 'Math', tags: ['mathematics', 'equation'] },\n { name: 'microscope', label: 'Microscope', tags: ['science', 'research', 'lab'] },\n { name: 'flask', label: 'Flask', tags: ['science', 'chemistry', 'lab'] },\n { name: 'atom', label: 'Atom', tags: ['science', 'physics', 'chemistry'] },\n { name: 'dna', label: 'DNA', tags: ['science', 'biology', 'genetics'] },\n { name: 'brain', label: 'Brain', tags: ['mind', 'think', 'intelligence'] },\n { name: 'certificate', label: 'Certificate', tags: ['award', 'achievement', 'diploma'] },\n { name: 'award', label: 'Award', tags: ['trophy', 'achievement', 'prize'] },\n { name: 'medal', label: 'Medal', tags: ['award', 'achievement', 'winner'] },\n { name: 'trophy', label: 'Trophy', tags: ['award', 'winner', 'achievement'] },\n\n // Food & Dining\n { name: 'utensils', label: 'Utensils', tags: ['food', 'dining', 'restaurant'] },\n { name: 'fork-knife', label: 'Fork Knife', tags: ['food', 'dining', 'restaurant'] },\n { name: 'plate-utensils', label: 'Plate', tags: ['food', 'dining', 'meal'] },\n { name: 'pizza-slice', label: 'Pizza', tags: ['food', 'slice', 'italian'] },\n { name: 'burger', label: 'Burger', tags: ['food', 'fast', 'hamburger'] },\n { name: 'hotdog', label: 'Hotdog', tags: ['food', 'fast'] },\n { name: 'drumstick-bite', label: 'Chicken', tags: ['food', 'meat', 'poultry'] },\n { name: 'ice-cream', label: 'Ice Cream', tags: ['dessert', 'sweet', 'frozen'] },\n { name: 'mug-hot', label: 'Hot Beverage', tags: ['drink', 'coffee', 'tea'] },\n { name: 'coffee', label: 'Coffee', tags: ['drink', 'beverage', 'cafe'] },\n { name: 'mug-saucer', label: 'Coffee Cup', tags: ['drink', 'coffee', 'tea'] },\n { name: 'glass-water', label: 'Water', tags: ['drink', 'beverage', 'glass'] },\n { name: 'wine-glass', label: 'Wine', tags: ['drink', 'alcohol', 'beverage'] },\n { name: 'champagne-glasses', label: 'Champagne', tags: ['celebrate', 'drink', 'toast'] },\n { name: 'martini-glass', label: 'Martini', tags: ['drink', 'alcohol', 'cocktail'] },\n { name: 'beer-mug-empty', label: 'Beer', tags: ['drink', 'alcohol', 'beverage'] },\n { name: 'cake', label: 'Cake', tags: ['dessert', 'sweet', 'birthday'] },\n { name: 'cake-candles', label: 'Birthday Cake', tags: ['birthday', 'celebration', 'party'] },\n { name: 'cookie', label: 'Cookie', tags: ['food', 'dessert', 'sweet'] },\n { name: 'candy-cane', label: 'Candy Cane', tags: ['candy', 'sweet', 'christmas'] },\n { name: 'apple-whole', label: 'Apple', tags: ['fruit', 'healthy', 'food'] },\n { name: 'lemon', label: 'Lemon', tags: ['fruit', 'citrus', 'food'] },\n { name: 'carrot', label: 'Carrot', tags: ['vegetable', 'healthy', 'food'] },\n { name: 'pepper-hot', label: 'Pepper', tags: ['spicy', 'food', 'hot'] },\n\n // Sports & Recreation\n { name: 'football', label: 'Football', tags: ['sport', 'soccer', 'game'] },\n { name: 'futbol', label: 'Soccer Ball', tags: ['sport', 'football', 'ball'] },\n { name: 'basketball', label: 'Basketball', tags: ['sport', 'ball', 'game'] },\n { name: 'baseball', label: 'Baseball', tags: ['sport', 'ball', 'game'] },\n { name: 'baseball-bat-ball', label: 'Baseball Bat', tags: ['sport', 'baseball'] },\n { name: 'volleyball', label: 'Volleyball', tags: ['sport', 'ball', 'game'] },\n { name: 'table-tennis-paddle-ball', label: 'Table Tennis', tags: ['sport', 'ping-pong'] },\n { name: 'golf-ball-tee', label: 'Golf', tags: ['sport', 'golf', 'game'] },\n { name: 'hockey-puck', label: 'Hockey', tags: ['sport', 'ice', 'game'] },\n { name: 'bowling-ball', label: 'Bowling', tags: ['sport', 'game', 'ball'] },\n { name: 'person-running', label: 'Running', tags: ['sport', 'exercise', 'fitness'] },\n { name: 'person-biking', label: 'Biking', tags: ['sport', 'exercise', 'cycling'] },\n { name: 'person-swimming', label: 'Swimming', tags: ['sport', 'water', 'exercise'] },\n { name: 'person-skiing', label: 'Skiing', tags: ['sport', 'winter', 'snow'] },\n { name: 'dumbbell', label: 'Dumbbell', tags: ['fitness', 'weight', 'gym'] },\n { name: 'weight-hanging', label: 'Weight', tags: ['fitness', 'gym', 'exercise'] },\n { name: 'heart', label: 'Heart', tags: ['health', 'fitness', 'cardio'] },\n { name: 'stopwatch-20', label: 'Timer', tags: ['time', 'sport', 'track'] },\n\n // Weather & Nature\n { name: 'sun', label: 'Sun', tags: ['weather', 'bright', 'sunny'] },\n { name: 'moon', label: 'Moon', tags: ['night', 'dark', 'lunar'] },\n { name: 'star', label: 'Star', tags: ['night', 'sky', 'favorite'] },\n { name: 'cloud', label: 'Cloud', tags: ['weather', 'sky', 'cloudy'] },\n { name: 'cloud-sun', label: 'Partly Cloudy', tags: ['weather', 'mixed'] },\n { name: 'cloud-moon', label: 'Cloudy Night', tags: ['weather', 'night'] },\n { name: 'cloud-rain', label: 'Rain', tags: ['weather', 'precipitation', 'rainy'] },\n { name: 'cloud-showers-heavy', label: 'Heavy Rain', tags: ['weather', 'storm', 'rain'] },\n { name: 'umbrella', label: 'Umbrella', tags: ['rain', 'weather', 'protection'] },\n { name: 'snowflake', label: 'Snow', tags: ['weather', 'cold', 'winter'] },\n { name: 'icicles', label: 'Icicles', tags: ['winter', 'cold', 'ice'] },\n { name: 'temperature-high', label: 'Hot', tags: ['weather', 'temperature', 'heat'] },\n { name: 'temperature-low', label: 'Cold', tags: ['weather', 'temperature', 'cool'] },\n { name: 'bolt', label: 'Lightning', tags: ['weather', 'storm', 'thunder'] },\n { name: 'bolt-lightning', label: 'Thunder', tags: ['weather', 'storm', 'lightning'] },\n { name: 'wind', label: 'Wind', tags: ['weather', 'breeze', 'air'] },\n { name: 'tornado', label: 'Tornado', tags: ['weather', 'storm', 'cyclone'] },\n { name: 'water', label: 'Water', tags: ['nature', 'liquid', 'sea'] },\n { name: 'droplet', label: 'Droplet', tags: ['water', 'liquid', 'drop'] },\n { name: 'fire', label: 'Fire', tags: ['hot', 'burn', 'flame'] },\n { name: 'fire-flame-curved', label: 'Flame', tags: ['fire', 'hot', 'burn'] },\n { name: 'tree', label: 'Tree', tags: ['nature', 'plant', 'forest'] },\n { name: 'seedling', label: 'Seedling', tags: ['plant', 'grow', 'nature'] },\n { name: 'leaf', label: 'Leaf', tags: ['nature', 'plant', 'green'] },\n { name: 'clover', label: 'Clover', tags: ['nature', 'plant', 'lucky'] },\n { name: 'flower', label: 'Flower', tags: ['nature', 'plant', 'blossom'] },\n { name: 'feather', label: 'Feather', tags: ['nature', 'bird', 'light'] },\n { name: 'mountain', label: 'Mountain', tags: ['nature', 'landscape', 'peak'] },\n\n // Shopping & Commerce\n { name: 'shopping-cart', label: 'Shopping Cart', tags: ['buy', 'purchase', 'shop'] },\n { name: 'cart-plus', label: 'Add to Cart', tags: ['shopping', 'add', 'buy'] },\n { name: 'cart-shopping', label: 'Cart', tags: ['shop', 'buy', 'store'] },\n { name: 'bag-shopping', label: 'Shopping Bag', tags: ['buy', 'store', 'retail'] },\n { name: 'basket-shopping', label: 'Basket', tags: ['shopping', 'buy', 'cart'] },\n { name: 'store', label: 'Store', tags: ['shop', 'retail', 'business'] },\n { name: 'shop', label: 'Shop', tags: ['store', 'retail', 'business'] },\n { name: 'cash-register', label: 'Cash Register', tags: ['payment', 'checkout', 'pos'] },\n { name: 'tags', label: 'Tags', tags: ['price', 'label', 'sale'] },\n { name: 'tag', label: 'Tag', tags: ['price', 'label', 'sale'] },\n { name: 'barcode', label: 'Barcode', tags: ['scan', 'product', 'price'] },\n { name: 'percent', label: 'Percent', tags: ['discount', 'sale', 'offer'] },\n { name: 'gift', label: 'Gift', tags: ['present', 'surprise', 'celebration'] },\n { name: 'gifts', label: 'Gifts', tags: ['presents', 'celebration'] },\n { name: 'box', label: 'Box', tags: ['package', 'container', 'shipping'] },\n { name: 'box-open', label: 'Open Box', tags: ['unpack', 'delivery', 'package'] },\n { name: 'boxes-stacked', label: 'Boxes', tags: ['inventory', 'storage', 'warehouse'] },\n\n // Security & Safety\n { name: 'eye', label: 'Eye', tags: ['view', 'watch', 'visible'] },\n { name: 'eye-slash', label: 'Hide', tags: ['hidden', 'invisible', 'password'] },\n { name: 'eye-low-vision', label: 'Low Vision', tags: ['accessibility', 'vision'] },\n { name: 'user-secret', label: 'Secret User', tags: ['anonymous', 'hidden', 'spy'] },\n { name: 'fingerprint', label: 'Fingerprint', tags: ['biometric', 'identity', 'security'] },\n { name: 'id-card', label: 'ID Card', tags: ['identity', 'badge', 'credential'] },\n { name: 'id-badge', label: 'Badge', tags: ['identity', 'credential', 'staff'] },\n { name: 'fire', label: 'Fire', tags: ['hot', 'burn', 'danger'] },\n { name: 'fire-extinguisher', label: 'Fire Extinguisher', tags: ['safety', 'emergency'] },\n { name: 'triangle-exclamation', label: 'Warning', tags: ['alert', 'caution', 'danger'] },\n { name: 'exclamation', label: 'Exclamation', tags: ['alert', 'important', 'warning'] },\n { name: 'circle-exclamation', label: 'Alert', tags: ['warning', 'important'] },\n { name: 'ban', label: 'Ban', tags: ['prohibited', 'forbidden', 'stop'] },\n { name: 'circle-radiation', label: 'Radiation', tags: ['danger', 'hazard', 'warning'] },\n { name: 'skull-crossbones', label: 'Danger', tags: ['hazard', 'poison', 'warning'] },\n { name: 'biohazard', label: 'Biohazard', tags: ['danger', 'hazard', 'warning'] },\n\n // Miscellaneous\n { name: 'circle', label: 'Circle', tags: ['shape', 'round', 'dot'] },\n { name: 'square', label: 'Square', tags: ['shape', 'box'] },\n { name: 'square-full', label: 'Full Square', tags: ['shape', 'filled'] },\n { name: 'circle-dot', label: 'Dot', tags: ['point', 'marker', 'bullet'] },\n { name: 'question', label: 'Question', tags: ['help', 'ask', 'faq'] },\n { name: 'circle-question', label: 'Help', tags: ['question', 'support', 'info'] },\n { name: 'circle-info', label: 'Info', tags: ['information', 'details', 'about'] },\n { name: 'info', label: 'Information', tags: ['info', 'details', 'help'] },\n { name: 'lightbulb', label: 'Lightbulb', tags: ['idea', 'bright', 'innovation'] },\n { name: 'bolt', label: 'Bolt', tags: ['lightning', 'fast', 'power'] },\n { name: 'wand-magic', label: 'Magic Wand', tags: ['magic', 'wizard', 'sparkle'] },\n { name: 'wand-magic-sparkles', label: 'Magic', tags: ['wizard', 'sparkle', 'enchant'] },\n { name: 'puzzle-piece', label: 'Puzzle', tags: ['piece', 'solve', 'game'] },\n { name: 'gamepad', label: 'Gamepad', tags: ['gaming', 'controller', 'play'] },\n { name: 'dice', label: 'Dice', tags: ['game', 'random', 'chance'] },\n { name: 'dice-d20', label: 'D20 Dice', tags: ['game', 'tabletop', 'rpg'] },\n { name: 'chess', label: 'Chess', tags: ['game', 'strategy', 'board'] },\n { name: 'spade', label: 'Spade', tags: ['cards', 'game', 'suit'] },\n { name: 'heart', label: 'Heart Card', tags: ['cards', 'game', 'suit'] },\n { name: 'diamond', label: 'Diamond', tags: ['cards', 'game', 'suit'] },\n { name: 'club', label: 'Club', tags: ['cards', 'game', 'suit'] },\n { name: 'palette', label: 'Palette', tags: ['color', 'art', 'paint'] },\n { name: 'brush', label: 'Brush', tags: ['paint', 'art', 'draw'] },\n { name: 'paintbrush', label: 'Paintbrush', tags: ['art', 'paint', 'draw'] },\n { name: 'scissors', label: 'Scissors', tags: ['cut', 'trim', 'tool'] },\n { name: 'crown', label: 'Crown', tags: ['king', 'royal', 'premium'] },\n { name: 'gem', label: 'Gem', tags: ['diamond', 'jewel', 'precious'] },\n { name: 'ring', label: 'Ring', tags: ['jewelry', 'wedding', 'engagement'] },\n { name: 'mug-hot', label: 'Hot Drink', tags: ['coffee', 'tea', 'beverage'] },\n { name: 'battery-full', label: 'Battery Full', tags: ['power', 'charge', 'energy'] },\n { name: 'battery-half', label: 'Battery Half', tags: ['power', 'charge'] },\n { name: 'battery-empty', label: 'Battery Empty', tags: ['power', 'low', 'charge'] },\n { name: 'plug', label: 'Plug', tags: ['power', 'electricity', 'connect'] },\n { name: 'magnet', label: 'Magnet', tags: ['attract', 'magnetic', 'pull'] },\n { name: 'compass-drafting', label: 'Drafting Compass', tags: ['geometry', 'draw', 'circle'] },\n { name: 'rotate', label: 'Rotate', tags: ['spin', 'turn', 'refresh'] },\n { name: 'infinity', label: 'Infinity', tags: ['unlimited', 'endless', 'loop'] },\n];\n\n//#endregion\n\n//#region ---- Default Providers ----\n\n/**\n * Default icon provider that provides the base set of FontAwesome icons.\n */\nexport class AXPIconProviderDefault extends AXPIconProvider {\n async provide(): Promise<AXPFontAwesomeIcon[]> {\n return DEFAULT_ICONS;\n }\n}\n\n/**\n * Default icon style provider that provides the base set of FontAwesome styles.\n */\nexport class AXPIconStyleProviderDefault extends AXPIconStyleProvider {\n async provide(): Promise<AXPFontAwesomeIconStyle[]> {\n return DEFAULT_ICON_STYLES;\n }\n}\n\n//#endregion\n\n","import { Provider } from '@angular/core';\nimport { AXP_ICON_PROVIDER, AXP_ICON_STYLE_PROVIDER } from './icon-chooser.token';\nimport { AXPIconProviderDefault, AXPIconStyleProviderDefault } from './icon-chooser-default.provider';\n\n//#region ---- Provider Functions ----\n\n/**\n * Provides the default icon provider to the application.\n * This should be registered in your app module or config.\n */\nexport function provideDefaultIconProvider(): Provider {\n return {\n provide: AXP_ICON_PROVIDER,\n useClass: AXPIconProviderDefault,\n multi: true,\n };\n}\n\n/**\n * Provides the default icon style provider to the application.\n * This should be registered in your app module or config.\n */\nexport function provideDefaultIconStyleProvider(): Provider {\n return {\n provide: AXP_ICON_STYLE_PROVIDER,\n useClass: AXPIconStyleProviderDefault,\n multi: true,\n };\n}\n\n/**\n * Provides both default icon and style providers to the application.\n * This is a convenience function that combines provideDefaultIconProvider() and provideDefaultIconStyleProvider().\n */\nexport function provideDefaultIconChooser(): Provider[] {\n return [provideDefaultIconProvider(), provideDefaultIconStyleProvider()];\n}\n\n/**\n * Provides a custom icon provider to the application.\n * This ADDS additional icons alongside the default icon set.\n * \n * @param providerClass - The custom icon provider class\n * \n * @example\n * ```typescript\n * class MyCustomIconProvider extends AXPIconProvider {\n * async provide(): Promise<AXPFontAwesomeIcon[]> {\n * return [\n * { name: 'custom-icon', label: 'Custom Icon' }\n * ];\n * }\n * }\n * \n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideCustomIconProvider(MyCustomIconProvider),\n * ]\n * };\n * ```\n */\nexport function provideCustomIconProvider(providerClass: any): Provider {\n return {\n provide: AXP_ICON_PROVIDER,\n useClass: providerClass,\n multi: true,\n };\n}\n\n/**\n * Provides a custom icon style provider to the application.\n * This ADDS additional icon styles alongside the default styles.\n * \n * @param providerClass - The custom icon style provider class\n * \n * @example\n * ```typescript\n * class MyCustomIconStyleProvider extends AXPIconStyleProvider {\n * async provide(): Promise<AXPFontAwesomeIconStyle[]> {\n * return [\n * { name: 'fa-custom', label: 'Custom' }\n * ];\n * }\n * }\n * \n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideCustomIconStyleProvider(MyCustomIconStyleProvider),\n * ]\n * };\n * ```\n */\nexport function provideCustomIconStyleProvider(providerClass: any): Provider {\n return {\n provide: AXP_ICON_STYLE_PROVIDER,\n useClass: providerClass,\n multi: true,\n };\n}\n\n//#endregion\n\n","import { AXSelectionCdkModule } from '@acorex/cdk/selection';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: `\n @for (size of sizes(); track size) {\n <div (click)=\"onSizeClick(size)\" [style.font-size]=\"size\" [class.--selected]=\"size === selectedSize()\">\n <div>\n <span>{{ '@layout:terms.font-sizes.' + size | translate | async }}</span>\n </div>\n </div>\n }\n `,\n styleUrl: './font-size-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionCdkModule, AXTranslationModule],\n})\nexport class AXPFontSizeChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n protected readonly sizes = signal<string[]>(['small', 'medium', 'large', 'x-large']);\n\n protected selectedSize = signal<string | null>(null);\n\n #eff = effect(() => {\n if (this.getValue()) {\n this.selectedSize.set(this.sizes().find((s) => s === this.getValue()) ?? this.sizes()[0]);\n }\n });\n\n protected onSizeClick(size: string) {\n this.setValue(size);\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPFontSizeChooserWidget: AXPWidgetConfig = {\n name: \"font-size-chooser\",\n title: \"Font Size Chooser\",\n icon: \"fa-light fa-text-size\",\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n edit: {\n component: () => import('./font-size-chooser-widget.component').then((c) => c.AXPFontSizeChooserWidgetComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/widget-core' {\n interface AXPWidgetTypesMap {\n fontSizeChooser: 'font-size-chooser';\n }\n} ","import { AXSelectionCdkModule } from '@acorex/cdk/selection';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\n\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\ninterface FontStyleOption {\n id: string;\n title: string;\n}\n\n@Component({\n template: `\n @for (font of fonts(); track font.id) {\n <div\n (click)=\"onFontClick(font)\"\n [class.--selected]=\"font.id === selectedFont()?.id\"\n [style.font-family]=\"font.id\"\n >\n <div>\n <span>{{ font.title }}</span>\n </div>\n </div>\n }\n `,\n styleUrl: './font-style-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, AXSelectionCdkModule],\n})\nexport class AXPFontStyleChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n protected readonly fonts = signal<FontStyleOption[]>([\n { id: 'system-ui', title: 'Default' },\n { id: 'serif', title: 'Serif' },\n { id: 'sans-serif', title: 'Sans-serif' },\n { id: 'monospace', title: 'Monospace' },\n { id: 'arial', title: 'Arial' },\n { id: 'verdana', title: 'Verdana' },\n { id: 'tahoma', title: 'Tahoma' },\n { id: 'times-new-roman', title: 'Times New Roman' },\n { id: 'georgia', title: 'Georgia' },\n { id: 'helvetica', title: 'Helvetica' },\n { id: 'calibri', title: 'Calibri' },\n { id: 'cursive', title: 'Cursive' },\n { id: 'vazirmatn', title: 'Vazir وزیر' },\n ]);\n\n protected selectedFont = signal<FontStyleOption | null>(null);\n\n #eff = effect(() => {\n if (this.getValue()) {\n this.selectedFont.set(this.fonts().find((f) => f.id === this.getValue()) ?? this.fonts()[0]);\n }\n });\n\n protected onFontClick(font: FontStyleOption) {\n this.setValue(font.id);\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPFontStyleChooserWidget: AXPWidgetConfig = {\n name: \"font-style-chooser\",\n title: \"Font Style Chooser\",\n icon: \"fa-light fa-font\",\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n edit: {\n component: () => import('./font-style-chooser-widget.component').then((c) => c.AXPFontStyleChooserWidgetComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/widget-core' {\n interface AXPWidgetTypesMap {\n fontStyleChooser: 'font-style-chooser';\n }\n} ","import { AXSelectionCdkModule } from '@acorex/cdk/selection';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\ninterface MenuOrientationOption {\n id: string;\n icon: string;\n}\n\n@Component({\n template: `\n @for (orientation of orientations(); track orientation.id) {\n <div (click)=\"onOrientationClick(orientation)\" [class.--selected]=\"orientation.id === selectedOrientation()?.id\">\n <div>\n <i [class]=\"orientation.icon\"></i>\n </div>\n <span>{{ '@layout:terms.menu-modes.' + orientation.id | translate | async }}</span>\n </div>\n }\n `,\n styleUrl: './menu-orientation-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionCdkModule, AXTranslationModule],\n})\nexport class AXPMenuOrientationChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n protected readonly orientations = signal<MenuOrientationOption[]>([\n { id: 'vertical', icon: 'fa-regular fa-square-ellipsis-vertical' },\n { id: 'horizontal', icon: 'fa-regular fa-square-ellipsis' },\n ]);\n\n protected selectedOrientation = signal<MenuOrientationOption | null>(null);\n\n #eff = effect(() => {\n if (this.getValue()) {\n this.selectedOrientation.set(this.orientations().find((o) => o.id === this.getValue()) ?? this.orientations()[0]);\n }\n });\n\n protected onOrientationClick(orientation: MenuOrientationOption) {\n this.setValue(orientation.id);\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPMenuOrientationChooserWidget: AXPWidgetConfig = {\n name: \"menu-orientation-chooser\",\n title: \"Menu Orientation Chooser\",\n icon: \"fa-light fa-bars-staggered\",\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n edit: {\n component: () => import('./menu-orientation-chooser-widget.component').then((c) => c.AXPMenuOrientationChooserWidgetComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/widget-core' {\n interface AXPWidgetTypesMap {\n menuOrientationChooser: 'menu-orientation-chooser';\n }\n} ","import { inject, Injectable, InjectionToken } from '@angular/core';\n\nexport interface AXPColor {\n title: string;\n name: string;\n color: string;\n background: string;\n border: string;\n}\n\nexport abstract class AXPColorProvider {\n abstract provide(): Promise<AXPColor[]>;\n}\n\nfunction titleCase(str: string): string {\n return str.replace(/-/g, ' ').replace(/\\w\\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());\n}\n\nfunction generateDefaultColors(): AXPColor[] {\n const colors: AXPColor[] = [];\n const styles = ['primary', 'secondary', 'success', 'warning', 'danger'];\n const variants = [\n 'lightest',\n 'lighter',\n 'light',\n 'surface',\n 'dark',\n 'darker',\n 'darkest',\n // ,'default'\n ];\n\n for (const style of styles) {\n for (const variant of variants) {\n let name: string;\n let colorClass: string;\n\n // if (variant === 'default') {\n // name = `${style}-${variant}`;\n // colorClass = `ax-text-${style}-${variant}`;\n // } else {\n name = `${style}-${variant}`;\n colorClass = `ax-text-${style}-on-${variant}`;\n // }\n\n colors.push({\n title: titleCase(variant === 'surface' ? style : titleCase(name)),\n name: name,\n color: colorClass,\n background: `ax-bg-${name}`,\n border: `ax-border-${name}`,\n });\n }\n }\n return colors;\n}\n\nconst DEFAULT_COLORS = generateDefaultColors();\n\nexport class AXPColorProviderDefault extends AXPColorProvider {\n async provide(): Promise<AXPColor[]> {\n return DEFAULT_COLORS;\n }\n}\n\nexport const AXP_COLOR_PROVIDER = new InjectionToken<AXPColorProvider | AXPColorProvider[]>('AXP_COLOR_PROVIDER');\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPColorChooserService {\n private defaultProvider = new AXPColorProviderDefault();\n private providers = (() => {\n const injected = inject(AXP_COLOR_PROVIDER, { optional: true });\n if (!injected) {\n return [this.defaultProvider];\n }\n const providers = Array.isArray(injected) ? injected : [injected];\n return [...providers, this.defaultProvider];\n })();\n\n private cache: AXPColor[] | null = null;\n\n async getColors(): Promise<AXPColor[]> {\n if (this.cache) {\n return this.cache;\n }\n const allColors: AXPColor[] = [];\n for (const resolver of this.providers) {\n const result = await resolver.provide();\n allColors.push(...result);\n }\n const uniqueColors = allColors.filter(\n (color, index, self) => index === self.findIndex((c) => c.title === color.title),\n );\n this.cache = uniqueColors;\n return uniqueColors;\n }\n}\n","import { AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, OnInit, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPColor, AXPColorChooserService } from './theme-color-chooser.service';\n\n@Component({\n selector: 'ax-color-chooser-widget',\n template: `\n <ax-form [messageStyle]=\"'float'\" [updateOn]=\"'change'\">\n <ax-form-field>\n <ax-select-box\n [dataSource]=\"colors()\"\n textField=\"title\"\n valueField=\"name\"\n [placeholder]=\"placeholder()\"\n [itemTemplate]=\"customItemTemplate\"\n [ngModel]=\"selectedColor()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [selectedTemplate]=\"customItemTemplate\"\n >\n <ng-template #customItemTemplate let-item>\n <div class=\"ax-flex ax-items-center ax-gap-2 ax-p-2\">\n <div\n class=\"ax-w-6 ax-h-6 ax-rounded ax-flex ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-black dark:ax-border-white\"\n [ngClass]=\"item.data.background\"\n >\n <span [ngClass]=\"item.data.color\">Aa</span>\n </div>\n <span>{{ item.data.title }}</span>\n </div>\n </ng-template>\n <ax-search-box look=\"fill\"></ax-search-box>\n <ax-validation-rule message=\"field can't be empty\" rule=\"required\"></ax-validation-rule>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n `,\n imports: [AXSelectBoxModule, AXFormModule, CommonModule, AXSearchBoxModule, AXButtonModule, FormsModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPColorChooserWidgetEditComponent\n extends AXPValueWidgetComponent<AXPColor | string | undefined>\n implements OnInit {\n private colorService = inject(AXPColorChooserService);\n protected colors = signal<AXPColor[]>([]);\n protected placeholder = computed(() => this.options()['placeholder'] ?? '');\n protected selectedColor = computed(() => {\n const value = this.getValue();\n if (!value) {\n return this.colors()[0];\n }\n // If value is a string in the format: \"ax-text-* ax-bg-* ax-border-*\"\n if (typeof value === 'string') {\n const parsed = this.parseStringValue(value);\n if (parsed) {\n return parsed;\n }\n return this.colors()[0];\n }\n // Otherwise value is an object\n return value.name;\n });\n\n override async ngOnInit() {\n const allColors = await this.colorService.getColors();\n this.colors.set(allColors);\n super.ngOnInit();\n }\n\n handleValueChange(event: AXValueChangedEvent): void {\n if (event.isUserInteraction) {\n if (!event.value) {\n this.setValue(undefined);\n return;\n }\n const color = event.component.selectedItems[0] as AXPColor;\n // Always store as ordered string: \"color background border\"\n const stringValue = `${color.color} ${color.background} ${color.border}`;\n this.setValue(stringValue);\n }\n }\n\n private parseStringValue(value: string): string | null {\n const parts = value.trim().split(/\\s+/);\n if (parts.length !== 3) {\n return null;\n }\n const [color, background, border] = parts;\n const match = this.colors().find((c) => c.color === color && c.background === background && c.border === border);\n return match?.name ?? null;\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPThemeColorChooserWidgetConfig: AXPWidgetConfig = {\n name: 'theme-color-chooser',\n title: 'Theme Color Chooser',\n icon: 'fa-solid fa-palette',\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n edit: {\n component: () => import('./theme-color-chooser-edit.component').then((c) => c.AXPColorChooserWidgetEditComponent),\n },\n column: {\n component: () => import('./theme-color-chooser-column.component').then((c) => c.AXPColorChooserWidgetColumnComponent),\n },\n view: {\n component: () => import('./theme-color-chooser-view.component').then((c) => c.AXPColorChooserWidgetViewComponent),\n },\n\n },\n};\n\ndeclare module '@acorex/platform/layout/widget-core' {\n interface AXPWidgetTypesMap {\n themeColorChooser: 'theme-color-chooser';\n }\n}\n","import { AXSelectionCdkModule } from '@acorex/cdk/selection';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXPThemeMode } from '../../theme.types';\n\ninterface ThemeModeOption {\n id: AXPThemeMode;\n icon: string;\n}\n\n@Component({\n template: `\n @for (mode of modes(); track mode.id) {\n <div (click)=\"onModeClick(mode)\" [class.--selected]=\"mode.id === selectedMode()?.id\">\n <div>\n <i [class]=\"mode.icon\"></i>\n </div>\n <span>{{ '@layout:terms.theme-modes.' + mode.id | translate | async }}</span>\n </div>\n }\n `,\n styleUrl: './theme-mode-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionCdkModule, AXTranslationModule],\n})\nexport class AXPThemeModeChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n protected readonly modes = signal<ThemeModeOption[]>([\n { id: AXPThemeMode.Light, icon: 'fa-light fa-brightness' },\n { id: AXPThemeMode.Dark, icon: 'fa-light fa-moon' },\n { id: AXPThemeMode.System, icon: 'fa-light fa-desktop' },\n ]);\n\n protected selectedMode = signal<ThemeModeOption | null>(null);\n\n #eff = effect(() => {\n if (this.getValue()) {\n this.selectedMode.set(this.modes().find((m) => m.id === this.getValue()) ?? this.modes()[0]);\n }\n });\n\n protected onModeClick(mode: ThemeModeOption) {\n this.setValue(mode.id);\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPThemeModeChooserWidget: AXPWidgetConfig = {\n name: \"theme-mode-chooser\",\n title: \"Theme Mode Chooser\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n edit: {\n component: () => import('./theme-mode-chooser-widget.component').then((c) => c.AXPThemeModeChooserWidgetComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/widget-core' {\n interface AXPWidgetTypesMap {\n themeModeChooser: 'theme-mode-chooser';\n }\n}","import { AXSelectionCdkModule } from '@acorex/cdk/selection';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\n\nimport { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXP_THEME_PALETTE_PROVIDER } from '../../palette.provider';\nimport { AXPThemePalette } from '../../theme.types';\n\n@Component({\n template: `\n @for (palette of palettes(); track palette.name) {\n <div (click)=\"onPaletteClick(palette)\" [class.--selected]=\"palette.name === selectedPalette()?.name\">\n <span>{{ palette.title }}</span>\n <div>\n <div [style.background-color]=\"palette.colors.primary\" class=\"ax-end-7 ax-z-[2]\"></div>\n <div [style.background-color]=\"palette.colors.secondary\" class=\"ax-end-3.5 ax-z-[1]\"></div>\n <div [style.background-color]=\"palette.colors.accents[0]\" class=\"ax-end-0 ax-z-0\"></div>\n </div>\n </div>\n }\n `,\n styleUrl: './theme-palette-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormsModule, AXSelectionCdkModule],\n})\nexport class AXPThemePaletteChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n private readonly paletteService = inject(AXP_THEME_PALETTE_PROVIDER);\n protected readonly palettes = signal<AXPThemePalette[]>([]);\n protected selectedPalette = signal<AXPThemePalette | null>(null);\n\n #eff = effect(() => {\n if (this.getValue()) {\n this.selectedPalette.set(\n this.palettes().find((p) => p.name === this.getValue()) ??\n this.palettes().find((p) => p.name === 'default') ??\n this.palettes()[0],\n );\n }\n });\n\n override async ngOnInit(): Promise<void> {\n super.ngOnInit();\n const palletsProviderInstance = await this.paletteService;\n this.palettes.set(await palletsProviderInstance.getList());\n }\n\n protected onPaletteClick(palette: AXPThemePalette) {\n this.setValue(palette.name);\n }\n}\n","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPThemePaletteChooserWidget: AXPWidgetConfig = {\n name: \"theme-palette-chooser\",\n title: \"Theme Palette Chooser\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n categories: AXP_WIDGETS_LAYOUT_CATEGORY,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n edit: {\n component: () => import('./theme-palette-chooser-widget.component').then((c) => c.AXPThemePaletteChooserWidgetComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/widget-core' {\n interface AXPWidgetTypesMap {\n themePaletteChooser: 'theme-palette-chooser';\n }\n}","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXPFontSizeChooserWidget } from './widgets/font-size-chooser';\nimport { AXPFontStyleChooserWidget } from './widgets/font-style-chooser';\nimport { AXPIconChooserWidget } from './widgets/icon-chooser';\nimport { AXPMenuOrientationChooserWidget } from './widgets/menu-orientation-chooser';\nimport { AXPThemeColorChooserWidgetConfig } from './widgets/theme-color-chooser';\nimport { AXPThemeModeChooserWidget } from './widgets/theme-mode-chooser';\nimport { AXPThemePaletteChooserWidget } from './widgets/theme-palette-chooser';\n\n//#endregion\n\n//#region ---- Theme Widgets Provider ----\n\nconst WIDGETS = [\n AXPThemePaletteChooserWidget,\n AXPThemeModeChooserWidget,\n AXPMenuOrientationChooserWidget,\n AXPFontSizeChooserWidget,\n AXPFontStyleChooserWidget,\n AXPIconChooserWidget,\n AXPThemeColorChooserWidgetConfig,\n];\n\n@Injectable()\nexport class AXPThemesSharedWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return WIDGETS;\n }\n}\n\n//#endregion\n","import { AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/core';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { AXPThemeSlotComponent } from './slots/theme-slot.component';\nimport { AXPLayoutThemeService } from './theme.service';\nimport { provideDefaultIconChooser } from './widgets/icon-chooser';\nimport { AXPThemesSharedWidgetsProvider } from './widget-definition.provider';\n@NgModule({\n imports: [\n AXPComponentSlotModule.forRoot({\n 'root-header-end': [\n {\n priority: 50,\n name: 'theme',\n component: AXPThemeSlotComponent,\n },\n ],\n }),\n AXPWidgetCoreModule,\n ],\n exports: [],\n declarations: [],\n providers: [\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXPThemesSharedWidgetsProvider, multi: true },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXPThemeSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n ...provideDefaultIconChooser(),\n ],\n})\nexport class AXPThemesSharedModule {\n constructor(appInitService: AXPAppStartUpService, injector: Injector) {\n const service = injector.get(AXPLayoutThemeService);\n appInitService.registerTask({\n name: 'layout-theme',\n statusText: 'Applying layout theme settings ...',\n priority: 100,\n run: async () => {\n await service.loadSettings();\n },\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i1","i4","i5"],"mappings":"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"}
|