@acorex/platform 20.3.0-next.8 → 20.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/common/index.d.ts +643 -367
  2. package/core/index.d.ts +91 -66
  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 +678 -252
  8. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +173 -161
  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 +1946 -1947
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs +1902 -904
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +96 -89
  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 +2237 -1834
  22. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-views.mjs +64 -62
  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-rW2RD35f.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +10 -10
  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-DNvnQ4Mc.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-CPVRbE8B.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +14 -14
  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} +9918 -8826
  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-rdKxuMC_.mjs +742 -0
  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 +117 -51
  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-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +9 -9
  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 +217 -75
  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 -813
  87. package/layout/components/index.d.ts +384 -433
  88. package/layout/designer/index.d.ts +8 -6
  89. package/layout/entity/index.d.ts +953 -338
  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 +768 -655
  95. package/package.json +14 -10
  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-BXbkGGei.mjs +0 -115
  99. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs +0 -706
  101. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs +0 -101
  103. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
  111. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs +0 -55
  113. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs +0 -92
  115. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs +0 -55
  117. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +0 -1
  125. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs.map +0 -1
  126. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs +0 -40
  127. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map +0 -1
  128. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs.map +0 -1
  129. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map +0 -1
  130. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +0 -1
  131. package/fesm2022/acorex-platform-widgets.mjs.map +0 -1
  132. package/widgets/README.md +0 -4
@@ -1,22 +1,24 @@
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, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
4
+ import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPGridLayoutOptions, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
5
5
  import { AXPMenuItem } from '@acorex/platform/common';
6
- import { AXValueChangedEvent, AXDataSource, AXDataSourceFilterOption, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
6
+ import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
7
+ import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
8
+ import { AXTranslationService } from '@acorex/core/translation';
7
9
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
8
- import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
10
+ import { AXPWidgetNode, AXPWidgetCoreContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';
9
11
  import * as _ngrx_signals from '@ngrx/signals';
10
12
  import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
11
13
  import { AXBasePageComponent } from '@acorex/components/page';
12
- import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
13
- import { AXFormComponent } from '@acorex/components/form';
14
+ import { AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormDefinition } from '@acorex/platform/layout/builder';
14
15
  import { AXPopoverComponent } from '@acorex/components/popover';
15
16
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
16
17
  import { AXCalendarService } from '@acorex/core/date-time';
17
- import { AXTranslationService } from '@acorex/core/translation';
18
+ import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
19
+ import { AXFormComponent } from '@acorex/components/form';
20
+ import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
18
21
  import { Observable } from 'rxjs';
19
- import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
20
22
 
21
23
  declare class AXPActivityLogComponent {
22
24
  private readonly translateService;
@@ -204,6 +206,85 @@ declare class AXPThemeLayoutContainerComponent {
204
206
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
205
207
  }
206
208
 
209
+ interface AXPCategoryTreeNode extends AXPCategoryEntity {
210
+ children?: AXPCategoryTreeNode[];
211
+ expand?: boolean;
212
+ hasChild?: boolean;
213
+ [key: string]: any;
214
+ }
215
+ interface AXPCategoryTreeConfig {
216
+ textField?: string;
217
+ valueField?: string;
218
+ expandedField?: string;
219
+ showCheckbox?: boolean;
220
+ searchable?: boolean;
221
+ searchPlaceholder?: string;
222
+ emptyStateTitle?: string;
223
+ emptyStateDescription?: string;
224
+ emptyStateIcon?: string;
225
+ }
226
+ interface AXPCategoryTreeEvents {
227
+ onNodeClick?: (node: AXPCategoryEntity) => void;
228
+ onNodeSelect?: (node: AXPCategoryEntity) => void;
229
+ onNodeCreate?: (parentNode?: AXPCategoryEntity) => void;
230
+ onNodeUpdate?: (node: AXPCategoryEntity) => void;
231
+ onNodeDelete?: (node: AXPCategoryEntity) => void;
232
+ onSearchChange?: (searchValue: string) => void;
233
+ onCollapseChange?: (node: AXPCategoryEntity) => void;
234
+ }
235
+ interface AXPCategoryTreeActions {
236
+ canCreate?: boolean;
237
+ canUpdate?: boolean;
238
+ canDelete?: boolean;
239
+ canCreateChild?: boolean;
240
+ createLabel?: string;
241
+ updateLabel?: string;
242
+ deleteLabel?: string;
243
+ createChildLabel?: string;
244
+ }
245
+ interface AXPCategoryTreeDataSource {
246
+ loadRootNodes: () => Promise<AXPCategoryEntity[]>;
247
+ loadChildNodes?: (parentId: string) => Promise<AXPCategoryEntity[]>;
248
+ searchNodes?: (searchValue: string) => Promise<AXPCategoryEntity[]>;
249
+ }
250
+
251
+ declare class AXPCategoryTreeComponent {
252
+ protected readonly translationService: AXTranslationService;
253
+ dataSource: _angular_core.InputSignal<AXPCategoryTreeDataSource>;
254
+ config: _angular_core.InputSignal<AXPCategoryTreeConfig>;
255
+ actions: _angular_core.InputSignal<AXPCategoryTreeActions>;
256
+ events: _angular_core.InputSignal<AXPCategoryTreeEvents>;
257
+ nodeClick: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
258
+ nodeSelect: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
259
+ nodeCreate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string> | undefined>;
260
+ nodeUpdate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
261
+ nodeDelete: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
262
+ searchChange: _angular_core.OutputEmitterRef<string>;
263
+ collapseChange: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
264
+ tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
265
+ isLoading: _angular_core.WritableSignal<boolean>;
266
+ searchValue: _angular_core.WritableSignal<string>;
267
+ protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
268
+ protected emptyStateTitle: _angular_core.Signal<string>;
269
+ protected emptyStateDescription: _angular_core.Signal<string>;
270
+ ngOnInit(): Promise<void>;
271
+ loadRootNodes(): Promise<void>;
272
+ loadChildNodes(parentId: string): Promise<void>;
273
+ searchNodes(searchValue: string): Promise<void>;
274
+ handleNodeClick(event: AXTreeItemClickBaseEvent): Promise<void>;
275
+ handleCollapseChanged(event: AXTreeItemClickBaseEvent): Promise<void>;
276
+ handleSearchChange(event: AXValueChangedEvent): Promise<void>;
277
+ handleCreateRootClick(event: AXClickEvent): Promise<void>;
278
+ handleCreateChildClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
279
+ handleUpdateNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
280
+ handleDeleteNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
281
+ private convertEntitiesToTreeNodes;
282
+ private updateNodeChildren;
283
+ refreshTree(parentId?: string): Promise<void>;
284
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCategoryTreeComponent, never>;
285
+ 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>;
286
+ }
287
+
207
288
  declare class AXPQueryColumnsComponent {
208
289
  columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
209
290
  handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
@@ -362,6 +443,7 @@ interface AXPDataSelectorColumn {
362
443
  name: string;
363
444
  title: string;
364
445
  visible: boolean;
446
+ dataPath?: string;
365
447
  widget: {
366
448
  type: string;
367
449
  options: any;
@@ -375,6 +457,15 @@ interface AXPDataSelectorConfig {
375
457
  searchFields?: string[];
376
458
  parentField?: string;
377
459
  allowCreate?: boolean;
460
+ filters?: AXDataSourceFilterOption;
461
+ categoryFilter?: {
462
+ enabled: boolean;
463
+ title: string;
464
+ dataSource: AXPCategoryTreeDataSource;
465
+ filterField: string;
466
+ filterOperator?: 'equal' | 'contains' | 'in';
467
+ width?: string;
468
+ };
378
469
  }
379
470
  declare class AXPDataSelectorComponent extends AXBasePageComponent {
380
471
  protected config: _angular_core.WritableSignal<AXPDataSelectorConfig>;
@@ -383,9 +474,29 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
383
474
  protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
384
475
  protected initialSelectedItems: any[];
385
476
  protected selectedItems: _angular_core.WritableSignal<any[]>;
477
+ protected activeCategoryFilter: _angular_core.WritableSignal<{
478
+ node: AXPCategoryEntity;
479
+ filterValue: any;
480
+ } | null>;
386
481
  protected allowSelect: _angular_core.Signal<boolean>;
387
482
  protected hasSearch: _angular_core.Signal<boolean | undefined>;
388
483
  protected searchPlaceholder: _angular_core.Signal<string>;
484
+ protected categoryTreeConfig: _angular_core.Signal<{
485
+ textField: string;
486
+ valueField: string;
487
+ showCheckbox: boolean;
488
+ searchable: boolean;
489
+ searchPlaceholder: string;
490
+ emptyStateTitle: string;
491
+ emptyStateDescription: string;
492
+ emptyStateIcon: string;
493
+ }>;
494
+ protected categoryTreeActions: _angular_core.Signal<{
495
+ canCreate: boolean;
496
+ canUpdate: boolean;
497
+ canDelete: boolean;
498
+ canCreateChild: boolean;
499
+ }>;
389
500
  protected ngOnInit(): void;
390
501
  protected ngAfterViewInit(): void;
391
502
  protected handleRowDbClick(e: AXDataTableRowDbClick): void;
@@ -396,14 +507,18 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
396
507
  protected handleCloseClick(): void;
397
508
  protected handleSelectClick(): void;
398
509
  protected handleExpandRow(row: any): Promise<void>;
510
+ protected handleCategoryFilterClick(node: AXPCategoryEntity): void;
511
+ protected clearCategoryFilter(): void;
399
512
  private applySearchFilter;
400
513
  private applyFilterAndSort;
514
+ private applyCategoryFilter;
401
515
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorComponent, never>;
402
516
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDataSelectorComponent, "axp-data-selector", never, {}, {}, never, never, true, never>;
403
517
  }
404
518
 
405
519
  declare class AXPDataSelectorService {
406
520
  private readonly popupService;
521
+ private readonly expressionService;
407
522
  /**
408
523
  * Open data selector popup
409
524
  */
@@ -411,433 +526,190 @@ declare class AXPDataSelectorService {
411
526
  items: any[];
412
527
  } | null>;
413
528
  /**
414
- * Open data selector for meta data selection
529
+ * Open data selector with category filter
415
530
  */
416
- openMetaDataSelector(dataSource: any): Promise<{
531
+ openWithCategoryFilter(config: Omit<AXPDataSelectorConfig, 'categoryFilter'>, categoryFilterConfig: {
532
+ title: string;
533
+ dataSource: AXPCategoryTreeDataSource;
534
+ filterField: string;
535
+ filterOperator?: 'equal' | 'contains' | 'in';
536
+ width?: string;
537
+ }): Promise<{
417
538
  items: any[];
418
539
  } | null>;
419
540
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorService, never>;
420
541
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSelectorService>;
421
542
  }
422
543
 
423
- /**
424
- * Form appearance and density styling
425
- */
426
- type AXPDynamicFormLook = 'normal' | 'compact' | 'borderless';
427
- /**
428
- * Form layout direction and flow
429
- */
430
- type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
431
- interface AXPDynamicFormFieldDefinition {
432
- path: string;
433
- title?: string;
544
+ interface AXPDynamicFormDesignerField {
545
+ id: string;
546
+ name: string;
547
+ title: string;
434
548
  description?: string;
435
549
  widget: AXPWidgetNode;
550
+ mode?: 'view' | 'edit';
551
+ layout?: AXPGridLayoutOptions;
552
+ validations?: Array<{
553
+ rule: string;
554
+ options?: Record<string, any>;
555
+ }>;
436
556
  }
437
- interface AXPDynamicFormGroupDefinition {
557
+ interface AXPDynamicFormDesignerGroup {
558
+ id: string;
438
559
  name: string;
439
560
  title?: string;
440
561
  description?: string;
441
- parameters: AXPDynamicFormFieldDefinition[];
442
- }
443
- interface AXPDynamicFormDefinition {
444
- groups: AXPDynamicFormGroupDefinition[];
445
- }
446
- interface AXPDynamicFormLayoutConfig {
447
- positions: {
448
- default: {
449
- colSpan: number;
450
- };
451
- md?: {
452
- colSpan: number;
453
- };
454
- lg?: {
455
- colSpan: number;
456
- };
457
- xl?: {
458
- colSpan: number;
459
- };
460
- xxl?: {
461
- colSpan: number;
462
- };
463
- };
464
- }
465
-
466
- interface AXPDynamicDialogConfig {
467
- title: string;
468
- message?: string;
469
- formDefinition: AXPDynamicFormDefinition;
470
- context: any;
471
- layoutConfig?: AXPDynamicFormLayoutConfig;
472
- size?: AXPopupSizeType;
473
- actions?: {
474
- footer?: {
475
- prefix?: AXPActionMenuItem[];
476
- suffix?: AXPActionMenuItem[];
477
- };
478
- };
562
+ fields: AXPDynamicFormDesignerField[];
563
+ mode?: 'view' | 'edit';
564
+ layout?: AXPGridLayoutOptions;
479
565
  }
480
- interface AXPDynamicDialogResult {
481
- context: any;
482
- action?: string;
483
- }
484
- interface AXPDialogRef {
485
- /**
486
- * Manually close the dialog (optional - dialog closes automatically after user interaction)
487
- */
488
- close(): void;
489
- /**
490
- * Get the form data from the dialog
491
- */
492
- context(): any;
493
- /**
494
- * Get the action that was clicked by the user
495
- */
496
- action(): string | undefined;
497
- /**
498
- * Set the loading state of the dialog
499
- */
500
- setLoading(loading: boolean): void;
501
- }
502
-
503
- declare class AXPDynamicDialogComponent extends AXBasePageComponent {
504
- config: AXPDynamicDialogConfig;
505
- private readonly dynamicForm;
506
- isSubmitting: _angular_core.WritableSignal<boolean>;
507
- private previousContext;
508
- private formData;
509
- dialogResult: AXPDynamicDialogResult | null;
510
- isSubmittingFromDialog: boolean;
511
- data: any;
512
- callBack: (dialogRef: AXPDialogRef) => void;
513
- /**
514
- * Form context for widget container
515
- */
516
- protected formContext: _angular_core.Signal<Record<string, any>>;
517
- /**
518
- * Combined loading state from both signal and dialog
519
- */
520
- protected isFormLoading: _angular_core.Signal<boolean>;
521
- protected defaultLayout: () => {
522
- positions: {
523
- default: {
524
- colSpan: number;
525
- };
526
- md: {
527
- colSpan: number;
528
- };
529
- lg: {
530
- colSpan: number;
531
- };
532
- xl: {
533
- colSpan: number;
534
- };
535
- xxl: {
536
- colSpan: number;
537
- };
538
- };
539
- };
540
- /**
541
- * Footer actions for dynamic button system
542
- */
543
- protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
544
- protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
545
- protected hasFooterActions: _angular_core.Signal<boolean>;
546
- protected hasVisibleFooterPrefixActions: _angular_core.Signal<boolean>;
547
- protected hasVisibleFooterSuffixActions: _angular_core.Signal<boolean>;
548
- ngOnInit(): void;
549
- protected handleContextInitiated(context: any): void;
550
- protected handleContextChanged(context: any): void;
551
- /**
552
- * Execute a dynamic action
553
- */
554
- protected executeAction(action: AXPActionMenuItem): Promise<void>;
555
- /**
556
- * Execute a command
557
- */
558
- protected executeCommand(command: AXPExecuteCommand): Promise<void>;
559
- /**
560
- * Check if form is valid
561
- */
562
- protected isFormValid(): Promise<boolean>;
563
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
564
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
566
+ interface AXPDynamicFormDesignerState {
567
+ groups: AXPDynamicFormDesignerGroup[];
568
+ selectedFieldId?: string;
569
+ selectedGroupId?: string;
570
+ mode: 'designer' | 'preview';
565
571
  }
566
-
567
- declare class AXPDynamicDialogService {
568
- private readonly popupService;
569
- /**
570
- * Show a dynamic dialog with the given configuration
571
- * @param config Dialog configuration including fields, validation, and UI options
572
- * @returns Promise resolving to dialog reference for controlling the dialog
573
- */
574
- showDialog(config: AXPDynamicDialogConfig): Promise<AXPDialogRef>;
575
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
576
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
572
+ /**
573
+ * Convert designer field to form field definition
574
+ */
575
+ declare function convertDesignerFieldToFormField(field: AXPDynamicFormDesignerField): AXPDynamicFormFieldDefinition;
576
+ /**
577
+ * Convert designer group to form group definition
578
+ */
579
+ declare function convertDesignerGroupToFormGroup(group: AXPDynamicFormDesignerGroup): AXPDynamicFormGroupDefinition;
580
+ /**
581
+ * Convert designer state to form definition
582
+ */
583
+ declare function convertDesignerStateToFormDefinition(state: AXPDynamicFormDesignerState): AXPDynamicFormDefinition;
584
+ interface AXPFormElementWidget {
585
+ name: string;
586
+ title: string;
587
+ icon?: string;
588
+ description?: string;
589
+ type: string;
590
+ properties?: any[];
577
591
  }
578
592
 
579
- declare class AXPDynamicFormComponent implements OnInit {
580
- #private;
581
- /**
582
- * Form definition containing groups and fields
583
- */
584
- formDefinition: _angular_core.InputSignal<AXPDynamicFormDefinition>;
593
+ declare class AXPDynamicFormDesignerComponent {
594
+ formDefinition: _angular_core.ModelSignal<AXPDynamicFormDefinition>;
595
+ readonly: _angular_core.InputSignal<boolean>;
596
+ private isInternalUpdate;
597
+ private readonly widgetRegistry;
598
+ private readonly formBuilderService;
599
+ private readonly widgetPropertyViewerService;
600
+ protected selectedFieldId: _angular_core.WritableSignal<string | null>;
601
+ private designerState;
602
+ protected availableWidgets: _angular_core.Signal<AXPFormElementWidget[]>;
603
+ protected widgetOptions: _angular_core.Signal<{
604
+ value: string;
605
+ text: string;
606
+ }[]>;
607
+ protected getAllFields: _angular_core.Signal<AXPDynamicFormDesignerField[]>;
608
+ protected designerGroups: _angular_core.Signal<AXPDynamicFormDesignerGroup[]>;
585
609
  /**
586
- * Form context/model data
610
+ * Effect to log form definition changes
587
611
  */
588
- context: _angular_core.InputSignal<any>;
612
+ private logFormDefinitionChanges;
589
613
  /**
590
- * Form appearance and density styling (normal, compact, spacious)
614
+ * Effect to sync form definition model to designer state
591
615
  */
592
- layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
616
+ private syncModelToDesigner;
593
617
  /**
594
- * Form layout direction and flow (vertical, horizontal, grid)
618
+ * Effect to sync designer state changes back to model
595
619
  */
596
- layoutDirection: _angular_core.InputSignal<AXPDynamicFormDirection>;
620
+ private syncDesignerToModel;
597
621
  /**
598
- * Custom layout configuration for form fields
622
+ * Get the current form definition (converted from designer state)
599
623
  */
600
- layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig>;
624
+ getFormDefinition(): AXPDynamicFormDefinition;
601
625
  /**
602
- * Emitted when form context changes
626
+ * Set the form definition (converted to designer state)
603
627
  */
604
- contextChange: _angular_core.OutputEmitterRef<any>;
628
+ setFormDefinition(definition: AXPDynamicFormDefinition): void;
605
629
  /**
606
- * Emitted when context change is initiated
630
+ * Add a new field to the form
631
+ * @param field The field to add
607
632
  */
608
- contextInitiated: _angular_core.OutputEmitterRef<any>;
633
+ addField(field: AXPDynamicFormDesignerField): void;
609
634
  /**
610
- * Emitted when form becomes valid/invalid
635
+ * Update an existing field
636
+ * @param fieldId The ID of the field to update
637
+ * @param updates The updates to apply
611
638
  */
612
- validityChange: _angular_core.OutputEmitterRef<boolean>;
613
- private form;
614
- private container;
639
+ updateField(fieldId: string, updates: Partial<AXPDynamicFormDesignerField>): void;
615
640
  /**
616
- * Internal context signal for reactivity
641
+ * Remove a field from the form
642
+ * @param fieldId The ID of the field to remove
617
643
  */
618
- protected internalContext: _angular_core.WritableSignal<any>;
644
+ removeField(fieldId: string): void;
619
645
  /**
620
- * Computed layout configuration
646
+ * Get all available widget types
621
647
  */
622
- protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
648
+ getAvailableWidgets(): AXPFormElementWidget[];
623
649
  /**
624
- * Host classes based on layout look and direction
650
+ * Add a new group to the form
651
+ * @param group The group to add
625
652
  */
626
- protected hostClasses: _angular_core.Signal<string>;
627
- ngOnInit(): void;
653
+ addGroup(group: AXPDynamicFormDesignerGroup): void;
628
654
  /**
629
- * Handle context change events from widget container
655
+ * Remove a group from the form
656
+ * @param groupName The name of the group to remove
630
657
  */
631
- protected handleContextChanged(event: AXPLayoutContextChangeEvent): void;
632
- protected isRequired(param: AXPDynamicFormFieldDefinition): boolean;
658
+ removeGroup(groupName: string): void;
633
659
  /**
634
- * Get the form component instance
660
+ * Reorder groups in the form
661
+ * @param fromIndex Source index
662
+ * @param toIndex Target index
635
663
  */
636
- getForm(): AXFormComponent | undefined;
664
+ reorderGroups(fromIndex: number, toIndex: number): void;
637
665
  /**
638
- * Get current form context
666
+ * Update an existing group
667
+ * @param groupName The name of the group to update
668
+ * @param updates The updates to apply
639
669
  */
640
- getContext(): any;
670
+ updateGroup(groupName: string, updates: Partial<AXPDynamicFormDesignerGroup>): void;
641
671
  /**
642
- * Update form context programmatically
672
+ * Move a field to a different group
673
+ * @param fieldName The name/path of the field to move
674
+ * @param targetGroupName The name of the target group
643
675
  */
644
- updateContext(context: any): void;
676
+ moveFieldToGroup(fieldName: string, targetGroupName: string): void;
677
+ protected handleAddGroupClick(): Promise<void>;
678
+ protected handleAddFieldToGroup(group: AXPDynamicFormDesignerGroup): Promise<void>;
679
+ protected handleFieldEdit(field: AXPDynamicFormDesignerField): Promise<void>;
680
+ protected handleFieldRemove(field: AXPDynamicFormDesignerField): void;
681
+ protected handleGroupEdit(group: AXPDynamicFormDesignerGroup): Promise<void>;
682
+ protected handleGroupLayoutEdit(group: AXPDynamicFormDesignerGroup): Promise<void>;
683
+ protected handleGroupRemove(group: AXPDynamicFormDesignerGroup): void;
645
684
  /**
646
- * Validate the form
685
+ * Handle field layout editing
647
686
  */
648
- validate(): Promise<boolean>;
649
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
650
- 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>;
651
- }
652
-
653
- interface TextBoxOptions {
654
- placeholder?: string;
655
- maxLength?: number;
656
- minLength?: number;
657
- mask?: string;
658
- disabled?: boolean;
659
- readonly?: boolean;
660
- validations?: AXPValidationRules;
661
- }
662
- interface LargeTextBoxOptions {
663
- placeholder?: string;
664
- maxLength?: number;
665
- minLength?: number;
666
- rows?: number;
667
- disabled?: boolean;
668
- readonly?: boolean;
669
- validations?: AXPValidationRules;
670
- }
671
- interface RichTextOptions {
672
- placeholder?: string;
673
- toolbar?: string[];
674
- height?: number;
675
- disabled?: boolean;
676
- readonly?: boolean;
677
- validations?: AXPValidationRules;
678
- }
679
- interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
680
- valueField: keyof TItem & string;
681
- textField: keyof TItem & string;
682
- dataSource: TItem[];
683
- multiple?: boolean;
684
- placeholder?: string;
685
- disabled?: boolean;
686
- readonly?: boolean;
687
- validations?: AXPValidationRules;
688
- }
689
- interface LookupBoxOptions {
690
- entity: string;
691
- multiple?: boolean;
692
- expose?: Array<{
693
- source: string;
694
- target: string;
687
+ protected handleFieldLayoutEdit(field: AXPDynamicFormDesignerField, group: AXPDynamicFormDesignerGroup): Promise<void>;
688
+ protected handleGroupDrop(event: CdkDragDrop<AXPDynamicFormDesignerGroup[]>): void;
689
+ protected handleFieldDrop(event: CdkDragDrop<AXPDynamicFormDesignerField[]>, targetGroupName?: string): void;
690
+ protected handlePreviewClick(): Promise<void>;
691
+ protected deriveKey(input: string): string;
692
+ protected generateId(): string;
693
+ protected getWidgetIcon(widgetName: string): string;
694
+ protected getWidgetTitle(widgetName: string): string;
695
+ protected getWidgetNode(field: AXPDynamicFormDesignerField): AXPWidgetNode;
696
+ protected deriveGroupKey(input: string): string;
697
+ protected getGroupOptions(): Array<{
698
+ value: string;
699
+ text: string;
695
700
  }>;
696
- placeholder?: string;
697
- textField?: string;
698
- valueField?: string;
699
- look?: string;
700
- columns?: string[];
701
- allowClear?: boolean;
702
- disabled?: boolean;
703
- readonly?: boolean;
704
- validations?: AXPValidationRules;
705
- }
706
- interface NumberBoxOptions {
707
- minValue?: number;
708
- maxValue?: number;
709
- step?: number;
710
- format?: string;
711
- placeholder?: string;
712
- disabled?: boolean;
713
- readonly?: boolean;
714
- validations?: AXPValidationRules;
715
- }
716
- interface DateTimeBoxOptions {
717
- format?: string;
718
- min?: Date;
719
- max?: Date;
720
- showTime?: boolean;
721
- placeholder?: string;
722
- disabled?: boolean;
723
- readonly?: boolean;
724
- validations?: AXPValidationRules;
725
- }
726
- interface ToggleSwitchOptions {
727
- onText?: string;
728
- offText?: string;
729
- validations?: AXPValidationRules;
730
- }
731
- interface PasswordBoxOptions {
732
- placeholder?: string;
733
- maxLength?: number;
734
- minLength?: number;
735
- showToggle?: boolean;
736
- validations?: AXPValidationRules;
737
- }
738
- interface SelectionListOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
739
- valueField: keyof TItem & string;
740
- textField: keyof TItem & string;
741
- dataSource: TItem[];
742
- multiple?: boolean;
743
- placeholder?: string;
744
- disabled?: boolean;
745
- readonly?: boolean;
746
- validations?: AXPValidationRules;
747
- }
748
- interface ColorBoxOptions {
749
- defaultColor?: string;
750
- showAlpha?: boolean;
751
- disabled?: boolean;
752
- readonly?: boolean;
753
- validations?: AXPValidationRules;
754
- }
755
- interface IFieldBuilder {
756
- title(title: string): IFieldBuilder;
757
- description(description: string): IFieldBuilder;
758
- defaultValue(value: any): IFieldBuilder;
759
- textBox(options?: TextBoxOptions): IFieldBuilder;
760
- largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
761
- richText(options?: RichTextOptions): IFieldBuilder;
762
- passwordBox(options?: PasswordBoxOptions): IFieldBuilder;
763
- selectBox(options: SelectBoxOptions): IFieldBuilder;
764
- lookupBox(options: LookupBoxOptions): IFieldBuilder;
765
- selectionList(options: SelectionListOptions): IFieldBuilder;
766
- numberBox(options?: NumberBoxOptions): IFieldBuilder;
767
- dateTimeBox(options?: DateTimeBoxOptions): IFieldBuilder;
768
- toggleSwitch(options?: ToggleSwitchOptions): IFieldBuilder;
769
- colorBox(options?: ColorBoxOptions): IFieldBuilder;
770
- widget(type: string, options?: unknown): IFieldBuilder;
771
- }
772
- interface IGroupBuilder {
773
- field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
774
- group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
775
- }
776
- interface IFormBuilder {
777
- group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
778
- layout(config: Partial<AXPDynamicFormLayoutConfig>): IFormBuilder;
779
- look(look: AXPDynamicFormLook): IFormBuilder;
780
- direction(direction: AXPDynamicFormDirection): IFormBuilder;
781
- build(): AXPDynamicFormDefinition;
782
- }
783
- interface IActionBuilder {
784
- cancel(text?: string): IActionBuilder;
785
- submit(text?: string): IActionBuilder;
786
- custom(action: AXPActionMenuItem): IActionBuilder;
787
- }
788
- interface IDialogBuilder extends IFormBuilder {
789
- group(name: string, delegate?: (group: IGroupBuilder) => void): IDialogBuilder;
790
- title(title: string): IDialogBuilder;
791
- message(message?: string): IDialogBuilder;
792
- size(size: AXPopupSizeType): IDialogBuilder;
793
- context(context: AXPContextData): IDialogBuilder;
794
- actions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
795
- show(): Promise<AXPDialogRef>;
796
- }
797
- interface FormBuilderState {
798
- groups: AXPDynamicFormGroupDefinition[];
799
- layoutConfig: AXPDynamicFormLayoutConfig;
800
- look: AXPDynamicFormLook;
801
- direction: AXPDynamicFormDirection;
802
- }
803
- interface DialogBuilderState extends FormBuilderState {
804
- title?: string;
805
- message?: string;
806
- size?: AXPopupSizeType;
807
- context?: AXPContextData;
808
- actions?: {
809
- footer?: {
810
- prefix?: AXPActionMenuItem[];
811
- suffix?: AXPActionMenuItem[];
812
- };
813
- };
814
- }
815
- interface FieldBuilderState {
816
- path: string;
817
- title?: string;
818
- description?: string;
819
- defaultValue?: any;
820
- widget?: AXPWidgetNode;
821
- }
822
- interface GroupBuilderState {
823
- name: string;
824
- title?: string;
825
- description?: string;
826
- parameters: AXPDynamicFormFieldDefinition[];
827
- }
828
-
829
- declare class AXPDynamicFormBuilderService {
830
- private readonly dialogService;
701
+ protected addFieldToGroup(field: AXPDynamicFormDesignerField, groupName: string): void;
702
+ protected getAllGroupDropLists(): string[];
831
703
  /**
832
- * Create a new form builder
704
+ * Get the grid column count for a group (always 12 columns)
833
705
  */
834
- form(): IFormBuilder;
706
+ protected getGroupColumnCount(): number;
835
707
  /**
836
- * Create a new dialog builder
708
+ * Get default field grid layout based on group configuration
837
709
  */
838
- dialog(): IDialogBuilder;
839
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormBuilderService, never>;
840
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicFormBuilderService>;
710
+ protected getFieldGridLayout(group: AXPDynamicFormDesignerGroup, fieldIndex?: number): AXPGridLayoutOptions;
711
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormDesignerComponent, never>;
712
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormDesignerComponent, "axp-dynamic-form-designer", never, { "formDefinition": { "alias": "formDefinition"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, { "formDefinition": "formDefinitionChange"; }, never, never, true, never>;
841
713
  }
842
714
 
843
715
  /**
@@ -878,8 +750,8 @@ declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
878
750
 
879
751
  declare class AXPExtraPropertiesComponent {
880
752
  items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
881
- mode: _angular_core.InputSignal<"edit" | "view">;
882
- protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
753
+ mode: _angular_core.InputSignal<"view" | "edit">;
754
+ protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
883
755
  itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
884
756
  private readonly providedTypes;
885
757
  private readonly translationService;
@@ -919,7 +791,7 @@ declare class AXPExtraPropertiesComponent {
919
791
 
920
792
  declare class AXPExtraPropertiesSchemaComponent {
921
793
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
922
- mode: _angular_core.InputSignal<"edit" | "view">;
794
+ mode: _angular_core.InputSignal<"view" | "edit">;
923
795
  schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
924
796
  private readonly providedTypes;
925
797
  private readonly translationService;
@@ -950,13 +822,13 @@ declare class AXPExtraPropertiesSchemaComponent {
950
822
  declare class AXPExtraPropertiesValuesComponent {
951
823
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
952
824
  values: _angular_core.InputSignal<Record<string, any>>;
953
- mode: _angular_core.InputSignal<"edit" | "view">;
825
+ mode: _angular_core.InputSignal<"view" | "edit">;
954
826
  valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
955
827
  isRequired: (item: AXPExtraPropertySchemaItem) => any;
956
828
  protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
957
829
  private nodeCache;
958
830
  private lastTypeByKey;
959
- protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
831
+ protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
960
832
  private readonly syncContextFromInputs;
961
833
  private readonly clearOnSchemaTypeChange;
962
834
  protected getNode(item: AXPExtraPropertySchemaItem): AXPWidgetNode;
@@ -991,7 +863,7 @@ declare class AXPQueryFiltersComponent {
991
863
  ngOnInit(): void;
992
864
  handleSelectField(field: AXPFilterDefinition): void;
993
865
  handleFieldKeyDown(e: KeyboardEvent, field: AXPFilterDefinition): void;
994
- onContextChanged(e: AXPLayoutContextChangeEvent): void;
866
+ onContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
995
867
  handleApplyFilter(): void;
996
868
  handleButtonKeyDown(e: Event): void;
997
869
  handleKeyDown(e: AXHtmlEvent<KeyboardEvent>): void;
@@ -1006,6 +878,116 @@ declare class AXPQueryFiltersComponent {
1006
878
  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>;
1007
879
  }
1008
880
 
881
+ declare class AXPImageEditorPopupComponent extends AXBasePageComponent {
882
+ private readonly fileStorage;
883
+ image: _angular_core.InputSignal<Blob>;
884
+ showHistory: _angular_core.InputSignal<boolean>;
885
+ look: _angular_core.InputSignal<"solid" | "outline" | "blank">;
886
+ private container;
887
+ private blobUrl;
888
+ protected url: _angular_core.WritableSignal<string | null>;
889
+ protected context: _angular_core.WritableSignal<{
890
+ image: Blob | null;
891
+ }>;
892
+ ngOnInit(): Promise<void>;
893
+ handleValueChanged(e: any): void;
894
+ handleSave(): void;
895
+ handleCancel(): void;
896
+ ngOnDestroy(): void;
897
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPImageEditorPopupComponent, never>;
898
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPImageEditorPopupComponent, "axp-image-editor-popup", never, { "image": { "alias": "image"; "required": true; "isSignal": true; }; "showHistory": { "alias": "showHistory"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
899
+ }
900
+
901
+ interface AXPImageEditorOpenOptions {
902
+ title?: string;
903
+ image: Blob;
904
+ showHistory?: boolean;
905
+ look?: 'solid' | 'outline' | 'blank';
906
+ }
907
+ declare class AXPImageEditorService {
908
+ private readonly popupService;
909
+ private readonly translate;
910
+ open(options?: AXPImageEditorOpenOptions): Promise<Blob | null>;
911
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPImageEditorService, never>;
912
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPImageEditorService>;
913
+ }
914
+
915
+ interface AXPWidgetPropertyTab {
916
+ name: string;
917
+ title: string;
918
+ groups: {
919
+ name: string;
920
+ title: string;
921
+ isCollapsed: boolean;
922
+ props: AXPWidgetProperty[];
923
+ }[];
924
+ }
925
+ interface AXPWidgetPropertiesChangedEvent {
926
+ values: any;
927
+ mode: 'init' | 'update';
928
+ }
929
+ declare class AXPWidgetPropertyViewerComponent {
930
+ widget: _angular_core.InputSignal<AXPWidgetNode>;
931
+ mode: _angular_core.InputSignal<"simple" | "advanced">;
932
+ private widgetRegistryService;
933
+ protected currentTabIndex: WritableSignal<number>;
934
+ protected config: WritableSignal<AXPWidgetConfig<any> | null>;
935
+ protected allPoperties: AXPWidgetProperty[];
936
+ protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
937
+ protected groups: _angular_core.Signal<{
938
+ name: string;
939
+ title: string;
940
+ isCollapsed: boolean;
941
+ props: AXPWidgetProperty[];
942
+ }[]>;
943
+ protected groupCollapsedStates: Map<string, boolean>;
944
+ onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
945
+ protected context: WritableSignal<any>;
946
+ protected initialContext: any;
947
+ constructor();
948
+ update(values: any): void;
949
+ private fillTabs;
950
+ protected handleContextChange(e: AXPWidgetCoreContextChangeEvent): void;
951
+ protected handleTabChange(event: AXTabStripChangedEvent): void;
952
+ protected handleCollapsedChange(group: string, collapsed: boolean): void;
953
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
954
+ 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>;
955
+ }
956
+
957
+ declare class AXPWidgetPropertyViewerPopupComponent extends AXBasePageComponent {
958
+ widget: _angular_core.InputSignal<AXPWidgetNode>;
959
+ mode: _angular_core.InputSignal<"simple" | "advanced">;
960
+ protected currentValues: _angular_core.WritableSignal<any>;
961
+ protected handlePropertyChanged(event: {
962
+ values: any;
963
+ mode: 'init' | 'update';
964
+ }): void;
965
+ protected handleCloseClick(): void;
966
+ protected handleApplyClick(): void;
967
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerPopupComponent, never>;
968
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerPopupComponent, "axp-widget-property-viewer-popup", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
969
+ }
970
+
971
+ interface AXPWidgetPropertyViewerConfig {
972
+ title: string;
973
+ widget: AXPWidgetNode;
974
+ mode?: 'simple' | 'advanced';
975
+ size?: 'sm' | 'md' | 'lg' | 'full';
976
+ }
977
+ interface AXPWidgetPropertyViewerResult {
978
+ values: any;
979
+ mode: 'init' | 'update';
980
+ }
981
+ declare class AXPWidgetPropertyViewerService {
982
+ private readonly popupService;
983
+ /**
984
+ * Open widget property viewer popup
985
+ */
986
+ open(config: AXPWidgetPropertyViewerConfig): Promise<AXPWidgetPropertyViewerResult | null>;
987
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerService, never>;
988
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetPropertyViewerService>;
989
+ }
990
+
1009
991
  declare class AXPQuerySortsComponent {
1010
992
  sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
1011
993
  sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
@@ -1019,6 +1001,17 @@ declare class AXPQuerySortsComponent {
1019
1001
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQuerySortsComponent, "axp-query-sorts", never, { "sortDefinitions": { "alias": "sortDefinitions"; "required": false; "isSignal": true; }; "initialSortQueries": { "alias": "initialSortQueries"; "required": false; "isSignal": true; }; }, { "sortDefinitions": "sortDefinitionsChange"; "sortQueriesChange": "sortQueriesChange"; }, never, never, true, never>;
1020
1002
  }
1021
1003
 
1004
+ type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
1005
+ declare class AXPStateMessageComponent {
1006
+ mode: _angular_core.InputSignal<StateMode>;
1007
+ icon: _angular_core.InputSignal<string>;
1008
+ title: _angular_core.InputSignal<string>;
1009
+ description: _angular_core.InputSignal<string>;
1010
+ variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
1011
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
1012
+ 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>;
1013
+ }
1014
+
1022
1015
  interface AXPTemplateViewerConfig {
1023
1016
  template: AXPWidgetNode | string;
1024
1017
  title?: string;
@@ -1044,7 +1037,7 @@ declare class AXPTemplateViewerComponent extends AXBasePageComponent {
1044
1037
  protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
1045
1038
  protected ngOnInit(): Promise<void>;
1046
1039
  private loadTemplate;
1047
- protected handleContextChanged(e: AXPLayoutContextChangeEvent): void;
1040
+ protected handleContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
1048
1041
  protected handleSubmit(form: AXFormComponent): Promise<void>;
1049
1042
  protected handleCancel(): void;
1050
1043
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerComponent, never>;
@@ -1235,47 +1228,5 @@ declare class AXPWidgetItemComponent {
1235
1228
  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>;
1236
1229
  }
1237
1230
 
1238
- interface AXPWidgetPropertyTab {
1239
- name: string;
1240
- title: string;
1241
- groups: {
1242
- name: string;
1243
- title: string;
1244
- isCollapsed: boolean;
1245
- props: AXPWidgetProperty[];
1246
- }[];
1247
- }
1248
- interface AXPWidgetPropertiesChangedEvent {
1249
- values: any;
1250
- mode: 'init' | 'update';
1251
- }
1252
- declare class AXPWidgetPropertyViewerComponent {
1253
- widget: _angular_core.InputSignal<AXPWidgetNode>;
1254
- mode: _angular_core.InputSignal<"simple" | "advanced">;
1255
- private widgetRegistryService;
1256
- protected currentTabIndex: WritableSignal<number>;
1257
- protected config: WritableSignal<AXPWidgetConfig<any> | null>;
1258
- protected allPoperties: AXPWidgetProperty[];
1259
- protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
1260
- protected groups: _angular_core.Signal<{
1261
- name: string;
1262
- title: string;
1263
- isCollapsed: boolean;
1264
- props: AXPWidgetProperty[];
1265
- }[]>;
1266
- protected groupCollapsedStates: Map<string, boolean>;
1267
- onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
1268
- protected context: WritableSignal<any>;
1269
- protected initialContext: any;
1270
- constructor();
1271
- update(values: any): void;
1272
- private fillTabs;
1273
- protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
1274
- protected handleTabChange(event: AXTabStripChangedEvent): void;
1275
- protected handleCollapsedChange(group: string, collapsed: boolean): void;
1276
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
1277
- 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>;
1278
- }
1279
-
1280
- export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormBuilderService, 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 };
1281
- export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDialogRef, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, FieldBuilderState, FormBuilderState, GroupBuilderState, IActionBuilder, IDialogBuilder, IFieldBuilder, IFormBuilder, IGroupBuilder, LargeTextBoxOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions };
1231
+ export { AXPActivityLogComponent, AXPCategoryTreeComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDataSelectorComponent, AXPDataSelectorService, AXPDynamicFormDesignerComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPImageEditorPopupComponent, AXPImageEditorService, 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, AXPWidgetPropertyViewerPopupComponent, AXPWidgetPropertyViewerService, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER, convertDesignerFieldToFormField, convertDesignerGroupToFormGroup, convertDesignerStateToFormDefinition };
1232
+ export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDynamicFormDesignerField, AXPDynamicFormDesignerGroup, AXPDynamicFormDesignerState, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPFormElementWidget, AXPImageEditorOpenOptions, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab, AXPWidgetPropertyViewerConfig, AXPWidgetPropertyViewerResult, StateMode };