@acorex/platform 20.3.0-next.0 → 20.3.0-next.10

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 (112) hide show
  1. package/common/index.d.ts +8 -9
  2. package/core/index.d.ts +597 -46
  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.mjs +111 -163
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +759 -113
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +16 -16
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +518 -95
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components.mjs +1997 -215
  14. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +86 -79
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity-create-entity.command-764ie8R8.mjs +52 -0
  18. package/fesm2022/acorex-platform-layout-entity-create-entity.command-764ie8R8.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-layout-entity.mjs +1650 -916
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +37 -29
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-native.mjs +7 -7
  24. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  26. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  27. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs → acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs} +5 -5
  28. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-D3VUh8K8.mjs → acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs} +30 -31
  30. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +101 -0
  32. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BMkhNfF4.mjs → acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs} +7 -7
  34. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BMkhNfF4.mjs.map → acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs} +4 -4
  36. package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs.map → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs} +4 -4
  38. package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs.map → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map} +1 -1
  39. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs} +4 -4
  40. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs.map → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map} +1 -1
  41. package/fesm2022/acorex-platform-themes-default.mjs +40 -40
  42. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  43. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs} +24 -14
  44. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs} +2 -2
  46. package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs} +23 -8
  48. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs} +23 -8
  50. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-themes-shared.mjs +241 -74
  52. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  53. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs → acorex-platform-widgets-button-widget-designer.component-DSaD9Fwc.mjs} +5 -5
  54. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-DSaD9Fwc.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs → acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs} +4 -4
  56. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-B3SJUnGQ.mjs.map → acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map} +1 -1
  57. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs → acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs} +4 -4
  58. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-BLR0JkRt.mjs.map → acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map} +1 -1
  59. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs → acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs} +4 -4
  60. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-hzR2FgOm.mjs.map → acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map} +1 -1
  61. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs → acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs} +4 -4
  62. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-IDm6Clua.mjs.map → acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map} +1 -1
  63. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs → acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs} +4 -4
  64. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-BRO9tYDa.mjs.map → acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map} +1 -1
  65. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs → acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-CkpLimyW.mjs.map → acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-BafU5Lfl.mjs → acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs} +5 -5
  68. package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +1 -0
  69. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-Cw9WcZze.mjs → acorex-platform-widgets-page-widget-designer.component-B-ZEi2yd.mjs} +6 -6
  70. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-B-ZEi2yd.mjs.map +1 -0
  71. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs} +11 -11
  72. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +1 -0
  73. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs → acorex-platform-widgets-tabular-data-view-popup.component-CRpjdiNz.mjs} +6 -5
  74. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CRpjdiNz.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-DaR4Nkv4.mjs → acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs} +5 -6
  76. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DeSmBqMa.mjs.map +1 -0
  77. package/fesm2022/acorex-platform-widgets.mjs +9725 -8964
  78. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  79. package/fesm2022/acorex-platform-workflow.mjs +25 -25
  80. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  81. package/layout/builder/index.d.ts +69 -21
  82. package/layout/components/index.d.ts +816 -58
  83. package/layout/designer/index.d.ts +4 -2
  84. package/layout/entity/index.d.ts +437 -231
  85. package/package.json +8 -8
  86. package/widgets/index.d.ts +1806 -732
  87. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-I7Eq8Nti.mjs.map +0 -1
  88. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3VUh8K8.mjs.map +0 -1
  89. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs +0 -101
  90. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-16sdMBvH.mjs.map +0 -1
  91. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs.map +0 -1
  92. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
  93. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DjKLg513.mjs.map +0 -1
  94. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-BJtkWusr.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs +0 -84
  97. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-DeKpl0uK.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs +0 -55
  99. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-Cv7dEMCm.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs +0 -76
  101. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CohkI1w1.mjs +0 -55
  103. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CohkI1w1.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-widgets-file-list-popup.component-BafU5Lfl.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs +0 -211
  106. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-Cw9WcZze.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs +0 -40
  109. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-BDQIfr0g.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-CmPqtt0G.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-DaR4Nkv4.mjs.map +0 -1
@@ -1,21 +1,25 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, WritableSignal, QueryList, EventEmitter } from '@angular/core';
3
3
  import * as _acorex_platform_core from '@acorex/platform/core';
4
- import { AXPActivityLog, AXPSystemActionType, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
4
+ import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
5
5
  import { AXPMenuItem } from '@acorex/platform/common';
6
- import { AXValueChangedEvent, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
6
+ import * as _acorex_cdk_common from '@acorex/cdk/common';
7
+ import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXOrientation, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
8
+ import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
9
+ import { AXTranslationService } from '@acorex/core/translation';
7
10
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
8
11
  import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
9
12
  import * as _ngrx_signals from '@ngrx/signals';
10
- import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
13
+ import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
11
14
  import { AXBasePageComponent } from '@acorex/components/page';
15
+ import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
16
+ import * as _acorex_platform_layout_components from '@acorex/platform/layout/components';
12
17
  import { AXFormComponent } from '@acorex/components/form';
13
18
  import { AXPopoverComponent } from '@acorex/components/popover';
14
19
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
15
20
  import { AXCalendarService } from '@acorex/core/date-time';
16
- import { AXTranslationService } from '@acorex/core/translation';
21
+ import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
17
22
  import { Observable } from 'rxjs';
18
- import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
19
23
 
20
24
  declare class AXPActivityLogComponent {
21
25
  private readonly translateService;
@@ -203,6 +207,85 @@ declare class AXPThemeLayoutContainerComponent {
203
207
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
204
208
  }
205
209
 
210
+ interface AXPCategoryTreeNode extends AXPCategoryEntity {
211
+ children?: AXPCategoryTreeNode[];
212
+ expand?: boolean;
213
+ hasChild?: boolean;
214
+ [key: string]: any;
215
+ }
216
+ interface AXPCategoryTreeConfig {
217
+ textField?: string;
218
+ valueField?: string;
219
+ expandedField?: string;
220
+ showCheckbox?: boolean;
221
+ searchable?: boolean;
222
+ searchPlaceholder?: string;
223
+ emptyStateTitle?: string;
224
+ emptyStateDescription?: string;
225
+ emptyStateIcon?: string;
226
+ }
227
+ interface AXPCategoryTreeEvents {
228
+ onNodeClick?: (node: AXPCategoryEntity) => void;
229
+ onNodeSelect?: (node: AXPCategoryEntity) => void;
230
+ onNodeCreate?: (parentNode?: AXPCategoryEntity) => void;
231
+ onNodeUpdate?: (node: AXPCategoryEntity) => void;
232
+ onNodeDelete?: (node: AXPCategoryEntity) => void;
233
+ onSearchChange?: (searchValue: string) => void;
234
+ onCollapseChange?: (node: AXPCategoryEntity) => void;
235
+ }
236
+ interface AXPCategoryTreeActions {
237
+ canCreate?: boolean;
238
+ canUpdate?: boolean;
239
+ canDelete?: boolean;
240
+ canCreateChild?: boolean;
241
+ createLabel?: string;
242
+ updateLabel?: string;
243
+ deleteLabel?: string;
244
+ createChildLabel?: string;
245
+ }
246
+ interface AXPCategoryTreeDataSource {
247
+ loadRootNodes: () => Promise<AXPCategoryEntity[]>;
248
+ loadChildNodes?: (parentId: string) => Promise<AXPCategoryEntity[]>;
249
+ searchNodes?: (searchValue: string) => Promise<AXPCategoryEntity[]>;
250
+ }
251
+
252
+ declare class AXPCategoryTreeComponent {
253
+ protected readonly translationService: AXTranslationService;
254
+ dataSource: _angular_core.InputSignal<AXPCategoryTreeDataSource>;
255
+ config: _angular_core.InputSignal<AXPCategoryTreeConfig>;
256
+ actions: _angular_core.InputSignal<AXPCategoryTreeActions>;
257
+ events: _angular_core.InputSignal<AXPCategoryTreeEvents>;
258
+ nodeClick: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
259
+ nodeSelect: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
260
+ nodeCreate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string> | undefined>;
261
+ nodeUpdate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
262
+ nodeDelete: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
263
+ searchChange: _angular_core.OutputEmitterRef<string>;
264
+ collapseChange: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
265
+ tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
266
+ isLoading: _angular_core.WritableSignal<boolean>;
267
+ searchValue: _angular_core.WritableSignal<string>;
268
+ protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
269
+ protected emptyStateTitle: _angular_core.Signal<string>;
270
+ protected emptyStateDescription: _angular_core.Signal<string>;
271
+ ngOnInit(): Promise<void>;
272
+ loadRootNodes(): Promise<void>;
273
+ loadChildNodes(parentId: string): Promise<void>;
274
+ searchNodes(searchValue: string): Promise<void>;
275
+ handleNodeClick(event: AXTreeItemClickBaseEvent): Promise<void>;
276
+ handleCollapseChanged(event: AXTreeItemClickBaseEvent): Promise<void>;
277
+ handleSearchChange(event: AXValueChangedEvent): Promise<void>;
278
+ handleCreateRootClick(event: AXClickEvent): Promise<void>;
279
+ handleCreateChildClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
280
+ handleUpdateNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
281
+ handleDeleteNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
282
+ private convertEntitiesToTreeNodes;
283
+ private updateNodeChildren;
284
+ refreshTree(parentId?: string): Promise<void>;
285
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCategoryTreeComponent, never>;
286
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPCategoryTreeComponent, "axp-category-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "events": { "alias": "events"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeSelect": "nodeSelect"; "nodeCreate": "nodeCreate"; "nodeUpdate": "nodeUpdate"; "nodeDelete": "nodeDelete"; "searchChange": "searchChange"; "collapseChange": "collapseChange"; }, never, never, true, never>;
287
+ }
288
+
206
289
  declare class AXPQueryColumnsComponent {
207
290
  columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
208
291
  handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
@@ -357,10 +440,113 @@ declare class AXPComponentSlotModule {
357
440
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
358
441
  }
359
442
 
443
+ interface AXPDataSelectorColumn {
444
+ name: string;
445
+ title: string;
446
+ visible: boolean;
447
+ widget: {
448
+ type: string;
449
+ options: any;
450
+ };
451
+ }
452
+ interface AXPDataSelectorConfig {
453
+ title: string;
454
+ dataSource: AXDataSource<any>;
455
+ columns: AXPDataSelectorColumn[];
456
+ selectionMode: 'single' | 'multiple';
457
+ searchFields?: string[];
458
+ parentField?: string;
459
+ allowCreate?: boolean;
460
+ categoryFilter?: {
461
+ enabled: boolean;
462
+ title: string;
463
+ dataSource: AXPCategoryTreeDataSource;
464
+ filterField: string;
465
+ filterOperator?: 'equal' | 'contains' | 'in';
466
+ width?: string;
467
+ };
468
+ }
469
+ declare class AXPDataSelectorComponent extends AXBasePageComponent {
470
+ protected config: _angular_core.WritableSignal<AXPDataSelectorConfig>;
471
+ protected searchTerm: string;
472
+ protected filter: AXDataSourceFilterOption;
473
+ protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
474
+ protected initialSelectedItems: any[];
475
+ protected selectedItems: _angular_core.WritableSignal<any[]>;
476
+ protected activeCategoryFilter: _angular_core.WritableSignal<{
477
+ node: AXPCategoryEntity;
478
+ filterValue: any;
479
+ } | null>;
480
+ protected allowSelect: _angular_core.Signal<boolean>;
481
+ protected hasSearch: _angular_core.Signal<boolean | undefined>;
482
+ protected searchPlaceholder: _angular_core.Signal<string>;
483
+ protected categoryTreeConfig: _angular_core.Signal<{
484
+ textField: string;
485
+ valueField: string;
486
+ showCheckbox: boolean;
487
+ searchable: boolean;
488
+ searchPlaceholder: string;
489
+ emptyStateTitle: string;
490
+ emptyStateDescription: string;
491
+ emptyStateIcon: string;
492
+ }>;
493
+ protected categoryTreeActions: _angular_core.Signal<{
494
+ canCreate: boolean;
495
+ canUpdate: boolean;
496
+ canDelete: boolean;
497
+ canCreateChild: boolean;
498
+ }>;
499
+ protected ngOnInit(): void;
500
+ protected ngAfterViewInit(): void;
501
+ protected handleRowDbClick(e: AXDataTableRowDbClick): void;
502
+ protected handleRowClick(e: AXDataTableRowClick): void;
503
+ protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
504
+ protected handleChangeSearchValue(e: AXValueChangedEvent): void;
505
+ protected handleCreateNewClick(): Promise<void>;
506
+ protected handleCloseClick(): void;
507
+ protected handleSelectClick(): void;
508
+ protected handleExpandRow(row: any): Promise<void>;
509
+ protected handleCategoryFilterClick(node: AXPCategoryEntity): void;
510
+ protected clearCategoryFilter(): void;
511
+ private applySearchFilter;
512
+ private applyFilterAndSort;
513
+ private applyCategoryFilter;
514
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorComponent, never>;
515
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDataSelectorComponent, "axp-data-selector", never, {}, {}, never, never, true, never>;
516
+ }
517
+
518
+ declare class AXPDataSelectorService {
519
+ private readonly popupService;
520
+ /**
521
+ * Open data selector popup
522
+ */
523
+ open(config: AXPDataSelectorConfig): Promise<{
524
+ items: any[];
525
+ } | null>;
526
+ /**
527
+ * Open data selector with category filter
528
+ */
529
+ openWithCategoryFilter(config: Omit<AXPDataSelectorConfig, 'categoryFilter'>, categoryFilterConfig: {
530
+ title: string;
531
+ dataSource: AXPCategoryTreeDataSource;
532
+ filterField: string;
533
+ filterOperator?: 'equal' | 'contains' | 'in';
534
+ width?: string;
535
+ }): Promise<{
536
+ items: any[];
537
+ } | null>;
538
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorService, never>;
539
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSelectorService>;
540
+ }
541
+
360
542
  /**
361
543
  * Form appearance and density styling
362
544
  */
363
545
  type AXPDynamicFormLook = 'normal' | 'compact' | 'borderless';
546
+ /**
547
+ * Form rendering mode
548
+ */
549
+ type AXPDynamicFormMode = 'view' | 'edit';
364
550
  /**
365
551
  * Form layout direction and flow
366
552
  */
@@ -370,15 +556,39 @@ interface AXPDynamicFormFieldDefinition {
370
556
  title?: string;
371
557
  description?: string;
372
558
  widget: AXPWidgetNode;
559
+ /**
560
+ * Optional per-field rendering mode. Takes precedence over section and form modes.
561
+ */
562
+ mode?: AXPDynamicFormMode;
563
+ /**
564
+ * Optional per-parameter layout override. Takes precedence over form layoutConfig.
565
+ * - number: colSpan for all breakpoints
566
+ * - object: colSpan per breakpoint
567
+ */
568
+ layout?: number | {
569
+ default?: number;
570
+ md?: number;
571
+ lg?: number;
572
+ xl?: number;
573
+ xxl?: number;
574
+ };
373
575
  }
374
576
  interface AXPDynamicFormGroupDefinition {
375
577
  name: string;
376
578
  title?: string;
377
579
  description?: string;
378
580
  parameters: AXPDynamicFormFieldDefinition[];
581
+ /**
582
+ * Optional per-section rendering mode. Takes precedence over form mode and is overridden by field mode.
583
+ */
584
+ mode?: AXPDynamicFormMode;
379
585
  }
380
586
  interface AXPDynamicFormDefinition {
381
587
  groups: AXPDynamicFormGroupDefinition[];
588
+ /**
589
+ * Optional form-level rendering mode
590
+ */
591
+ mode?: AXPDynamicFormMode;
382
592
  }
383
593
  interface AXPDynamicFormLayoutConfig {
384
594
  positions: {
@@ -400,13 +610,220 @@ interface AXPDynamicFormLayoutConfig {
400
610
  };
401
611
  }
402
612
 
613
+ /**
614
+ * Describes a single step of the dynamic form stepper.
615
+ * Each step contains one or more groups rendered by AXPDynamicFormComponent.
616
+ */
617
+ interface AXPDynamicFormStepperStepDefinition {
618
+ /** Unique identifier for the step */
619
+ id: string;
620
+ /** Display title for the step */
621
+ title?: string;
622
+ /** Optional descriptive text for the step */
623
+ description?: string;
624
+ /** Optional icon name for the step header */
625
+ icon?: string;
626
+ /** Field groups to render in this step */
627
+ groups: AXPDynamicFormGroupDefinition[];
628
+ /** Optional layout direction override for this step's form */
629
+ formDirection?: AXPDynamicFormDirection;
630
+ /** Whether the user may skip this step (defaults to false) */
631
+ canSkip?: boolean;
632
+ /** Whether the user may navigate back from this step (defaults to true) */
633
+ canGoBack?: boolean;
634
+ /** Optional data path inside the shared context for this step's data */
635
+ dataPath?: string;
636
+ }
637
+ /**
638
+ * Root definition for the dynamic form stepper.
639
+ */
640
+ interface AXPDynamicFormStepperDefinition {
641
+ /** Ordered collection of steps */
642
+ steps: AXPDynamicFormStepperStepDefinition[];
643
+ /** Enforce sequential navigation (no jumping to future steps) */
644
+ linear?: boolean;
645
+ /** Show progress indicator above the content */
646
+ showProgress?: boolean;
647
+ /** Show step numbers in the header */
648
+ showStepNumbers?: boolean;
649
+ }
650
+
651
+ declare class AXPDynamicFormStepperComponent {
652
+ #private;
653
+ /**
654
+ * Stepper definition providing steps metadata and behavior configuration
655
+ */
656
+ definition: _angular_core.InputSignal<AXPDynamicFormStepperDefinition>;
657
+ /**
658
+ * Shared root context for all steps
659
+ */
660
+ context: _angular_core.InputSignal<any>;
661
+ /**
662
+ * Optional pass-through layout props for inner forms
663
+ */
664
+ layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
665
+ stepperDirection: _angular_core.InputSignal<AXOrientation>;
666
+ layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig | undefined>;
667
+ /**
668
+ * Optional guard that controls advancing to the next step (async only)
669
+ */
670
+ guardNext: _angular_core.InputSignal<((e: {
671
+ index: number;
672
+ id: string;
673
+ fullContext: any;
674
+ }) => Promise<boolean>) | undefined>;
675
+ /**
676
+ * Emits when the shared root context changes
677
+ */
678
+ contextChange: _angular_core.OutputEmitterRef<any>;
679
+ /**
680
+ * Emits when the active step changes
681
+ */
682
+ stepChange: _angular_core.OutputEmitterRef<{
683
+ index: number;
684
+ id: string;
685
+ }>;
686
+ /**
687
+ * Emits after successful finish
688
+ */
689
+ finished: _angular_core.OutputEmitterRef<any>;
690
+ /**
691
+ * Emits when cancelled by API
692
+ */
693
+ cancel: _angular_core.OutputEmitterRef<void>;
694
+ /**
695
+ * Emits when navigation is blocked by validation or policy
696
+ */
697
+ navigationBlocked: _angular_core.OutputEmitterRef<{
698
+ reason: "invalid" | "linear" | "cannot-skip" | "cannot-go-back";
699
+ stepId: string;
700
+ targetIndex?: number;
701
+ }>;
702
+ /**
703
+ * Internal reactive copy of the shared context
704
+ */
705
+ private internalContext;
706
+ /**
707
+ * Active step index
708
+ */
709
+ protected currentStepIndex: _angular_core.WritableSignal<number>;
710
+ /**
711
+ * Navigation lock while async guards are pending
712
+ */
713
+ private navigationLocked;
714
+ /**
715
+ * Reference to underlying step wizard to sync visual navigation
716
+ */
717
+ private readonly wizard;
718
+ /**
719
+ * References to rendered dynamic forms (usually one active)
720
+ */
721
+ private readonly forms;
722
+ protected steps: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition[]>;
723
+ protected stepCount: _angular_core.Signal<number>;
724
+ protected currentStep: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition>;
725
+ protected isFirstComputed: _angular_core.Signal<boolean>;
726
+ protected isLastComputed: _angular_core.Signal<boolean>;
727
+ /**
728
+ * Non-undefined layout config for inner dynamic forms
729
+ */
730
+ protected effectiveLayoutConfig: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
731
+ /**
732
+ * Returns the current step pointer
733
+ */
734
+ getCurrentStep(): {
735
+ index: number;
736
+ id: string;
737
+ };
738
+ /**
739
+ * Public helpers for templates/consumers
740
+ */
741
+ isFirst(): boolean;
742
+ isLast(): boolean;
743
+ /**
744
+ * Returns the root context
745
+ */
746
+ getContext(): any;
747
+ /**
748
+ * Replaces the root context programmatically
749
+ */
750
+ setContext(ctx: any): void;
751
+ /**
752
+ * Validates the current step.
753
+ */
754
+ validateCurrentStep(): Promise<boolean>;
755
+ /**
756
+ * Attempts to advance to the next step applying validation and guard
757
+ */
758
+ next(): Promise<void>;
759
+ /**
760
+ * Goes back to the previous step if possible
761
+ */
762
+ previous(): Promise<void>;
763
+ /**
764
+ * Navigates to a specific step by id or index
765
+ */
766
+ goTo(stepIdOrIndex: string | number): Promise<void>;
767
+ /**
768
+ * Validates all steps and emits finished when successful
769
+ */
770
+ finish(): Promise<void>;
771
+ /**
772
+ * Emits cancel event without state changes
773
+ */
774
+ cancelFlow(): void;
775
+ /**
776
+ * Handle per-step context changes and keep internal root context in sync.
777
+ */
778
+ protected onStepContextChange(stepId: string, stepContext: any): void;
779
+ /**
780
+ * Exposes reading a step slice to the template
781
+ */
782
+ readStepSlice(path?: string): {
783
+ slice: any;
784
+ exists: boolean;
785
+ };
786
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormStepperComponent, never>;
787
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormStepperComponent, "axp-dynamic-form-stepper", never, { "definition": { "alias": "definition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "stepperDirection": { "alias": "stepperDirection"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; "guardNext": { "alias": "guardNext"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "stepChange": "stepChange"; "finished": "finished"; "cancel": "cancel"; "navigationBlocked": "navigationBlocked"; }, never, never, true, never>;
788
+ }
789
+
403
790
  interface AXPDynamicDialogConfig {
404
791
  title: string;
405
792
  message?: string;
406
- formDefinition: AXPDynamicFormDefinition;
793
+ /**
794
+ * Legacy: If provided, dialog renders only dynamic-form.
795
+ */
796
+ formDefinition?: AXPDynamicFormDefinition;
797
+ /**
798
+ * Preferred definition: dynamic form (no steps or single step) or a multi-step stepper definition.
799
+ */
800
+ definition?: AXPDynamicFormDefinition | AXPDynamicFormStepperDefinition;
801
+ /**
802
+ * Shared context passed to the rendered control
803
+ */
407
804
  context: any;
805
+ /**
806
+ * Shared layout options applied to form/stepper unless overridden
807
+ */
408
808
  layoutConfig?: AXPDynamicFormLayoutConfig;
809
+ layoutLook?: AXPDynamicFormLook;
810
+ mode?: AXPDynamicFormMode;
409
811
  size?: AXPopupSizeType;
812
+ closeButton?: boolean;
813
+ /**
814
+ * Optional stepper-only options. Ignored when rendering dynamic-form.
815
+ */
816
+ stepper?: {
817
+ guardNext?: (e: {
818
+ index: number;
819
+ id: string;
820
+ fullContext: unknown;
821
+ }) => Promise<boolean>;
822
+ stepperDirection?: AXOrientation;
823
+ };
824
+ /**
825
+ * Footer actions. In stepper mode, footer is replaced by Prev/Next/Confirm.
826
+ */
410
827
  actions?: {
411
828
  footer?: {
412
829
  prefix?: AXPActionMenuItem[];
@@ -418,17 +835,44 @@ interface AXPDynamicDialogResult {
418
835
  context: any;
419
836
  action?: string;
420
837
  }
838
+ interface AXPDialogRef {
839
+ /**
840
+ * Manually close the dialog (optional - dialog closes automatically after user interaction)
841
+ */
842
+ close(): void;
843
+ /**
844
+ * Get the form data from the dialog
845
+ */
846
+ context(): any;
847
+ /**
848
+ * Get the action that was clicked by the user
849
+ */
850
+ action(): string | undefined;
851
+ /**
852
+ * Set the loading state of the dialog
853
+ */
854
+ setLoading(loading: boolean): void;
855
+ }
421
856
 
422
857
  declare class AXPDynamicDialogComponent extends AXBasePageComponent {
423
858
  config: AXPDynamicDialogConfig;
424
859
  private readonly dynamicForm;
860
+ protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
425
861
  isSubmitting: _angular_core.WritableSignal<boolean>;
426
862
  private previousContext;
427
863
  private formData;
864
+ dialogResult: AXPDynamicDialogResult | null;
865
+ isSubmittingFromDialog: boolean;
866
+ data: any;
867
+ callBack: (dialogRef: AXPDialogRef) => void;
428
868
  /**
429
869
  * Form context for widget container
430
870
  */
431
871
  protected formContext: _angular_core.Signal<Record<string, any>>;
872
+ /**
873
+ * Combined loading state from both signal and dialog
874
+ */
875
+ protected isFormLoading: _angular_core.Signal<boolean>;
432
876
  protected defaultLayout: () => {
433
877
  positions: {
434
878
  default: {
@@ -448,14 +892,43 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
448
892
  };
449
893
  };
450
894
  };
895
+ /**
896
+ * Determine rendering mode and effective definitions
897
+ */
898
+ protected readonly hasLegacyForm: _angular_core.Signal<boolean>;
899
+ protected readonly providedDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition | _acorex_platform_layout_components.AXPDynamicFormStepperDefinition | undefined>;
900
+ protected readonly providedMode: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormMode>;
901
+ protected readonly isStepperDefinition: _angular_core.Signal<boolean>;
902
+ protected readonly shouldRenderForm: _angular_core.Signal<boolean>;
903
+ protected readonly effectiveFormDefinition: _angular_core.Signal<any>;
904
+ protected readonly resolvedFormDefinition: _angular_core.Signal<any>;
905
+ protected readonly effectiveLayoutLook: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLook>;
906
+ protected readonly effectiveLayoutConfig: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLayoutConfig>;
907
+ protected readonly stepperGuardNext: _angular_core.Signal<((e: {
908
+ index: number;
909
+ id: string;
910
+ fullContext: unknown;
911
+ }) => Promise<boolean>) | undefined>;
912
+ protected readonly stepperDirection: _angular_core.Signal<_acorex_cdk_common.AXOrientation>;
913
+ protected readonly stepperDefinition: _angular_core.Signal<any>;
914
+ stepperIsFirst: _angular_core.Signal<boolean>;
915
+ stepperIsLast: _angular_core.Signal<boolean>;
916
+ /**
917
+ * Effective form direction when rendering dynamic-form (single-step or legacy form).
918
+ * If a single-step definition is provided and that step specifies formDirection, use it.
919
+ */
920
+ protected readonly effectiveFormDirection: _angular_core.Signal<AXPDynamicFormDirection>;
451
921
  /**
452
922
  * Footer actions for dynamic button system
453
923
  */
454
924
  protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
455
925
  protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
926
+ protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
927
+ protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
456
928
  protected hasFooterActions: _angular_core.Signal<boolean>;
457
- protected hasVisibleFooterPrefixActions: _angular_core.Signal<boolean>;
458
- protected hasVisibleFooterSuffixActions: _angular_core.Signal<boolean>;
929
+ /** Stepper footer: choose a single confirm action from provided suffix actions (first visible). */
930
+ protected confirmAction: _angular_core.Signal<AXPActionMenuItem | undefined>;
931
+ protected confirmActionTitle: _angular_core.Signal<string>;
459
932
  ngOnInit(): void;
460
933
  protected handleContextInitiated(context: any): void;
461
934
  protected handleContextChanged(context: any): void;
@@ -471,6 +944,9 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
471
944
  * Check if form is valid
472
945
  */
473
946
  protected isFormValid(): Promise<boolean>;
947
+ /** Stepper navigation handlers */
948
+ protected goPrev(): void;
949
+ protected goNext(): void;
474
950
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
475
951
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
476
952
  }
@@ -480,15 +956,24 @@ declare class AXPDynamicDialogService {
480
956
  /**
481
957
  * Show a dynamic dialog with the given configuration
482
958
  * @param config Dialog configuration including fields, validation, and UI options
483
- * @returns Promise resolving to dialog result with form values and cancellation status
959
+ * @returns Promise resolving to dialog reference for controlling the dialog
484
960
  */
485
- showDialog(config: AXPDynamicDialogConfig): Promise<AXPDynamicDialogResult>;
961
+ showDialog(config: AXPDynamicDialogConfig): Promise<AXPDialogRef>;
486
962
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
487
963
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
488
964
  }
489
965
 
490
966
  declare class AXPDynamicFormComponent implements OnInit {
491
967
  #private;
968
+ private evaluatorService;
969
+ /**
970
+ * Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
971
+ */
972
+ private evaluationRunId;
973
+ /**
974
+ * Memoization cache for resolveParamLayout to keep stable object identities
975
+ */
976
+ private layoutCache;
492
977
  /**
493
978
  * Form definition containing groups and fields
494
979
  */
@@ -505,10 +990,20 @@ declare class AXPDynamicFormComponent implements OnInit {
505
990
  * Form layout direction and flow (vertical, horizontal, grid)
506
991
  */
507
992
  layoutDirection: _angular_core.InputSignal<AXPDynamicFormDirection>;
993
+ /**
994
+ * Default form mode. Can be overridden by section/group and field.
995
+ */
996
+ mode: _angular_core.InputSignal<AXPDynamicFormMode>;
508
997
  /**
509
998
  * Custom layout configuration for form fields
510
999
  */
511
1000
  layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig>;
1001
+ protected expressionEvaluator(expression: any, context: any): Promise<any>;
1002
+ protected evaluatedFormDefinition: _angular_core.WritableSignal<any>;
1003
+ /**
1004
+ * Evaluate definition when inputs change with last-write-wins and deep-equality guard
1005
+ */
1006
+ eff: _angular_core.EffectRef;
512
1007
  /**
513
1008
  * Emitted when form context changes
514
1009
  */
@@ -531,6 +1026,14 @@ declare class AXPDynamicFormComponent implements OnInit {
531
1026
  * Computed layout configuration
532
1027
  */
533
1028
  protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
1029
+ /**
1030
+ * Resolve effective mode with precedence: field > group > form
1031
+ */
1032
+ protected resolveParamMode: (group: any, param: AXPDynamicFormFieldDefinition) => AXPDynamicFormMode;
1033
+ /**
1034
+ * Resolve effective grid layout for a specific parameter, merging per-parameter override with form layout.
1035
+ */
1036
+ protected resolveParamLayout(param: AXPDynamicFormFieldDefinition): AXPDynamicFormLayoutConfig;
534
1037
  /**
535
1038
  * Host classes based on layout look and direction
536
1039
  */
@@ -558,7 +1061,262 @@ declare class AXPDynamicFormComponent implements OnInit {
558
1061
  */
559
1062
  validate(): Promise<boolean>;
560
1063
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
561
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "layoutDirection": { "alias": "layoutDirection"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
1064
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "layoutDirection": { "alias": "layoutDirection"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
1065
+ }
1066
+
1067
+ interface TextBoxOptions {
1068
+ placeholder?: string;
1069
+ maxLength?: number;
1070
+ minLength?: number;
1071
+ mask?: string;
1072
+ disabled?: boolean;
1073
+ readonly?: boolean;
1074
+ validations?: AXPValidationRules;
1075
+ }
1076
+ interface LargeTextBoxOptions {
1077
+ placeholder?: string;
1078
+ maxLength?: number;
1079
+ minLength?: number;
1080
+ rows?: number;
1081
+ disabled?: boolean;
1082
+ readonly?: boolean;
1083
+ validations?: AXPValidationRules;
1084
+ }
1085
+ interface RichTextOptions {
1086
+ placeholder?: string;
1087
+ toolbar?: string[];
1088
+ height?: number;
1089
+ disabled?: boolean;
1090
+ readonly?: boolean;
1091
+ validations?: AXPValidationRules;
1092
+ }
1093
+ interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
1094
+ valueField: keyof TItem & string;
1095
+ textField: keyof TItem & string;
1096
+ dataSource: TItem[];
1097
+ multiple?: boolean;
1098
+ placeholder?: string;
1099
+ disabled?: boolean;
1100
+ readonly?: boolean;
1101
+ allowSearch?: boolean;
1102
+ validations?: AXPValidationRules;
1103
+ }
1104
+ interface LookupBoxOptions {
1105
+ entity: string;
1106
+ multiple?: boolean;
1107
+ expose?: Array<{
1108
+ source: string;
1109
+ target: string;
1110
+ }>;
1111
+ placeholder?: string;
1112
+ textField?: string;
1113
+ valueField?: string;
1114
+ look?: string;
1115
+ columns?: string[];
1116
+ allowClear?: boolean;
1117
+ disabled?: boolean;
1118
+ readonly?: boolean;
1119
+ validations?: AXPValidationRules;
1120
+ }
1121
+ interface NumberBoxOptions {
1122
+ minValue?: number;
1123
+ maxValue?: number;
1124
+ step?: number;
1125
+ format?: string;
1126
+ placeholder?: string;
1127
+ disabled?: boolean;
1128
+ readonly?: boolean;
1129
+ validations?: AXPValidationRules;
1130
+ }
1131
+ interface DateTimeBoxOptions {
1132
+ format?: string;
1133
+ min?: Date;
1134
+ max?: Date;
1135
+ showTime?: boolean;
1136
+ placeholder?: string;
1137
+ disabled?: boolean;
1138
+ readonly?: boolean;
1139
+ validations?: AXPValidationRules;
1140
+ }
1141
+ interface ToggleSwitchOptions {
1142
+ onText?: string;
1143
+ offText?: string;
1144
+ validations?: AXPValidationRules;
1145
+ }
1146
+ interface PasswordBoxOptions {
1147
+ placeholder?: string;
1148
+ maxLength?: number;
1149
+ minLength?: number;
1150
+ showToggle?: boolean;
1151
+ validations?: AXPValidationRules;
1152
+ }
1153
+ interface SelectionListOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
1154
+ valueField: keyof TItem & string;
1155
+ textField: keyof TItem & string;
1156
+ dataSource: TItem[];
1157
+ multiple?: boolean;
1158
+ placeholder?: string;
1159
+ disabled?: boolean;
1160
+ readonly?: boolean;
1161
+ validations?: AXPValidationRules;
1162
+ }
1163
+ interface ColorBoxOptions {
1164
+ defaultColor?: string;
1165
+ showAlpha?: boolean;
1166
+ disabled?: boolean;
1167
+ readonly?: boolean;
1168
+ validations?: AXPValidationRules;
1169
+ }
1170
+ interface IFieldOptions {
1171
+ hidden?: string | boolean;
1172
+ readonly?: string | boolean;
1173
+ disabled?: string | boolean;
1174
+ defaultValue?: any;
1175
+ }
1176
+ interface IFieldBuilder {
1177
+ title(title: string): IFieldBuilder;
1178
+ description(description: string): IFieldBuilder;
1179
+ mode(mode: AXPDynamicFormMode): IFieldBuilder;
1180
+ options(values: IFieldOptions): IFieldBuilder;
1181
+ layout(layout: AXPDynamicFormFieldDefinition['layout']): IFieldBuilder;
1182
+ textBox(options?: TextBoxOptions): IFieldBuilder;
1183
+ largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
1184
+ richText(options?: RichTextOptions): IFieldBuilder;
1185
+ passwordBox(options?: PasswordBoxOptions): IFieldBuilder;
1186
+ selectBox(options: SelectBoxOptions): IFieldBuilder;
1187
+ lookupBox(options: LookupBoxOptions): IFieldBuilder;
1188
+ selectionList(options: SelectionListOptions): IFieldBuilder;
1189
+ numberBox(options?: NumberBoxOptions): IFieldBuilder;
1190
+ dateTimeBox(options?: DateTimeBoxOptions): IFieldBuilder;
1191
+ toggleSwitch(options?: ToggleSwitchOptions): IFieldBuilder;
1192
+ colorBox(options?: ColorBoxOptions): IFieldBuilder;
1193
+ widget(type: string, options?: unknown): IFieldBuilder;
1194
+ }
1195
+ interface IGroupBuilder {
1196
+ title(title: string): IGroupBuilder;
1197
+ description(description: string): IGroupBuilder;
1198
+ mode(mode: AXPDynamicFormMode): IGroupBuilder;
1199
+ field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
1200
+ group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
1201
+ }
1202
+ interface IStepBuilder {
1203
+ title(title: string): IStepBuilder;
1204
+ description(description: string): IStepBuilder;
1205
+ icon(icon: string): IStepBuilder;
1206
+ direction(direction: AXPDynamicFormDirection): IStepBuilder;
1207
+ group(name: string, delegate?: (group: IGroupBuilder) => void): IStepBuilder;
1208
+ }
1209
+ interface IFormBuilder {
1210
+ group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
1211
+ layout(config: Partial<AXPDynamicFormLayoutConfig>): IFormBuilder;
1212
+ look(look: AXPDynamicFormLook): IFormBuilder;
1213
+ direction(direction: AXPDynamicFormDirection): IFormBuilder;
1214
+ mode(mode: AXPDynamicFormMode): IFormBuilder;
1215
+ build(): AXPDynamicFormDefinition;
1216
+ }
1217
+ interface IActionBuilder {
1218
+ cancel(text?: string): IActionBuilder;
1219
+ submit(text?: string): IActionBuilder;
1220
+ custom(action: AXPActionMenuItem): IActionBuilder;
1221
+ }
1222
+ interface IDialogBuilder extends IFormBuilder {
1223
+ group(name: string, delegate?: (group: IGroupBuilder) => void): IDialogBuilder;
1224
+ layout(config: Partial<AXPDynamicFormLayoutConfig>): IDialogBuilder;
1225
+ look(look: AXPDynamicFormLook): IDialogBuilder;
1226
+ direction(direction: AXPDynamicFormDirection): IDialogBuilder;
1227
+ closeButton(closeButton: boolean): IDialogBuilder;
1228
+ step(id: string, delegate?: (step: IStepBuilder) => void): IDialogBuilder;
1229
+ stepperDirection(direction: AXOrientation): IDialogBuilder;
1230
+ guardNext(guard: (e: {
1231
+ index: number;
1232
+ id: string;
1233
+ fullContext: unknown;
1234
+ }) => Promise<boolean>): IDialogBuilder;
1235
+ title(title: string): IDialogBuilder;
1236
+ message(message?: string): IDialogBuilder;
1237
+ size(size: AXPopupSizeType): IDialogBuilder;
1238
+ context(context: AXPContextData): IDialogBuilder;
1239
+ actions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
1240
+ show(): Promise<AXPDialogRef>;
1241
+ }
1242
+ interface FormBuilderState {
1243
+ groups: AXPDynamicFormGroupDefinition[];
1244
+ layoutConfig: AXPDynamicFormLayoutConfig;
1245
+ look: AXPDynamicFormLook;
1246
+ direction: AXPDynamicFormDirection;
1247
+ mode?: AXPDynamicFormMode;
1248
+ }
1249
+ interface DialogBuilderState extends FormBuilderState {
1250
+ title?: string;
1251
+ message?: string;
1252
+ size?: AXPopupSizeType;
1253
+ context?: AXPContextData;
1254
+ steps: StepBuilderState[];
1255
+ stepperDirection?: AXOrientation;
1256
+ closeButton?: boolean;
1257
+ guardNext?: (e: {
1258
+ index: number;
1259
+ id: string;
1260
+ fullContext: unknown;
1261
+ }) => Promise<boolean>;
1262
+ actions?: {
1263
+ footer?: {
1264
+ prefix?: AXPActionMenuItem[];
1265
+ suffix?: AXPActionMenuItem[];
1266
+ };
1267
+ };
1268
+ }
1269
+ interface FieldBuilderState {
1270
+ path: string;
1271
+ title?: string;
1272
+ description?: string;
1273
+ defaultValue?: any;
1274
+ hidden?: string | boolean;
1275
+ readonly?: string | boolean;
1276
+ disabled?: string | boolean;
1277
+ widget?: AXPWidgetNode;
1278
+ layout?: AXPDynamicFormFieldDefinition['layout'];
1279
+ mode?: AXPDynamicFormMode;
1280
+ }
1281
+ interface GroupBuilderState {
1282
+ name: string;
1283
+ title?: string;
1284
+ description?: string;
1285
+ parameters: AXPDynamicFormFieldDefinition[];
1286
+ mode?: AXPDynamicFormMode;
1287
+ }
1288
+ interface StepBuilderState {
1289
+ id: string;
1290
+ title?: string;
1291
+ description?: string;
1292
+ icon?: string;
1293
+ formDirection?: AXPDynamicFormDirection;
1294
+ groups: AXPDynamicFormGroupDefinition[];
1295
+ }
1296
+
1297
+ declare class AXPDynamicFormBuilderService {
1298
+ private readonly dialogService;
1299
+ /**
1300
+ * Create a new form builder
1301
+ */
1302
+ form(): IFormBuilder;
1303
+ /**
1304
+ * Create a new dialog builder
1305
+ */
1306
+ dialog(): IDialogBuilder;
1307
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormBuilderService, never>;
1308
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicFormBuilderService>;
1309
+ }
1310
+
1311
+ type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
1312
+ declare class AXPStateMessageComponent {
1313
+ mode: _angular_core.InputSignal<StateMode>;
1314
+ icon: _angular_core.InputSignal<string>;
1315
+ title: _angular_core.InputSignal<string>;
1316
+ description: _angular_core.InputSignal<string>;
1317
+ variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
1318
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
1319
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
562
1320
  }
563
1321
 
564
1322
  /**
@@ -599,7 +1357,7 @@ declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
599
1357
 
600
1358
  declare class AXPExtraPropertiesComponent {
601
1359
  items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
602
- mode: _angular_core.InputSignal<"edit" | "view">;
1360
+ mode: _angular_core.InputSignal<"view" | "edit">;
603
1361
  protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
604
1362
  itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
605
1363
  private readonly providedTypes;
@@ -640,7 +1398,7 @@ declare class AXPExtraPropertiesComponent {
640
1398
 
641
1399
  declare class AXPExtraPropertiesSchemaComponent {
642
1400
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
643
- mode: _angular_core.InputSignal<"edit" | "view">;
1401
+ mode: _angular_core.InputSignal<"view" | "edit">;
644
1402
  schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
645
1403
  private readonly providedTypes;
646
1404
  private readonly translationService;
@@ -671,7 +1429,7 @@ declare class AXPExtraPropertiesSchemaComponent {
671
1429
  declare class AXPExtraPropertiesValuesComponent {
672
1430
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
673
1431
  values: _angular_core.InputSignal<Record<string, any>>;
674
- mode: _angular_core.InputSignal<"edit" | "view">;
1432
+ mode: _angular_core.InputSignal<"view" | "edit">;
675
1433
  valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
676
1434
  isRequired: (item: AXPExtraPropertySchemaItem) => any;
677
1435
  protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
@@ -727,6 +1485,48 @@ declare class AXPQueryFiltersComponent {
727
1485
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
728
1486
  }
729
1487
 
1488
+ interface AXPWidgetPropertyTab {
1489
+ name: string;
1490
+ title: string;
1491
+ groups: {
1492
+ name: string;
1493
+ title: string;
1494
+ isCollapsed: boolean;
1495
+ props: AXPWidgetProperty[];
1496
+ }[];
1497
+ }
1498
+ interface AXPWidgetPropertiesChangedEvent {
1499
+ values: any;
1500
+ mode: 'init' | 'update';
1501
+ }
1502
+ declare class AXPWidgetPropertyViewerComponent {
1503
+ widget: _angular_core.InputSignal<AXPWidgetNode>;
1504
+ mode: _angular_core.InputSignal<"simple" | "advanced">;
1505
+ private widgetRegistryService;
1506
+ protected currentTabIndex: WritableSignal<number>;
1507
+ protected config: WritableSignal<AXPWidgetConfig<any> | null>;
1508
+ protected allPoperties: AXPWidgetProperty[];
1509
+ protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
1510
+ protected groups: _angular_core.Signal<{
1511
+ name: string;
1512
+ title: string;
1513
+ isCollapsed: boolean;
1514
+ props: AXPWidgetProperty[];
1515
+ }[]>;
1516
+ protected groupCollapsedStates: Map<string, boolean>;
1517
+ onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
1518
+ protected context: WritableSignal<any>;
1519
+ protected initialContext: any;
1520
+ constructor();
1521
+ update(values: any): void;
1522
+ private fillTabs;
1523
+ protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
1524
+ protected handleTabChange(event: AXTabStripChangedEvent): void;
1525
+ protected handleCollapsedChange(group: string, collapsed: boolean): void;
1526
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
1527
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
1528
+ }
1529
+
730
1530
  declare class AXPQuerySortsComponent {
731
1531
  sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
732
1532
  sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
@@ -956,47 +1756,5 @@ declare class AXPWidgetItemComponent {
956
1756
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetItemComponent, "axp-widget-item", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; "showPinButton": { "alias": "showPinButton"; "required": false; "isSignal": true; }; "customClasses": { "alias": "customClasses"; "required": false; "isSignal": true; }; }, { "onWidgetClick": "onWidgetClick"; "onPinClick": "onPinClick"; }, never, never, true, never>;
957
1757
  }
958
1758
 
959
- interface AXPWidgetPropertyTab {
960
- name: string;
961
- title: string;
962
- groups: {
963
- name: string;
964
- title: string;
965
- isCollapsed: boolean;
966
- props: AXPWidgetProperty[];
967
- }[];
968
- }
969
- interface AXPWidgetPropertiesChangedEvent {
970
- values: any;
971
- mode: 'init' | 'update';
972
- }
973
- declare class AXPWidgetPropertyViewerComponent {
974
- widget: _angular_core.InputSignal<AXPWidgetNode>;
975
- mode: _angular_core.InputSignal<"simple" | "advanced">;
976
- private widgetRegistryService;
977
- protected currentTabIndex: WritableSignal<number>;
978
- protected config: WritableSignal<AXPWidgetConfig<any> | null>;
979
- protected allPoperties: AXPWidgetProperty[];
980
- protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
981
- protected groups: _angular_core.Signal<{
982
- name: string;
983
- title: string;
984
- isCollapsed: boolean;
985
- props: AXPWidgetProperty[];
986
- }[]>;
987
- protected groupCollapsedStates: Map<string, boolean>;
988
- onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
989
- protected context: WritableSignal<any>;
990
- protected initialContext: any;
991
- constructor();
992
- update(values: any): void;
993
- private fillTabs;
994
- protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
995
- protected handleTabChange(event: AXTabStripChangedEvent): void;
996
- protected handleCollapsedChange(group: string, collapsed: boolean): void;
997
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
998
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
999
- }
1000
-
1001
- export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
1002
- export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab };
1759
+ export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormBuilderService, AXPDynamicFormComponent, AXPDynamicFormStepperComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPStateMessageComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
1760
+ export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDialogRef, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPDynamicFormMode, AXPDynamicFormStepperDefinition, AXPDynamicFormStepperStepDefinition, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, FieldBuilderState, FormBuilderState, GroupBuilderState, IActionBuilder, IDialogBuilder, IFieldBuilder, IFieldOptions, IFormBuilder, IGroupBuilder, IStepBuilder, LargeTextBoxOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, StateMode, StepBuilderState, TextBoxOptions, ToggleSwitchOptions };