@acorex/platform 19.3.0-next.2 → 19.3.0-next.3

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 (69) hide show
  1. package/auth/lib/application/application.types.d.ts +1 -1
  2. package/auth/lib/tenant/tenant.types.d.ts +1 -1
  3. package/common/index.d.ts +1 -0
  4. package/common/lib/app/application.types.d.ts +1 -1
  5. package/common/lib/app/index.d.ts +1 -0
  6. package/common/lib/configs/app.config.d.ts +1 -1
  7. package/common/lib/home-page/home-page-settings.key.d.ts +3 -0
  8. package/common/lib/home-page/home-page-settings.provider.d.ts +12 -0
  9. package/common/lib/home-page/home-page.module.d.ts +6 -0
  10. package/common/lib/home-page/home-page.routes.d.ts +2 -0
  11. package/common/lib/home-page/home-page.service.d.ts +24 -0
  12. package/common/lib/home-page/home-page.types.d.ts +9 -0
  13. package/common/lib/home-page/index.d.ts +4 -0
  14. package/common/lib/layout/logo/index.d.ts +0 -1
  15. package/common/lib/settings/setting.builder.d.ts +1 -1
  16. package/core/lib/data/data-generator.d.ts +2 -1
  17. package/core/lib/types/index.d.ts +4 -3
  18. package/core/lib/utils/object-util.d.ts +1 -0
  19. package/fesm2022/acorex-platform-auth.mjs +0 -1
  20. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-common.mjs +1556 -1393
  22. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-core.mjs +173 -113
  24. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-builder.mjs +2 -0
  26. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layout-entity.mjs +25 -37
  28. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BqMlSX6b.mjs → acorex-platform-themes-default-entity-master-list-view.component-CuyWAi6X.mjs} +31 -20
  30. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CuyWAi6X.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default.mjs +95 -47
  32. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  33. package/fesm2022/{acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs} +1 -1
  34. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
  36. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  37. package/fesm2022/acorex-platform-widgets.mjs +571 -41
  38. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  39. package/layout/builder/lib/builder/widget-map.d.ts +2 -0
  40. package/layout/builder/lib/builder/widget.types.d.ts +2 -2
  41. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +2 -1
  42. package/package.json +1 -1
  43. package/themes/default/lib/layouts/base/base-page.component.d.ts +9 -4
  44. package/themes/default/lib/layouts/base/base-page.types.d.ts +3 -2
  45. package/themes/default/lib/layouts/base/page-layout/page-layout.component.d.ts +9 -2
  46. package/themes/default/lib/layouts/entity-layouts/entity-category/entity-category.component.d.ts +2 -1
  47. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +1 -0
  48. package/themes/default/lib/layouts/entity-layouts/entity-master-toolbar-view/entity-master-toolbar-view.component.d.ts +62 -0
  49. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +3 -3
  50. package/themes/default/lib/layouts/root-layout/horizontal/horizontal-layout.component.d.ts +3 -3
  51. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +4 -1
  52. package/themes/default/lib/layouts/root-layout/vertical/vertical-layout.component.d.ts +3 -3
  53. package/themes/default/lib/layouts/view-layouts/layout-detail-view/layout-detail-view.component.d.ts +1 -1
  54. package/themes/shared/index.d.ts +1 -1
  55. package/widgets/lib/widgets/charts/notification/index.d.ts +3 -0
  56. package/widgets/lib/widgets/charts/notification/notification-widget.component.d.ts +54 -0
  57. package/widgets/lib/widgets/charts/notification/notification-widget.config.d.ts +10 -0
  58. package/widgets/lib/widgets/charts/notification/notification.type.d.ts +47 -0
  59. package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget.component.d.ts +3 -3
  60. package/widgets/lib/widgets/charts/tasklist/index.d.ts +3 -0
  61. package/widgets/lib/widgets/charts/tasklist/tasklist-widget.component.d.ts +34 -0
  62. package/widgets/lib/widgets/charts/tasklist/tasklist-widget.config.d.ts +7 -0
  63. package/widgets/lib/widgets/charts/tasklist/tasklist.type.d.ts +36 -0
  64. package/widgets/lib/widgets/index.d.ts +3 -0
  65. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BqMlSX6b.mjs.map +0 -1
  66. package/fesm2022/acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs.map +0 -1
  67. /package/{common/lib/layout/logo → core/lib/types}/logo.types.d.ts +0 -0
  68. /package/themes/shared/lib/{setting.keys.d.ts → settings.keys.d.ts} +0 -0
  69. /package/themes/shared/lib/{setting.provider.d.ts → settings.provider.d.ts} +0 -0
@@ -165,4 +165,4 @@ class AXPThemeSettingProvider {
165
165
  }
166
166
 
167
167
  export { AXPThemeSettingProvider };
168
- //# sourceMappingURL=acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs.map
168
+ //# sourceMappingURL=acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/settings.provider.ts"],"sourcesContent":["import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPThemeLayoutSetting } from './settings.keys';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPThemeMode } from './theme.types';\nimport { Injector } from '@angular/core';\nimport { AXPPlatformScope, objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nexport class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {\n\n private readonly translateService = this.injector.get(AXTranslationService);\n\n constructor(private injector: Injector) {\n\n }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n\n const trans = async (key: string) => await this.translateService.translateAsync(`settings.${key}`, { scope: 'layout' });\n\n // Define the 'Appearance Settings' group\n context.addGroup('appearance', await trans('appearance.title'), await trans('appearance.description'), 'fa-light fa-palette')\n\n // Add the 'Brightness & Color' section\n .addSection('color', await trans('appearance.color.title'), await trans('appearance.color.description'))\n\n // Add the 'Theme Mode' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Mode,\n title: await trans('appearance.color.mode.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: AXPThemeMode.Light,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.themeModeChooser,\n layout: {\n positions: {\n default: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('appearance.color.mode.description'),\n })\n\n .addSetting({\n key: AXPThemeLayoutSetting.Palette,\n title: await trans('appearance.color.palette.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'default',\n valueTransforms: objectKeyValueTransforms('name'),\n widget: {\n type: AXPWidgetsCatalog.themePaletteChooser,\n layout: {\n positions: {\n default: {\n colSpan: 12,\n },\n xxl: {\n colSpan: 9,\n },\n },\n },\n },\n description: await trans('appearance.color.palette.description'),\n })\n\n // End the 'Brightness & Color' section\n .endSection()\n\n // Add the 'Root Menu' section\n .addSection('root-menu', await trans('appearance.root-menu.title'), await trans('appearance.root-menu.description'))\n\n // Add the 'Menu Orientation' setting\n .addSetting({\n key: AXPThemeLayoutSetting.MenuOrientation,\n title: await trans('appearance.root-menu.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'vertical',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.menuOrientationChooser,\n layout: {\n positions: {\n default: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('appearance.root-menu.description'),\n })\n\n // Add the 'Menu Badge Visibility' setting\n .addSetting({\n key: AXPThemeLayoutSetting.MenuBadgeVisible,\n title: await trans('appearance.root-menu.badge.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n layout: {\n positions: {\n default: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('appearance.root-menu.badge.description'),\n })\n .endSection()\n\n // Add the 'Scale & Layout' section\n .addSection('layout', await trans('appearance.layout.title'), await trans('appearance.layout.description'))\n\n // Add the 'Font Style' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Font,\n title: await trans('appearance.layout.font.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'system-ui',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.fontStyleChooser,\n layout: {\n positions: {\n default: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('appearance.layout.font.description'),\n })\n\n // Add the 'Font Size' setting\n .addSetting({\n key: AXPThemeLayoutSetting.FontSize,\n title: await trans('appearance.layout.size.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'medium',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.fontSizeChooser,\n layout: {\n positions: {\n default: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('appearance.layout.size.description'),\n })\n\n // End the 'Scale & Layout' section\n .endSection()\n\n // End the 'Appearance Settings' group\n .endGroup();\n\n\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1307,7 +1307,7 @@ class AXPThemesSharedModule {
1307
1307
  provide: AXP_SETTING_DEFINITION_PROVIDER,
1308
1308
  useFactory: async () => {
1309
1309
  const injector = inject(Injector);
1310
- const provider = (await import('./acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs')).AXPThemeSettingProvider;
1310
+ const provider = (await import('./acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs')).AXPThemeSettingProvider;
1311
1311
  return new provider(injector);
1312
1312
  },
1313
1313
  multi: true
@@ -1361,7 +1361,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1361
1361
  provide: AXP_SETTING_DEFINITION_PROVIDER,
1362
1362
  useFactory: async () => {
1363
1363
  const injector = inject(Injector);
1364
- const provider = (await import('./acorex-platform-themes-shared-setting.provider-CXiRmniv.mjs')).AXPThemeSettingProvider;
1364
+ const provider = (await import('./acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs')).AXPThemeSettingProvider;
1365
1365
  return new provider(injector);
1366
1366
  },
1367
1367
  multi: true
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/components/badge/badge.directive.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-actions.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-blocks.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-footer.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-list.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-tool-bar.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/theme.service.ts","../../../../libs/platform/themes/shared/src/lib/components/slots/theme-slot.component.ts","../../../../libs/platform/themes/shared/src/lib/palette.provider.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/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/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/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/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/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["import { AXBadgeComponent } from \"@acorex/components/badge\";\nimport { AXPTaskBadgeService } from \"@acorex/platform/common\";\nimport { input, computed, inject, effect, Directive, InputSignal } from \"@angular/core\";\nimport { SIGNAL, signalSetFn } from \"@angular/core/primitives/signals\";\n\n\n@Directive({\n selector: '[axp-task-badge]',\n standalone: true,\n})\nexport class AXPTaskBadgeDirective {\n private badgeService = inject(AXPTaskBadgeService);\n private host = inject(AXBadgeComponent); // assumes it's applied on <ax-badge>\n private hostElement = this.host.getHostElement();\n\n badgeKey = input<string | undefined>(undefined);\n count = input<number>(0, { alias: 'axp-task-badge' });\n\n private readonly displayCount = computed(() => {\n const value = this.count() || (this.badgeKey() && this.badgeService.getCount(this.badgeKey()!)());\n return value ? value.toString() : '';\n });\n\n #eff = effect(() => {\n this.setValueOfInputSignal(this.host.text, this.displayCount());\n if (!this.displayCount()) {\n this.hostElement.style.display = 'none';\n } else {\n this.hostElement.style.removeProperty('display');\n }\n });\n\n private setValueOfInputSignal<T>(signal: InputSignal<T>, value: T) {\n const node = signal[SIGNAL] as any;\n signalSetFn(node, value);\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,ax-divider,ng-container\"></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 { ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n\n axp-page-content, \n axp-page-footer,\n axp-page-header,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-container,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title-bar,\n axp-layout-title, \n axp-layout-title-actions, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-breadcrumbs,\n axp-layout-list-action,\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutBlockComponent {\n\n\n protected readonly elementRef = inject(ElementRef);\n public readonly hostElement = this.elementRef.nativeElement;\n\n\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-footer, axp-layout-page-footer',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutFooterComponent {\n}\n\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-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})\nexport class AXPThemeLayoutPageHeaderComponent {\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@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutHeaderComponent {\n\n}\n","import { ChangeDetectionStrategy, Component, contentChild, 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, axp-layout-header ,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\n}","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutSectionComponent {\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-start-side, axp-layout-start-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutStartSideComponent {}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-end-side, axp-layout-end-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutEndSideComponent {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-toolbar',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutToolbarComponent {\n\n}\n\n\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:status',\n SideMenuWidth = 'layout:theme:sidemenu:width',\n MenuOrientation = 'layout:theme:root-menu:direction',\n MenuBadgeVisible = 'layout:theme:root-menu: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// 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}\n\n// Menu Orientation Enum\nexport enum AXPMenuOrientation {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","import { AXPSettingService } from '@acorex/platform/common';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { filter, firstValueFrom, timer, fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { AXPThemeLayoutSetting } from './setting.keys';\nimport { AXPThemeMode, AXPScreenSize, AXPDeviceType, AXPSideMenuState, AXPMenuOrientation } from './theme.types';\nimport { HttpClient } from '@angular/common/http';\nimport { AXPPlatformScope } from '@acorex/platform/core';\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 currentPalette: '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 sideMenuWidth: 288,\n menuOrientation: 'vertical' as AXPMenuOrientation,\n _listener: null as ((e: MediaQueryListEvent) => void) | null,\n _resizeListener: null as Subscription | null,\n };\n\n return state;\n }),\n\n // Computed Signals\n withComputed(({ currentMode: currentTheme, systemThemeMode: systemTheme, screenSize, deviceType, isTouchDevice, sideMenuState, overlayLoading, navigationLoading, menuOrientation }) => ({\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 isSideMenuOverlay: computed(() => screenSize() === AXPScreenSize.Small || screenSize() === AXPScreenSize.Medium),\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 isMenuHorizontal: computed(() => menuOrientation() === AXPMenuOrientation.Horizontal),\n })),\n\n // Methods for State Management\n withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettingService)) => {\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, { currentPalette: settingThemePallete });\n //\n const settingSideMenu = ((await settingService.get(AXPThemeLayoutSetting.SideMenuStatus)) as AXPSideMenuState) ?? store.sideMenuState();\n patchState(store, { sideMenuState: settingSideMenu });\n //\n const settingMenuOrientation = ((await settingService.get(AXPThemeLayoutSetting.MenuOrientation)) as AXPMenuOrientation) ?? store.menuOrientation();\n patchState(store, { menuOrientation: settingMenuOrientation });\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 const sideMenuWidth = await settingService.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 // 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.isLarge()) {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, store.sideMenuState());\n }\n }\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\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\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\n } catch (error) {\n console.error(`Error loading theme CSS:`, error);\n } finally {\n _setNavigationLoading(false);\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(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 settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Opened);\n },\n\n // Close side menu\n closeSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.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 settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuWidth, width);\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(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\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(): Subscription {\n const subscription = fromEvent(window, 'resize')\n .pipe(\n debounceTime(250) // 250ms debounce delay\n )\n .subscribe(() => {\n _updateScreenSize();\n });\n return subscription;\n },\n\n // Remove event listener for window resize\n _removeResizeListener(subscription: Subscription) {\n if (subscription) {\n subscription.unsubscribe();\n }\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 == 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 // 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 resizeSubscription = store._setupResizeListener();\n patchState(store, { _resizeListener: resizeSubscription });\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 instanceof Subscription) {\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-modes.light',{scope:'layout'}) | 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]=\"(t('theme-modes.dark',{scope:'layout'}) | 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]=\"(t('theme-modes.system',{scope:'layout'}) | 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})\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","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\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)\" \n [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: [CommonModule, FormsModule, AXSelectionModule],\n})\nexport class AXPThemePaletteChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n\n private readonly paletteService = inject(AXP_THEME_PALETTE_PROVIDER);\n protected readonly palettes = signal<AXPThemePalette[]>([]);\n protected selectedPalette = signal<AXPThemePalette | null>(null);\n\n\n #eff = effect(() => {\n if (this.getValue()) {\n this.selectedPalette.set(this.palettes().find(p => p.name === this.getValue()) ?? this.palettes().find(p => p.name === 'default') ?? this.palettes()[0]);\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}","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n themePaletteChooser: 'theme-palette-chooser';\n }\n}","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\nimport { AXPThemeMode } from '../../theme.types';\nimport { AXTranslationModule } from '@acorex/core/translation';\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)\" \n [class.--selected]=\"mode.id === selectedMode()?.id\">\n <div>\n <i [class]=\"mode.icon\"></i>\n </div>\n <span>{{ ('theme-modes.' + mode.id) | translate: { scope: 'layout' } | async}}</span>\n </div>\n }\n `,\n styleUrl: './theme-mode-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionModule, 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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n themeModeChooser: 'theme-mode-chooser';\n }\n}","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\nimport { AXTranslationModule } from '@acorex/core/translation';\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)\" \n [class.--selected]=\"orientation.id === selectedOrientation()?.id\">\n <div>\n <i [class]=\"orientation.icon\"></i>\n </div>\n <span>{{ ('menu-modes.' + orientation.id) | translate: { scope: 'layout' } | async}}</span>\n </div>\n }\n `,\n styleUrl: './menu-orientation-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionModule, 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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n menuOrientationChooser: 'menu-orientation-chooser';\n }\n} ","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\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 (click)=\"onFontClick(font)\" \n [class.--selected]=\"font.id === selectedFont()?.id\"\n [style.font-family]=\"font.id\">\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: [CommonModule, FormsModule, AXSelectionModule],\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 ]);\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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n fontStyleChooser: 'font-style-chooser';\n }\n} ","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@Component({\n template: ` \n @for (size of sizes(); track size) {\n <div (click)=\"onSizeClick(size)\" \n [style.font-size]=\"size\"\n [class.--selected]=\"size === selectedSize()\">\n <div>\n <span >{{ ('font-sizes.' + size) | translate: { scope: 'layout' } | 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, AXSelectionModule, AXTranslationModule],\n})\nexport class AXPFontSizeChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n protected readonly sizes = signal<string[]>([\n 'small',\n 'medium',\n 'large',\n 'x-large',\n ]);\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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n fontSizeChooser: 'font-size-chooser';\n }\n} ","import { AXP_SETTING_DEFINITION_PROVIDER, AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { AXPThemeSlotComponent } from './components/slots/theme-slot.component';\nimport { AXPLayoutThemeService } from './theme.service';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPThemePaletteChooserWidget } from './widgets/theme-palette-chooser';\nimport { AXPThemeModeChooserWidget } from './widgets/theme-mode-chooser';\nimport { AXPMenuOrientationChooserWidget } from './widgets/menu-orientation-chooser';\nimport { AXPFontStyleChooserWidget } from './widgets/font-style-chooser';\nimport { AXPFontSizeChooserWidget } from './widgets/font-size-chooser';\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 AXPThemePaletteChooserWidget,\n AXPThemeModeChooserWidget,\n AXPMenuOrientationChooserWidget,\n AXPFontSizeChooserWidget,\n AXPFontStyleChooserWidget\n ]\n })\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./setting.provider')).AXPThemeSettingProvider;\n return new provider(injector);\n },\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":["i5","i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-themes-shared.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/components/badge/badge.directive.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-actions.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-blocks.component.ts","../../../../libs/platform/themes/shared/src/lib/components/layout-elements/layout-footer.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-list.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-tool-bar.component.ts","../../../../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/components/slots/theme-slot.component.ts","../../../../libs/platform/themes/shared/src/lib/palette.provider.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/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/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/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/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/shared.module.ts","../../../../libs/platform/themes/shared/src/acorex-platform-themes-shared.ts"],"sourcesContent":["import { AXBadgeComponent } from \"@acorex/components/badge\";\nimport { AXPTaskBadgeService } from \"@acorex/platform/common\";\nimport { input, computed, inject, effect, Directive, InputSignal } from \"@angular/core\";\nimport { SIGNAL, signalSetFn } from \"@angular/core/primitives/signals\";\n\n\n@Directive({\n selector: '[axp-task-badge]',\n standalone: true,\n})\nexport class AXPTaskBadgeDirective {\n private badgeService = inject(AXPTaskBadgeService);\n private host = inject(AXBadgeComponent); // assumes it's applied on <ax-badge>\n private hostElement = this.host.getHostElement();\n\n badgeKey = input<string | undefined>(undefined);\n count = input<number>(0, { alias: 'axp-task-badge' });\n\n private readonly displayCount = computed(() => {\n const value = this.count() || (this.badgeKey() && this.badgeService.getCount(this.badgeKey()!)());\n return value ? value.toString() : '';\n });\n\n #eff = effect(() => {\n this.setValueOfInputSignal(this.host.text, this.displayCount());\n if (!this.displayCount()) {\n this.hostElement.style.display = 'none';\n } else {\n this.hostElement.style.removeProperty('display');\n }\n });\n\n private setValueOfInputSignal<T>(signal: InputSignal<T>, value: T) {\n const node = signal[SIGNAL] as any;\n signalSetFn(node, value);\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,ax-divider,ng-container\"></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 { ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: `\n\n axp-page-content, \n axp-page-footer,\n axp-page-header,\n axp-page-toolbar,\n\n axp-layout-content, \n axp-layout-page-content, \n\n axp-layout-sections,\n axp-layout-body,\n axp-layout-container,\n axp-layout-page-body,\n axp-layout-prefix,\n axp-layout-suffix,\n axp-layout-title-bar,\n axp-layout-title, \n axp-layout-title-actions, \n axp-layout-nav-button, \n axp-layout-description, \n axp-layout-breadcrumbs,\n axp-layout-list-action,\n `,\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutBlockComponent {\n\n\n protected readonly elementRef = inject(ElementRef);\n public readonly hostElement = this.elementRef.nativeElement;\n\n\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-footer, axp-layout-page-footer',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutFooterComponent {\n}\n\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-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})\nexport class AXPThemeLayoutPageHeaderComponent {\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@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-header',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutHeaderComponent {\n\n}\n","import { ChangeDetectionStrategy, Component, contentChild, 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, axp-layout-header ,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\n}","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-section',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutSectionComponent {\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-start-side, axp-layout-start-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutStartSideComponent {}\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-page-end-side, axp-layout-end-side',\n template: `\n <ng-content select=\"axp-layout-header\"></ng-content>\n <ng-content select=\"axp-layout-content\"></ng-content>\n <ng-content select=\"axp-layout-footer\"></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPThemeLayoutEndSideComponent {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n imports: [CommonModule],\n standalone: true,\n selector: 'axp-layout-toolbar',\n template: `\n <ng-content select=\"axp-layout-prefix\"></ng-content>\n <ng-content select=\"axp-layout-suffix\"></ng-content>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXPThemeLayoutToolbarComponent {\n\n}\n\n\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:status',\n SideMenuWidth = 'layout:theme:sidemenu:width',\n MenuOrientation = 'layout:theme:root-menu:direction',\n MenuBadgeVisible = 'layout:theme:root-menu: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// 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}\n\n// Menu Orientation Enum\nexport enum AXPMenuOrientation {\n Vertical = 'vertical',\n Horizontal = 'horizontal',\n}\n","import { AXPSettingService } from '@acorex/platform/common';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { filter, firstValueFrom, timer, fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { AXPThemeLayoutSetting } from './settings.keys';\nimport { AXPThemeMode, AXPScreenSize, AXPDeviceType, AXPSideMenuState, AXPMenuOrientation } from './theme.types';\nimport { HttpClient } from '@angular/common/http';\nimport { AXPPlatformScope } from '@acorex/platform/core';\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 currentPalette: '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 sideMenuWidth: 288,\n menuOrientation: 'vertical' as AXPMenuOrientation,\n _listener: null as ((e: MediaQueryListEvent) => void) | null,\n _resizeListener: null as Subscription | null,\n };\n\n return state;\n }),\n\n // Computed Signals\n withComputed(({ currentMode: currentTheme, systemThemeMode: systemTheme, screenSize, deviceType, isTouchDevice, sideMenuState, overlayLoading, navigationLoading, menuOrientation }) => ({\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 isSideMenuOverlay: computed(() => screenSize() === AXPScreenSize.Small || screenSize() === AXPScreenSize.Medium),\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 isMenuHorizontal: computed(() => menuOrientation() === AXPMenuOrientation.Horizontal),\n })),\n\n // Methods for State Management\n withMethods((store, http = inject(HttpClient), settingService = inject(AXPSettingService)) => {\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, { currentPalette: settingThemePallete });\n //\n const settingSideMenu = ((await settingService.get(AXPThemeLayoutSetting.SideMenuStatus)) as AXPSideMenuState) ?? store.sideMenuState();\n patchState(store, { sideMenuState: settingSideMenu });\n //\n const settingMenuOrientation = ((await settingService.get(AXPThemeLayoutSetting.MenuOrientation)) as AXPMenuOrientation) ?? store.menuOrientation();\n patchState(store, { menuOrientation: settingMenuOrientation });\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 const sideMenuWidth = await settingService.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 // 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.isLarge()) {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, store.sideMenuState());\n }\n }\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\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\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\n } catch (error) {\n console.error(`Error loading theme CSS:`, error);\n } finally {\n _setNavigationLoading(false);\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(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 settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuStatus, AXPSideMenuState.Opened);\n },\n\n // Close side menu\n closeSideMenu() {\n patchState(store, { sideMenuState: AXPSideMenuState.Closed });\n settingService.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 settingService.scope(AXPPlatformScope.User).set(AXPThemeLayoutSetting.SideMenuWidth, width);\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(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\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(): Subscription {\n const subscription = fromEvent(window, 'resize')\n .pipe(\n debounceTime(250) // 250ms debounce delay\n )\n .subscribe(() => {\n _updateScreenSize();\n });\n return subscription;\n },\n\n // Remove event listener for window resize\n _removeResizeListener(subscription: Subscription) {\n if (subscription) {\n subscription.unsubscribe();\n }\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 == 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 // 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 resizeSubscription = store._setupResizeListener();\n patchState(store, { _resizeListener: resizeSubscription });\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 instanceof Subscription) {\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-modes.light',{scope:'layout'}) | 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]=\"(t('theme-modes.dark',{scope:'layout'}) | 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]=\"(t('theme-modes.system',{scope:'layout'}) | 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})\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","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\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)\" \n [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: [CommonModule, FormsModule, AXSelectionModule],\n})\nexport class AXPThemePaletteChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n\n private readonly paletteService = inject(AXP_THEME_PALETTE_PROVIDER);\n protected readonly palettes = signal<AXPThemePalette[]>([]);\n protected selectedPalette = signal<AXPThemePalette | null>(null);\n\n\n #eff = effect(() => {\n if (this.getValue()) {\n this.selectedPalette.set(this.palettes().find(p => p.name === this.getValue()) ?? this.palettes().find(p => p.name === 'default') ?? this.palettes()[0]);\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}","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n themePaletteChooser: 'theme-palette-chooser';\n }\n}","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\nimport { AXPThemeMode } from '../../theme.types';\nimport { AXTranslationModule } from '@acorex/core/translation';\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)\" \n [class.--selected]=\"mode.id === selectedMode()?.id\">\n <div>\n <i [class]=\"mode.icon\"></i>\n </div>\n <span>{{ ('theme-modes.' + mode.id) | translate: { scope: 'layout' } | async}}</span>\n </div>\n }\n `,\n styleUrl: './theme-mode-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionModule, 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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n themeModeChooser: 'theme-mode-chooser';\n }\n}","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\nimport { AXTranslationModule } from '@acorex/core/translation';\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)\" \n [class.--selected]=\"orientation.id === selectedOrientation()?.id\">\n <div>\n <i [class]=\"orientation.icon\"></i>\n </div>\n <span>{{ ('menu-modes.' + orientation.id) | translate: { scope: 'layout' } | async}}</span>\n </div>\n }\n `,\n styleUrl: './menu-orientation-chooser-widget.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, AXSelectionModule, 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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n menuOrientationChooser: 'menu-orientation-chooser';\n }\n} ","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\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 (click)=\"onFontClick(font)\" \n [class.--selected]=\"font.id === selectedFont()?.id\"\n [style.font-family]=\"font.id\">\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: [CommonModule, FormsModule, AXSelectionModule],\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 ]);\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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n fontStyleChooser: 'font-style-chooser';\n }\n} ","import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXSelectionModule } from '@acorex/cdk/selection';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@Component({\n template: ` \n @for (size of sizes(); track size) {\n <div (click)=\"onSizeClick(size)\" \n [style.font-size]=\"size\"\n [class.--selected]=\"size === selectedSize()\">\n <div>\n <span >{{ ('font-sizes.' + size) | translate: { scope: 'layout' } | 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, AXSelectionModule, AXTranslationModule],\n})\nexport class AXPFontSizeChooserWidgetComponent extends AXPValueWidgetComponent<string> {\n protected readonly sizes = signal<string[]>([\n 'small',\n 'medium',\n 'large',\n 'x-large',\n ]);\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} ","import { AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/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/builder' {\n interface AXPWidgetTypesMap {\n fontSizeChooser: 'font-size-chooser';\n }\n} ","import { AXP_SETTING_DEFINITION_PROVIDER, AXPAppStartUpService, AXPComponentSlotModule } from '@acorex/platform/common';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { AXPThemeSlotComponent } from './components/slots/theme-slot.component';\nimport { AXPLayoutThemeService } from './theme.service';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPThemePaletteChooserWidget } from './widgets/theme-palette-chooser';\nimport { AXPThemeModeChooserWidget } from './widgets/theme-mode-chooser';\nimport { AXPMenuOrientationChooserWidget } from './widgets/menu-orientation-chooser';\nimport { AXPFontStyleChooserWidget } from './widgets/font-style-chooser';\nimport { AXPFontSizeChooserWidget } from './widgets/font-size-chooser';\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 AXPThemePaletteChooserWidget,\n AXPThemeModeChooserWidget,\n AXPMenuOrientationChooserWidget,\n AXPFontSizeChooserWidget,\n AXPFontStyleChooserWidget\n ]\n })\n ],\n exports: [],\n declarations: [],\n providers: [\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 ],\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":["i5","i2","i1"],"mappings":"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"}