@acorex/platform 20.3.0-next.9 → 20.4.1

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 (131) hide show
  1. package/common/index.d.ts +643 -365
  2. package/core/index.d.ts +19 -4
  3. package/fesm2022/acorex-platform-auth.mjs +19 -19
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs +47 -0
  6. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-common.mjs +674 -243
  8. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +58 -46
  10. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-domain.mjs +16 -16
  12. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +1933 -2330
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs +1511 -1626
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +82 -82
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs +52 -0
  20. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-entity.mjs +1371 -917
  22. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-views.mjs +63 -54
  24. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-widget-core.mjs +2758 -0
  26. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +6 -6
  28. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs} +5 -5
  30. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs} +5 -5
  32. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs} +5 -5
  34. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs} +5 -5
  36. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs} +5 -5
  40. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +9 -9
  42. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +8 -8
  44. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +8 -8
  46. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs} +6 -5
  48. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs} +6 -7
  50. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +4154 -3147
  52. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-native.mjs +7 -7
  54. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  56. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  57. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs +115 -0
  58. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs.map +1 -0
  59. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs → acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs} +69 -33
  60. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs +101 -0
  62. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs} +17 -17
  64. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
  70. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
  71. package/fesm2022/acorex-platform-themes-default.mjs +118 -54
  72. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  73. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +5 -5
  74. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +8 -8
  76. package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +5 -5
  78. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map +1 -0
  79. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +5 -5
  80. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-themes-shared.mjs +66 -55
  82. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  83. package/fesm2022/acorex-platform-workflow.mjs +27 -39
  84. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  85. package/layout/builder/README.md +1577 -3
  86. package/layout/builder/index.d.ts +735 -868
  87. package/layout/components/index.d.ts +218 -714
  88. package/layout/designer/index.d.ts +4 -4
  89. package/layout/entity/index.d.ts +954 -375
  90. package/layout/views/index.d.ts +13 -14
  91. package/layout/widget-core/README.md +4 -0
  92. package/layout/widget-core/index.d.ts +959 -0
  93. package/layout/widgets/README.md +4 -0
  94. package/{widgets → layout/widgets}/index.d.ts +426 -365
  95. package/package.json +18 -14
  96. package/themes/shared/index.d.ts +2 -2
  97. package/workflow/index.d.ts +3 -173
  98. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs +0 -115
  99. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +0 -101
  102. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs +0 -55
  112. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs +0 -92
  114. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs +0 -55
  116. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs.map +0 -1
  125. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs +0 -40
  126. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map +0 -1
  127. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +0 -1
  128. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map +0 -1
  129. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +0 -1
  130. package/fesm2022/acorex-platform-widgets.mjs.map +0 -1
  131. package/widgets/README.md +0 -4
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable, Injector, makeEnvironmentProviders, NgModule, ErrorHandler, Input, Directive, EventEmitter, Output, Component, ViewEncapsulation, Inject, signal, model, linkedSignal, afterNextRender } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, Injector, makeEnvironmentProviders, NgModule, ErrorHandler, EventEmitter, Input, Output, Directive, Component, ViewEncapsulation, Inject, signal, model, linkedSignal, afterNextRender } from '@angular/core';
3
3
  import { kebabCase, merge, sortBy, cloneDeep, get, omit } from 'lodash-es';
4
4
  import { Router, ROUTES, RouterModule } from '@angular/router';
5
5
  import { AXPSessionService, AXPSessionStatus } from '@acorex/platform/auth';
@@ -7,7 +7,7 @@ import { Subject, distinctUntilChanged, merge as merge$1 } from 'rxjs';
7
7
  import * as i1$1 from '@acorex/platform/core';
8
8
  import { AXPPlatformScope, AXPBroadcastEventService, objectKeyValueTransforms, AXPComponentLogoConfig, AXPImageUrlLogoConfig, AXPSystemActionType, AXPAppStartUpProvider, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';
9
9
  import { AXTranslationService } from '@acorex/core/translation';
10
- import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
10
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
11
11
  import { AXPopupModule, AXPopupService } from '@acorex/components/popup';
12
12
  import { AXToastService, AXToastModule } from '@acorex/components/toast';
13
13
  import { AXDateTimeModule } from '@acorex/core/date-time';
@@ -20,8 +20,8 @@ import { AXImageModule } from '@acorex/components/image';
20
20
  import { AXPlatform } from '@acorex/core/platform';
21
21
  import * as i1 from '@angular/common';
22
22
  import { CommonModule } from '@angular/common';
23
- import { signalStore, withState, withMethods, patchState, withHooks } from '@ngrx/signals';
24
23
  import { AXPCommandExecutor } from '@acorex/platform/runtime';
24
+ import { signalStore, withState, withMethods, patchState, withHooks } from '@ngrx/signals';
25
25
  import { AXFormatService } from '@acorex/core/format';
26
26
  import { AXDialogService } from '@acorex/components/dialog';
27
27
  import * as i5 from '@acorex/components/button';
@@ -60,10 +60,10 @@ class AXPAppVersionService {
60
60
  async getAppVersion() {
61
61
  return this.provider.provider();
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPAppVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
64
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPAppVersionService, providedIn: 'root' }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPAppVersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
64
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPAppVersionService, providedIn: 'root' }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPAppVersionService, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPAppVersionService, decorators: [{
67
67
  type: Injectable,
68
68
  args: [{
69
69
  providedIn: 'root',
@@ -438,10 +438,10 @@ class AXPSettingDefinitionProviderService {
438
438
  sections: []
439
439
  };
440
440
  }
441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
442
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefinitionProviderService, providedIn: 'root' }); }
441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
442
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefinitionProviderService, providedIn: 'root' }); }
443
443
  }
444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefinitionProviderService, decorators: [{
444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefinitionProviderService, decorators: [{
445
445
  type: Injectable,
446
446
  args: [{ providedIn: 'root' }]
447
447
  }] });
@@ -471,10 +471,10 @@ class AXPSettingDefaultValuesAggregatorService {
471
471
  }
472
472
  return merged;
473
473
  }
474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
475
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, providedIn: 'root' }); }
474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
475
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, providedIn: 'root' }); }
476
476
  }
477
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, decorators: [{
477
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingDefaultValuesAggregatorService, decorators: [{
478
478
  type: Injectable,
479
479
  args: [{ providedIn: 'root' }]
480
480
  }] });
@@ -676,10 +676,10 @@ class AXPSettingService {
676
676
  this.onChanged.next(event);
677
677
  this.eventService.publish('AXPSettingChangedEvent', event);
678
678
  }
679
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
680
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingService, providedIn: 'root' }); }
679
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
680
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingService, providedIn: 'root' }); }
681
681
  }
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSettingService, decorators: [{
682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSettingService, decorators: [{
683
683
  type: Injectable,
684
684
  args: [{
685
685
  providedIn: 'root',
@@ -861,10 +861,10 @@ class AXPHomePageService {
861
861
  router.navigate([current.path]);
862
862
  }, 100);
863
863
  }
864
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
865
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageService, providedIn: 'root' }); }
864
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
865
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageService, providedIn: 'root' }); }
866
866
  }
867
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageService, decorators: [{
867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageService, decorators: [{
868
868
  type: Injectable,
869
869
  args: [{
870
870
  providedIn: 'root',
@@ -926,17 +926,17 @@ class AXPHomePageSettingProvider {
926
926
  // End the 'General Settings' group
927
927
  .endGroup();
928
928
  }
929
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
930
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageSettingProvider }); }
929
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
930
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageSettingProvider }); }
931
931
  }
932
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageSettingProvider, decorators: [{
932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageSettingProvider, decorators: [{
933
933
  type: Injectable
934
934
  }], ctorParameters: () => [{ type: i0.Injector }] });
935
935
 
936
936
  class AXPHomePageModule {
937
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
938
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule }); }
939
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule, providers: [
937
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
938
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule }); }
939
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule, providers: [
940
940
  {
941
941
  provide: AXP_SETTING_DEFINITION_PROVIDER,
942
942
  useClass: AXPHomePageSettingProvider,
@@ -944,7 +944,7 @@ class AXPHomePageModule {
944
944
  },
945
945
  ] }); }
946
946
  }
947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPHomePageModule, decorators: [{
947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPHomePageModule, decorators: [{
948
948
  type: NgModule,
949
949
  args: [{
950
950
  imports: [],
@@ -967,10 +967,10 @@ class AXPCustomOperatorServiceImpl extends AXPCustomOperatorService {
967
967
  getCustomOperators() {
968
968
  return {};
969
969
  }
970
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCustomOperatorServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
971
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCustomOperatorServiceImpl }); }
970
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCustomOperatorServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
971
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCustomOperatorServiceImpl }); }
972
972
  }
973
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCustomOperatorServiceImpl, decorators: [{
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCustomOperatorServiceImpl, decorators: [{
974
974
  type: Injectable
975
975
  }] });
976
976
 
@@ -1015,10 +1015,10 @@ class AXPFilterOperatorMiddlewareServiceImpl extends AXPFilterOperatorMiddleware
1015
1015
  return acc;
1016
1016
  }, {});
1017
1017
  }
1018
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1019
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl }); }
1018
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1019
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl }); }
1020
1020
  }
1021
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, decorators: [{
1021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, decorators: [{
1022
1022
  type: Injectable
1023
1023
  }] });
1024
1024
 
@@ -1039,10 +1039,10 @@ class AXPErrorHandlerRegistryService {
1039
1039
  get handlers() {
1040
1040
  return this.errorHandlers;
1041
1041
  }
1042
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPErrorHandlerRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1043
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPErrorHandlerRegistryService, providedIn: 'root' }); }
1042
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPErrorHandlerRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1043
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPErrorHandlerRegistryService, providedIn: 'root' }); }
1044
1044
  }
1045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPErrorHandlerRegistryService, decorators: [{
1045
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPErrorHandlerRegistryService, decorators: [{
1046
1046
  type: Injectable,
1047
1047
  args: [{
1048
1048
  providedIn: 'root'
@@ -1073,74 +1073,84 @@ class AXPGlobalErrorHandler extends ErrorHandler {
1073
1073
  }
1074
1074
  handleErrorRecursively(0, error);
1075
1075
  }
1076
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalErrorHandler, deps: [{ token: i0.Injector }, { token: AXPErrorHandlerRegistryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1077
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalErrorHandler, providedIn: 'root' }); }
1076
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalErrorHandler, deps: [{ token: i0.Injector }, { token: AXPErrorHandlerRegistryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1077
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalErrorHandler, providedIn: 'root' }); }
1078
1078
  }
1079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalErrorHandler, decorators: [{
1079
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalErrorHandler, decorators: [{
1080
1080
  type: Injectable,
1081
1081
  args: [{ providedIn: 'root' }]
1082
1082
  }], ctorParameters: () => [{ type: i0.Injector }, { type: AXPErrorHandlerRegistryService }] });
1083
1083
 
1084
- // src/app/directives/grid-layout.directive.ts
1085
- class AXPGridLayoutDirective {
1086
- constructor(el, renderer) {
1087
- this.el = el;
1088
- this.renderer = renderer;
1084
+ const AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER = new InjectionToken('AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER', {
1085
+ factory: () => [],
1086
+ });
1087
+
1088
+ //#region ---- Imports ----
1089
+ //#endregion
1090
+ class AXPGlobalVariableDefinitionService {
1091
+ constructor() {
1092
+ //#region ---- Providers & Caches ----
1093
+ this.definitionProviders = inject(AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, { optional: true }) || [];
1094
+ /** Cache for definitions by name. */
1095
+ this.definitionsByName = new Map();
1089
1096
  }
1090
- ngOnChanges(changes) {
1091
- if (changes['options']) {
1092
- this.applyTailwindClasses();
1097
+ //#endregion
1098
+ //#region ---- Public API ----
1099
+ /**
1100
+ * Returns a report definition by its id.
1101
+ * First checks the cache, then queries all providers if not found.
1102
+ * @param name The global variable name.
1103
+ * @returns The global variable definition if found, undefined otherwise.
1104
+ */
1105
+ async getByName(name) {
1106
+ // Check cache first
1107
+ if (this.definitionsByName.has(name)) {
1108
+ return this.definitionsByName.get(name);
1093
1109
  }
1110
+ // Not in cache, query providers (each provider is itself a global variable definition)
1111
+ const resolvedProviders = await Promise.all(this.definitionProviders);
1112
+ const match = resolvedProviders.find(def => def?.name === name);
1113
+ if (match) {
1114
+ this.definitionsByName.set(name, match);
1115
+ return match;
1116
+ }
1117
+ return undefined;
1094
1118
  }
1095
- applyTailwindClasses() {
1096
- if (this.options?.positions == null)
1097
- return;
1098
- // Clear existing grid classes
1099
- this.clearClasses();
1100
- // Apply new grid classes based on the input options
1101
- this.setClasses(this.options.positions?.default, '');
1102
- this.setClasses(this.options.positions?.md, 'md:');
1103
- this.setClasses(this.options.positions?.lg, 'lg:');
1104
- this.setClasses(this.options.positions?.xl, 'xl:');
1105
- this.setClasses(this.options.positions?.xxl, '2xl:');
1106
- }
1107
- setClasses(positions, prefix) {
1108
- if (positions == null)
1109
- return;
1110
- const colStart = positions.colStart ? `${prefix}ax-col-start-${positions.colStart}` : '';
1111
- const colEnd = positions.colEnd ? `${prefix}ax-col-end-${positions.colEnd}` : '';
1112
- const colSpan = positions.colSpan ? `${prefix}ax-col-span-${positions.colSpan}` : '';
1113
- const rowStart = positions.rowStart ? `${prefix}ax-row-start-${positions.rowStart}` : '';
1114
- const rowEnd = positions.rowEnd ? `${prefix}ax-row-end-${positions.rowEnd}` : '';
1115
- const rowSpan = positions.rowSpan ? `${prefix}ax-row-span-${positions.rowSpan}` : '';
1116
- const order = positions.order ? `${prefix}ax-order-${positions.order}` : ''; // Handling order
1117
- [colStart, colEnd, colSpan, rowStart, rowEnd, rowSpan, order].forEach(cls => {
1118
- if (cls) {
1119
- this.renderer.addClass(this.el.nativeElement, cls);
1120
- }
1121
- });
1119
+ async execute(name) {
1120
+ const definition = await this.getByName(name);
1121
+ if (definition) {
1122
+ return await definition.execute();
1123
+ }
1124
+ return undefined;
1122
1125
  }
1123
- clearClasses() {
1124
- const currentClasses = this.el.nativeElement.className.split(' ');
1125
- currentClasses.forEach((className) => {
1126
- if (className.startsWith('ax-col-') || className.startsWith('ax-row-') || className.startsWith('ax-order-')) {
1127
- this.renderer.removeClass(this.el.nativeElement, className);
1128
- }
1129
- });
1126
+ //#endregion
1127
+ //#region ---- Cache Management ----
1128
+ /** Clears the definitions by name cache. */
1129
+ clearDefinitionsCache() {
1130
+ this.definitionsByName.clear();
1130
1131
  }
1131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGridLayoutDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
1132
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.8", type: AXPGridLayoutDirective, isStandalone: true, selector: "[gridLayout]", inputs: { options: ["gridLayout", "options"] }, usesOnChanges: true, ngImport: i0 }); }
1132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalVariableDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1133
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalVariableDefinitionService, providedIn: 'root' }); }
1133
1134
  }
1134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGridLayoutDirective, decorators: [{
1135
- type: Directive,
1135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPGlobalVariableDefinitionService, decorators: [{
1136
+ type: Injectable,
1136
1137
  args: [{
1137
- selector: '[gridLayout]',
1138
- standalone: true,
1138
+ providedIn: 'root',
1139
1139
  }]
1140
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { options: [{
1141
- type: Input,
1142
- args: ['gridLayout']
1143
- }] } });
1140
+ }] });
1141
+
1142
+ class AXPGlobalVariableEvaluatorScopeProvider {
1143
+ constructor() {
1144
+ this.globalVariableService = inject(AXPGlobalVariableDefinitionService);
1145
+ }
1146
+ async provide(context) {
1147
+ context.addScope('variables', {
1148
+ execute: async (name) => {
1149
+ return await this.globalVariableService.execute(name);
1150
+ }
1151
+ });
1152
+ }
1153
+ }
1144
1154
 
1145
1155
  class AXPStickyDirective {
1146
1156
  get isSticky() {
@@ -1222,10 +1232,10 @@ class AXPStickyDirective {
1222
1232
  this.mutationObserver.disconnect();
1223
1233
  }
1224
1234
  }
1225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPStickyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1226
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.8", type: AXPStickyDirective, isStandalone: true, selector: "[axpSticky]", inputs: { stickyClass: ["axpSticky", "stickyClass"], stickyOffset: "stickyOffset", stickyParent: "stickyParent", stickyTarget: "stickyTarget" }, outputs: { isStickyChange: "isStickyChange" }, exportAs: ["axpSticky"], ngImport: i0 }); }
1235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPStickyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1236
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.4", type: AXPStickyDirective, isStandalone: true, selector: "[axpSticky]", inputs: { stickyClass: ["axpSticky", "stickyClass"], stickyOffset: "stickyOffset", stickyParent: "stickyParent", stickyTarget: "stickyTarget" }, outputs: { isStickyChange: "isStickyChange" }, exportAs: ["axpSticky"], ngImport: i0 }); }
1227
1237
  }
1228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPStickyDirective, decorators: [{
1238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPStickyDirective, decorators: [{
1229
1239
  type: Directive,
1230
1240
  args: [{
1231
1241
  selector: '[axpSticky]',
@@ -1276,26 +1286,365 @@ class AXPLogoComponent {
1276
1286
  this.source = this.platform.isDark() ? this.source.dark : this.source.light;
1277
1287
  }
1278
1288
  }
1279
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1280
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: AXPLogoComponent, isStandalone: true, selector: "axp-logo", inputs: { source: "source" }, host: { classAttribute: "ax-flex ax-justify-center" }, usesOnChanges: true, ngImport: i0, template: "@switch (logoType) { @case ('url') {\n<ax-image [width]=\"source.width\" [height]=\"source.height\" [src]=\"source.url\"></ax-image>\n} @case ('component') {\n<ng-container *ngComponentOutlet=\"source.component\"></ng-container>\n} }\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }] }); }
1289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1290
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXPLogoComponent, isStandalone: true, selector: "axp-logo", inputs: { source: "source" }, host: { classAttribute: "ax-flex ax-justify-center" }, usesOnChanges: true, ngImport: i0, template: "@switch (logoType) { @case ('url') {\n<ax-image [width]=\"source.width\" [height]=\"source.height\" [src]=\"source.url\"></ax-image>\n} @case ('component') {\n<ng-container *ngComponentOutlet=\"source.component\"></ng-container>\n} }\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["width", "height", "overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }] }); }
1281
1291
  }
1282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLogoComponent, decorators: [{
1292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLogoComponent, decorators: [{
1283
1293
  type: Component,
1284
1294
  args: [{ selector: 'axp-logo', imports: [CommonModule, AXImageModule, AXDecoratorModule], host: { class: 'ax-flex ax-justify-center' }, template: "@switch (logoType) { @case ('url') {\n<ax-image [width]=\"source.width\" [height]=\"source.height\" [src]=\"source.url\"></ax-image>\n} @case ('component') {\n<ng-container *ngComponentOutlet=\"source.component\"></ng-container>\n} }\n" }]
1285
1295
  }], propDecorators: { source: [{
1286
1296
  type: Input
1287
1297
  }] } });
1288
1298
 
1299
+ //#region ---- Menu Context Builder ----
1300
+ /**
1301
+ * Creates a rich context for menu manipulation
1302
+ * Similar to entity modifier context pattern
1303
+ */
1304
+ function createMenuContext(items) {
1305
+ const context = {
1306
+ get items() {
1307
+ return items;
1308
+ },
1309
+ find(nameOrPattern) {
1310
+ if (typeof nameOrPattern === 'string') {
1311
+ return context.findByName(nameOrPattern);
1312
+ }
1313
+ const found = context.findByPattern(nameOrPattern);
1314
+ return found.length > 0 ? found[0] : createEmptyFinder();
1315
+ },
1316
+ findByName(name) {
1317
+ return createMenuItemFinder(items, name);
1318
+ },
1319
+ findByPattern(pattern) {
1320
+ const regex = typeof pattern === 'string' ? wildcardToRegex(pattern) : pattern;
1321
+ const results = [];
1322
+ const searchRecursive = (itemList) => {
1323
+ for (const item of itemList) {
1324
+ if (item.name && regex.test(item.name)) {
1325
+ results.push(createMenuItemFinder(items, item.name));
1326
+ }
1327
+ if (item.children) {
1328
+ searchRecursive(item.children);
1329
+ }
1330
+ }
1331
+ };
1332
+ searchRecursive(items);
1333
+ return results;
1334
+ },
1335
+ add(...newItems) {
1336
+ items.push(...newItems);
1337
+ return context;
1338
+ },
1339
+ remove(predicate) {
1340
+ removeRecursive(items, predicate);
1341
+ return context;
1342
+ },
1343
+ sort() {
1344
+ sortItemsRecursively(items);
1345
+ return context;
1346
+ },
1347
+ toArray() {
1348
+ return items;
1349
+ },
1350
+ };
1351
+ return context;
1352
+ }
1353
+ //#endregion
1354
+ //#region ---- Menu Item Finder Implementation ----
1355
+ /**
1356
+ * Creates a finder for a specific menu item
1357
+ */
1358
+ function createMenuItemFinder(rootItems, targetName) {
1359
+ const findItemWithParent = (items, name, parent = { items: rootItems }) => {
1360
+ for (const item of items) {
1361
+ if (item.name === name) {
1362
+ return { item, parent };
1363
+ }
1364
+ if (item.children) {
1365
+ const result = findItemWithParent(item.children, name, { items: item.children });
1366
+ if (result.item) {
1367
+ return result;
1368
+ }
1369
+ }
1370
+ }
1371
+ return { item: undefined, parent };
1372
+ };
1373
+ const finder = {
1374
+ get() {
1375
+ return findItemWithParent(rootItems, targetName).item;
1376
+ },
1377
+ exists() {
1378
+ return finder.get() !== undefined;
1379
+ },
1380
+ update(updater) {
1381
+ const { item } = findItemWithParent(rootItems, targetName);
1382
+ if (item) {
1383
+ const updates = typeof updater === 'function' ? updater(item) : updater;
1384
+ Object.assign(item, updates);
1385
+ }
1386
+ return finder;
1387
+ },
1388
+ remove() {
1389
+ const { item, parent } = findItemWithParent(rootItems, targetName);
1390
+ if (item) {
1391
+ const index = parent.items.indexOf(item);
1392
+ if (index !== -1) {
1393
+ parent.items.splice(index, 1);
1394
+ }
1395
+ }
1396
+ return finder;
1397
+ },
1398
+ hide() {
1399
+ // Hide by removing the item from menu
1400
+ return finder.remove();
1401
+ },
1402
+ show() {
1403
+ // Show is a no-op since items are visible by default
1404
+ // To truly implement show, we'd need to track removed items and re-add them
1405
+ console.warn('show() is not fully implemented - items are visible by default');
1406
+ return finder;
1407
+ },
1408
+ setPriority(priority) {
1409
+ return finder.update({ priority });
1410
+ },
1411
+ addChildren(...children) {
1412
+ const { item } = findItemWithParent(rootItems, targetName);
1413
+ if (item) {
1414
+ item.children = item.children || [];
1415
+ item.children.push(...children);
1416
+ }
1417
+ return finder;
1418
+ },
1419
+ removeChildren(predicate) {
1420
+ const { item } = findItemWithParent(rootItems, targetName);
1421
+ if (item && item.children) {
1422
+ item.children = item.children.filter((c) => !predicate(c));
1423
+ }
1424
+ return finder;
1425
+ },
1426
+ moveTo(parentName) {
1427
+ const { item, parent: oldParent } = findItemWithParent(rootItems, targetName);
1428
+ if (!item) {
1429
+ return finder;
1430
+ }
1431
+ // Remove from old parent
1432
+ const oldIndex = oldParent.items.indexOf(item);
1433
+ if (oldIndex !== -1) {
1434
+ oldParent.items.splice(oldIndex, 1);
1435
+ }
1436
+ // Add to new parent
1437
+ if (parentName === null) {
1438
+ // Move to root
1439
+ rootItems.push(item);
1440
+ }
1441
+ else {
1442
+ const { item: newParentItem } = findItemWithParent(rootItems, parentName);
1443
+ if (newParentItem) {
1444
+ newParentItem.children = newParentItem.children || [];
1445
+ newParentItem.children.push(item);
1446
+ }
1447
+ }
1448
+ return finder;
1449
+ },
1450
+ insertBefore(...items) {
1451
+ const { item, parent } = findItemWithParent(rootItems, targetName);
1452
+ if (item) {
1453
+ const index = parent.items.indexOf(item);
1454
+ if (index !== -1) {
1455
+ parent.items.splice(index, 0, ...items);
1456
+ }
1457
+ }
1458
+ return finder;
1459
+ },
1460
+ insertAfter(...items) {
1461
+ const { item, parent } = findItemWithParent(rootItems, targetName);
1462
+ if (item) {
1463
+ const index = parent.items.indexOf(item);
1464
+ if (index !== -1) {
1465
+ parent.items.splice(index + 1, 0, ...items);
1466
+ }
1467
+ }
1468
+ return finder;
1469
+ },
1470
+ };
1471
+ return finder;
1472
+ }
1473
+ /**
1474
+ * Creates an empty finder for items not found
1475
+ */
1476
+ function createEmptyFinder() {
1477
+ return {
1478
+ get: () => undefined,
1479
+ exists: () => false,
1480
+ update: () => createEmptyFinder(),
1481
+ remove: () => createEmptyFinder(),
1482
+ hide: () => createEmptyFinder(),
1483
+ show: () => createEmptyFinder(),
1484
+ setPriority: () => createEmptyFinder(),
1485
+ addChildren: () => createEmptyFinder(),
1486
+ removeChildren: () => createEmptyFinder(),
1487
+ moveTo: () => createEmptyFinder(),
1488
+ insertBefore: () => createEmptyFinder(),
1489
+ insertAfter: () => createEmptyFinder(),
1490
+ };
1491
+ }
1492
+ //#endregion
1493
+ //#region ---- Helper Functions ----
1494
+ /**
1495
+ * Converts wildcard pattern to regex
1496
+ */
1497
+ function wildcardToRegex(pattern) {
1498
+ const escaped = pattern.replace(/[.+?^${}()|\[\]\\]/g, '\\$&');
1499
+ const regexStr = `^${escaped.replace(/\*/g, '.*')}$`;
1500
+ return new RegExp(regexStr);
1501
+ }
1502
+ /**
1503
+ * Recursively removes items matching predicate
1504
+ */
1505
+ function removeRecursive(items, predicate) {
1506
+ for (let i = items.length - 1; i >= 0; i--) {
1507
+ const item = items[i];
1508
+ if (predicate(item)) {
1509
+ items.splice(i, 1);
1510
+ }
1511
+ else if (item.children) {
1512
+ removeRecursive(item.children, predicate);
1513
+ }
1514
+ }
1515
+ }
1516
+ /**
1517
+ * Recursively sorts items by priority
1518
+ */
1519
+ function sortItemsRecursively(items) {
1520
+ items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
1521
+ items.forEach((item) => {
1522
+ if (item.children && item.children.length > 0) {
1523
+ sortItemsRecursively(item.children);
1524
+ }
1525
+ });
1526
+ }
1527
+ //#endregion
1528
+
1529
+ /**
1530
+ * Injection token for menu middlewares (multi-provider)
1531
+ */
1532
+ const AXP_MENU_MIDDLEWARE = new InjectionToken('AXP_MENU_MIDDLEWARE');
1533
+ //#endregion
1534
+
1535
+ //#region ---- Menu Middleware Registry ----
1536
+ /**
1537
+ * Central service for managing menu middlewares with priority-based ordering
1538
+ * Similar to token registry pattern used in identifier-management
1539
+ */
1540
+ class AXPMenuMiddlewareRegistry {
1541
+ constructor() {
1542
+ //#region ---- Fields ----
1543
+ /**
1544
+ * Manually registered middlewares
1545
+ */
1546
+ this.manualMiddlewares = new Map();
1547
+ /**
1548
+ * Provider-based middlewares (multi-provider injection)
1549
+ */
1550
+ this.providerMiddlewares = inject(AXP_MENU_MIDDLEWARE, { optional: true }) ?? [];
1551
+ }
1552
+ //#endregion
1553
+ //#region ---- Registration Methods ----
1554
+ /**
1555
+ * Manually register a middleware
1556
+ * @param middleware - The middleware to register
1557
+ */
1558
+ register(middleware) {
1559
+ const name = middleware.name || `middleware_${Date.now()}_${Math.random()}`;
1560
+ const existing = this.manualMiddlewares.get(name);
1561
+ if (!existing || (middleware.priority ?? 0) > (existing.priority ?? 0)) {
1562
+ this.manualMiddlewares.set(name, middleware);
1563
+ }
1564
+ }
1565
+ /**
1566
+ * Unregister a middleware by name
1567
+ * @param name - The name of the middleware to remove
1568
+ */
1569
+ unregister(name) {
1570
+ this.manualMiddlewares.delete(name);
1571
+ }
1572
+ /**
1573
+ * Get a specific middleware by name
1574
+ * @param name - The middleware name
1575
+ */
1576
+ get(name) {
1577
+ // Provider-provided middlewares take precedence
1578
+ const fromProvider = this.providerMiddlewares
1579
+ .filter((m) => m.name === name)
1580
+ .sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0))[0];
1581
+ if (fromProvider) {
1582
+ return fromProvider;
1583
+ }
1584
+ return this.manualMiddlewares.get(name);
1585
+ }
1586
+ /**
1587
+ * Get all middlewares sorted by priority (highest first)
1588
+ * Combines provider-based and manually registered middlewares
1589
+ */
1590
+ list() {
1591
+ const map = new Map();
1592
+ // Helper to add middleware, respecting priority
1593
+ const addMiddleware = (m) => {
1594
+ const name = m.name || `anonymous_${Date.now()}`;
1595
+ const existing = map.get(name);
1596
+ if (!existing || (m.priority ?? 0) > (existing.priority ?? 0)) {
1597
+ map.set(name, m);
1598
+ }
1599
+ };
1600
+ // Add provider middlewares first (higher precedence)
1601
+ this.providerMiddlewares.forEach(addMiddleware);
1602
+ // Add manual middlewares
1603
+ Array.from(this.manualMiddlewares.values()).forEach(addMiddleware);
1604
+ // Return sorted by priority (highest first)
1605
+ return Array.from(map.values()).sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
1606
+ }
1607
+ /**
1608
+ * Check if a middleware exists
1609
+ * @param name - The middleware name
1610
+ */
1611
+ exists(name) {
1612
+ return this.get(name) !== undefined;
1613
+ }
1614
+ /**
1615
+ * Clear all manually registered middlewares
1616
+ * Provider-based middlewares are not affected
1617
+ */
1618
+ clear() {
1619
+ this.manualMiddlewares.clear();
1620
+ }
1621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuMiddlewareRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1622
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuMiddlewareRegistry, providedIn: 'root' }); }
1623
+ }
1624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuMiddlewareRegistry, decorators: [{
1625
+ type: Injectable,
1626
+ args: [{ providedIn: 'root' }]
1627
+ }] });
1628
+
1289
1629
  const AXP_MENU_PROVIDER = new InjectionToken('AXP_MENU_PROVIDER');
1290
1630
  class AXPMenuProviderService {
1291
1631
  constructor() {
1632
+ //#region ---- Dependencies ----
1292
1633
  this.providers = inject(AXP_MENU_PROVIDER, { optional: true });
1634
+ this.middlewareRegistry = inject(AXPMenuMiddlewareRegistry);
1635
+ //#endregion
1636
+ //#region ---- State ----
1293
1637
  this.cache = null;
1294
1638
  this.pendingInserts = [];
1295
1639
  this.pendingRemovals = [];
1296
1640
  this.pendingUpdates = [];
1297
1641
  this.pendingAdditions = [];
1298
1642
  }
1643
+ //#endregion
1644
+ //#region ---- Public API ----
1645
+ /**
1646
+ * Get menu items with middlewares applied (for end-user display)
1647
+ */
1299
1648
  async items() {
1300
1649
  // Return cached items if available
1301
1650
  if (this.cache) {
@@ -1312,12 +1661,65 @@ class AXPMenuProviderService {
1312
1661
  this.applyPendingOperations(items);
1313
1662
  // Sort items by priority
1314
1663
  items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
1664
+ // Apply middlewares using registry (sorted by priority)
1665
+ await this.applyMiddlewares(items);
1315
1666
  // ADD level property to items
1316
1667
  setMenuItemMeta(items);
1317
1668
  // Cache the computed items
1318
1669
  this.cache = items;
1319
1670
  return items;
1320
1671
  }
1672
+ /**
1673
+ * Get raw menu items WITHOUT middleware applied (for management/editing)
1674
+ * Used by menu management pages to show original items before customization
1675
+ */
1676
+ async rawItems() {
1677
+ const items = [];
1678
+ const context = this.createMenuProviderContext(items);
1679
+ if (Array.isArray(this.providers)) {
1680
+ for (const provider of this.providers) {
1681
+ await provider.provide(context);
1682
+ }
1683
+ }
1684
+ // Apply pending operations
1685
+ this.applyPendingOperations(items);
1686
+ // Sort items by priority
1687
+ items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
1688
+ // ADD level property to items (but NO middleware)
1689
+ setMenuItemMeta(items);
1690
+ return items;
1691
+ }
1692
+ /**
1693
+ * Clear the cache to force reload of menu items
1694
+ */
1695
+ clearCache() {
1696
+ this.cache = null;
1697
+ this.pendingInserts = [];
1698
+ this.pendingRemovals = [];
1699
+ this.pendingUpdates = [];
1700
+ this.pendingAdditions = [];
1701
+ }
1702
+ //#endregion
1703
+ //#region ---- Private Methods ----
1704
+ /**
1705
+ * Apply middlewares in priority order using the enhanced context API
1706
+ */
1707
+ async applyMiddlewares(items) {
1708
+ const middlewares = this.middlewareRegistry.list();
1709
+ for (const middleware of middlewares) {
1710
+ try {
1711
+ const context = createMenuContext(items);
1712
+ await middleware.process(context);
1713
+ // The context mutates the items array, so no need to reassign
1714
+ }
1715
+ catch (error) {
1716
+ console.error(`Error in menu middleware ${middleware.name || 'anonymous'}:`, error);
1717
+ }
1718
+ }
1719
+ }
1720
+ /**
1721
+ * Create provider context for menu providers
1722
+ */
1321
1723
  createMenuProviderContext(items) {
1322
1724
  return {
1323
1725
  addItems: (newItems) => {
@@ -1414,18 +1816,10 @@ class AXPMenuProviderService {
1414
1816
  }
1415
1817
  return { foundItem: null, parentItems: items };
1416
1818
  }
1417
- // Method to clear the cache, if needed (e.g., when providers change)
1418
- clearCache() {
1419
- this.cache = null;
1420
- this.pendingInserts = [];
1421
- this.pendingRemovals = [];
1422
- this.pendingUpdates = [];
1423
- this.pendingAdditions = [];
1424
- }
1425
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPMenuProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1426
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPMenuProviderService, providedIn: 'root' }); }
1819
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1820
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuProviderService, providedIn: 'root' }); }
1427
1821
  }
1428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPMenuProviderService, decorators: [{
1822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPMenuProviderService, decorators: [{
1429
1823
  type: Injectable,
1430
1824
  args: [{ providedIn: 'root' }]
1431
1825
  }] });
@@ -1445,6 +1839,57 @@ function setMenuItemMeta(items, parentIndex = '', depth = 0) {
1445
1839
  });
1446
1840
  }
1447
1841
 
1842
+ //#region ---- Menu Middleware Provider Helper ----
1843
+ /**
1844
+ * Helper function to provide menu middlewares with proper DI setup
1845
+ * Similar to provideCommandMiddleware pattern
1846
+ *
1847
+ * @example
1848
+ * ```typescript
1849
+ * // In app.config.ts or module providers
1850
+ * export const appConfig: ApplicationConfig = {
1851
+ * providers: [
1852
+ * provideMenuMiddleware([
1853
+ * customizationMiddleware,
1854
+ * securityMiddleware,
1855
+ * loggingMiddleware
1856
+ * ])
1857
+ * ]
1858
+ * };
1859
+ * ```
1860
+ */
1861
+ function provideMenuMiddleware(middlewares) {
1862
+ return makeEnvironmentProviders([
1863
+ ...middlewares.map((middleware) => ({
1864
+ provide: AXP_MENU_MIDDLEWARE,
1865
+ useValue: middleware,
1866
+ multi: true,
1867
+ })),
1868
+ ]);
1869
+ }
1870
+ /**
1871
+ * Helper to create a class-based middleware with priority
1872
+ *
1873
+ * @example
1874
+ * ```typescript
1875
+ * const myMiddleware = createMenuMiddleware({
1876
+ * name: 'my-middleware',
1877
+ * priority: 100,
1878
+ * process: async (context) => {
1879
+ * context.find('dashboard').setPriority(1);
1880
+ * }
1881
+ * });
1882
+ * ```
1883
+ */
1884
+ function createMenuMiddleware(config) {
1885
+ return {
1886
+ name: config.name,
1887
+ priority: config.priority ?? 0,
1888
+ process: config.process,
1889
+ };
1890
+ }
1891
+ //#endregion
1892
+
1448
1893
  const AXPMenuService = signalStore({ providedIn: 'root' },
1449
1894
  // Initial State
1450
1895
  withState((router = inject(Router)) => {
@@ -1463,7 +1908,7 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1463
1908
  patchState(store, { items: items });
1464
1909
  },
1465
1910
  selectMenuItemByRoute(path) {
1466
- const pathWithoutQuery = path.split('?')[0];
1911
+ const currentRawPath = path;
1467
1912
  const findItem = (items) => {
1468
1913
  for (const item of items) {
1469
1914
  // Recursively search children first
@@ -1474,8 +1919,8 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1474
1919
  }
1475
1920
  }
1476
1921
  if (item.path) {
1477
- // Check if the item path matches the current path
1478
- const matchResult = pathsMatch(item.path, pathWithoutQuery, ['list', 'view', 'edit', 'create']);
1922
+ // Check if the item path matches the current path (including query param subset if provided on item)
1923
+ const matchResult = pathsMatch(item.path, currentRawPath, ['list', 'view', 'edit', 'create']);
1479
1924
  if (matchResult.isMatch) {
1480
1925
  return { item, isPartialMatch: matchResult.isPartial };
1481
1926
  }
@@ -1484,8 +1929,13 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1484
1929
  return { item: null, isPartialMatch: false };
1485
1930
  };
1486
1931
  const pathsMatch = (itemPath, currentPath, trailingSegmentsToIgnore = []) => {
1487
- const itemSegments = itemPath.split('/').filter((segment) => segment.length > 0);
1488
- const pathSegments = currentPath.split('/').filter((segment) => segment.length > 0);
1932
+ // Split base and query/hash
1933
+ const itemNoHash = itemPath.split('#')[0];
1934
+ const currentNoHash = currentPath.split('#')[0];
1935
+ const [itemBase, itemQueryString = ''] = itemNoHash.split('?');
1936
+ const [currentBase, currentQueryString = ''] = currentNoHash.split('?');
1937
+ const itemSegments = itemBase.split('/').filter((segment) => segment.length > 0);
1938
+ const pathSegments = currentBase.split('/').filter((segment) => segment.length > 0);
1489
1939
  const menuLength = itemSegments.length;
1490
1940
  const pathLength = pathSegments.length;
1491
1941
  // Identify the effective base length for the menuPath
@@ -1511,8 +1961,24 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
1511
1961
  const isPartialMatch = effectiveMenuLength < pathLength;
1512
1962
  // Exact match: all segments match completely
1513
1963
  const isExactMatch = effectiveMenuLength === pathLength;
1964
+ // Query params subset match: if item defines any query params, require them to match
1965
+ const itemParams = new URLSearchParams(itemQueryString);
1966
+ const currentParams = new URLSearchParams(currentQueryString);
1967
+ let queryMatches = true;
1968
+ const itemParamPairs = [];
1969
+ itemParams.forEach((value, key) => {
1970
+ itemParamPairs.push([key, value]);
1971
+ });
1972
+ if (itemParamPairs.length > 0) {
1973
+ for (const [k, v] of itemParamPairs) {
1974
+ if (currentParams.get(k) !== v) {
1975
+ queryMatches = false;
1976
+ break;
1977
+ }
1978
+ }
1979
+ }
1514
1980
  return {
1515
- isMatch: isExactMatch || isPartialMatch,
1981
+ isMatch: (isExactMatch || isPartialMatch) && queryMatches,
1516
1982
  isPartial: isPartialMatch && !isExactMatch,
1517
1983
  };
1518
1984
  };
@@ -1634,12 +2100,12 @@ class AXPMenuSearchProvider {
1634
2100
  }
1635
2101
 
1636
2102
  class AXPFooterTextSlotComponent {
1637
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFooterTextSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1638
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: AXPFooterTextSlotComponent, isStandalone: true, selector: "ng-component", inputs: { text: "text" }, ngImport: i0, template: `
2103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFooterTextSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2104
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.4", type: AXPFooterTextSlotComponent, isStandalone: true, selector: "ng-component", inputs: { text: "text" }, ngImport: i0, template: `
1639
2105
  <small class="ax-text-sm" [innerHTML]="text"></small>
1640
2106
  `, isInline: true }); }
1641
2107
  }
1642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFooterTextSlotComponent, decorators: [{
2108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFooterTextSlotComponent, decorators: [{
1643
2109
  type: Component,
1644
2110
  args: [{
1645
2111
  template: `
@@ -1656,8 +2122,8 @@ class AXPNavBarSlotComponent {
1656
2122
  // if (action)
1657
2123
  // this.store.dispatch(action)
1658
2124
  }
1659
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPNavBarSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1660
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: AXPNavBarSlotComponent, isStandalone: true, selector: "ng-component", inputs: { items: "items" }, ngImport: i0, template: `
2125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPNavBarSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXPNavBarSlotComponent, isStandalone: true, selector: "ng-component", inputs: { items: "items" }, ngImport: i0, template: `
1661
2127
  <div class="ax-flex ax-items-center ax-justify-between ax-gap-5">
1662
2128
  @for (link of items; track link) {
1663
2129
  <a (click)="handleCommand(link.command)" >{{ link.text }}</a>
@@ -1665,7 +2131,7 @@ class AXPNavBarSlotComponent {
1665
2131
  </div>
1666
2132
  `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
1667
2133
  }
1668
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPNavBarSlotComponent, decorators: [{
2134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPNavBarSlotComponent, decorators: [{
1669
2135
  type: Component,
1670
2136
  args: [{
1671
2137
  template: `
@@ -1796,10 +2262,10 @@ class AXPSearchDefinitionProviderService {
1796
2262
  }
1797
2263
  return definition;
1798
2264
  }
1799
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1800
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchDefinitionProviderService, providedIn: 'root' }); }
2265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2266
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchDefinitionProviderService, providedIn: 'root' }); }
1801
2267
  }
1802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchDefinitionProviderService, decorators: [{
2268
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchDefinitionProviderService, decorators: [{
1803
2269
  type: Injectable,
1804
2270
  args: [{ providedIn: 'root' }]
1805
2271
  }] });
@@ -1883,14 +2349,19 @@ class AXPSearchService {
1883
2349
  groupedData.sort((a, b) => a.order - b.order);
1884
2350
  return groupedData;
1885
2351
  }
1886
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1887
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchService, providedIn: 'root' }); }
2352
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2353
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchService, providedIn: 'root' }); }
1888
2354
  }
1889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPSearchService, decorators: [{
2355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPSearchService, decorators: [{
1890
2356
  type: Injectable,
1891
2357
  args: [{ providedIn: 'root' }]
1892
2358
  }] });
1893
2359
 
2360
+ var AXPCommonSettings;
2361
+ (function (AXPCommonSettings) {
2362
+ AXPCommonSettings["EnableOperationToasts"] = "general:notifications:enable-operation-toasts";
2363
+ })(AXPCommonSettings || (AXPCommonSettings = {}));
2364
+
1894
2365
  //TODO Loading, Redirect, Drawer, Show toast
1895
2366
  const AXPRedirectEvent = createWorkFlowEvent('Redirect Event Fired');
1896
2367
  const AXPRefreshEvent = createWorkFlowEvent('Refresh Event Fired');
@@ -1913,10 +2384,10 @@ class AXPWorkflowNavigateAction extends AXPWorkflowAction {
1913
2384
  this.router.navigate([payload.commands], payload.extras);
1914
2385
  }
1915
2386
  }
1916
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1917
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowNavigateAction }); }
2387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2388
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowNavigateAction }); }
1918
2389
  }
1919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowNavigateAction, decorators: [{
2390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowNavigateAction, decorators: [{
1920
2391
  type: Injectable
1921
2392
  }] });
1922
2393
  class AXPDialogConfirmAction extends AXPWorkflowAction {
@@ -1927,14 +2398,15 @@ class AXPDialogConfirmAction extends AXPWorkflowAction {
1927
2398
  this.defaultAction = 'cancel';
1928
2399
  }
1929
2400
  async execute(context) {
2401
+ console.log('AXPDialogConfirmAction', this.title, this.message, this.type);
1930
2402
  context.setOutput('result', false);
1931
2403
  const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync(this.title), await this.translationService.translateAsync(this.message), (await this.translationService.translateAsync(this.type)), 'horizontal', false, 'cancel');
1932
2404
  context.setOutput('result', dialogResult.result);
1933
2405
  }
1934
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPDialogConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1935
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPDialogConfirmAction }); }
2406
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPDialogConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2407
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPDialogConfirmAction }); }
1936
2408
  }
1937
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPDialogConfirmAction, decorators: [{
2409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPDialogConfirmAction, decorators: [{
1938
2410
  type: Injectable
1939
2411
  }] });
1940
2412
  class AXPToastAction extends AXPWorkflowAction {
@@ -1942,11 +2414,10 @@ class AXPToastAction extends AXPWorkflowAction {
1942
2414
  super(...arguments);
1943
2415
  this.toastService = inject(AXToastService);
1944
2416
  this.translationService = inject(AXTranslationService);
2417
+ this.settingService = inject(AXPSettingService);
1945
2418
  }
1946
2419
  async execute(context) {
1947
- const options = context.getVariable('options');
1948
- const process = options?.['process'];
1949
- const showResult = process?.showResult ?? true;
2420
+ const showResult = await this.settingService.get(AXPCommonSettings.EnableOperationToasts);
1950
2421
  if (showResult) {
1951
2422
  this.toastService.show({
1952
2423
  color: this.color,
@@ -1958,20 +2429,20 @@ class AXPToastAction extends AXPWorkflowAction {
1958
2429
  });
1959
2430
  }
1960
2431
  }
1961
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPToastAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1962
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPToastAction }); }
2432
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPToastAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2433
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPToastAction }); }
1963
2434
  }
1964
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPToastAction, decorators: [{
2435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPToastAction, decorators: [{
1965
2436
  type: Injectable
1966
2437
  }] });
1967
2438
  class AXPReloadAction extends AXPWorkflowAction {
1968
2439
  async execute(context) {
1969
2440
  this.dispatch(AXPReloadEvent({ entity: context.getVariable('entity'), meta: context.getVariable('meta') }));
1970
2441
  }
1971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPReloadAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1972
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPReloadAction }); }
2442
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPReloadAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2443
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPReloadAction }); }
1973
2444
  }
1974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPReloadAction, decorators: [{
2445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPReloadAction, decorators: [{
1975
2446
  type: Injectable
1976
2447
  }] });
1977
2448
 
@@ -2011,10 +2482,10 @@ class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {
2011
2482
  return params;
2012
2483
  }, {});
2013
2484
  }
2014
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowRouterNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2015
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowRouterNavigateAction }); }
2485
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowRouterNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2486
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowRouterNavigateAction }); }
2016
2487
  }
2017
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPWorkflowRouterNavigateAction, decorators: [{
2488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPWorkflowRouterNavigateAction, decorators: [{
2018
2489
  type: Injectable
2019
2490
  }] });
2020
2491
  const AXPNavigateWorkflow = {
@@ -2039,84 +2510,13 @@ class AXMWorkflowErrorHandler {
2039
2510
  next(error);
2040
2511
  }
2041
2512
  }
2042
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMWorkflowErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2043
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMWorkflowErrorHandler }); }
2513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMWorkflowErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2514
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMWorkflowErrorHandler }); }
2044
2515
  }
2045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMWorkflowErrorHandler, decorators: [{
2516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMWorkflowErrorHandler, decorators: [{
2046
2517
  type: Injectable
2047
2518
  }] });
2048
2519
 
2049
- const AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER = new InjectionToken('AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER', {
2050
- factory: () => [],
2051
- });
2052
-
2053
- //#region ---- Imports ----
2054
- //#endregion
2055
- class AXPGlobalVariableDefinitionService {
2056
- constructor() {
2057
- //#region ---- Providers & Caches ----
2058
- this.definitionProviders = inject(AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, { optional: true }) || [];
2059
- /** Cache for definitions by name. */
2060
- this.definitionsByName = new Map();
2061
- }
2062
- //#endregion
2063
- //#region ---- Public API ----
2064
- /**
2065
- * Returns a report definition by its id.
2066
- * First checks the cache, then queries all providers if not found.
2067
- * @param name The global variable name.
2068
- * @returns The global variable definition if found, undefined otherwise.
2069
- */
2070
- async getByName(name) {
2071
- // Check cache first
2072
- if (this.definitionsByName.has(name)) {
2073
- return this.definitionsByName.get(name);
2074
- }
2075
- // Not in cache, query providers (each provider is itself a global variable definition)
2076
- const resolvedProviders = await Promise.all(this.definitionProviders);
2077
- const match = resolvedProviders.find(def => def?.name === name);
2078
- if (match) {
2079
- this.definitionsByName.set(name, match);
2080
- return match;
2081
- }
2082
- return undefined;
2083
- }
2084
- async execute(name) {
2085
- const definition = await this.getByName(name);
2086
- if (definition) {
2087
- return await definition.execute();
2088
- }
2089
- return undefined;
2090
- }
2091
- //#endregion
2092
- //#region ---- Cache Management ----
2093
- /** Clears the definitions by name cache. */
2094
- clearDefinitionsCache() {
2095
- this.definitionsByName.clear();
2096
- }
2097
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalVariableDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2098
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalVariableDefinitionService, providedIn: 'root' }); }
2099
- }
2100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPGlobalVariableDefinitionService, decorators: [{
2101
- type: Injectable,
2102
- args: [{
2103
- providedIn: 'root',
2104
- }]
2105
- }] });
2106
-
2107
- class AXPGlobalVariableEvaluatorScopeProvider {
2108
- constructor() {
2109
- this.globalVariableService = inject(AXPGlobalVariableDefinitionService);
2110
- }
2111
- async provide(context) {
2112
- context.addScope('variables', {
2113
- execute: async (name) => {
2114
- return await this.globalVariableService.execute(name);
2115
- }
2116
- });
2117
- }
2118
- }
2119
-
2120
2520
  class AXPCommonModule {
2121
2521
  static forRoot(configs) {
2122
2522
  return {
@@ -2166,11 +2566,11 @@ class AXPCommonModule {
2166
2566
  },
2167
2567
  });
2168
2568
  }
2169
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, deps: [{ token: 'AXPCommonModuleFactory' }, { token: i1$1.AXPAppStartUpService }, { token: AXPSettingService }], target: i0.ɵɵFactoryTarget.NgModule }); }
2170
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, imports: [i3.AXPWorkflowModule, AXPopupModule,
2569
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, deps: [{ token: 'AXPCommonModuleFactory' }, { token: i1$1.AXPAppStartUpService }, { token: AXPSettingService }], target: i0.ɵɵFactoryTarget.NgModule }); }
2570
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, imports: [i3.AXPWorkflowModule, AXPopupModule,
2171
2571
  AXDateTimeModule,
2172
2572
  AXToastModule], exports: [RouterModule] }); }
2173
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, providers: [
2573
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, providers: [
2174
2574
  AXPAppStartUpProvider,
2175
2575
  {
2176
2576
  provide: ErrorHandler,
@@ -2199,12 +2599,21 @@ class AXPCommonModule {
2199
2599
  useClass: AXPGlobalVariableEvaluatorScopeProvider,
2200
2600
  multi: true,
2201
2601
  },
2602
+ {
2603
+ provide: AXP_SETTING_DEFINITION_PROVIDER,
2604
+ useFactory: async () => {
2605
+ const injector = inject(Injector);
2606
+ const provider = (await import('./acorex-platform-common-common-settings.provider-9OHien_H.mjs')).AXPCommonSettingProvider;
2607
+ return new provider(injector);
2608
+ },
2609
+ multi: true,
2610
+ },
2202
2611
  ], imports: [AXPWorkflowModule.forChild({
2203
2612
  actions: {
2204
2613
  'navigate-router': AXPWorkflowRouterNavigateAction,
2205
2614
  'show-prompt-dialog': AXPDialogConfirmAction,
2206
2615
  'show-toast': AXPToastAction,
2207
- 'reload': AXPReloadAction,
2616
+ reload: AXPReloadAction,
2208
2617
  },
2209
2618
  workflows: {
2210
2619
  navigate: AXPNavigateWorkflow,
@@ -2214,7 +2623,7 @@ class AXPCommonModule {
2214
2623
  AXDateTimeModule,
2215
2624
  AXToastModule, RouterModule] }); }
2216
2625
  }
2217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPCommonModule, decorators: [{
2626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonModule, decorators: [{
2218
2627
  type: NgModule,
2219
2628
  args: [{
2220
2629
  imports: [
@@ -2223,7 +2632,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
2223
2632
  'navigate-router': AXPWorkflowRouterNavigateAction,
2224
2633
  'show-prompt-dialog': AXPDialogConfirmAction,
2225
2634
  'show-toast': AXPToastAction,
2226
- 'reload': AXPReloadAction,
2635
+ reload: AXPReloadAction,
2227
2636
  },
2228
2637
  workflows: {
2229
2638
  navigate: AXPNavigateWorkflow,
@@ -2263,6 +2672,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
2263
2672
  useClass: AXPGlobalVariableEvaluatorScopeProvider,
2264
2673
  multi: true,
2265
2674
  },
2675
+ {
2676
+ provide: AXP_SETTING_DEFINITION_PROVIDER,
2677
+ useFactory: async () => {
2678
+ const injector = inject(Injector);
2679
+ const provider = (await import('./acorex-platform-common-common-settings.provider-9OHien_H.mjs')).AXPCommonSettingProvider;
2680
+ return new provider(injector);
2681
+ },
2682
+ multi: true,
2683
+ },
2266
2684
  ],
2267
2685
  }]
2268
2686
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -2291,10 +2709,10 @@ function configPlatform(config = AXPPlatformDefaultConfigs) {
2291
2709
  const AXP_ROOT_CONFIG_TOKEN = new InjectionToken('AXP_ROOT_CONFIG_TOKEN');
2292
2710
 
2293
2711
  class AXPFileStorageService {
2294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2295
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileStorageService }); }
2712
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2713
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileStorageService }); }
2296
2714
  }
2297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileStorageService, decorators: [{
2715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileStorageService, decorators: [{
2298
2716
  type: Injectable
2299
2717
  }] });
2300
2718
 
@@ -2324,19 +2742,19 @@ class AXPFileTypeProviderService {
2324
2742
  async get(name) {
2325
2743
  return (await this.items()).find((c) => c.name == name);
2326
2744
  }
2327
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileTypeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2328
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileTypeProviderService, providedIn: 'root' }); }
2745
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileTypeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2746
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileTypeProviderService, providedIn: 'root' }); }
2329
2747
  }
2330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPFileTypeProviderService, decorators: [{
2748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPFileTypeProviderService, decorators: [{
2331
2749
  type: Injectable,
2332
2750
  args: [{ providedIn: 'root' }]
2333
2751
  }] });
2334
2752
 
2335
2753
  class AXPLockService {
2336
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2337
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLockService }); }
2754
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2755
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLockService }); }
2338
2756
  }
2339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPLockService, decorators: [{
2757
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPLockService, decorators: [{
2340
2758
  type: Injectable
2341
2759
  }] });
2342
2760
 
@@ -2353,10 +2771,10 @@ class AXPClipBoardService {
2353
2771
  navigator.clipboard.writeText(value);
2354
2772
  this.toast.success(`${title} copied!`);
2355
2773
  }
2356
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPClipBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2357
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPClipBoardService, providedIn: 'root' }); }
2774
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPClipBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2775
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPClipBoardService, providedIn: 'root' }); }
2358
2776
  }
2359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPClipBoardService, decorators: [{
2777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPClipBoardService, decorators: [{
2360
2778
  type: Injectable,
2361
2779
  args: [{
2362
2780
  providedIn: 'root',
@@ -2373,7 +2791,7 @@ class AXMOrgChartPrintPage extends AXBasePageComponent {
2373
2791
  this.width = model(...(ngDevMode ? [undefined, { debugName: "width" }] : []));
2374
2792
  this.height = model(...(ngDevMode ? [undefined, { debugName: "height" }] : []));
2375
2793
  this.quality = model(...(ngDevMode ? [undefined, { debugName: "quality" }] : []));
2376
- this.qualityComputed = linkedSignal(() => (this.data.quality ?? 1) * 100);
2794
+ this.qualityComputed = linkedSignal(() => (this.data.quality ?? 1) * 100, ...(ngDevMode ? [{ debugName: "qualityComputed" }] : []));
2377
2795
  this.scale = model(...(ngDevMode ? [undefined, { debugName: "scale" }] : []));
2378
2796
  this.#init = afterNextRender(() => {
2379
2797
  this.bgcolor.set(this.data.bgcolor);
@@ -2411,8 +2829,8 @@ class AXMOrgChartPrintPage extends AXBasePageComponent {
2411
2829
  isCanceled,
2412
2830
  });
2413
2831
  }
2414
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMOrgChartPrintPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2415
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.8", type: AXMOrgChartPrintPage, isStandalone: true, selector: "ng-component", inputs: { bgcolor: { classPropertyName: "bgcolor", publicName: "bgcolor", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, quality: { classPropertyName: "quality", publicName: "quality", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { bgcolor: "bgcolorChange", width: "widthChange", height: "heightChange", quality: "qualityChange", scale: "scaleChange" }, usesInheritance: true, ngImport: i0, template: ` <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
2832
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMOrgChartPrintPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2833
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.4", type: AXMOrgChartPrintPage, isStandalone: true, selector: "ng-component", inputs: { bgcolor: { classPropertyName: "bgcolor", publicName: "bgcolor", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, quality: { classPropertyName: "quality", publicName: "quality", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { bgcolor: "bgcolorChange", width: "widthChange", height: "heightChange", quality: "qualityChange", scale: "scaleChange" }, usesInheritance: true, ngImport: i0, template: ` <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
2416
2834
  <ax-label>Resolution (px)</ax-label>
2417
2835
  <div class="ax-flex ax-gap-2 ax-items-center">
2418
2836
  <ax-number-box
@@ -2461,9 +2879,9 @@ class AXMOrgChartPrintPage extends AXBasePageComponent {
2461
2879
  <ax-icon class="fa-solid fa-print"> </ax-icon>
2462
2880
  </ax-button>
2463
2881
  </ax-suffix>
2464
- </ax-footer>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i2$1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "type", "changeOnScroll", "allDigits", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i3$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.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: AXButtonModule }, { kind: "component", type: i5.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: "ngmodule", type: AXColorBoxModule }, { kind: "component", type: i6.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "showBadge", "showValue", "showClearButton", "showIcon"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }] }); }
2882
+ </ax-footer>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i2$1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i3$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.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: AXButtonModule }, { kind: "component", type: i5.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: "ngmodule", type: AXColorBoxModule }, { kind: "component", type: i6.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "showBadge", "showValue", "showClearButton", "showIcon"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }] }); }
2465
2883
  }
2466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMOrgChartPrintPage, decorators: [{
2884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXMOrgChartPrintPage, decorators: [{
2467
2885
  type: Component,
2468
2886
  args: [{
2469
2887
  template: ` <div class="ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center">
@@ -2577,10 +2995,10 @@ class AXPExportService {
2577
2995
  document.body.removeChild(link);
2578
2996
  URL.revokeObjectURL(link.href);
2579
2997
  }
2580
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2581
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPExportService, providedIn: 'root' }); }
2998
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2999
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPExportService, providedIn: 'root' }); }
2582
3000
  }
2583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXPExportService, decorators: [{
3001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPExportService, decorators: [{
2584
3002
  type: Injectable,
2585
3003
  args: [{
2586
3004
  providedIn: 'root',
@@ -2610,9 +3028,22 @@ function AXPCleanNestedFilters(filters) {
2610
3028
  .filter(Boolean);
2611
3029
  }
2612
3030
 
3031
+ //#region ---- Versioning Types ----
3032
+ var AXVChangeType;
3033
+ (function (AXVChangeType) {
3034
+ AXVChangeType["Create"] = "Create";
3035
+ AXVChangeType["Update"] = "Update";
3036
+ AXVChangeType["Delete"] = "Delete";
3037
+ })(AXVChangeType || (AXVChangeType = {}));
3038
+ //#endregion
3039
+ //#region ---- Service Contract ----
3040
+ class AXPVersioningService {
3041
+ }
3042
+ //#endregion
3043
+
2613
3044
  /**
2614
3045
  * Generated bundle index. Do not edit.
2615
3046
  */
2616
3047
 
2617
- export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPGlobalVariableDefinitionService, AXPGlobalVariableEvaluatorScopeProvider, AXPGridLayoutDirective, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPLogoComponent, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingService, AXPStickyDirective, AXPToastAction, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createQueryView, getEntityInfo, provideDynamicHomePage };
3048
+ export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPGlobalVariableDefinitionService, AXPGlobalVariableEvaluatorScopeProvider, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPLogoComponent, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingService, AXPStickyDirective, AXPToastAction, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, provideDynamicHomePage, provideMenuMiddleware };
2618
3049
  //# sourceMappingURL=acorex-platform-common.mjs.map