@acorex/platform 19.1.16 → 19.2.0

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.
Files changed (33) hide show
  1. package/fesm2022/acorex-platform-layout-designer.mjs +12 -12
  2. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-layout-entity.mjs +58 -23
  4. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-layout-search.mjs +14 -12
  6. package/fesm2022/acorex-platform-layout-search.mjs.map +1 -1
  7. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-Cpzt0cCT.mjs → acorex-platform-themes-default-entity-master-list-view.component-DarhCaO1.mjs} +5 -5
  8. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DarhCaO1.mjs.map +1 -0
  9. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Cpdymm-f.mjs → acorex-platform-themes-default-entity-master-single-view.component-Bwgawuvl.mjs} +3 -3
  10. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Cpdymm-f.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-Bwgawuvl.mjs.map} +1 -1
  11. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D7Y93deN.mjs +118 -0
  12. package/fesm2022/acorex-platform-themes-default-theme-palette-preview.page-D7Y93deN.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-themes-default.mjs +29 -17
  14. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-themes-shared.mjs +1 -1
  16. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  17. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs → acorex-platform-widgets-checkbox-widget-column.component-C8NRF4BO.mjs} +9 -9
  18. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-C8NRF4BO.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs → acorex-platform-widgets-checkbox-widget-view.component-bf272Wuo.mjs} +9 -9
  20. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-bf272Wuo.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-widgets.mjs +14 -22
  22. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  23. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +1 -0
  24. package/layout/entity/lib/entity-middleware.d.ts +11 -0
  25. package/layout/entity/lib/entity-registery.service.d.ts +1 -0
  26. package/package.json +9 -9
  27. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +6 -0
  28. package/themes/default/lib/pages/theme-palette-preview/theme-palette-preview.page.d.ts +77 -0
  29. package/themes/shared/index.d.ts +1 -0
  30. package/widgets/lib/widgets/filters/select-filter/select-filter-widget-edit.component.d.ts +0 -1
  31. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-Cpzt0cCT.mjs.map +0 -1
  32. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs.map +0 -1
  33. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-blocks.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-actions.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-header.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-section.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-side.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-list.component.ts","../../../../libs/platform/themes/shared/src/lib/setting.keys.ts","../../../../libs/platform/themes/shared/src/lib/theme.types.ts","../../../../libs/platform/themes/shared/src/lib/palette.provider.ts","../../../../libs/platform/themes/shared/src/lib/theme.service.ts","../../../../libs/platform/themes/shared/src/lib/components/slots/theme-slot.component.ts","../../../../libs/platform/themes/shared/src/lib/setting.provider.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-color-selection/theme-color-selection-widget-edit.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-color-selection/theme-color-selection-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n axp-layout-content, \n axp-layout-header-container,\n axp-layout-footer-container,\n axp-layout-side-container,\n axp-layout-sections,\n axp-layout-section-container,\n axp-layout-body,\n axp-layout-suffix,\n axp-layout-prefix,\n axp-layout-title, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-toolbar,\n axp-layout-title-bar,\n axp-layout-breadcrumbs\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutBlockComponent {\n}\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-primary',\n template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPagePrimaryActionsComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-secondary',\n template: `<ng-content select=\"ax-button-item\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPageSecondaryActionsComponent {\n}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-actions',\n template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutActionsComponent {\n\n public readonly primaryTemplate = viewChild<TemplateRef<any>>('primary');\n private readonly primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent);\n public hasPrimary = computed(() => this.primaryContent() != null);\n\n public readonly secondaryTemplate = viewChild<TemplateRef<any>>('secondary');\n private readonly secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent);\n public hasSecondary = computed(() => this.secondaryContent() != null);\n\n}\n\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutHeaderTemplateComponent {\n\n public readonly title = viewChild<TemplateRef<any>>('title');\n public readonly description = viewChild<TemplateRef<any>>('description');\n public readonly actions = viewChild<TemplateRef<any>>('actions');\n public readonly navbar = viewChild<TemplateRef<any>>('navbar');\n public readonly breadcrumbs = viewChild<TemplateRef<any>>('breadcrumbs');\n public readonly navButton = viewChild<TemplateRef<any>>('navButton');\n\n\n}\n\n\n","import { CommonModule } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, viewChild, ViewEncapsulation } from \"@angular/core\";\nimport { AXPThemeLayoutHeaderTemplateComponent } from \"./layout-header.component\";\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-template #header>\n <ng-content select=\"axp-layout-header\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutSectionTemplateComponent {\n public readonly header = contentChild(AXPThemeLayoutHeaderTemplateComponent);\n public readonly content = viewChild<TemplateRef<any>>('content');\n}","import { CommonModule } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, viewChild, ViewEncapsulation } from \"@angular/core\";\nimport { AXPThemeLayoutHeaderTemplateComponent } from \"./layout-header.component\";\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-side',\n template: `\n <ng-template #header>\n <ng-content select=\"axp-layout-header\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutSideTemplateComponent {\n public readonly header = contentChild(AXPThemeLayoutHeaderTemplateComponent);\n public readonly content = viewChild<TemplateRef<any>>('content');\n}","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-group',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-title,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemsGroupComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-item',\n template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemComponent {\n}","export enum AXPThemeLayoutSetting {\n Name = 'layout:theme:name',\n Layout = 'layout:theme:layout',\n Font = 'layout:theme:font:family',\n FontSize = 'layout:theme:font:size',\n Palette = 'layout:theme:palette',\n Mode = 'layout:theme:mode',\n SideMenuStatus = 'layout:theme:sidemenu',\n}","export interface AXPThemePalette {\n name: string;\n title: string;\n colors: string[]\n path: string\n}\n\n// Theme Enum\nexport enum AXPThemeMode {\n Light = 'light',\n Dark = 'dark',\n System = 'system',\n}\n\n// Screen Size Enum\nexport enum AXPScreenSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\n// Device Type Enum\nexport enum AXPDeviceType {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop',\n}\n\n// Side Menu State Enum\nexport enum AXPSideMenuState {\n Opened = 'opened',\n Closed = 'closed',\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<AXPThemePaletteProvider>('AXP_THEME_PALETTE_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n return new AXPThemePaletteProviderDefault();\n }\n});\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 },\n ])\n }\n}","import { AXPSettingScope, AXPSettingService } from '@acorex/platform/common';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { filter, timer } from 'rxjs';\nimport { AXPThemeLayoutSetting } from './setting.keys';\nimport { AXPThemeMode, AXPScreenSize, AXPDeviceType, AXPSideMenuState } from './theme.types';\nimport { AXP_THEME_PALETTE_PROVIDER } from './palette.provider';\n\n// ThemeStore - Manages theme settings, system changes, and loading states\nexport const AXPLayoutThemeService = signalStore(\n { providedIn: 'root' },\n\n // Initial State\n withState(() => {\n\n const isSystemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n // Helper function to get the initial screen size\n const getScreenSize = (): 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 // Helper function to determine device type\n const getDeviceType = (): AXPDeviceType => {\n const userAgent = navigator.userAgent.toLowerCase();\n if (/mobile|android|iphone|ipad/.test(userAgent)) {\n return AXPDeviceType.Mobile;\n } else if (/tablet/.test(userAgent)) {\n return AXPDeviceType.Tablet;\n }\n return AXPDeviceType.Desktop;\n };\n\n // Helper function to determine if the device supports touch\n const isTouchDevice = (): boolean => {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n };\n\n const state = {\n currentMode: AXPThemeMode.System,\n currentPallete: 'default',\n systemThemeMode: (isSystemDark ? AXPThemeMode.Dark : AXPThemeMode.Light) as AXPThemeMode,\n font: {\n family: 'system-ui',\n size: 'medium'\n },\n screenSize: getScreenSize(),\n deviceType: getDeviceType(),\n isTouchDevice: isTouchDevice(),\n overlayLoading: false,\n navigationLoading: false,\n overlayLoadingTaskCount: 0,\n navigationLoadingTaskCount: 0,\n sideMenuState: (getScreenSize() === AXPScreenSize.Large ? AXPSideMenuState.Opened : AXPSideMenuState.Closed) as AXPSideMenuState,\n _listener: null as ((e: MediaQueryListEvent) => void) | null,\n _resizeListener: null as (() => void) | null,\n };\n\n return state;\n }),\n\n // Computed Signals\n withComputed(({ currentMode: currentTheme, systemThemeMode: systemTheme, screenSize, deviceType, isTouchDevice, sideMenuState, overlayLoading, navigationLoading }) => ({\n isDarkMode: computed(\n () =>\n currentTheme() === AXPThemeMode.Dark ||\n (currentTheme() === AXPThemeMode.System && systemTheme() === AXPThemeMode.Dark)\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 isSmall: computed(() => screenSize() === AXPScreenSize.Small),\n isMedium: computed(() => screenSize() === AXPScreenSize.Medium),\n isLarge: computed(() => screenSize() === AXPScreenSize.Large),\n isMobileDevice: computed(() => deviceType() === AXPDeviceType.Mobile),\n isTabletDevice: computed(() => deviceType() === AXPDeviceType.Tablet),\n isDesktopDevice: computed(() => deviceType() === AXPDeviceType.Desktop),\n isTouchScreen: computed(() => isTouchDevice()),\n isOverlayLoading: computed(() => overlayLoading()),\n isNavigationLoading: computed(() => navigationLoading()),\n })),\n\n // Methods for State Management\n withMethods((store, settingService = inject(AXPSettingService), pallets = inject(AXP_THEME_PALETTE_PROVIDER)) => {\n\n const _applySettings = async () => {\n // Initialize theme and side menu setting from storage\n const settingThemeMode = ((await settingService.get(AXPThemeLayoutSetting.Mode)) as AXPThemeMode) ?? AXPThemeMode.Light;\n patchState(store, { currentMode: settingThemeMode });\n //\n const settingThemePallete = ((await settingService.get(AXPThemeLayoutSetting.Palette)) as string) ?? 'default';\n patchState(store, { currentPallete: settingThemePallete });\n //\n const settingSideMenu = ((await settingService.get(AXPThemeLayoutSetting.SideMenuStatus)) as AXPSideMenuState) ?? store.sideMenuState();\n patchState(store, { sideMenuState: settingSideMenu });\n //\n const fontFamily = await settingService.get(AXPThemeLayoutSetting.Font);\n const fontSize = await settingService.get(AXPThemeLayoutSetting.FontSize);\n patchState(store, { font: { family: fontFamily, size: fontSize } });\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.currentPallete())\n };\n\n // Update screen size based on window width\n const _updateScreenSize = () => {\n const width = window.innerWidth;\n let newScreenSize: AXPScreenSize;\n\n if (width <= 600) {\n newScreenSize = AXPScreenSize.Small;\n } else if (width <= 1024) {\n newScreenSize = AXPScreenSize.Medium;\n } else {\n newScreenSize = AXPScreenSize.Large;\n }\n\n if (newScreenSize !== store.screenSize()) {\n patchState(store, { screenSize: newScreenSize });\n if (store.sideMenuState() !== AXPSideMenuState.Closed) {\n patchState(store, { sideMenuState: newScreenSize === AXPScreenSize.Small ? AXPSideMenuState.Closed : AXPSideMenuState.Opened });\n settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, store.sideMenuState());\n }\n }\n };\n\n // Helper method to apply a cached theme palette\n const _applyThemePalette = async (name: string): Promise<void> => {\n const pallete = (await pallets.getList()).find(c => c.name == name);\n if (!pallete) {\n return;\n }\n\n // Remove all existing theme-related link elements\n const existingLinks = document.querySelectorAll('link[data-theme]');\n existingLinks.forEach(link => document.head.removeChild(link));\n\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = pallete.path!;\n link.setAttribute('data-theme', name);\n\n document.head.appendChild(link);\n // Wait for the CSS file to load\n await new Promise<void>((resolve, reject) => {\n link.onload = () => resolve();\n link.onerror = () => reject(new Error(`Failed to load CSS file: ${pallete.path!}`));\n });\n };\n\n\n\n const minimumDisplayTime = 500; // milliseconds\n\n return {\n // Change theme and update HTML class\n changeThemeMode(theme: AXPThemeMode) {\n settingService.scope(AXPSettingScope.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 settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Opened);\n },\n\n // Close side menu\n closeSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Closed);\n },\n\n // Toggle side menu state\n toggleSideMenu() {\n const newSideMenuState = store.sideMenuState() === AXPSideMenuState.Opened ? AXPSideMenuState.Closed : AXPSideMenuState.Opened;\n patchState(store, { sideMenuState: newSideMenuState });\n settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, newSideMenuState);\n },\n\n // Set navigation loading state with a task counter\n setNavigationLoading(value: boolean) {\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 // Set overlay loading state with a task counter\n setOverlayLoading(value: boolean) {\n if (value) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() + 1 });\n patchState(store, { overlayLoading: true });\n } else {\n if (store.overlayLoadingTaskCount() > 0) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() - 1 });\n }\n if (store.overlayLoadingTaskCount() === 0) {\n timer(minimumDisplayTime).subscribe(() => {\n if (store.overlayLoadingTaskCount() === 0) {\n patchState(store, { overlayLoading: false });\n }\n });\n }\n }\n },\n\n async loadSettings() {\n await _applySettings();\n },\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 // Set up event listener for window resize\n _setupResizeListener() {\n const listener = () => {\n _updateScreenSize();\n };\n window.addEventListener('resize', listener);\n return listener;\n },\n\n // Remove event listener for window resize\n _removeResizeListener(listener: () => void) {\n window.removeEventListener('resize', listener);\n },\n\n };\n }),\n\n // Lifecycle Hooks\n withHooks((store, settingService = inject(AXPSettingService)) => ({\n onInit() {\n //\n settingService.onChanged.pipe(filter(c => c.scope == AXPSettingScope.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 // Set up event listener for system theme changes\n const listener = store._setupSystemColorListener();\n patchState(store, { _listener: listener });\n\n // Set up event listener for window resize\n const resizeListener = store._setupResizeListener();\n patchState(store, { _resizeListener: resizeListener });\n },\n\n onDestroy() {\n // Clean up event listeners when store is destroyed\n const { _listener: listener, _resizeListener: resizeListener } = store;\n if (listener) {\n store._removeSystemColorListener(listener);\n }\n if (resizeListener) {\n store._removeResizeListener(resizeListener);\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 { 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]=\"(t('theme.light') | async)!\"\n [selected]=\"!store.isSystemMode() && !store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-brightness\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeThemeMode(variants.Dark)\"\n [text]=\"(t('theme.dark') | async)!\"\n [selected]=\"!store.isSystemMode() && store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-moon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeThemeMode(variants.System)\"\n [text]=\"(t('theme.system') | async)!\"\n [selected]=\"store.isSystemMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid 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})\nexport class AXPThemeSlotComponent {\n protected store = inject(AXPLayoutThemeService);\n\n protected variants = AXPThemeMode;\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPThemeLayoutSetting } from './setting.keys';\nimport { AXPWidgetsCatalog, objectKeyValueTransforms } from '@acorex/platform/layout/builder';\nimport { AXPThemeMode } from './theme.types';\nimport { AXP_THEME_PALETTE_PROVIDER } from './palette.provider';\nimport { inject } from '@angular/core';\n\nexport class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {\n\n private pallets = inject(AXP_THEME_PALETTE_PROVIDER);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Define the 'Appearance Settings' group\n context.addGroup('appearance', 'Appearance Settings', 'Customize the overall look and feel of the application.', 'fa-solid fa-palette')\n\n // Add the 'Brightness & Color' section\n .addSection('color', 'Brightness & Color', 'Adjust the theme settings, including brightness, colors, and modes.')\n\n // Add the 'Theme Mode' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Mode,\n title: 'Theme Mode',\n scope: 'U',\n isInherited: true,\n defaultValue: AXPThemeMode.Light,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: Object.entries(AXPThemeMode).map(([key, value]) => ({\n id: value,\n title: key.charAt(0).toUpperCase() + key.slice(1).toLowerCase(),\n })),\n },\n },\n description: 'Switch between Light and Dark themes for the application.',\n })\n\n // Add the 'Palette' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Palette,\n title: 'Palette',\n scope: 'U',\n isInherited: true,\n defaultValue: 'default',\n valueTransforms: objectKeyValueTransforms('name'),\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n dataSource: await this.pallets.getList(),\n },\n },\n description: 'Choose a color palette for the application interface.',\n })\n\n // End the 'Brightness & Color' section\n .endSection()\n\n // Add the 'Scale & Layout' section\n .addSection('layout', 'Scale & Layout', 'Customize the application’s layout and scaling options.')\n\n // Add the 'Font Style' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Font,\n title: 'Font Style',\n scope: 'U',\n isInherited: true,\n defaultValue: 'system-ui',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: 'select-editor',\n options: {\n dataSource: [\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 ],\n },\n },\n description: 'Set the font style for application text.',\n })\n\n // Add the 'Font Size' setting\n .addSetting({\n key: AXPThemeLayoutSetting.FontSize,\n title: 'Font Size',\n scope: 'U',\n isInherited: true,\n defaultValue: 'medium',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: 'select-editor',\n options: {\n dataSource: [\n { id: 'small', title: 'Small' },\n { id: 'medium', title: 'Medium' },\n { id: 'large', title: 'Large' },\n { id: 'x-large', title: 'Extra Large' },\n ],\n },\n },\n description: 'Adjust the font size for application text.',\n })\n\n // End the 'Scale & Layout' section\n .endSection()\n\n // End the 'Appearance Settings' group\n .endGroup();\n\n\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\n\n@Component({\n template: ` \n <div axSelectionGroup [multiple]=\"false\" [selectedKeys]=\"'1'\" >\n <div axSelectionItem #a=\"axSelectionItem\" key=\"1\" [class.ax-text-primary-500]=\"a.isActive()\">\n item 1\n </div>\n <div axSelectionItem #b=\"axSelectionItem\" key=\"2\" [class.ax-text-primary-500]=\"b.isActive()\">\n item 1\n </div>\n </div> \n \n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionModule],\n})\nexport class AXPThemeColorSelectionWidgetEditComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPThemeColorSelectionWidget: AXPWidgetConfig = {\n name: \"theme-color-selection\",\n title: \"Theme Color Selection\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n visible: false,\n group: AXP_WIDGETS_LAYOUT_GROUP,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n edit: {\n component: () => import('./theme-color-selection-widget-edit.component').then((c) => c.AXPThemeColorSelectionWidgetEditComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n themeColorSelection: 'theme-color-selection';\n }\n}","import { AXP_SETTING_DEFINITION_PROVIDER, AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { Injector, NgModule } from '@angular/core';\nimport { AXPThemeSlotComponent } from './components/slots/theme-slot.component';\nimport { AXPThemeSettingProvider } from './setting.provider';\nimport { AXPLayoutThemeService } from './theme.service';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPThemeColorSelectionWidget } from './widgets/theme-color-selection';\n@NgModule({\n imports: [\n AXPComponentSlotModule.forRoot({\n 'header-end': [\n {\n priority: 50,\n name: 'theme',\n component: AXPThemeSlotComponent,\n },\n ],\n }),\n AXPLayoutBuilderModule.forChild({\n widgets: [\n AXPThemeColorSelectionWidget\n ]\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPThemeSettingProvider,\n multi: true\n }\n ],\n})\nexport class AXPThemesSharedModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n const service = injector.get(AXPLayoutThemeService);\n appInitService.registerTask({\n name: 'layout-theme',\n statusText: 'Applying layout theme settings ...',\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":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-blocks.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-actions.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-header.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-section.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-side.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-list.component.ts","../../../../libs/platform/themes/shared/src/lib/setting.keys.ts","../../../../libs/platform/themes/shared/src/lib/theme.types.ts","../../../../libs/platform/themes/shared/src/lib/palette.provider.ts","../../../../libs/platform/themes/shared/src/lib/theme.service.ts","../../../../libs/platform/themes/shared/src/lib/components/slots/theme-slot.component.ts","../../../../libs/platform/themes/shared/src/lib/setting.provider.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-color-selection/theme-color-selection-widget-edit.component.ts","../../../../libs/platform/themes/shared/src/lib/widgets/theme-color-selection/theme-color-selection-widget.config.ts","../../../../libs/platform/themes/shared/src/lib/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n axp-layout-content, \n axp-layout-header-container,\n axp-layout-footer-container,\n axp-layout-side-container,\n axp-layout-sections,\n axp-layout-section-container,\n axp-layout-body,\n axp-layout-suffix,\n axp-layout-prefix,\n axp-layout-title, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-toolbar,\n axp-layout-title-bar,\n axp-layout-breadcrumbs\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutBlockComponent {\n}\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-primary',\n template: `<ng-content select=\"ax-button,ax-dropdown-button\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPagePrimaryActionsComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-actions-secondary',\n template: `<ng-content select=\"ax-button-item\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutPageSecondaryActionsComponent {\n}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-actions',\n template: `\n\n <ng-template #primary>\n <ng-content select=\"axp-layout-actions-primary\"></ng-content>\n </ng-template>\n\n <ng-template #secondary>\n <ng-content select=\"axp-layout-actions-secondary\"></ng-content>\n </ng-template>\n\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutActionsComponent {\n\n public readonly primaryTemplate = viewChild<TemplateRef<any>>('primary');\n private readonly primaryContent = contentChild(AXPThemeLayoutPagePrimaryActionsComponent);\n public hasPrimary = computed(() => this.primaryContent() != null);\n\n public readonly secondaryTemplate = viewChild<TemplateRef<any>>('secondary');\n private readonly secondaryContent = contentChild(AXPThemeLayoutPageSecondaryActionsComponent);\n public hasSecondary = computed(() => this.secondaryContent() != null);\n\n}\n\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-template #breadcrumbs>\n <ng-content select=\"axp-layout-breadcrumbs\"></ng-content>\n </ng-template>\n\n <ng-template #navbar>\n <ng-content select=\"axp-layout-toolbar\"></ng-content>\n </ng-template>\n\n <ng-template #actions>\n <ng-content select=\"axp-layout-actions\"></ng-content>\n </ng-template>\n\n <ng-template #description>\n <ng-content select=\"axp-layout-description\"></ng-content>\n </ng-template>\n\n <ng-template #title>\n <ng-content select=\"axp-layout-title\"></ng-content>\n </ng-template>\n <ng-template #navButton>\n <ng-content select=\"axp-layout-nav-button\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutHeaderTemplateComponent {\n\n public readonly title = viewChild<TemplateRef<any>>('title');\n public readonly description = viewChild<TemplateRef<any>>('description');\n public readonly actions = viewChild<TemplateRef<any>>('actions');\n public readonly navbar = viewChild<TemplateRef<any>>('navbar');\n public readonly breadcrumbs = viewChild<TemplateRef<any>>('breadcrumbs');\n public readonly navButton = viewChild<TemplateRef<any>>('navButton');\n\n\n}\n\n\n","import { CommonModule } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, viewChild, ViewEncapsulation } from \"@angular/core\";\nimport { AXPThemeLayoutHeaderTemplateComponent } from \"./layout-header.component\";\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-template #header>\n <ng-content select=\"axp-layout-header\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutSectionTemplateComponent {\n public readonly header = contentChild(AXPThemeLayoutHeaderTemplateComponent);\n public readonly content = viewChild<TemplateRef<any>>('content');\n}","import { CommonModule } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, contentChild, input, TemplateRef, viewChild, ViewEncapsulation } from \"@angular/core\";\nimport { AXPThemeLayoutHeaderTemplateComponent } from \"./layout-header.component\";\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-side',\n template: `\n <ng-template #header>\n <ng-content select=\"axp-layout-header\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutSideTemplateComponent {\n public readonly header = contentChild(AXPThemeLayoutHeaderTemplateComponent);\n public readonly content = viewChild<TemplateRef<any>>('content');\n}","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-list-group,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-group',\n template: `<ng-content select=\"axp-layout-list-item,axp-layout-title,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemsGroupComponent {\n}\n\n@Component({\n standalone: true,\n selector: 'axp-layout-list-item',\n template: `<ng-content select=\"axp-layout-content,axp-layout-prefix,axp-layout-suffix,ng-container\"></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXPThemeLayoutListItemComponent {\n}","export enum AXPThemeLayoutSetting {\n Name = 'layout:theme:name',\n Layout = 'layout:theme:layout',\n Font = 'layout:theme:font:family',\n FontSize = 'layout:theme:font:size',\n Palette = 'layout:theme:palette',\n Mode = 'layout:theme:mode',\n SideMenuStatus = 'layout:theme:sidemenu',\n}","export interface AXPThemePalette {\n name: string;\n title: string;\n colors: string[]\n path: string\n}\n\n// Theme Enum\nexport enum AXPThemeMode {\n Light = 'light',\n Dark = 'dark',\n System = 'system',\n}\n\n// Screen Size Enum\nexport enum AXPScreenSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\n// Device Type Enum\nexport enum AXPDeviceType {\n Mobile = 'mobile',\n Tablet = 'tablet',\n Desktop = 'desktop',\n}\n\n// Side Menu State Enum\nexport enum AXPSideMenuState {\n Opened = 'opened',\n Closed = 'closed',\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<AXPThemePaletteProvider>('AXP_THEME_PALETTE_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n return new AXPThemePaletteProviderDefault();\n }\n});\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 },\n ])\n }\n}","import { AXPSettingScope, AXPSettingService } from '@acorex/platform/common';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { filter, timer } from 'rxjs';\nimport { AXPThemeLayoutSetting } from './setting.keys';\nimport { AXPThemeMode, AXPScreenSize, AXPDeviceType, AXPSideMenuState } from './theme.types';\nimport { AXP_THEME_PALETTE_PROVIDER } from './palette.provider';\n\n// ThemeStore - Manages theme settings, system changes, and loading states\nexport const AXPLayoutThemeService = signalStore(\n { providedIn: 'root' },\n\n // Initial State\n withState(() => {\n\n const isSystemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;\n\n // Helper function to get the initial screen size\n const getScreenSize = (): 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 // Helper function to determine device type\n const getDeviceType = (): AXPDeviceType => {\n const userAgent = navigator.userAgent.toLowerCase();\n if (/mobile|android|iphone|ipad/.test(userAgent)) {\n return AXPDeviceType.Mobile;\n } else if (/tablet/.test(userAgent)) {\n return AXPDeviceType.Tablet;\n }\n return AXPDeviceType.Desktop;\n };\n\n // Helper function to determine if the device supports touch\n const isTouchDevice = (): boolean => {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n };\n\n const state = {\n currentMode: AXPThemeMode.System,\n currentPallete: 'default',\n systemThemeMode: (isSystemDark ? AXPThemeMode.Dark : AXPThemeMode.Light) as AXPThemeMode,\n font: {\n family: 'system-ui',\n size: 'medium'\n },\n screenSize: getScreenSize(),\n deviceType: getDeviceType(),\n isTouchDevice: isTouchDevice(),\n overlayLoading: false,\n navigationLoading: false,\n overlayLoadingTaskCount: 0,\n navigationLoadingTaskCount: 0,\n sideMenuState: (getScreenSize() === AXPScreenSize.Large ? AXPSideMenuState.Opened : AXPSideMenuState.Closed) as AXPSideMenuState,\n _listener: null as ((e: MediaQueryListEvent) => void) | null,\n _resizeListener: null as (() => void) | null,\n };\n\n return state;\n }),\n\n // Computed Signals\n withComputed(({ currentMode: currentTheme, systemThemeMode: systemTheme, screenSize, deviceType, isTouchDevice, sideMenuState, overlayLoading, navigationLoading }) => ({\n isDarkMode: computed(\n () =>\n currentTheme() === AXPThemeMode.Dark ||\n (currentTheme() === AXPThemeMode.System && systemTheme() === AXPThemeMode.Dark)\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 isSmall: computed(() => screenSize() === AXPScreenSize.Small),\n isMedium: computed(() => screenSize() === AXPScreenSize.Medium),\n isLarge: computed(() => screenSize() === AXPScreenSize.Large),\n isMobileDevice: computed(() => deviceType() === AXPDeviceType.Mobile),\n isTabletDevice: computed(() => deviceType() === AXPDeviceType.Tablet),\n isDesktopDevice: computed(() => deviceType() === AXPDeviceType.Desktop),\n isTouchScreen: computed(() => isTouchDevice()),\n isOverlayLoading: computed(() => overlayLoading()),\n isNavigationLoading: computed(() => navigationLoading()),\n })),\n\n // Methods for State Management\n withMethods((store, settingService = inject(AXPSettingService), pallets = inject(AXP_THEME_PALETTE_PROVIDER)) => {\n\n const _applySettings = async () => {\n // Initialize theme and side menu setting from storage\n const settingThemeMode = ((await settingService.get(AXPThemeLayoutSetting.Mode)) as AXPThemeMode) ?? AXPThemeMode.Light;\n patchState(store, { currentMode: settingThemeMode });\n //\n const settingThemePallete = ((await settingService.get(AXPThemeLayoutSetting.Palette)) as string) ?? 'default';\n patchState(store, { currentPallete: settingThemePallete });\n //\n const settingSideMenu = ((await settingService.get(AXPThemeLayoutSetting.SideMenuStatus)) as AXPSideMenuState) ?? store.sideMenuState();\n patchState(store, { sideMenuState: settingSideMenu });\n //\n const fontFamily = await settingService.get(AXPThemeLayoutSetting.Font);\n const fontSize = await settingService.get(AXPThemeLayoutSetting.FontSize);\n patchState(store, { font: { family: fontFamily, size: fontSize } });\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.currentPallete())\n };\n\n // Update screen size based on window width\n const _updateScreenSize = () => {\n const width = window.innerWidth;\n let newScreenSize: AXPScreenSize;\n\n if (width <= 600) {\n newScreenSize = AXPScreenSize.Small;\n } else if (width <= 1024) {\n newScreenSize = AXPScreenSize.Medium;\n } else {\n newScreenSize = AXPScreenSize.Large;\n }\n\n if (newScreenSize !== store.screenSize()) {\n patchState(store, { screenSize: newScreenSize });\n if (store.sideMenuState() !== AXPSideMenuState.Closed) {\n patchState(store, { sideMenuState: newScreenSize === AXPScreenSize.Small ? AXPSideMenuState.Closed : AXPSideMenuState.Opened });\n settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, store.sideMenuState());\n }\n }\n };\n\n // Helper method to apply a cached theme palette\n const _applyThemePalette = async (name: string): Promise<void> => {\n const pallete = (await pallets.getList()).find(c => c.name == name);\n if (!pallete) {\n return;\n }\n\n // Remove all existing theme-related link elements\n const existingLinks = document.querySelectorAll('link[data-theme]');\n existingLinks.forEach(link => document.head.removeChild(link));\n\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = pallete.path!;\n link.setAttribute('data-theme', name);\n\n document.head.appendChild(link);\n // Wait for the CSS file to load\n await new Promise<void>((resolve, reject) => {\n link.onload = () => resolve();\n link.onerror = () => reject(new Error(`Failed to load CSS file: ${pallete.path!}`));\n });\n };\n\n\n\n const minimumDisplayTime = 500; // milliseconds\n\n return {\n // Change theme and update HTML class\n changeThemeMode(theme: AXPThemeMode) {\n settingService.scope(AXPSettingScope.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 settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Opened);\n },\n\n // Close side menu\n closeSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Closed);\n },\n\n // Toggle side menu state\n toggleSideMenu() {\n const newSideMenuState = store.sideMenuState() === AXPSideMenuState.Opened ? AXPSideMenuState.Closed : AXPSideMenuState.Opened;\n patchState(store, { sideMenuState: newSideMenuState });\n settingService.scope(AXPSettingScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, newSideMenuState);\n },\n\n // Set navigation loading state with a task counter\n setNavigationLoading(value: boolean) {\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 // Set overlay loading state with a task counter\n setOverlayLoading(value: boolean) {\n if (value) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() + 1 });\n patchState(store, { overlayLoading: true });\n } else {\n if (store.overlayLoadingTaskCount() > 0) {\n patchState(store, { overlayLoadingTaskCount: store.overlayLoadingTaskCount() - 1 });\n }\n if (store.overlayLoadingTaskCount() === 0) {\n timer(minimumDisplayTime).subscribe(() => {\n if (store.overlayLoadingTaskCount() === 0) {\n patchState(store, { overlayLoading: false });\n }\n });\n }\n }\n },\n\n async loadSettings() {\n await _applySettings();\n },\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 // Set up event listener for window resize\n _setupResizeListener() {\n const listener = () => {\n _updateScreenSize();\n };\n window.addEventListener('resize', listener);\n return listener;\n },\n\n // Remove event listener for window resize\n _removeResizeListener(listener: () => void) {\n window.removeEventListener('resize', listener);\n },\n\n };\n }),\n\n // Lifecycle Hooks\n withHooks((store, settingService = inject(AXPSettingService)) => ({\n onInit() {\n //\n settingService.onChanged.pipe(filter(c => c.scope == AXPSettingScope.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 // Set up event listener for system theme changes\n const listener = store._setupSystemColorListener();\n patchState(store, { _listener: listener });\n\n // Set up event listener for window resize\n const resizeListener = store._setupResizeListener();\n patchState(store, { _resizeListener: resizeListener });\n },\n\n onDestroy() {\n // Clean up event listeners when store is destroyed\n const { _listener: listener, _resizeListener: resizeListener } = store;\n if (listener) {\n store._removeSystemColorListener(listener);\n }\n if (resizeListener) {\n store._removeResizeListener(resizeListener);\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 { 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]=\"(t('theme.light') | async)!\"\n [selected]=\"!store.isSystemMode() && !store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-brightness\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeThemeMode(variants.Dark)\"\n [text]=\"(t('theme.dark') | async)!\"\n [selected]=\"!store.isSystemMode() && store.isDarkMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-moon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"store.changeThemeMode(variants.System)\"\n [text]=\"(t('theme.system') | async)!\"\n [selected]=\"store.isSystemMode()\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid 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})\nexport class AXPThemeSlotComponent {\n protected store = inject(AXPLayoutThemeService);\n\n protected variants = AXPThemeMode;\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPThemeLayoutSetting } from './setting.keys';\nimport { AXPWidgetsCatalog, objectKeyValueTransforms } from '@acorex/platform/layout/builder';\nimport { AXPThemeMode } from './theme.types';\nimport { AXP_THEME_PALETTE_PROVIDER } from './palette.provider';\nimport { inject } from '@angular/core';\n\nexport class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {\n\n private pallets = inject(AXP_THEME_PALETTE_PROVIDER);\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Define the 'Appearance Settings' group\n context.addGroup('appearance', 'Appearance Settings', 'Customize the overall look and feel of the application.', 'fa-solid fa-palette')\n\n // Add the 'Brightness & Color' section\n .addSection('color', 'Brightness & Color', 'Adjust the theme settings, including brightness, colors, and modes.')\n\n // Add the 'Theme Mode' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Mode,\n title: 'Theme Mode',\n scope: 'U',\n isInherited: true,\n defaultValue: AXPThemeMode.Light,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n dataSource: Object.entries(AXPThemeMode).map(([key, value]) => ({\n id: value,\n title: key.charAt(0).toUpperCase() + key.slice(1).toLowerCase(),\n })),\n },\n },\n description: 'Switch between Light and Dark themes for the application.',\n })\n\n // Add the 'Palette' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Palette,\n title: 'Palette',\n scope: 'U',\n isInherited: true,\n defaultValue: 'default',\n valueTransforms: objectKeyValueTransforms('name'),\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n dataSource: await this.pallets.getList(),\n },\n },\n description: 'Choose a color palette for the application interface.',\n })\n\n // End the 'Brightness & Color' section\n .endSection()\n\n // Add the 'Scale & Layout' section\n .addSection('layout', 'Scale & Layout', 'Customize the application’s layout and scaling options.')\n\n // Add the 'Font Style' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Font,\n title: 'Font Style',\n scope: 'U',\n isInherited: true,\n defaultValue: 'system-ui',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: 'select-editor',\n options: {\n dataSource: [\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 ],\n },\n },\n description: 'Set the font style for application text.',\n })\n\n // Add the 'Font Size' setting\n .addSetting({\n key: AXPThemeLayoutSetting.FontSize,\n title: 'Font Size',\n scope: 'U',\n isInherited: true,\n defaultValue: 'medium',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: 'select-editor',\n options: {\n dataSource: [\n { id: 'small', title: 'Small' },\n { id: 'medium', title: 'Medium' },\n { id: 'large', title: 'Large' },\n { id: 'x-large', title: 'Extra Large' },\n ],\n },\n },\n description: 'Adjust the font size for application text.',\n })\n\n // End the 'Scale & Layout' section\n .endSection()\n\n // End the 'Appearance Settings' group\n .endGroup();\n\n\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\n\n@Component({\n template: ` \n <div axSelectionGroup [multiple]=\"false\" [selectedKeys]=\"'1'\" >\n <div axSelectionItem #a=\"axSelectionItem\" key=\"1\" [class.ax-text-primary-500]=\"a.isActive()\">\n item 1\n </div>\n <div axSelectionItem #b=\"axSelectionItem\" key=\"2\" [class.ax-text-primary-500]=\"b.isActive()\">\n item 1\n </div>\n </div> \n \n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionModule],\n})\nexport class AXPThemeColorSelectionWidgetEditComponent extends AXPWidgetComponent<any> { }","import { AXP_WIDGETS_LAYOUT_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXPThemeColorSelectionWidget: AXPWidgetConfig = {\n name: \"theme-color-selection\",\n title: \"Theme Color Selection\",\n icon: \"fa-solid fa-square\",\n type: 'editor',\n visible: false,\n group: AXP_WIDGETS_LAYOUT_GROUP,\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n edit: {\n component: () => import('./theme-color-selection-widget-edit.component').then((c) => c.AXPThemeColorSelectionWidgetEditComponent),\n },\n }\n}\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n themeColorSelection: 'theme-color-selection';\n }\n}","import { AXP_SETTING_DEFINITION_PROVIDER, AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { Injector, NgModule } from '@angular/core';\nimport { AXPThemeSlotComponent } from './components/slots/theme-slot.component';\nimport { AXPThemeSettingProvider } from './setting.provider';\nimport { AXPLayoutThemeService } from './theme.service';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPThemeColorSelectionWidget } from './widgets/theme-color-selection';\n@NgModule({\n imports: [\n AXPComponentSlotModule.forRoot({\n 'header-end': [\n {\n priority: 50,\n name: 'theme',\n component: AXPThemeSlotComponent,\n },\n ],\n }),\n AXPLayoutBuilderModule.forChild({\n widgets: [\n AXPThemeColorSelectionWidget\n ]\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPThemeSettingProvider,\n multi: true\n }\n ],\n})\nexport class AXPThemesSharedModule {\n constructor(\n appInitService: AXPAppStartUpService,\n injector: Injector\n ) {\n const service = injector.get(AXPLayoutThemeService);\n appInitService.registerTask({\n name: 'layout-theme',\n statusText: 'Applying layout theme settings ...',\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":["i1","i2"],"mappings":"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"}
@@ -15,17 +15,17 @@ class AXPCheckBoxWidgetColumnComponent extends AXPColumnWidgetComponent {
15
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPCheckBoxWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
16
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPCheckBoxWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: ` <div>
17
17
  @if(this.rawValue){ @if(trulyText){
18
- <span [class]="negative ? 'ax-text-danger' : 'ax-text-success'">{{ trulyText }}</span>
18
+ <span [class]="negative ? ' ax-text-danger-500' : 'ax-text-success'">{{ trulyText }}</span>
19
19
  }@else { @if(negative){
20
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
20
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
21
21
  }@else{
22
22
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
23
23
  } } }@else { @if(falsyText){
24
- <span [class]="negative ? 'ax-text-success' : 'ax-text-danger'">{{ falsyText }}</span>
24
+ <span [class]="negative ? 'ax-text-success' : ' ax-text-danger-500'">{{ falsyText }}</span>
25
25
  }@else { @if(negative){
26
26
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
27
27
  }@else{
28
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
28
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
29
29
  } } }
30
30
  </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
@@ -34,17 +34,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
34
34
  args: [{
35
35
  template: ` <div>
36
36
  @if(this.rawValue){ @if(trulyText){
37
- <span [class]="negative ? 'ax-text-danger' : 'ax-text-success'">{{ trulyText }}</span>
37
+ <span [class]="negative ? ' ax-text-danger-500' : 'ax-text-success'">{{ trulyText }}</span>
38
38
  }@else { @if(negative){
39
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
39
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
40
40
  }@else{
41
41
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
42
42
  } } }@else { @if(falsyText){
43
- <span [class]="negative ? 'ax-text-success' : 'ax-text-danger'">{{ falsyText }}</span>
43
+ <span [class]="negative ? 'ax-text-success' : ' ax-text-danger-500'">{{ falsyText }}</span>
44
44
  }@else { @if(negative){
45
45
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
46
46
  }@else{
47
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
47
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
48
48
  } } }
49
49
  </div>`,
50
50
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
54
54
  }] });
55
55
 
56
56
  export { AXPCheckBoxWidgetColumnComponent };
57
- //# sourceMappingURL=acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs.map
57
+ //# sourceMappingURL=acorex-platform-widgets-checkbox-widget-column.component-C8NRF4BO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-widgets-checkbox-widget-column.component-C8NRF4BO.mjs","sources":["../../../../libs/platform/widgets/src/lib/widgets/editors/checkbox/checkbox-widget-column.component.ts"],"sourcesContent":["import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: ` <div>\n @if(this.rawValue){ @if(trulyText){\n <span [class]=\"negative ? ' ax-text-danger-500' : 'ax-text-success'\">{{ trulyText }}</span>\n }@else { @if(negative){\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger-500\"> </ax-icon>\n }@else{\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n } } }@else { @if(falsyText){\n <span [class]=\"negative ? 'ax-text-success' : ' ax-text-danger-500'\">{{ falsyText }}</span>\n }@else { @if(negative){\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n }@else{\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger-500\"> </ax-icon>\n } } }\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule],\n inputs: ['rawValue'],\n})\nexport class AXPCheckBoxWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n protected negative = this.options['negative'] as boolean;\n protected trulyText = this.options['trulyText'] as string;\n protected falsyText = this.options['falsyText'] as string;\n}\n"],"names":["i1"],"mappings":";;;;;;;AAwBM,MAAO,gCAAiC,SAAQ,wBAA6B,CAAA;AApBnF,IAAA,WAAA,GAAA;;AAqBY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAY;AAC9C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAW;AAC/C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAW;AAC1D;8GAJY,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EAnBjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;SAcH,EAEG,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAG9B,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBApB5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcH,QAAA,CAAA;oBACP,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;oBAC1C,MAAM,EAAE,CAAC,UAAU,CAAC;AACrB,iBAAA;;;;;"}
@@ -19,17 +19,17 @@ class AXPCheckBoxWidgetViewComponent extends AXPWidgetComponent {
19
19
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPCheckBoxWidgetViewComponent, isStandalone: true, selector: "axp-checkbox-widget-view", usesInheritance: true, ngImport: i0, template: `
20
20
  <div class="ax-font-semibold">
21
21
  @if(this.getValue()){ @if(trulyText()){
22
- <span [class]="negative() ? 'ax-text-danger' : 'ax-text-success'">{{ trulyText() }}</span>
22
+ <span [class]="negative() ? ' ax-text-danger-500' : 'ax-text-success'">{{ trulyText() }}</span>
23
23
  } @else { @if(negative()){
24
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
24
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
25
25
  }@else{
26
26
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
27
27
  } } } @else { @if(falsyText()) {
28
- <span [class]="negative() ? 'ax-text-success' : 'ax-text-danger'">{{ falsyText() }}</span>
28
+ <span [class]="negative() ? 'ax-text-success' : ' ax-text-danger-500'">{{ falsyText() }}</span>
29
29
  } @else { @if(negative()){
30
30
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
31
31
  }@else{
32
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
32
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
33
33
  } } }
34
34
  </div>
35
35
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -41,17 +41,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
41
41
  template: `
42
42
  <div class="ax-font-semibold">
43
43
  @if(this.getValue()){ @if(trulyText()){
44
- <span [class]="negative() ? 'ax-text-danger' : 'ax-text-success'">{{ trulyText() }}</span>
44
+ <span [class]="negative() ? ' ax-text-danger-500' : 'ax-text-success'">{{ trulyText() }}</span>
45
45
  } @else { @if(negative()){
46
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
46
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
47
47
  }@else{
48
48
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
49
49
  } } } @else { @if(falsyText()) {
50
- <span [class]="negative() ? 'ax-text-success' : 'ax-text-danger'">{{ falsyText() }}</span>
50
+ <span [class]="negative() ? 'ax-text-success' : ' ax-text-danger-500'">{{ falsyText() }}</span>
51
51
  } @else { @if(negative()){
52
52
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
53
53
  }@else{
54
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
54
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
55
55
  } } }
56
56
  </div>
57
57
  `,
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
61
61
  }] });
62
62
 
63
63
  export { AXPCheckBoxWidgetViewComponent };
64
- //# sourceMappingURL=acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs.map
64
+ //# sourceMappingURL=acorex-platform-widgets-checkbox-widget-view.component-bf272Wuo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-widgets-checkbox-widget-view.component-bf272Wuo.mjs","sources":["../../../../libs/platform/widgets/src/lib/widgets/editors/checkbox/checkbox-widget-view.component.ts"],"sourcesContent":["import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\n@Component({\n selector: 'axp-checkbox-widget-view',\n template: `\n <div class=\"ax-font-semibold\">\n @if(this.getValue()){ @if(trulyText()){\n <span [class]=\"negative() ? ' ax-text-danger-500' : 'ax-text-success'\">{{ trulyText() }}</span>\n } @else { @if(negative()){\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger-500\"> </ax-icon>\n }@else{\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n } } } @else { @if(falsyText()) {\n <span [class]=\"negative() ? 'ax-text-success' : ' ax-text-danger-500'\">{{ falsyText() }}</span>\n } @else { @if(negative()){\n <ax-icon class=\"fa-solid fa-check ax-text-success\"> </ax-icon>\n }@else{\n <ax-icon class=\"fa-solid fa-xmark ax-text-danger-500\"> </ax-icon>\n } } }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDecoratorModule],\n})\nexport class AXPCheckBoxWidgetViewComponent extends AXPWidgetComponent<boolean | null> {\n protected negative = computed<boolean>(() => this.options()['negative'] as boolean);\n protected trulyText = computed<boolean>(() => this.options()['trulyText'] as boolean);\n protected falsyText = computed<boolean>(() => this.options()['falsyText'] as boolean);\n protected disabled = computed<boolean>(() => this.options()['disabled'] as boolean);\n protected readonly = computed<boolean>(() => this.options()['readonly'] as boolean);\n protected label = computed<string>(() => this.options()['label'] as string);\n}\n"],"names":["i1"],"mappings":";;;;;;;AA2BM,MAAO,8BAA+B,SAAQ,kBAAkC,CAAA;AAtBtF,IAAA,WAAA,GAAA;;AAuBY,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAU,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAY,CAAC;AACzE,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAU,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAY,CAAC;AAC3E,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAU,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAY,CAAC;AAC3E,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAU,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAY,CAAC;AACzE,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAU,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAY,CAAC;AACzE,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAS,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAW,CAAC;AAC5E;8GAPY,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,EApB/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;GAgBT,EAES,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAE9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAtB1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;AAgBT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;AAC3C,iBAAA;;;;;"}
@@ -1086,7 +1086,7 @@ const AXPCheckBoxWidget = {
1086
1086
  component: () => import('./acorex-platform-widgets-checkbox-widget-designer.component-D8KErkus.mjs').then((c) => c.AXPCheckBoxWidgetDesignerComponent),
1087
1087
  },
1088
1088
  view: {
1089
- component: () => import('./acorex-platform-widgets-checkbox-widget-view.component-DU1niJES.mjs').then((c) => c.AXPCheckBoxWidgetViewComponent),
1089
+ component: () => import('./acorex-platform-widgets-checkbox-widget-view.component-bf272Wuo.mjs').then((c) => c.AXPCheckBoxWidgetViewComponent),
1090
1090
  },
1091
1091
  edit: {
1092
1092
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
@@ -1095,7 +1095,7 @@ const AXPCheckBoxWidget = {
1095
1095
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
1096
1096
  },
1097
1097
  column: {
1098
- component: () => import('./acorex-platform-widgets-checkbox-widget-column.component-jeZBOEhl.mjs').then((c) => c.AXPCheckBoxWidgetColumnComponent),
1098
+ component: () => import('./acorex-platform-widgets-checkbox-widget-column.component-C8NRF4BO.mjs').then((c) => c.AXPCheckBoxWidgetColumnComponent),
1099
1099
  },
1100
1100
  filter: {
1101
1101
  component: () => Promise.resolve().then(function () { return checkboxWidgetEdit_component; }).then((c) => c.AXPCheckBoxWidgetEditComponent),
@@ -5648,7 +5648,7 @@ class AXPToggleWidgetViewComponent extends AXPWidgetComponent {
5648
5648
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPToggleWidgetViewComponent, isStandalone: true, selector: "axp-switch-widget-view", usesInheritance: true, ngImport: i0, template: ` @if(getValue()){ @if(trulyText()) {
5649
5649
  <ax-badge [text]="trulyText()" [color]="negative() ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5650
5650
  } @else { @if(negative()) {
5651
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5651
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5652
5652
  } @else {
5653
5653
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5654
5654
  } } }@else { @if(falsyText()) {
@@ -5656,7 +5656,7 @@ class AXPToggleWidgetViewComponent extends AXPWidgetComponent {
5656
5656
  } @else { @if(negative()) {
5657
5657
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5658
5658
  }@else {
5659
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5659
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5660
5660
  } } }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5661
5661
  }
5662
5662
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetViewComponent, decorators: [{
@@ -5666,7 +5666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5666
5666
  template: ` @if(getValue()){ @if(trulyText()) {
5667
5667
  <ax-badge [text]="trulyText()" [color]="negative() ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5668
5668
  } @else { @if(negative()) {
5669
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5669
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5670
5670
  } @else {
5671
5671
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5672
5672
  } } }@else { @if(falsyText()) {
@@ -5674,7 +5674,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5674
5674
  } @else { @if(negative()) {
5675
5675
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5676
5676
  }@else {
5677
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5677
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5678
5678
  } } }`,
5679
5679
  changeDetection: ChangeDetectionStrategy.OnPush,
5680
5680
  imports: [CommonModule, AXDecoratorModule, AXBadgeModule],
@@ -5781,7 +5781,7 @@ class AXPToggleWidgetColumnComponent extends AXPColumnWidgetComponent {
5781
5781
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPToggleWidgetColumnComponent, isStandalone: true, selector: "ng-component", inputs: { rawValue: "rawValue" }, usesInheritance: true, ngImport: i0, template: `@if(rawValue){ @if(trulyText){
5782
5782
  <ax-badge [text]="trulyText" [color]="negative ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5783
5783
  }@else { @if(negative){
5784
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5784
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5785
5785
  }@else {
5786
5786
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5787
5787
  } } }@else { @if(falsyText){
@@ -5789,7 +5789,7 @@ class AXPToggleWidgetColumnComponent extends AXPColumnWidgetComponent {
5789
5789
  }@else { @if(negative){
5790
5790
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5791
5791
  }@else {
5792
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5792
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5793
5793
  } } }`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i1$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5794
5794
  }
5795
5795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPToggleWidgetColumnComponent, decorators: [{
@@ -5798,7 +5798,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5798
5798
  template: `@if(rawValue){ @if(trulyText){
5799
5799
  <ax-badge [text]="trulyText" [color]="negative ? 'danger' : 'success'" [look]="'twotone'"></ax-badge>
5800
5800
  }@else { @if(negative){
5801
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5801
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5802
5802
  }@else {
5803
5803
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5804
5804
  } } }@else { @if(falsyText){
@@ -5806,7 +5806,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5806
5806
  }@else { @if(negative){
5807
5807
  <ax-icon class="fa-solid fa-check ax-text-success"> </ax-icon>
5808
5808
  }@else {
5809
- <ax-icon class="fa-solid fa-xmark ax-text-danger"> </ax-icon>
5809
+ <ax-icon class="fa-solid fa-xmark ax-text-danger-500"> </ax-icon>
5810
5810
  } } }`,
5811
5811
  changeDetection: ChangeDetectionStrategy.OnPush,
5812
5812
  imports: [CommonModule, AXDecoratorModule, AXBadgeModule],
@@ -7375,7 +7375,7 @@ class AXPSignatureWidgetEditComponent extends AXPWidgetComponent {
7375
7375
  <ax-icon class="fas fa-rotate-left"></ax-icon>
7376
7376
  </ax-button>
7377
7377
  <ax-button class="ax-sm" (onClick)="clear()" look="outline" color="danger" [disabled]="disabled()">
7378
- <ax-icon class="fas fa-trash ax-text-danger"></ax-icon>
7378
+ <ax-icon class="fas fa-trash ax-text-danger-500"></ax-icon>
7379
7379
  </ax-button>
7380
7380
  </div>
7381
7381
  }@else{
@@ -7408,7 +7408,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
7408
7408
  <ax-icon class="fas fa-rotate-left"></ax-icon>
7409
7409
  </ax-button>
7410
7410
  <ax-button class="ax-sm" (onClick)="clear()" look="outline" color="danger" [disabled]="disabled()">
7411
- <ax-icon class="fas fa-trash ax-text-danger"></ax-icon>
7411
+ <ax-icon class="fas fa-trash ax-text-danger-500"></ax-icon>
7412
7412
  </ax-button>
7413
7413
  </div>
7414
7414
  }@else{
@@ -11416,19 +11416,11 @@ class AXPSelectFilterWidgetEditComponent extends AXPWidgetComponent {
11416
11416
  this.multiple = computed(() => this.options()['multiple'] || false);
11417
11417
  this.allowSearch = computed(() => this.options()['allowSearch'] || false);
11418
11418
  this.placeholder = computed(() => this.options()['placeholder'] || false);
11419
- this.operation = 'equal';
11420
11419
  }
11421
11420
  handleValueChange(e) {
11422
- let arrayValue = [];
11423
- if (this.multiple()) {
11424
- arrayValue = e.value;
11425
- }
11426
- else {
11427
- arrayValue.push(e.value);
11428
- }
11429
11421
  this.setValue({
11430
- operation: this.operation,
11431
- value: arrayValue,
11422
+ operation: this.multiple() ? 'contains' : 'equal',
11423
+ value: e.value,
11432
11424
  });
11433
11425
  }
11434
11426
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPSelectFilterWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }