@acorex/platform 20.8.13 → 20.8.14

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 (123) hide show
  1. package/{types/acorex-platform-auth.d.ts → auth/index.d.ts} +2 -14
  2. package/{types/acorex-platform-common.d.ts → common/index.d.ts} +30 -302
  3. package/{types/acorex-platform-core.d.ts → core/index.d.ts} +44 -188
  4. package/{types/acorex-platform-domain.d.ts → domain/index.d.ts} +412 -744
  5. package/fesm2022/acorex-platform-auth.mjs +27 -125
  6. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  7. package/fesm2022/{acorex-platform-common-common-settings.provider-Bi1RYif5.mjs → acorex-platform-common-common-settings.provider-DVvuLUfF.mjs} +32 -30
  8. package/fesm2022/acorex-platform-common-common-settings.provider-DVvuLUfF.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-common.mjs +205 -711
  10. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-core.mjs +127 -420
  12. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-domain.mjs +830 -561
  14. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-builder.mjs +114 -634
  16. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  17. package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs} +9 -9
  18. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-layout-components.mjs +877 -3362
  20. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-designer.mjs +204 -456
  22. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-entity.mjs +10062 -14672
  24. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-views.mjs +171 -413
  26. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layout-widget-core.mjs +441 -507
  28. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs → acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs} +10 -10
  30. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs → acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs} +76 -21
  32. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs → acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs} +7 -6
  34. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs → acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs} +12 -12
  36. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs +111 -0
  38. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs} +5 -5
  40. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs} +4 -4
  42. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs} +6 -6
  44. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-layout-widgets.mjs +3408 -5611
  46. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-native.mjs +7 -8
  48. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  49. package/fesm2022/acorex-platform-runtime.mjs +166 -391
  50. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  51. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs +160 -0
  52. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs +1716 -0
  54. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs +120 -0
  56. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map +1 -0
  57. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs → acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs} +23 -16
  58. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map +1 -0
  59. package/fesm2022/{acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs → acorex-platform-themes-default-error-401.component-53VB-PS_.mjs} +4 -4
  60. package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +1 -0
  61. package/fesm2022/{acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs → acorex-platform-themes-default-error-404.component-DVF9soT5.mjs} +4 -4
  62. package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +1 -0
  63. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +19 -0
  64. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-themes-default.mjs +61 -1784
  66. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  67. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs → acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs} +6 -6
  68. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +1 -0
  69. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs} +6 -6
  70. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs.map +1 -0
  71. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs → acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs} +25 -24
  72. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs +65 -0
  74. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +1 -0
  75. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +64 -0
  76. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +1 -0
  77. package/fesm2022/acorex-platform-themes-shared.mjs +305 -408
  78. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  79. package/fesm2022/acorex-platform-workflow.mjs +100 -359
  80. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  81. package/fesm2022/acorex-platform.mjs.map +1 -1
  82. package/{types/acorex-platform-layout-builder.d.ts → layout/builder/index.d.ts} +38 -160
  83. package/{types/acorex-platform-layout-components.d.ts → layout/components/index.d.ts} +125 -854
  84. package/{types/acorex-platform-layout-designer.d.ts → layout/designer/index.d.ts} +18 -96
  85. package/{types/acorex-platform-layout-entity.d.ts → layout/entity/index.d.ts} +65 -848
  86. package/{types/acorex-platform-layout-views.d.ts → layout/views/index.d.ts} +47 -80
  87. package/{types/acorex-platform-layout-widget-core.d.ts → layout/widget-core/index.d.ts} +197 -274
  88. package/{types/acorex-platform-layout-widgets.d.ts → layout/widgets/index.d.ts} +124 -608
  89. package/{types/acorex-platform-native.d.ts → native/index.d.ts} +7 -0
  90. package/package.json +31 -31
  91. package/runtime/index.d.ts +307 -0
  92. package/{types/acorex-platform-themes-default.d.ts → themes/default/index.d.ts} +4 -113
  93. package/{types/acorex-platform-themes-shared.d.ts → themes/shared/index.d.ts} +4 -5
  94. package/{types/acorex-platform-workflow.d.ts → workflow/index.d.ts} +81 -162
  95. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs +0 -116
  102. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs +0 -160
  107. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +0 -120
  109. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +0 -19
  114. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +0 -94
  119. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +0 -86
  121. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +0 -1
  122. package/types/acorex-platform-runtime.d.ts +0 -571
  123. /package/{types/acorex-platform.d.ts → index.d.ts} +0 -0
@@ -7,7 +7,7 @@ import { AXDropdownModule } from '@acorex/components/dropdown';
7
7
  import * as i1 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
- import { computed, inject, ChangeDetectionStrategy, Component, InjectionToken, Injectable, Input, signal, effect, Injector, NgModule } from '@angular/core';
10
+ import { computed, inject, Component, InjectionToken, signal, effect, ChangeDetectionStrategy, Injectable, Input, Injector, NgModule } from '@angular/core';
11
11
  import { AXPSettingsService, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';
12
12
  import * as i1$3 from '@acorex/platform/core';
13
13
  import { AXPScreenSize, AXPPlatformScope, AXPComponentSlotModule } from '@acorex/platform/core';
@@ -16,17 +16,18 @@ import { signalStore, withState, withComputed, withMethods, patchState, withHook
16
16
  import { timer, firstValueFrom, filter } from 'rxjs';
17
17
  import * as i5 from '@acorex/core/translation';
18
18
  import { AXTranslationModule } from '@acorex/core/translation';
19
- import { AXPValueWidgetComponent, AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetCoreModule, AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex/platform/layout/widget-core';
19
+ import * as i2$3 from '@acorex/platform/layout/widget-core';
20
+ import { AXPValueWidgetComponent, AXP_WIDGETS_LAYOUT_CATEGORY, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
21
+ import { AXSelectionCdkModule } from '@acorex/cdk/selection';
22
+ import * as i5$1 from '@angular/forms';
23
+ import { FormsModule } from '@angular/forms';
24
+ import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';
20
25
  import { AXPopupService } from '@acorex/components/popup';
21
26
  import * as i2$1 from '@acorex/components/button-group';
22
27
  import { AXButtonGroupModule } from '@acorex/components/button-group';
23
28
  import { AXBasePageComponent } from '@acorex/components/page';
24
29
  import * as i1$1 from '@acorex/components/search-box';
25
30
  import { AXSearchBoxModule } from '@acorex/components/search-box';
26
- import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/layout/widgets';
27
- import { AXSelectionCdkModule } from '@acorex/cdk/selection';
28
- import * as i4$1 from '@angular/forms';
29
- import { FormsModule } from '@angular/forms';
30
31
  import * as i2$2 from '@acorex/components/form';
31
32
  import { AXFormModule } from '@acorex/components/form';
32
33
  import * as i1$2 from '@acorex/components/select-box';
@@ -338,8 +339,8 @@ class AXPThemeSlotComponent {
338
339
  this.store = inject(AXPLayoutThemeService);
339
340
  this.variants = AXPThemeMode;
340
341
  }
341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemeSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
342
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: AXPThemeSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
342
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemeSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
343
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: AXPThemeSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
343
344
  <ax-button color="primary">
344
345
  <ax-icon
345
346
  class="fa-regular "
@@ -382,9 +383,9 @@ class AXPThemeSlotComponent {
382
383
  </ax-button-item-list>
383
384
  </ax-dropdown-panel>
384
385
  </ax-button>
385
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i5.AXTranslatorDirective, selector: "[translate]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
386
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items", "closeParentOnClick", "lockOnLoading"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i5.AXTranslatorDirective, selector: "[translate]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }] }); }
386
387
  }
387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemeSlotComponent, decorators: [{
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemeSlotComponent, decorators: [{
388
389
  type: Component,
389
390
  args: [{
390
391
  template: `
@@ -431,8 +432,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
431
432
  </ax-dropdown-panel>
432
433
  </ax-button>
433
434
  `,
434
- imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule],
435
- changeDetection: ChangeDetectionStrategy.OnPush,
435
+ imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXDropdownModule, AXTranslationModule]
436
436
  }]
437
437
  }] });
438
438
 
@@ -465,6 +465,152 @@ class AXPThemePaletteProviderDefault {
465
465
  }
466
466
  }
467
467
 
468
+ class AXPFontSizeChooserWidgetComponent extends AXPValueWidgetComponent {
469
+ constructor() {
470
+ super(...arguments);
471
+ this.sizes = signal(['small', 'medium', 'large', 'x-large'], ...(ngDevMode ? [{ debugName: "sizes" }] : []));
472
+ this.selectedSize = signal(null, ...(ngDevMode ? [{ debugName: "selectedSize" }] : []));
473
+ this.#eff = effect(() => {
474
+ if (this.getValue()) {
475
+ this.selectedSize.set(this.sizes().find((s) => s === this.getValue()) ?? this.sizes()[0]);
476
+ }
477
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
478
+ }
479
+ #eff;
480
+ onSizeClick(size) {
481
+ this.setValue(size);
482
+ }
483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPFontSizeChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
484
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPFontSizeChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
485
+ @for (size of sizes(); track size) {
486
+ <div (click)="onSizeClick(size)" [style.font-size]="size" [class.--selected]="size === selectedSize()">
487
+ <div>
488
+ <span>{{ '@layout:terms.font-sizes.' + size | translate | async }}</span>
489
+ </div>
490
+ </div>
491
+ }
492
+ `, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionCdkModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
493
+ }
494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPFontSizeChooserWidgetComponent, decorators: [{
495
+ type: Component,
496
+ args: [{ template: `
497
+ @for (size of sizes(); track size) {
498
+ <div (click)="onSizeClick(size)" [style.font-size]="size" [class.--selected]="size === selectedSize()">
499
+ <div>
500
+ <span>{{ '@layout:terms.font-sizes.' + size | translate | async }}</span>
501
+ </div>
502
+ </div>
503
+ }
504
+ `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXSelectionCdkModule, AXTranslationModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"] }]
505
+ }] });
506
+
507
+ var fontSizeChooserWidget_component = /*#__PURE__*/Object.freeze({
508
+ __proto__: null,
509
+ AXPFontSizeChooserWidgetComponent: AXPFontSizeChooserWidgetComponent
510
+ });
511
+
512
+ const AXPFontSizeChooserWidget = {
513
+ name: "font-size-chooser",
514
+ title: "Font Size Chooser",
515
+ icon: "fa-light fa-text-size",
516
+ type: 'editor',
517
+ categories: AXP_WIDGETS_LAYOUT_CATEGORY,
518
+ properties: [
519
+ AXP_NAME_PROPERTY,
520
+ AXP_DATA_PATH_PROPERTY,
521
+ AXP_DISABLED_PROPERTY,
522
+ ],
523
+ components: {
524
+ edit: {
525
+ component: () => Promise.resolve().then(function () { return fontSizeChooserWidget_component; }).then((c) => c.AXPFontSizeChooserWidgetComponent),
526
+ },
527
+ }
528
+ };
529
+
530
+ class AXPFontStyleChooserWidgetComponent extends AXPValueWidgetComponent {
531
+ constructor() {
532
+ super(...arguments);
533
+ this.fonts = signal([
534
+ { id: 'system-ui', title: 'Default' },
535
+ { id: 'serif', title: 'Serif' },
536
+ { id: 'sans-serif', title: 'Sans-serif' },
537
+ { id: 'monospace', title: 'Monospace' },
538
+ { id: 'arial', title: 'Arial' },
539
+ { id: 'verdana', title: 'Verdana' },
540
+ { id: 'tahoma', title: 'Tahoma' },
541
+ { id: 'times-new-roman', title: 'Times New Roman' },
542
+ { id: 'georgia', title: 'Georgia' },
543
+ { id: 'helvetica', title: 'Helvetica' },
544
+ { id: 'calibri', title: 'Calibri' },
545
+ { id: 'cursive', title: 'Cursive' },
546
+ { id: 'vazirmatn', title: 'Vazir وزیر' },
547
+ ], ...(ngDevMode ? [{ debugName: "fonts" }] : []));
548
+ this.selectedFont = signal(null, ...(ngDevMode ? [{ debugName: "selectedFont" }] : []));
549
+ this.#eff = effect(() => {
550
+ if (this.getValue()) {
551
+ this.selectedFont.set(this.fonts().find((f) => f.id === this.getValue()) ?? this.fonts()[0]);
552
+ }
553
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
554
+ }
555
+ #eff;
556
+ onFontClick(font) {
557
+ this.setValue(font.id);
558
+ }
559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPFontStyleChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
560
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPFontStyleChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
561
+ @for (font of fonts(); track font.id) {
562
+ <div
563
+ (click)="onFontClick(font)"
564
+ [class.--selected]="font.id === selectedFont()?.id"
565
+ [style.font-family]="font.id"
566
+ >
567
+ <div>
568
+ <span>{{ font.title }}</span>
569
+ </div>
570
+ </div>
571
+ }
572
+ `, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionCdkModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
573
+ }
574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPFontStyleChooserWidgetComponent, decorators: [{
575
+ type: Component,
576
+ args: [{ template: `
577
+ @for (font of fonts(); track font.id) {
578
+ <div
579
+ (click)="onFontClick(font)"
580
+ [class.--selected]="font.id === selectedFont()?.id"
581
+ [style.font-family]="font.id"
582
+ >
583
+ <div>
584
+ <span>{{ font.title }}</span>
585
+ </div>
586
+ </div>
587
+ }
588
+ `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, AXSelectionCdkModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"] }]
589
+ }] });
590
+
591
+ var fontStyleChooserWidget_component = /*#__PURE__*/Object.freeze({
592
+ __proto__: null,
593
+ AXPFontStyleChooserWidgetComponent: AXPFontStyleChooserWidgetComponent
594
+ });
595
+
596
+ const AXPFontStyleChooserWidget = {
597
+ name: "font-style-chooser",
598
+ title: "Font Style Chooser",
599
+ icon: "fa-light fa-font",
600
+ type: 'editor',
601
+ categories: AXP_WIDGETS_LAYOUT_CATEGORY,
602
+ properties: [
603
+ AXP_NAME_PROPERTY,
604
+ AXP_DATA_PATH_PROPERTY,
605
+ AXP_DISABLED_PROPERTY,
606
+ ],
607
+ components: {
608
+ edit: {
609
+ component: () => Promise.resolve().then(function () { return fontStyleChooserWidget_component; }).then((c) => c.AXPFontStyleChooserWidgetComponent),
610
+ },
611
+ }
612
+ };
613
+
468
614
  //#region ---- Injection Tokens ----
469
615
  /**
470
616
  * Injection token for icon providers.
@@ -533,10 +679,10 @@ class AXPIconChooserService {
533
679
  this.iconsCache = uniqueIcons;
534
680
  return uniqueIcons;
535
681
  }
536
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPIconChooserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
537
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPIconChooserService, providedIn: 'root' }); }
682
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPIconChooserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
683
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPIconChooserService, providedIn: 'root' }); }
538
684
  }
539
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPIconChooserService, decorators: [{
685
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPIconChooserService, decorators: [{
540
686
  type: Injectable,
541
687
  args: [{ providedIn: 'root' }]
542
688
  }] });
@@ -601,8 +747,8 @@ class AXPIconChooserPopupComponent extends AXBasePageComponent {
601
747
  getIconClass(icon) {
602
748
  return `${this.selectedIconType} fa-${icon.name}`;
603
749
  }
604
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPIconChooserPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
605
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPIconChooserPopupComponent, isStandalone: true, selector: "ng-component", inputs: { value: "value" }, usesInheritance: true, ngImport: i0, template: `
750
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPIconChooserPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
751
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPIconChooserPopupComponent, isStandalone: true, selector: "ng-component", inputs: { value: "value" }, usesInheritance: true, ngImport: i0, template: `
606
752
  <div class="ax-flex ax-flex-col ax-h-full ax-bg-lightest">
607
753
  <!-- Fixed Header Section -->
608
754
  <div class="ax-sticky ax-top-0 ax-z-10 ax-bg-lightest ax-border-b ax-p-4 ax-gap-4 ax-flex ax-flex-col">
@@ -679,7 +825,7 @@ class AXPIconChooserPopupComponent extends AXBasePageComponent {
679
825
  </div>
680
826
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "component", type: i2$1.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "fitParent", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "onClick", "selectionChange", "selectedButtonChange"] }, { kind: "component", type: i2$1.AXButtonGroupItemComponent, selector: "ax-button-group-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
681
827
  }
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPIconChooserPopupComponent, decorators: [{
828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPIconChooserPopupComponent, decorators: [{
683
829
  type: Component,
684
830
  args: [{
685
831
  template: `
@@ -784,7 +930,7 @@ class AXPIconChooserWidgetEditComponent extends AXPValueWidgetComponent {
784
930
  }
785
931
  }
786
932
  return value;
787
- }, ...(ngDevMode ? [{ debugName: "computedValue" }] : /* istanbul ignore next */ []));
933
+ }, ...(ngDevMode ? [{ debugName: "computedValue" }] : []));
788
934
  }
789
935
  async openPopup() {
790
936
  const result = await this.popupService.open(AXPIconChooserPopupComponent, {
@@ -809,8 +955,8 @@ class AXPIconChooserWidgetEditComponent extends AXPValueWidgetComponent {
809
955
  editIcon() {
810
956
  this.openPopup();
811
957
  }
812
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPIconChooserWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
813
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPIconChooserWidgetEditComponent, isStandalone: true, selector: "ax-icon-chooser-edit", usesInheritance: true, ngImport: i0, template: `
958
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPIconChooserWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
959
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPIconChooserWidgetEditComponent, isStandalone: true, selector: "ax-icon-chooser-edit", usesInheritance: true, ngImport: i0, template: `
814
960
  <div
815
961
  class="ax-grid ax-grid-cols-[6rem_auto] ax-items-center ax-rounded-md ax-text-3xl ax-w-fit"
816
962
  [class.ax-border]="getValue()"
@@ -841,7 +987,7 @@ class AXPIconChooserWidgetEditComponent extends AXPValueWidgetComponent {
841
987
  </div>
842
988
  `, isInline: true, styles: [".icon-container{background-color:rgba(var(--ax-sys-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-sys-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-sys-color-primary-300),50%) 0,rgba(var(--ax-sys-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
843
989
  }
844
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPIconChooserWidgetEditComponent, decorators: [{
990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPIconChooserWidgetEditComponent, decorators: [{
845
991
  type: Component,
846
992
  args: [{ selector: 'ax-icon-chooser-edit', template: `
847
993
  <div
@@ -883,7 +1029,7 @@ var iconChooserEdit_component = /*#__PURE__*/Object.freeze({
883
1029
  const AXPIconChooserWidget = {
884
1030
  name: 'icon-chooser',
885
1031
  title: 'Icon Chooser',
886
- icon: 'fa-light fa-icons',
1032
+ icon: 'fa-solid fa-icons',
887
1033
  type: 'editor',
888
1034
  categories: AXP_WIDGETS_LAYOUT_CATEGORY,
889
1035
  properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
@@ -892,10 +1038,10 @@ const AXPIconChooserWidget = {
892
1038
  component: () => Promise.resolve().then(function () { return iconChooserEdit_component; }).then((c) => c.AXPIconChooserWidgetEditComponent),
893
1039
  },
894
1040
  column: {
895
- component: () => import('./acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs').then((c) => c.AXPIconChooserWidgetColumnComponent),
1041
+ component: () => import('./acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs').then((c) => c.AXPIconChooserWidgetColumnComponent),
896
1042
  },
897
1043
  view: {
898
- component: () => import('./acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs').then((c) => c.AXPIconChooserWidgetViewComponent),
1044
+ component: () => import('./acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs').then((c) => c.AXPIconChooserWidgetViewComponent),
899
1045
  },
900
1046
  },
901
1047
  };
@@ -1440,172 +1586,26 @@ function provideCustomIconStyleProvider(providerClass) {
1440
1586
  }
1441
1587
  //#endregion
1442
1588
 
1443
- class AXPFontSizeChooserWidgetComponent extends AXPValueWidgetComponent {
1444
- constructor() {
1445
- super(...arguments);
1446
- this.sizes = signal(['small', 'medium', 'large', 'x-large'], ...(ngDevMode ? [{ debugName: "sizes" }] : /* istanbul ignore next */ []));
1447
- this.selectedSize = signal(null, ...(ngDevMode ? [{ debugName: "selectedSize" }] : /* istanbul ignore next */ []));
1448
- this.#eff = effect(() => {
1449
- if (this.getValue()) {
1450
- this.selectedSize.set(this.sizes().find((s) => s === this.getValue()) ?? this.sizes()[0]);
1451
- }
1452
- }, ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
1453
- }
1454
- #eff;
1455
- onSizeClick(size) {
1456
- this.setValue(size);
1457
- }
1458
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPFontSizeChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1459
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPFontSizeChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1460
- @for (size of sizes(); track size) {
1461
- <div (click)="onSizeClick(size)" [style.font-size]="size" [class.--selected]="size === selectedSize()">
1462
- <div>
1463
- <span>{{ '@layout:terms.font-sizes.' + size | translate | async }}</span>
1464
- </div>
1465
- </div>
1466
- }
1467
- `, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionCdkModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1468
- }
1469
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPFontSizeChooserWidgetComponent, decorators: [{
1470
- type: Component,
1471
- args: [{ template: `
1472
- @for (size of sizes(); track size) {
1473
- <div (click)="onSizeClick(size)" [style.font-size]="size" [class.--selected]="size === selectedSize()">
1474
- <div>
1475
- <span>{{ '@layout:terms.font-sizes.' + size | translate | async }}</span>
1476
- </div>
1477
- </div>
1478
- }
1479
- `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, FormsModule, AXSelectionCdkModule, AXTranslationModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"] }]
1480
- }] });
1481
-
1482
- var fontSizeChooserWidget_component = /*#__PURE__*/Object.freeze({
1483
- __proto__: null,
1484
- AXPFontSizeChooserWidgetComponent: AXPFontSizeChooserWidgetComponent
1485
- });
1486
-
1487
- const AXPFontSizeChooserWidget = {
1488
- name: "font-size-chooser",
1489
- title: "Font Size Chooser",
1490
- icon: "fa-light fa-text-size",
1491
- type: 'editor',
1492
- categories: AXP_WIDGETS_LAYOUT_CATEGORY,
1493
- properties: [
1494
- AXP_NAME_PROPERTY,
1495
- AXP_DATA_PATH_PROPERTY,
1496
- AXP_DISABLED_PROPERTY,
1497
- ],
1498
- components: {
1499
- edit: {
1500
- component: () => Promise.resolve().then(function () { return fontSizeChooserWidget_component; }).then((c) => c.AXPFontSizeChooserWidgetComponent),
1501
- },
1502
- }
1503
- };
1504
-
1505
- class AXPFontStyleChooserWidgetComponent extends AXPValueWidgetComponent {
1506
- constructor() {
1507
- super(...arguments);
1508
- this.fonts = signal([
1509
- { id: 'system-ui', title: 'Default' },
1510
- { id: 'serif', title: 'Serif' },
1511
- { id: 'sans-serif', title: 'Sans-serif' },
1512
- { id: 'monospace', title: 'Monospace' },
1513
- { id: 'arial', title: 'Arial' },
1514
- { id: 'verdana', title: 'Verdana' },
1515
- { id: 'tahoma', title: 'Tahoma' },
1516
- { id: 'times-new-roman', title: 'Times New Roman' },
1517
- { id: 'georgia', title: 'Georgia' },
1518
- { id: 'helvetica', title: 'Helvetica' },
1519
- { id: 'calibri', title: 'Calibri' },
1520
- { id: 'cursive', title: 'Cursive' },
1521
- { id: 'vazirmatn', title: 'Vazir وزیر' },
1522
- ], ...(ngDevMode ? [{ debugName: "fonts" }] : /* istanbul ignore next */ []));
1523
- this.selectedFont = signal(null, ...(ngDevMode ? [{ debugName: "selectedFont" }] : /* istanbul ignore next */ []));
1524
- this.#eff = effect(() => {
1525
- if (this.getValue()) {
1526
- this.selectedFont.set(this.fonts().find((f) => f.id === this.getValue()) ?? this.fonts()[0]);
1527
- }
1528
- }, ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
1529
- }
1530
- #eff;
1531
- onFontClick(font) {
1532
- this.setValue(font.id);
1533
- }
1534
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPFontStyleChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1535
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPFontStyleChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1536
- @for (font of fonts(); track font.id) {
1537
- <div
1538
- (click)="onFontClick(font)"
1539
- [class.--selected]="font.id === selectedFont()?.id"
1540
- [style.font-family]="font.id"
1541
- >
1542
- <div>
1543
- <span>{{ font.title }}</span>
1544
- </div>
1545
- </div>
1546
- }
1547
- `, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionCdkModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1548
- }
1549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPFontStyleChooserWidgetComponent, decorators: [{
1550
- type: Component,
1551
- args: [{ template: `
1552
- @for (font of fonts(); track font.id) {
1553
- <div
1554
- (click)="onFontClick(font)"
1555
- [class.--selected]="font.id === selectedFont()?.id"
1556
- [style.font-family]="font.id"
1557
- >
1558
- <div>
1559
- <span>{{ font.title }}</span>
1560
- </div>
1561
- </div>
1562
- }
1563
- `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, AXSelectionCdkModule], styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}\n"] }]
1564
- }] });
1565
-
1566
- var fontStyleChooserWidget_component = /*#__PURE__*/Object.freeze({
1567
- __proto__: null,
1568
- AXPFontStyleChooserWidgetComponent: AXPFontStyleChooserWidgetComponent
1569
- });
1570
-
1571
- const AXPFontStyleChooserWidget = {
1572
- name: "font-style-chooser",
1573
- title: "Font Style Chooser",
1574
- icon: "fa-light fa-font",
1575
- type: 'editor',
1576
- categories: AXP_WIDGETS_LAYOUT_CATEGORY,
1577
- properties: [
1578
- AXP_NAME_PROPERTY,
1579
- AXP_DATA_PATH_PROPERTY,
1580
- AXP_DISABLED_PROPERTY,
1581
- ],
1582
- components: {
1583
- edit: {
1584
- component: () => Promise.resolve().then(function () { return fontStyleChooserWidget_component; }).then((c) => c.AXPFontStyleChooserWidgetComponent),
1585
- },
1586
- }
1587
- };
1588
-
1589
1589
  class AXPMenuOrientationChooserWidgetComponent extends AXPValueWidgetComponent {
1590
1590
  constructor() {
1591
1591
  super(...arguments);
1592
1592
  this.orientations = signal([
1593
1593
  { id: 'vertical', icon: 'fa-regular fa-square-ellipsis-vertical' },
1594
1594
  { id: 'horizontal', icon: 'fa-regular fa-square-ellipsis' },
1595
- ], ...(ngDevMode ? [{ debugName: "orientations" }] : /* istanbul ignore next */ []));
1596
- this.selectedOrientation = signal(null, ...(ngDevMode ? [{ debugName: "selectedOrientation" }] : /* istanbul ignore next */ []));
1595
+ ], ...(ngDevMode ? [{ debugName: "orientations" }] : []));
1596
+ this.selectedOrientation = signal(null, ...(ngDevMode ? [{ debugName: "selectedOrientation" }] : []));
1597
1597
  this.#eff = effect(() => {
1598
1598
  if (this.getValue()) {
1599
1599
  this.selectedOrientation.set(this.orientations().find((o) => o.id === this.getValue()) ?? this.orientations()[0]);
1600
1600
  }
1601
- }, ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
1601
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
1602
1602
  }
1603
1603
  #eff;
1604
1604
  onOrientationClick(orientation) {
1605
1605
  this.setValue(orientation.id);
1606
1606
  }
1607
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPMenuOrientationChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1608
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPMenuOrientationChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1607
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPMenuOrientationChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1608
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPMenuOrientationChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1609
1609
  @for (orientation of orientations(); track orientation.id) {
1610
1610
  <div (click)="onOrientationClick(orientation)" [class.--selected]="orientation.id === selectedOrientation()?.id">
1611
1611
  <div>
@@ -1616,7 +1616,7 @@ class AXPMenuOrientationChooserWidgetComponent extends AXPValueWidgetComponent {
1616
1616
  }
1617
1617
  `, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{padding-top:.25rem!important;padding-bottom:.25rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionCdkModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1618
1618
  }
1619
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPMenuOrientationChooserWidgetComponent, decorators: [{
1619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPMenuOrientationChooserWidgetComponent, decorators: [{
1620
1620
  type: Component,
1621
1621
  args: [{ template: `
1622
1622
  @for (orientation of orientations(); track orientation.id) {
@@ -1653,158 +1653,83 @@ const AXPMenuOrientationChooserWidget = {
1653
1653
  }
1654
1654
  };
1655
1655
 
1656
- //#endregion
1657
- //#region ---- Color utilities ----
1658
- function hexToRgb(hex) {
1659
- const normalized = hex.trim().replace(/^#/, '');
1660
- const full = normalized.length === 3
1661
- ? normalized
1662
- .split('')
1663
- .map((c) => c + c)
1664
- .join('')
1665
- : normalized;
1666
- return [
1667
- parseInt(full.slice(0, 2), 16),
1668
- parseInt(full.slice(2, 4), 16),
1669
- parseInt(full.slice(4, 6), 16),
1670
- ];
1671
- }
1672
- function rgbToHex(r, g, b) {
1673
- const clamp = (n) => Math.max(0, Math.min(255, Math.round(n)));
1674
- return `#${[clamp(r), clamp(g), clamp(b)]
1675
- .map((c) => c.toString(16).padStart(2, '0'))
1676
- .join('')}`;
1677
- }
1678
- /**
1679
- * Linear RGB mix: ratio 0 → `from`, ratio 1 → `to`.
1680
- */
1681
- function mixHex(from, to, ratio) {
1682
- const t = Math.max(0, Math.min(1, ratio));
1683
- const [r0, g0, b0] = hexToRgb(from);
1684
- const [r1, g1, b1] = hexToRgb(to);
1685
- return rgbToHex(r0 + (r1 - r0) * t, g0 + (g1 - g0) * t, b0 + (b1 - b0) * t);
1686
- }
1687
- function relativeLuminance(hex) {
1688
- const [r, g, b] = hexToRgb(hex).map((c) => {
1689
- const s = c / 255;
1690
- return s <= 0.03928 ? s / 12.92 : Math.pow((s + 0.055) / 1.055, 2.4);
1691
- });
1692
- return 0.2126 * r + 0.7152 * g + 0.0722 * b;
1693
- }
1694
- function contrastForeground(backgroundHex) {
1695
- return relativeLuminance(backgroundHex) > 0.55 ? '#171717' : '#ffffff';
1656
+ class AXPColorProvider {
1696
1657
  }
1697
1658
  function titleCase(str) {
1698
- return str.replace(/-/g, ' ').replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.slice(1).toLowerCase());
1659
+ return str.replace(/-/g, ' ').replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
1699
1660
  }
1700
- //#endregion
1701
- //#region ---- Surface variants (palette-synchronized) ----
1702
- /**
1703
- * Seven tonal steps per semantic color. Backgrounds are mixed in RGB using the **same palette’s**
1704
- * canvas `light` and `dark` as poles so swatches stay aligned with `AXPThemePaletteProvider` data.
1705
- */
1706
- const SURFACE_VARIANTS = ['lightest', 'lighter', 'light', 'surface', 'dark', 'darker', 'darkest'];
1707
- function tonalBackgroundHex(base, variant, canvas) {
1708
- switch (variant) {
1709
- case 'lightest':
1710
- return mixHex(base, canvas.light, 0.85);
1711
- case 'lighter':
1712
- return mixHex(base, canvas.light, 0.62);
1713
- case 'light':
1714
- return mixHex(base, canvas.light, 0.38);
1715
- case 'surface':
1716
- return base;
1717
- case 'dark':
1718
- return mixHex(base, canvas.dark, 0.35);
1719
- case 'darker':
1720
- return mixHex(base, canvas.dark, 0.58);
1721
- case 'darkest':
1722
- return mixHex(base, canvas.dark, 0.8);
1723
- default: {
1724
- const _exhaustive = variant;
1725
- return _exhaustive;
1661
+ function generateDefaultColors() {
1662
+ const colors = [];
1663
+ const styles = ['primary', 'secondary', 'success', 'warning', 'danger'];
1664
+ const variants = [
1665
+ 'lightest',
1666
+ 'lighter',
1667
+ 'light',
1668
+ 'surface',
1669
+ 'dark',
1670
+ 'darker',
1671
+ 'darkest',
1672
+ // ,'default'
1673
+ ];
1674
+ for (const style of styles) {
1675
+ for (const variant of variants) {
1676
+ let name;
1677
+ let colorClass;
1678
+ // if (variant === 'default') {
1679
+ // name = `${style}-${variant}`;
1680
+ // colorClass = `ax-text-${style}-${variant}`;
1681
+ // } else {
1682
+ name = `${style}-${variant}`;
1683
+ colorClass = `ax-text-${style}-on-${variant}`;
1684
+ // }
1685
+ colors.push({
1686
+ title: titleCase(variant === 'surface' ? style : titleCase(name)),
1687
+ name: name,
1688
+ color: colorClass,
1689
+ background: `ax-bg-${name}`,
1690
+ border: `ax-border-${name}`,
1691
+ });
1726
1692
  }
1727
1693
  }
1694
+ return colors;
1728
1695
  }
1729
- function styleTitlePrefix(style) {
1730
- const accentMatch = /^accent(\d+)$/.exec(style);
1731
- if (accentMatch) {
1732
- return `Accent ${accentMatch[1]}`;
1733
- }
1734
- return titleCase(style);
1735
- }
1736
- function surfaceVariantTitle(style, variant) {
1737
- if (variant === 'surface') {
1738
- return styleTitlePrefix(style);
1739
- }
1740
- return `${styleTitlePrefix(style)} ${titleCase(variant)}`;
1741
- }
1742
- function pushVariantScale(entries, styleKey, baseHex, canvas) {
1743
- for (const variant of SURFACE_VARIANTS) {
1744
- const background = tonalBackgroundHex(baseHex, variant, canvas);
1745
- const color = contrastForeground(background);
1746
- const name = `${styleKey}-${variant}`;
1747
- entries.push({
1748
- title: surfaceVariantTitle(styleKey, variant),
1749
- name,
1750
- color,
1751
- background,
1752
- border: background,
1753
- });
1754
- }
1755
- }
1756
- function pushFlatSwatch(entries, title, name, hex) {
1757
- const color = contrastForeground(hex);
1758
- entries.push({ title, name, color, background: hex, border: hex });
1759
- }
1760
- /**
1761
- * Builds the full chooser list from a single `AXPThemePalette` (colors object only).
1762
- */
1763
- function buildColorsFromThemePalette(palette) {
1764
- const colors = palette.colors;
1765
- const canvas = { light: colors.light, dark: colors.dark };
1766
- const entries = [];
1767
- const core = ['primary', 'secondary', 'success', 'warning', 'danger'];
1768
- for (const key of core) {
1769
- pushVariantScale(entries, key, colors[key], canvas);
1770
- }
1771
- const neutral = colors.neutral;
1772
- if (neutral) {
1773
- pushVariantScale(entries, 'neutral', neutral, canvas);
1696
+ const DEFAULT_COLORS = generateDefaultColors();
1697
+ class AXPColorProviderDefault extends AXPColorProvider {
1698
+ async provide() {
1699
+ return DEFAULT_COLORS;
1774
1700
  }
1775
- colors.accents.forEach((hex, index) => {
1776
- pushVariantScale(entries, `accent${index + 1}`, hex, canvas);
1777
- });
1778
- pushFlatSwatch(entries, 'Canvas Light', 'canvas-light', colors.light);
1779
- pushFlatSwatch(entries, 'Canvas Dark', 'canvas-dark', colors.dark);
1780
- return entries;
1781
1701
  }
1782
- //#endregion
1783
- //#region ---- Service ----
1702
+ const AXP_COLOR_PROVIDER = new InjectionToken('AXP_COLOR_PROVIDER');
1784
1703
  class AXPColorChooserService {
1785
1704
  constructor() {
1786
- this.themeStore = inject(AXPLayoutThemeService);
1787
- this.palettePromise = inject(AXP_THEME_PALETTE_PROVIDER);
1788
- this.cacheKey = null;
1705
+ this.defaultProvider = new AXPColorProviderDefault();
1706
+ this.providers = (() => {
1707
+ const injected = inject(AXP_COLOR_PROVIDER, { optional: true });
1708
+ if (!injected) {
1709
+ return [this.defaultProvider];
1710
+ }
1711
+ const providers = Array.isArray(injected) ? injected : [injected];
1712
+ return [...providers, this.defaultProvider];
1713
+ })();
1789
1714
  this.cache = null;
1790
1715
  }
1791
1716
  async getColors() {
1792
- const paletteName = this.themeStore.currentPalette();
1793
- if (this.cache && this.cacheKey === paletteName) {
1717
+ if (this.cache) {
1794
1718
  return this.cache;
1795
1719
  }
1796
- const provider = await this.palettePromise;
1797
- const list = await provider.getList();
1798
- const palette = list.find((p) => p.name === paletteName) ?? list.find((p) => p.name === 'default') ?? list[0] ?? null;
1799
- const colors = palette ? buildColorsFromThemePalette(palette) : [];
1800
- this.cacheKey = paletteName;
1801
- this.cache = colors;
1802
- return colors;
1720
+ const allColors = [];
1721
+ for (const resolver of this.providers) {
1722
+ const result = await resolver.provide();
1723
+ allColors.push(...result);
1724
+ }
1725
+ const uniqueColors = allColors.filter((color, index, self) => index === self.findIndex((c) => c.title === color.title));
1726
+ this.cache = uniqueColors;
1727
+ return uniqueColors;
1803
1728
  }
1804
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorChooserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1805
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorChooserService, providedIn: 'root' }); }
1729
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPColorChooserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1730
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPColorChooserService, providedIn: 'root' }); }
1806
1731
  }
1807
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorChooserService, decorators: [{
1732
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPColorChooserService, decorators: [{
1808
1733
  type: Injectable,
1809
1734
  args: [{
1810
1735
  providedIn: 'root',
@@ -1815,23 +1740,24 @@ class AXPColorChooserWidgetEditComponent extends AXPValueWidgetComponent {
1815
1740
  constructor() {
1816
1741
  super(...arguments);
1817
1742
  this.colorService = inject(AXPColorChooserService);
1818
- this.colors = signal([], ...(ngDevMode ? [{ debugName: "colors" }] : /* istanbul ignore next */ []));
1819
- this.placeholder = computed(() => this.options()['placeholder'] ?? '', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
1743
+ this.colors = signal([], ...(ngDevMode ? [{ debugName: "colors" }] : []));
1744
+ this.placeholder = computed(() => this.options()['placeholder'] ?? '', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
1820
1745
  this.selectedColor = computed(() => {
1821
1746
  const value = this.getValue();
1822
- const fallbackName = () => this.colors()[0]?.name;
1823
1747
  if (!value) {
1824
- return fallbackName();
1748
+ return this.colors()[0];
1825
1749
  }
1750
+ // If value is a string in the format: "ax-text-* ax-bg-* ax-border-*"
1826
1751
  if (typeof value === 'string') {
1827
1752
  const parsed = this.parseStringValue(value);
1828
1753
  if (parsed) {
1829
1754
  return parsed;
1830
1755
  }
1831
- return fallbackName();
1756
+ return this.colors()[0];
1832
1757
  }
1758
+ // Otherwise value is an object
1833
1759
  return value.name;
1834
- }, ...(ngDevMode ? [{ debugName: "selectedColor" }] : /* istanbul ignore next */ []));
1760
+ }, ...(ngDevMode ? [{ debugName: "selectedColor" }] : []));
1835
1761
  }
1836
1762
  async ngOnInit() {
1837
1763
  const allColors = await this.colorService.getColors();
@@ -1850,9 +1776,6 @@ class AXPColorChooserWidgetEditComponent extends AXPValueWidgetComponent {
1850
1776
  this.setValue(stringValue);
1851
1777
  }
1852
1778
  }
1853
- isHexSwatch(color) {
1854
- return color.background.startsWith('#');
1855
- }
1856
1779
  parseStringValue(value) {
1857
1780
  const parts = value.trim().split(/\s+/);
1858
1781
  if (parts.length !== 3) {
@@ -1862,8 +1785,8 @@ class AXPColorChooserWidgetEditComponent extends AXPValueWidgetComponent {
1862
1785
  const match = this.colors().find((c) => c.color === color && c.background === background && c.border === border);
1863
1786
  return match?.name ?? null;
1864
1787
  }
1865
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorChooserWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1866
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPColorChooserWidgetEditComponent, isStandalone: true, selector: "ax-color-chooser-widget", usesInheritance: true, ngImport: i0, template: `
1788
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPColorChooserWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1789
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: AXPColorChooserWidgetEditComponent, isStandalone: true, selector: "ax-color-chooser-widget", usesInheritance: true, ngImport: i0, template: `
1867
1790
  <ax-form [messageStyle]="'float'" [updateOn]="'change'">
1868
1791
  <ax-form-field>
1869
1792
  <ax-select-box
@@ -1878,23 +1801,12 @@ class AXPColorChooserWidgetEditComponent extends AXPValueWidgetComponent {
1878
1801
  >
1879
1802
  <ng-template #customItemTemplate let-item>
1880
1803
  <div class="ax-flex ax-items-center ax-gap-2 ax-p-2">
1881
- @if (isHexSwatch(item.data)) {
1882
- <div
1883
- class="ax-w-6 ax-h-6 ax-rounded ax-flex ax-items-center ax-justify-center ax-border ax-border-solid"
1884
- [style.background-color]="item.data.background"
1885
- [style.border-color]="item.data.border"
1886
- [style.color]="item.data.color"
1887
- >
1888
- <span>Aa</span>
1889
- </div>
1890
- } @else {
1891
- <div
1892
- class="ax-w-6 ax-h-6 ax-rounded ax-flex ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-black dark:ax-border-white"
1893
- [class]="item.data.background"
1894
- >
1895
- <span [class]="item.data.color">Aa</span>
1896
- </div>
1897
- }
1804
+ <div
1805
+ class="ax-w-6 ax-h-6 ax-rounded ax-flex ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-black dark:ax-border-white"
1806
+ [ngClass]="item.data.background"
1807
+ >
1808
+ <span [ngClass]="item.data.color">Aa</span>
1809
+ </div>
1898
1810
  <span>{{ item.data.title }}</span>
1899
1811
  </div>
1900
1812
  </ng-template>
@@ -1903,9 +1815,9 @@ class AXPColorChooserWidgetEditComponent extends AXPValueWidgetComponent {
1903
1815
  </ax-select-box>
1904
1816
  </ax-form-field>
1905
1817
  </ax-form>
1906
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i1$2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2$2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2$2.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i2$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1818
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i1$2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2$2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2$2.AXFormComponent, selector: "ax-form", inputs: ["disabled", "readonly", "labelMode", "look", "messageStyle", "updateOn", "inUserInteractionActive"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i2$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i1$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1907
1819
  }
1908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPColorChooserWidgetEditComponent, decorators: [{
1820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPColorChooserWidgetEditComponent, decorators: [{
1909
1821
  type: Component,
1910
1822
  args: [{
1911
1823
  selector: 'ax-color-chooser-widget',
@@ -1924,23 +1836,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1924
1836
  >
1925
1837
  <ng-template #customItemTemplate let-item>
1926
1838
  <div class="ax-flex ax-items-center ax-gap-2 ax-p-2">
1927
- @if (isHexSwatch(item.data)) {
1928
- <div
1929
- class="ax-w-6 ax-h-6 ax-rounded ax-flex ax-items-center ax-justify-center ax-border ax-border-solid"
1930
- [style.background-color]="item.data.background"
1931
- [style.border-color]="item.data.border"
1932
- [style.color]="item.data.color"
1933
- >
1934
- <span>Aa</span>
1935
- </div>
1936
- } @else {
1937
- <div
1938
- class="ax-w-6 ax-h-6 ax-rounded ax-flex ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-black dark:ax-border-white"
1939
- [class]="item.data.background"
1940
- >
1941
- <span [class]="item.data.color">Aa</span>
1942
- </div>
1943
- }
1839
+ <div
1840
+ class="ax-w-6 ax-h-6 ax-rounded ax-flex ax-items-center ax-justify-center ax-border ax-border-dashed ax-border-black dark:ax-border-white"
1841
+ [ngClass]="item.data.background"
1842
+ >
1843
+ <span [ngClass]="item.data.color">Aa</span>
1844
+ </div>
1944
1845
  <span>{{ item.data.title }}</span>
1945
1846
  </div>
1946
1847
  </ng-template>
@@ -1963,7 +1864,7 @@ var themeColorChooserEdit_component = /*#__PURE__*/Object.freeze({
1963
1864
  const AXPThemeColorChooserWidgetConfig = {
1964
1865
  name: 'theme-color-chooser',
1965
1866
  title: 'Theme Color Chooser',
1966
- icon: 'fa-light fa-palette',
1867
+ icon: 'fa-solid fa-palette',
1967
1868
  type: 'editor',
1968
1869
  categories: AXP_WIDGETS_LAYOUT_CATEGORY,
1969
1870
  properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],
@@ -1972,10 +1873,10 @@ const AXPThemeColorChooserWidgetConfig = {
1972
1873
  component: () => Promise.resolve().then(function () { return themeColorChooserEdit_component; }).then((c) => c.AXPColorChooserWidgetEditComponent),
1973
1874
  },
1974
1875
  column: {
1975
- component: () => import('./acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs').then((c) => c.AXPColorChooserWidgetColumnComponent),
1876
+ component: () => import('./acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs').then((c) => c.AXPColorChooserWidgetColumnComponent),
1976
1877
  },
1977
1878
  view: {
1978
- component: () => import('./acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs').then((c) => c.AXPColorChooserWidgetViewComponent),
1879
+ component: () => import('./acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs').then((c) => c.AXPColorChooserWidgetViewComponent),
1979
1880
  },
1980
1881
  },
1981
1882
  };
@@ -1987,20 +1888,20 @@ class AXPThemeModeChooserWidgetComponent extends AXPValueWidgetComponent {
1987
1888
  { id: AXPThemeMode.Light, icon: 'fa-light fa-brightness' },
1988
1889
  { id: AXPThemeMode.Dark, icon: 'fa-light fa-moon' },
1989
1890
  { id: AXPThemeMode.System, icon: 'fa-light fa-desktop' },
1990
- ], ...(ngDevMode ? [{ debugName: "modes" }] : /* istanbul ignore next */ []));
1991
- this.selectedMode = signal(null, ...(ngDevMode ? [{ debugName: "selectedMode" }] : /* istanbul ignore next */ []));
1891
+ ], ...(ngDevMode ? [{ debugName: "modes" }] : []));
1892
+ this.selectedMode = signal(null, ...(ngDevMode ? [{ debugName: "selectedMode" }] : []));
1992
1893
  this.#eff = effect(() => {
1993
1894
  if (this.getValue()) {
1994
1895
  this.selectedMode.set(this.modes().find((m) => m.id === this.getValue()) ?? this.modes()[0]);
1995
1896
  }
1996
- }, ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
1897
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
1997
1898
  }
1998
1899
  #eff;
1999
1900
  onModeClick(mode) {
2000
1901
  this.setValue(mode.id);
2001
1902
  }
2002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemeModeChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPThemeModeChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1903
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemeModeChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1904
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPThemeModeChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2004
1905
  @for (mode of modes(); track mode.id) {
2005
1906
  <div (click)="onModeClick(mode)" [class.--selected]="mode.id === selectedMode()?.id">
2006
1907
  <div>
@@ -2011,7 +1912,7 @@ class AXPThemeModeChooserWidgetComponent extends AXPValueWidgetComponent {
2011
1912
  }
2012
1913
  `, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{padding-top:.25rem!important;padding-bottom:.25rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionCdkModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2013
1914
  }
2014
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemeModeChooserWidgetComponent, decorators: [{
1915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemeModeChooserWidgetComponent, decorators: [{
2015
1916
  type: Component,
2016
1917
  args: [{ template: `
2017
1918
  @for (mode of modes(); track mode.id) {
@@ -2033,7 +1934,7 @@ var themeModeChooserWidget_component = /*#__PURE__*/Object.freeze({
2033
1934
  const AXPThemeModeChooserWidget = {
2034
1935
  name: "theme-mode-chooser",
2035
1936
  title: "Theme Mode Chooser",
2036
- icon: "fa-light fa-square",
1937
+ icon: "fa-solid fa-square",
2037
1938
  type: 'editor',
2038
1939
  categories: AXP_WIDGETS_LAYOUT_CATEGORY,
2039
1940
  properties: [
@@ -2052,15 +1953,15 @@ class AXPThemePaletteChooserWidgetComponent extends AXPValueWidgetComponent {
2052
1953
  constructor() {
2053
1954
  super(...arguments);
2054
1955
  this.paletteService = inject(AXP_THEME_PALETTE_PROVIDER);
2055
- this.palettes = signal([], ...(ngDevMode ? [{ debugName: "palettes" }] : /* istanbul ignore next */ []));
2056
- this.selectedPalette = signal(null, ...(ngDevMode ? [{ debugName: "selectedPalette" }] : /* istanbul ignore next */ []));
1956
+ this.palettes = signal([], ...(ngDevMode ? [{ debugName: "palettes" }] : []));
1957
+ this.selectedPalette = signal(null, ...(ngDevMode ? [{ debugName: "selectedPalette" }] : []));
2057
1958
  this.#eff = effect(() => {
2058
1959
  if (this.getValue()) {
2059
1960
  this.selectedPalette.set(this.palettes().find((p) => p.name === this.getValue()) ??
2060
1961
  this.palettes().find((p) => p.name === 'default') ??
2061
1962
  this.palettes()[0]);
2062
1963
  }
2063
- }, ...(ngDevMode ? [{ debugName: "#eff" }] : /* istanbul ignore next */ []));
1964
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
2064
1965
  }
2065
1966
  #eff;
2066
1967
  async ngOnInit() {
@@ -2071,8 +1972,8 @@ class AXPThemePaletteChooserWidgetComponent extends AXPValueWidgetComponent {
2071
1972
  onPaletteClick(palette) {
2072
1973
  this.setValue(palette.name);
2073
1974
  }
2074
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemePaletteChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2075
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPThemePaletteChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1975
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemePaletteChooserWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1976
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: AXPThemePaletteChooserWidgetComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2076
1977
  @for (palette of palettes(); track palette.name) {
2077
1978
  <div (click)="onPaletteClick(palette)" [class.--selected]="palette.name === selectedPalette()?.name">
2078
1979
  <span>{{ palette.title }}</span>
@@ -2085,7 +1986,7 @@ class AXPThemePaletteChooserWidgetComponent extends AXPValueWidgetComponent {
2085
1986
  }
2086
1987
  `, isInline: true, styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}:host>div{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host>div:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-surface));color:rgb(var(--ax-sys-color-on-surface));border-color:rgb(var(--ax-sys-color-border-surface))}:host>div{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}:host>div:hover{background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>div.--selected{background-color:rgb(var(--ax-sys-color-primary-lighter-surface));color:rgb(var(--ax-sys-color-on-primary-lighter-surface));border-color:rgb(var(--ax-sys-color-border-primary-lighter-surface))}:host>div>div{display:flex;align-items:center;justify-content:center}:host>div>div i{font-size:1.25rem;line-height:1.75rem}:host>div>span{font-size:.875rem;line-height:1.25rem;font-weight:600;line-height:1.625}:host>div{height:3rem;min-width:100%}@media(min-width:768px){:host>div{min-width:16rem}}:host>div>div{position:relative;height:100%;width:fit-content}:host>div>div div{position:absolute;height:2rem;width:2rem;border-radius:9999px;border-width:1px;border-color:#ffffff80;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectionCdkModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2087
1988
  }
2088
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemePaletteChooserWidgetComponent, decorators: [{
1989
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemePaletteChooserWidgetComponent, decorators: [{
2089
1990
  type: Component,
2090
1991
  args: [{ template: `
2091
1992
  @for (palette of palettes(); track palette.name) {
@@ -2109,7 +2010,7 @@ var themePaletteChooserWidget_component = /*#__PURE__*/Object.freeze({
2109
2010
  const AXPThemePaletteChooserWidget = {
2110
2011
  name: "theme-palette-chooser",
2111
2012
  title: "Theme Palette Chooser",
2112
- icon: "fa-light fa-square",
2013
+ icon: "fa-solid fa-square",
2113
2014
  type: 'editor',
2114
2015
  categories: AXP_WIDGETS_LAYOUT_CATEGORY,
2115
2016
  properties: [
@@ -2124,28 +2025,6 @@ const AXPThemePaletteChooserWidget = {
2124
2025
  }
2125
2026
  };
2126
2027
 
2127
- //#endregion
2128
- //#region ---- Theme Widgets Provider ----
2129
- const WIDGETS = [
2130
- AXPThemePaletteChooserWidget,
2131
- AXPThemeModeChooserWidget,
2132
- AXPMenuOrientationChooserWidget,
2133
- AXPFontSizeChooserWidget,
2134
- AXPFontStyleChooserWidget,
2135
- AXPIconChooserWidget,
2136
- AXPThemeColorChooserWidgetConfig,
2137
- ];
2138
- class AXPThemesSharedWidgetsProvider {
2139
- getWidgets() {
2140
- return WIDGETS;
2141
- }
2142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemesSharedWidgetsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2143
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemesSharedWidgetsProvider }); }
2144
- }
2145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemesSharedWidgetsProvider, decorators: [{
2146
- type: Injectable
2147
- }] });
2148
-
2149
2028
  class AXPThemesSharedModule {
2150
2029
  constructor(appInitService, injector) {
2151
2030
  const service = injector.get(AXPLayoutThemeService);
@@ -2158,15 +2037,14 @@ class AXPThemesSharedModule {
2158
2037
  },
2159
2038
  });
2160
2039
  }
2161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemesSharedModule, deps: [{ token: i1$3.AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }
2162
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXPThemesSharedModule, imports: [i1$3.AXPComponentSlotModule, AXPWidgetCoreModule] }); }
2163
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemesSharedModule, providers: [
2164
- { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXPThemesSharedWidgetsProvider, multi: true },
2040
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemesSharedModule, deps: [{ token: i1$3.AXPAppStartUpService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }
2041
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.19", ngImport: i0, type: AXPThemesSharedModule, imports: [i1$3.AXPComponentSlotModule, i2$3.AXPWidgetCoreModule] }); }
2042
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemesSharedModule, providers: [
2165
2043
  {
2166
2044
  provide: AXP_SETTING_DEFINITION_PROVIDER,
2167
2045
  useFactory: async () => {
2168
2046
  const injector = inject(Injector);
2169
- const provider = (await import('./acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs')).AXPThemeSettingProvider;
2047
+ const provider = (await import('./acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs')).AXPThemeSettingProvider;
2170
2048
  return new provider(injector);
2171
2049
  },
2172
2050
  multi: true,
@@ -2181,9 +2059,19 @@ class AXPThemesSharedModule {
2181
2059
  },
2182
2060
  ],
2183
2061
  }),
2184
- AXPWidgetCoreModule] }); }
2062
+ AXPWidgetCoreModule.forChild({
2063
+ widgets: [
2064
+ AXPThemePaletteChooserWidget,
2065
+ AXPThemeModeChooserWidget,
2066
+ AXPMenuOrientationChooserWidget,
2067
+ AXPFontSizeChooserWidget,
2068
+ AXPFontStyleChooserWidget,
2069
+ AXPIconChooserWidget,
2070
+ AXPThemeColorChooserWidgetConfig,
2071
+ ],
2072
+ })] }); }
2185
2073
  }
2186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPThemesSharedModule, decorators: [{
2074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPThemesSharedModule, decorators: [{
2187
2075
  type: NgModule,
2188
2076
  args: [{
2189
2077
  imports: [
@@ -2196,17 +2084,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
2196
2084
  },
2197
2085
  ],
2198
2086
  }),
2199
- AXPWidgetCoreModule,
2087
+ AXPWidgetCoreModule.forChild({
2088
+ widgets: [
2089
+ AXPThemePaletteChooserWidget,
2090
+ AXPThemeModeChooserWidget,
2091
+ AXPMenuOrientationChooserWidget,
2092
+ AXPFontSizeChooserWidget,
2093
+ AXPFontStyleChooserWidget,
2094
+ AXPIconChooserWidget,
2095
+ AXPThemeColorChooserWidgetConfig,
2096
+ ],
2097
+ }),
2200
2098
  ],
2201
2099
  exports: [],
2202
2100
  declarations: [],
2203
2101
  providers: [
2204
- { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXPThemesSharedWidgetsProvider, multi: true },
2205
2102
  {
2206
2103
  provide: AXP_SETTING_DEFINITION_PROVIDER,
2207
2104
  useFactory: async () => {
2208
2105
  const injector = inject(Injector);
2209
- const provider = (await import('./acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs')).AXPThemeSettingProvider;
2106
+ const provider = (await import('./acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs')).AXPThemeSettingProvider;
2210
2107
  return new provider(injector);
2211
2108
  },
2212
2109
  multi: true,