@acorex/platform 20.3.0-next.9 → 20.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/common/index.d.ts +643 -365
  2. package/core/index.d.ts +19 -4
  3. package/fesm2022/acorex-platform-auth.mjs +19 -19
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs +47 -0
  6. package/fesm2022/acorex-platform-common-common-settings.provider-9OHien_H.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-common.mjs +674 -243
  8. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +58 -46
  10. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-domain.mjs +16 -16
  12. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +1933 -2330
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs +1511 -1626
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +82 -82
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs +52 -0
  20. package/fesm2022/acorex-platform-layout-entity-create-entity.command-DyXF9zAh.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-entity.mjs +1371 -917
  22. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-views.mjs +63 -54
  24. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-widget-core.mjs +2758 -0
  26. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs} +6 -6
  28. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C_3IWNkj.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs} +5 -5
  30. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CJltEgut.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs} +5 -5
  32. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-pM-TIuk0.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs} +5 -5
  34. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-BqI96-fU.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs} +5 -5
  36. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-C-AhenaM.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-DCAya5ne.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs} +5 -5
  40. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-D-PnBqLb.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs → acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs} +9 -9
  42. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DuuFHWvB.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs → acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs} +8 -8
  44. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-Bss0xUcu.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs} +8 -8
  46. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Cy9mHnNP.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs} +6 -5
  48. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DznLtuer.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs} +6 -7
  50. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-ndOUSFi9.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +4154 -3147
  52. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-native.mjs +7 -7
  54. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  56. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  57. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs +115 -0
  58. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-B1PT6FtZ.mjs.map +1 -0
  59. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs → acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs} +69 -33
  60. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-rdKxuMC_.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs +101 -0
  62. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-4g19A3eI.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs → acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs} +17 -17
  64. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8gx5cG7.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CcvGfdhu.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map → acorex-platform-themes-default-error-404.component-4-CaEsnV.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs} +4 -4
  70. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-BNecbFEj.mjs.map} +1 -1
  71. package/fesm2022/acorex-platform-themes-default.mjs +118 -54
  72. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  73. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs → acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs} +5 -5
  74. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-Dc_Txe32.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +8 -8
  76. package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs} +5 -5
  78. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-hgWLhhle.mjs.map +1 -0
  79. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs} +5 -5
  80. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CY3JZK_W.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-themes-shared.mjs +66 -55
  82. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  83. package/fesm2022/acorex-platform-workflow.mjs +27 -39
  84. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  85. package/layout/builder/README.md +1577 -3
  86. package/layout/builder/index.d.ts +735 -868
  87. package/layout/components/index.d.ts +218 -714
  88. package/layout/designer/index.d.ts +4 -4
  89. package/layout/entity/index.d.ts +954 -375
  90. package/layout/views/index.d.ts +13 -14
  91. package/layout/widget-core/README.md +4 -0
  92. package/layout/widget-core/index.d.ts +959 -0
  93. package/layout/widgets/README.md +4 -0
  94. package/{widgets → layout/widgets}/index.d.ts +426 -365
  95. package/package.json +18 -14
  96. package/themes/shared/index.d.ts +2 -2
  97. package/workflow/index.d.ts +3 -173
  98. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs +0 -115
  99. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +0 -101
  102. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BgEh06Tn.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-AeOQxjbS.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DEVzRd6-.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs +0 -55
  112. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BXPrXy-h.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs +0 -92
  114. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-KYCQ2qTJ.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs +0 -55
  116. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-BVZ7lWm9.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs.map +0 -1
  125. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs +0 -40
  126. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map +0 -1
  127. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +0 -1
  128. package/fesm2022/acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map +0 -1
  129. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +0 -1
  130. package/fesm2022/acorex-platform-widgets.mjs.map +0 -1
  131. package/widgets/README.md +0 -4
@@ -1,24 +1,23 @@
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, AXPCategoryEntity, 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 * as _acorex_cdk_common from '@acorex/cdk/common';
7
- import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXOrientation, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
6
+ import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
8
7
  import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
9
8
  import { AXTranslationService } from '@acorex/core/translation';
10
9
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
11
- import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
10
+ import { AXPWidgetNode, AXPWidgetCoreContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/widget-core';
12
11
  import * as _ngrx_signals from '@ngrx/signals';
13
12
  import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
14
13
  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';
17
- import { AXFormComponent } from '@acorex/components/form';
14
+ import { AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormDefinition } from '@acorex/platform/layout/builder';
18
15
  import { AXPopoverComponent } from '@acorex/components/popover';
19
16
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
20
17
  import { AXCalendarService } from '@acorex/core/date-time';
21
18
  import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
19
+ import { AXFormComponent } from '@acorex/components/form';
20
+ import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
22
21
  import { Observable } from 'rxjs';
23
22
 
24
23
  declare class AXPActivityLogComponent {
@@ -444,6 +443,7 @@ interface AXPDataSelectorColumn {
444
443
  name: string;
445
444
  title: string;
446
445
  visible: boolean;
446
+ dataPath?: string;
447
447
  widget: {
448
448
  type: string;
449
449
  options: any;
@@ -457,6 +457,7 @@ interface AXPDataSelectorConfig {
457
457
  searchFields?: string[];
458
458
  parentField?: string;
459
459
  allowCreate?: boolean;
460
+ filters?: AXDataSourceFilterOption;
460
461
  categoryFilter?: {
461
462
  enabled: boolean;
462
463
  title: string;
@@ -517,6 +518,7 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
517
518
 
518
519
  declare class AXPDataSelectorService {
519
520
  private readonly popupService;
521
+ private readonly expressionService;
520
522
  /**
521
523
  * Open data selector popup
522
524
  */
@@ -539,752 +541,175 @@ declare class AXPDataSelectorService {
539
541
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSelectorService>;
540
542
  }
541
543
 
542
- /**
543
- * Form appearance and density styling
544
- */
545
- type AXPDynamicFormLook = 'normal' | 'compact' | 'borderless';
546
- /**
547
- * Form layout direction and flow
548
- */
549
- type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
550
- interface AXPDynamicFormFieldDefinition {
551
- path: string;
552
- title?: string;
544
+ interface AXPDynamicFormDesignerField {
545
+ id: string;
546
+ name: string;
547
+ title: string;
553
548
  description?: string;
554
549
  widget: AXPWidgetNode;
555
- /**
556
- * Optional per-parameter layout override. Takes precedence over form layoutConfig.
557
- * - number: colSpan for all breakpoints
558
- * - object: colSpan per breakpoint
559
- */
560
- layout?: number | {
561
- default?: number;
562
- md?: number;
563
- lg?: number;
564
- xl?: number;
565
- xxl?: number;
566
- };
550
+ mode?: 'view' | 'edit';
551
+ layout?: AXPGridLayoutOptions;
552
+ validations?: Array<{
553
+ rule: string;
554
+ options?: Record<string, any>;
555
+ }>;
567
556
  }
568
- interface AXPDynamicFormGroupDefinition {
557
+ interface AXPDynamicFormDesignerGroup {
558
+ id: string;
569
559
  name: string;
570
560
  title?: string;
571
561
  description?: string;
572
- parameters: AXPDynamicFormFieldDefinition[];
573
- }
574
- interface AXPDynamicFormDefinition {
575
- groups: AXPDynamicFormGroupDefinition[];
576
- }
577
- interface AXPDynamicFormLayoutConfig {
578
- positions: {
579
- default: {
580
- colSpan: number;
581
- };
582
- md?: {
583
- colSpan: number;
584
- };
585
- lg?: {
586
- colSpan: number;
587
- };
588
- xl?: {
589
- colSpan: number;
590
- };
591
- xxl?: {
592
- colSpan: number;
593
- };
594
- };
562
+ fields: AXPDynamicFormDesignerField[];
563
+ mode?: 'view' | 'edit';
564
+ layout?: AXPGridLayoutOptions;
565
+ }
566
+ interface AXPDynamicFormDesignerState {
567
+ groups: AXPDynamicFormDesignerGroup[];
568
+ selectedFieldId?: string;
569
+ selectedGroupId?: string;
570
+ mode: 'designer' | 'preview';
595
571
  }
596
-
597
572
  /**
598
- * Describes a single step of the dynamic form stepper.
599
- * Each step contains one or more groups rendered by AXPDynamicFormComponent.
573
+ * Convert designer field to form field definition
600
574
  */
601
- interface AXPDynamicFormStepperStepDefinition {
602
- /** Unique identifier for the step */
603
- id: string;
604
- /** Display title for the step */
605
- title?: string;
606
- /** Optional descriptive text for the step */
607
- description?: string;
608
- /** Optional icon name for the step header */
609
- icon?: string;
610
- /** Field groups to render in this step */
611
- groups: AXPDynamicFormGroupDefinition[];
612
- /** Optional layout direction override for this step's form */
613
- formDirection?: AXPDynamicFormDirection;
614
- /** Whether the user may skip this step (defaults to false) */
615
- canSkip?: boolean;
616
- /** Whether the user may navigate back from this step (defaults to true) */
617
- canGoBack?: boolean;
618
- /** Optional data path inside the shared context for this step's data */
619
- dataPath?: string;
620
- }
575
+ declare function convertDesignerFieldToFormField(field: AXPDynamicFormDesignerField): AXPDynamicFormFieldDefinition;
621
576
  /**
622
- * Root definition for the dynamic form stepper.
577
+ * Convert designer group to form group definition
623
578
  */
624
- interface AXPDynamicFormStepperDefinition {
625
- /** Ordered collection of steps */
626
- steps: AXPDynamicFormStepperStepDefinition[];
627
- /** Enforce sequential navigation (no jumping to future steps) */
628
- linear?: boolean;
629
- /** Show progress indicator above the content */
630
- showProgress?: boolean;
631
- /** Show step numbers in the header */
632
- showStepNumbers?: boolean;
633
- }
634
-
635
- declare class AXPDynamicFormStepperComponent {
636
- #private;
637
- /**
638
- * Stepper definition providing steps metadata and behavior configuration
639
- */
640
- definition: _angular_core.InputSignal<AXPDynamicFormStepperDefinition>;
641
- /**
642
- * Shared root context for all steps
643
- */
644
- context: _angular_core.InputSignal<any>;
645
- /**
646
- * Optional pass-through layout props for inner forms
647
- */
648
- layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
649
- stepperDirection: _angular_core.InputSignal<AXOrientation>;
650
- layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig | undefined>;
651
- /**
652
- * Optional guard that controls advancing to the next step (async only)
653
- */
654
- guardNext: _angular_core.InputSignal<((e: {
655
- index: number;
656
- id: string;
657
- fullContext: any;
658
- }) => Promise<boolean>) | undefined>;
659
- /**
660
- * Emits when the shared root context changes
661
- */
662
- contextChange: _angular_core.OutputEmitterRef<any>;
663
- /**
664
- * Emits when the active step changes
665
- */
666
- stepChange: _angular_core.OutputEmitterRef<{
667
- index: number;
668
- id: string;
669
- }>;
670
- /**
671
- * Emits after successful finish
672
- */
673
- finished: _angular_core.OutputEmitterRef<any>;
674
- /**
675
- * Emits when cancelled by API
676
- */
677
- cancel: _angular_core.OutputEmitterRef<void>;
678
- /**
679
- * Emits when navigation is blocked by validation or policy
680
- */
681
- navigationBlocked: _angular_core.OutputEmitterRef<{
682
- reason: "invalid" | "linear" | "cannot-skip" | "cannot-go-back";
683
- stepId: string;
684
- targetIndex?: number;
685
- }>;
686
- /**
687
- * Internal reactive copy of the shared context
688
- */
689
- private internalContext;
690
- /**
691
- * Active step index
692
- */
693
- protected currentStepIndex: _angular_core.WritableSignal<number>;
694
- /**
695
- * Navigation lock while async guards are pending
696
- */
697
- private navigationLocked;
698
- /**
699
- * Reference to underlying step wizard to sync visual navigation
700
- */
701
- private readonly wizard;
702
- /**
703
- * References to rendered dynamic forms (usually one active)
704
- */
705
- private readonly forms;
706
- protected steps: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition[]>;
707
- protected stepCount: _angular_core.Signal<number>;
708
- protected currentStep: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormStepperStepDefinition>;
709
- protected isFirstComputed: _angular_core.Signal<boolean>;
710
- protected isLastComputed: _angular_core.Signal<boolean>;
711
- /**
712
- * Non-undefined layout config for inner dynamic forms
713
- */
714
- protected effectiveLayoutConfig: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
715
- /**
716
- * Returns the current step pointer
717
- */
718
- getCurrentStep(): {
719
- index: number;
720
- id: string;
721
- };
722
- /**
723
- * Public helpers for templates/consumers
724
- */
725
- isFirst(): boolean;
726
- isLast(): boolean;
727
- /**
728
- * Returns the root context
729
- */
730
- getContext(): any;
731
- /**
732
- * Replaces the root context programmatically
733
- */
734
- setContext(ctx: any): void;
735
- /**
736
- * Validates the current step.
737
- */
738
- validateCurrentStep(): Promise<boolean>;
739
- /**
740
- * Attempts to advance to the next step applying validation and guard
741
- */
742
- next(): Promise<void>;
743
- /**
744
- * Goes back to the previous step if possible
745
- */
746
- previous(): Promise<void>;
747
- /**
748
- * Navigates to a specific step by id or index
749
- */
750
- goTo(stepIdOrIndex: string | number): Promise<void>;
751
- /**
752
- * Validates all steps and emits finished when successful
753
- */
754
- finish(): Promise<void>;
755
- /**
756
- * Emits cancel event without state changes
757
- */
758
- cancelFlow(): void;
759
- /**
760
- * Handle per-step context changes and keep internal root context in sync.
761
- */
762
- protected onStepContextChange(stepId: string, stepContext: any): void;
763
- /**
764
- * Exposes reading a step slice to the template
765
- */
766
- readStepSlice(path?: string): {
767
- slice: any;
768
- exists: boolean;
769
- };
770
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormStepperComponent, never>;
771
- 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>;
772
- }
773
-
774
- interface AXPDynamicDialogConfig {
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;
775
586
  title: string;
776
- message?: string;
777
- /**
778
- * Legacy: If provided, dialog renders only dynamic-form.
779
- */
780
- formDefinition?: AXPDynamicFormDefinition;
781
- /**
782
- * Preferred definition: dynamic form (no steps or single step) or a multi-step stepper definition.
783
- */
784
- definition?: AXPDynamicFormDefinition | AXPDynamicFormStepperDefinition;
785
- /**
786
- * Shared context passed to the rendered control
787
- */
788
- context: any;
789
- /**
790
- * Shared layout options applied to form/stepper unless overridden
791
- */
792
- layoutConfig?: AXPDynamicFormLayoutConfig;
793
- layoutLook?: AXPDynamicFormLook;
794
- size?: AXPopupSizeType;
795
- closeButton?: boolean;
796
- /**
797
- * Optional stepper-only options. Ignored when rendering dynamic-form.
798
- */
799
- stepper?: {
800
- guardNext?: (e: {
801
- index: number;
802
- id: string;
803
- fullContext: unknown;
804
- }) => Promise<boolean>;
805
- stepperDirection?: AXOrientation;
806
- };
807
- /**
808
- * Footer actions. In stepper mode, footer is replaced by Prev/Next/Confirm.
809
- */
810
- actions?: {
811
- footer?: {
812
- prefix?: AXPActionMenuItem[];
813
- suffix?: AXPActionMenuItem[];
814
- };
815
- };
816
- }
817
- interface AXPDynamicDialogResult {
818
- context: any;
819
- action?: string;
820
- }
821
- interface AXPDialogRef {
822
- /**
823
- * Manually close the dialog (optional - dialog closes automatically after user interaction)
824
- */
825
- close(): void;
826
- /**
827
- * Get the form data from the dialog
828
- */
829
- context(): any;
830
- /**
831
- * Get the action that was clicked by the user
832
- */
833
- action(): string | undefined;
834
- /**
835
- * Set the loading state of the dialog
836
- */
837
- setLoading(loading: boolean): void;
838
- }
839
-
840
- declare class AXPDynamicDialogComponent extends AXBasePageComponent {
841
- config: AXPDynamicDialogConfig;
842
- private readonly dynamicForm;
843
- protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
844
- isSubmitting: _angular_core.WritableSignal<boolean>;
845
- private previousContext;
846
- private formData;
847
- dialogResult: AXPDynamicDialogResult | null;
848
- isSubmittingFromDialog: boolean;
849
- data: any;
850
- callBack: (dialogRef: AXPDialogRef) => void;
851
- /**
852
- * Form context for widget container
853
- */
854
- protected formContext: _angular_core.Signal<Record<string, any>>;
855
- /**
856
- * Combined loading state from both signal and dialog
857
- */
858
- protected isFormLoading: _angular_core.Signal<boolean>;
859
- protected defaultLayout: () => {
860
- positions: {
861
- default: {
862
- colSpan: number;
863
- };
864
- md: {
865
- colSpan: number;
866
- };
867
- lg: {
868
- colSpan: number;
869
- };
870
- xl: {
871
- colSpan: number;
872
- };
873
- xxl: {
874
- colSpan: number;
875
- };
876
- };
877
- };
878
- /**
879
- * Determine rendering mode and effective definitions
880
- */
881
- protected readonly hasLegacyForm: _angular_core.Signal<boolean>;
882
- protected readonly providedDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition | _acorex_platform_layout_components.AXPDynamicFormStepperDefinition | undefined>;
883
- protected readonly isStepperDefinition: _angular_core.Signal<boolean>;
884
- protected readonly shouldRenderForm: _angular_core.Signal<boolean>;
885
- protected readonly effectiveFormDefinition: _angular_core.Signal<any>;
886
- protected readonly resolvedFormDefinition: _angular_core.Signal<any>;
887
- protected readonly effectiveLayoutLook: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLook>;
888
- protected readonly effectiveLayoutConfig: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormLayoutConfig>;
889
- protected readonly stepperGuardNext: _angular_core.Signal<((e: {
890
- index: number;
891
- id: string;
892
- fullContext: unknown;
893
- }) => Promise<boolean>) | undefined>;
894
- protected readonly stepperDirection: _angular_core.Signal<_acorex_cdk_common.AXOrientation>;
895
- protected readonly stepperDefinition: _angular_core.Signal<any>;
896
- stepperIsFirst: _angular_core.Signal<boolean>;
897
- stepperIsLast: _angular_core.Signal<boolean>;
898
- /**
899
- * Effective form direction when rendering dynamic-form (single-step or legacy form).
900
- * If a single-step definition is provided and that step specifies formDirection, use it.
901
- */
902
- protected readonly effectiveFormDirection: _angular_core.Signal<AXPDynamicFormDirection>;
903
- /**
904
- * Footer actions for dynamic button system
905
- */
906
- protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
907
- protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
908
- protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
909
- protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
910
- protected hasFooterActions: _angular_core.Signal<boolean>;
911
- /** Stepper footer: choose a single confirm action from provided suffix actions (first visible). */
912
- protected confirmAction: _angular_core.Signal<AXPActionMenuItem | undefined>;
913
- protected confirmActionTitle: _angular_core.Signal<string>;
914
- ngOnInit(): void;
915
- protected handleContextInitiated(context: any): void;
916
- protected handleContextChanged(context: any): void;
917
- /**
918
- * Execute a dynamic action
919
- */
920
- protected executeAction(action: AXPActionMenuItem): Promise<void>;
921
- /**
922
- * Execute a command
923
- */
924
- protected executeCommand(command: AXPExecuteCommand): Promise<void>;
925
- /**
926
- * Check if form is valid
927
- */
928
- protected isFormValid(): Promise<boolean>;
929
- /** Stepper navigation handlers */
930
- protected goPrev(): void;
931
- protected goNext(): void;
932
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
933
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
934
- }
935
-
936
- declare class AXPDynamicDialogService {
937
- private readonly popupService;
938
- /**
939
- * Show a dynamic dialog with the given configuration
940
- * @param config Dialog configuration including fields, validation, and UI options
941
- * @returns Promise resolving to dialog reference for controlling the dialog
942
- */
943
- showDialog(config: AXPDynamicDialogConfig): Promise<AXPDialogRef>;
944
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
945
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
587
+ icon?: string;
588
+ description?: string;
589
+ type: string;
590
+ properties?: any[];
946
591
  }
947
592
 
948
- declare class AXPDynamicFormComponent implements OnInit {
949
- #private;
950
- private evaluatorService;
951
- /**
952
- * Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
953
- */
954
- private evaluationRunId;
955
- /**
956
- * Memoization cache for resolveParamLayout to keep stable object identities
957
- */
958
- private layoutCache;
959
- /**
960
- * Form definition containing groups and fields
961
- */
962
- formDefinition: _angular_core.InputSignal<AXPDynamicFormDefinition>;
963
- /**
964
- * Form context/model data
965
- */
966
- context: _angular_core.InputSignal<any>;
967
- /**
968
- * Form appearance and density styling (normal, compact, spacious)
969
- */
970
- layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
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[]>;
971
609
  /**
972
- * Form layout direction and flow (vertical, horizontal, grid)
610
+ * Effect to log form definition changes
973
611
  */
974
- layoutDirection: _angular_core.InputSignal<AXPDynamicFormDirection>;
612
+ private logFormDefinitionChanges;
975
613
  /**
976
- * Custom layout configuration for form fields
614
+ * Effect to sync form definition model to designer state
977
615
  */
978
- layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig>;
979
- protected expressionEvaluator(expression: any, context: any): Promise<any>;
980
- protected evaluatedFormDefinition: _angular_core.WritableSignal<any>;
616
+ private syncModelToDesigner;
981
617
  /**
982
- * Evaluate definition when inputs change with last-write-wins and deep-equality guard
618
+ * Effect to sync designer state changes back to model
983
619
  */
984
- eff: _angular_core.EffectRef;
620
+ private syncDesignerToModel;
985
621
  /**
986
- * Emitted when form context changes
622
+ * Get the current form definition (converted from designer state)
987
623
  */
988
- contextChange: _angular_core.OutputEmitterRef<any>;
624
+ getFormDefinition(): AXPDynamicFormDefinition;
989
625
  /**
990
- * Emitted when context change is initiated
626
+ * Set the form definition (converted to designer state)
991
627
  */
992
- contextInitiated: _angular_core.OutputEmitterRef<any>;
628
+ setFormDefinition(definition: AXPDynamicFormDefinition): void;
993
629
  /**
994
- * Emitted when form becomes valid/invalid
630
+ * Add a new field to the form
631
+ * @param field The field to add
995
632
  */
996
- validityChange: _angular_core.OutputEmitterRef<boolean>;
997
- private form;
998
- private container;
633
+ addField(field: AXPDynamicFormDesignerField): void;
999
634
  /**
1000
- * Internal context signal for reactivity
635
+ * Update an existing field
636
+ * @param fieldId The ID of the field to update
637
+ * @param updates The updates to apply
1001
638
  */
1002
- protected internalContext: _angular_core.WritableSignal<any>;
639
+ updateField(fieldId: string, updates: Partial<AXPDynamicFormDesignerField>): void;
1003
640
  /**
1004
- * Computed layout configuration
641
+ * Remove a field from the form
642
+ * @param fieldId The ID of the field to remove
1005
643
  */
1006
- protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
644
+ removeField(fieldId: string): void;
1007
645
  /**
1008
- * Resolve effective grid layout for a specific parameter, merging per-parameter override with form layout.
646
+ * Get all available widget types
1009
647
  */
1010
- protected resolveParamLayout(param: AXPDynamicFormFieldDefinition): AXPDynamicFormLayoutConfig;
648
+ getAvailableWidgets(): AXPFormElementWidget[];
1011
649
  /**
1012
- * Host classes based on layout look and direction
650
+ * Add a new group to the form
651
+ * @param group The group to add
1013
652
  */
1014
- protected hostClasses: _angular_core.Signal<string>;
1015
- ngOnInit(): void;
653
+ addGroup(group: AXPDynamicFormDesignerGroup): void;
1016
654
  /**
1017
- * Handle context change events from widget container
655
+ * Remove a group from the form
656
+ * @param groupName The name of the group to remove
1018
657
  */
1019
- protected handleContextChanged(event: AXPLayoutContextChangeEvent): void;
1020
- protected isRequired(param: AXPDynamicFormFieldDefinition): boolean;
658
+ removeGroup(groupName: string): void;
1021
659
  /**
1022
- * Get the form component instance
660
+ * Reorder groups in the form
661
+ * @param fromIndex Source index
662
+ * @param toIndex Target index
1023
663
  */
1024
- getForm(): AXFormComponent | undefined;
664
+ reorderGroups(fromIndex: number, toIndex: number): void;
1025
665
  /**
1026
- * 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
1027
669
  */
1028
- getContext(): any;
670
+ updateGroup(groupName: string, updates: Partial<AXPDynamicFormDesignerGroup>): void;
1029
671
  /**
1030
- * 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
1031
675
  */
1032
- 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;
1033
684
  /**
1034
- * Validate the form
685
+ * Handle field layout editing
1035
686
  */
1036
- validate(): Promise<boolean>;
1037
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
1038
- 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>;
1039
- }
1040
-
1041
- interface TextBoxOptions {
1042
- placeholder?: string;
1043
- maxLength?: number;
1044
- minLength?: number;
1045
- mask?: string;
1046
- disabled?: boolean;
1047
- readonly?: boolean;
1048
- validations?: AXPValidationRules;
1049
- }
1050
- interface LargeTextBoxOptions {
1051
- placeholder?: string;
1052
- maxLength?: number;
1053
- minLength?: number;
1054
- rows?: number;
1055
- disabled?: boolean;
1056
- readonly?: boolean;
1057
- validations?: AXPValidationRules;
1058
- }
1059
- interface RichTextOptions {
1060
- placeholder?: string;
1061
- toolbar?: string[];
1062
- height?: number;
1063
- disabled?: boolean;
1064
- readonly?: boolean;
1065
- validations?: AXPValidationRules;
1066
- }
1067
- interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
1068
- valueField: keyof TItem & string;
1069
- textField: keyof TItem & string;
1070
- dataSource: TItem[];
1071
- multiple?: boolean;
1072
- placeholder?: string;
1073
- disabled?: boolean;
1074
- readonly?: boolean;
1075
- allowSearch?: boolean;
1076
- validations?: AXPValidationRules;
1077
- }
1078
- interface LookupBoxOptions {
1079
- entity: string;
1080
- multiple?: boolean;
1081
- expose?: Array<{
1082
- source: string;
1083
- 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;
1084
700
  }>;
1085
- placeholder?: string;
1086
- textField?: string;
1087
- valueField?: string;
1088
- look?: string;
1089
- columns?: string[];
1090
- allowClear?: boolean;
1091
- disabled?: boolean;
1092
- readonly?: boolean;
1093
- validations?: AXPValidationRules;
1094
- }
1095
- interface NumberBoxOptions {
1096
- minValue?: number;
1097
- maxValue?: number;
1098
- step?: number;
1099
- format?: string;
1100
- placeholder?: string;
1101
- disabled?: boolean;
1102
- readonly?: boolean;
1103
- validations?: AXPValidationRules;
1104
- }
1105
- interface DateTimeBoxOptions {
1106
- format?: string;
1107
- min?: Date;
1108
- max?: Date;
1109
- showTime?: boolean;
1110
- placeholder?: string;
1111
- disabled?: boolean;
1112
- readonly?: boolean;
1113
- validations?: AXPValidationRules;
1114
- }
1115
- interface ToggleSwitchOptions {
1116
- onText?: string;
1117
- offText?: string;
1118
- validations?: AXPValidationRules;
1119
- }
1120
- interface PasswordBoxOptions {
1121
- placeholder?: string;
1122
- maxLength?: number;
1123
- minLength?: number;
1124
- showToggle?: boolean;
1125
- validations?: AXPValidationRules;
1126
- }
1127
- interface SelectionListOptions<TItem extends Record<string, unknown> = Record<string, unknown>> {
1128
- valueField: keyof TItem & string;
1129
- textField: keyof TItem & string;
1130
- dataSource: TItem[];
1131
- multiple?: boolean;
1132
- placeholder?: string;
1133
- disabled?: boolean;
1134
- readonly?: boolean;
1135
- validations?: AXPValidationRules;
1136
- }
1137
- interface ColorBoxOptions {
1138
- defaultColor?: string;
1139
- showAlpha?: boolean;
1140
- disabled?: boolean;
1141
- readonly?: boolean;
1142
- validations?: AXPValidationRules;
1143
- }
1144
- interface IFieldOptions {
1145
- hidden?: string | boolean;
1146
- readonly?: string | boolean;
1147
- disabled?: string | boolean;
1148
- defaultValue?: any;
1149
- }
1150
- interface IFieldBuilder {
1151
- title(title: string): IFieldBuilder;
1152
- description(description: string): IFieldBuilder;
1153
- options(values: IFieldOptions): IFieldBuilder;
1154
- layout(layout: AXPDynamicFormFieldDefinition['layout']): IFieldBuilder;
1155
- textBox(options?: TextBoxOptions): IFieldBuilder;
1156
- largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
1157
- richText(options?: RichTextOptions): IFieldBuilder;
1158
- passwordBox(options?: PasswordBoxOptions): IFieldBuilder;
1159
- selectBox(options: SelectBoxOptions): IFieldBuilder;
1160
- lookupBox(options: LookupBoxOptions): IFieldBuilder;
1161
- selectionList(options: SelectionListOptions): IFieldBuilder;
1162
- numberBox(options?: NumberBoxOptions): IFieldBuilder;
1163
- dateTimeBox(options?: DateTimeBoxOptions): IFieldBuilder;
1164
- toggleSwitch(options?: ToggleSwitchOptions): IFieldBuilder;
1165
- colorBox(options?: ColorBoxOptions): IFieldBuilder;
1166
- widget(type: string, options?: unknown): IFieldBuilder;
1167
- }
1168
- interface IGroupBuilder {
1169
- title(title: string): IGroupBuilder;
1170
- description(description: string): IGroupBuilder;
1171
- field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
1172
- group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
1173
- }
1174
- interface IStepBuilder {
1175
- title(title: string): IStepBuilder;
1176
- description(description: string): IStepBuilder;
1177
- icon(icon: string): IStepBuilder;
1178
- direction(direction: AXPDynamicFormDirection): IStepBuilder;
1179
- group(name: string, delegate?: (group: IGroupBuilder) => void): IStepBuilder;
1180
- }
1181
- interface IFormBuilder {
1182
- group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
1183
- layout(config: Partial<AXPDynamicFormLayoutConfig>): IFormBuilder;
1184
- look(look: AXPDynamicFormLook): IFormBuilder;
1185
- direction(direction: AXPDynamicFormDirection): IFormBuilder;
1186
- build(): AXPDynamicFormDefinition;
1187
- }
1188
- interface IActionBuilder {
1189
- cancel(text?: string): IActionBuilder;
1190
- submit(text?: string): IActionBuilder;
1191
- custom(action: AXPActionMenuItem): IActionBuilder;
1192
- }
1193
- interface IDialogBuilder extends IFormBuilder {
1194
- group(name: string, delegate?: (group: IGroupBuilder) => void): IDialogBuilder;
1195
- layout(config: Partial<AXPDynamicFormLayoutConfig>): IDialogBuilder;
1196
- look(look: AXPDynamicFormLook): IDialogBuilder;
1197
- direction(direction: AXPDynamicFormDirection): IDialogBuilder;
1198
- closeButton(closeButton: boolean): IDialogBuilder;
1199
- step(id: string, delegate?: (step: IStepBuilder) => void): IDialogBuilder;
1200
- stepperDirection(direction: AXOrientation): IDialogBuilder;
1201
- guardNext(guard: (e: {
1202
- index: number;
1203
- id: string;
1204
- fullContext: unknown;
1205
- }) => Promise<boolean>): IDialogBuilder;
1206
- title(title: string): IDialogBuilder;
1207
- message(message?: string): IDialogBuilder;
1208
- size(size: AXPopupSizeType): IDialogBuilder;
1209
- context(context: AXPContextData): IDialogBuilder;
1210
- actions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
1211
- show(): Promise<AXPDialogRef>;
1212
- }
1213
- interface FormBuilderState {
1214
- groups: AXPDynamicFormGroupDefinition[];
1215
- layoutConfig: AXPDynamicFormLayoutConfig;
1216
- look: AXPDynamicFormLook;
1217
- direction: AXPDynamicFormDirection;
1218
- }
1219
- interface DialogBuilderState extends FormBuilderState {
1220
- title?: string;
1221
- message?: string;
1222
- size?: AXPopupSizeType;
1223
- context?: AXPContextData;
1224
- steps: StepBuilderState[];
1225
- stepperDirection?: AXOrientation;
1226
- closeButton?: boolean;
1227
- guardNext?: (e: {
1228
- index: number;
1229
- id: string;
1230
- fullContext: unknown;
1231
- }) => Promise<boolean>;
1232
- actions?: {
1233
- footer?: {
1234
- prefix?: AXPActionMenuItem[];
1235
- suffix?: AXPActionMenuItem[];
1236
- };
1237
- };
1238
- }
1239
- interface FieldBuilderState {
1240
- path: string;
1241
- title?: string;
1242
- description?: string;
1243
- defaultValue?: any;
1244
- hidden?: string | boolean;
1245
- readonly?: string | boolean;
1246
- disabled?: string | boolean;
1247
- widget?: AXPWidgetNode;
1248
- layout?: AXPDynamicFormFieldDefinition['layout'];
1249
- }
1250
- interface GroupBuilderState {
1251
- name: string;
1252
- title?: string;
1253
- description?: string;
1254
- parameters: AXPDynamicFormFieldDefinition[];
1255
- }
1256
- interface StepBuilderState {
1257
- id: string;
1258
- title?: string;
1259
- description?: string;
1260
- icon?: string;
1261
- formDirection?: AXPDynamicFormDirection;
1262
- groups: AXPDynamicFormGroupDefinition[];
1263
- }
1264
-
1265
- declare class AXPDynamicFormBuilderService {
1266
- private readonly dialogService;
701
+ protected addFieldToGroup(field: AXPDynamicFormDesignerField, groupName: string): void;
702
+ protected getAllGroupDropLists(): string[];
1267
703
  /**
1268
- * Create a new form builder
704
+ * Get the grid column count for a group (always 12 columns)
1269
705
  */
1270
- form(): IFormBuilder;
706
+ protected getGroupColumnCount(): number;
1271
707
  /**
1272
- * Create a new dialog builder
708
+ * Get default field grid layout based on group configuration
1273
709
  */
1274
- dialog(): IDialogBuilder;
1275
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormBuilderService, never>;
1276
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicFormBuilderService>;
1277
- }
1278
-
1279
- type StateMode = 'empty' | 'error' | 'loading' | 'warning' | 'info' | 'success';
1280
- declare class AXPStateMessageComponent {
1281
- mode: _angular_core.InputSignal<StateMode>;
1282
- icon: _angular_core.InputSignal<string>;
1283
- title: _angular_core.InputSignal<string>;
1284
- description: _angular_core.InputSignal<string>;
1285
- variant: _angular_core.InputSignal<"default" | "compact" | "minimal">;
1286
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
1287
- 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>;
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>;
1288
713
  }
1289
714
 
1290
715
  /**
@@ -1325,8 +750,8 @@ declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
1325
750
 
1326
751
  declare class AXPExtraPropertiesComponent {
1327
752
  items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
1328
- mode: _angular_core.InputSignal<"edit" | "view">;
1329
- protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
753
+ mode: _angular_core.InputSignal<"view" | "edit">;
754
+ protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
1330
755
  itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
1331
756
  private readonly providedTypes;
1332
757
  private readonly translationService;
@@ -1366,7 +791,7 @@ declare class AXPExtraPropertiesComponent {
1366
791
 
1367
792
  declare class AXPExtraPropertiesSchemaComponent {
1368
793
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
1369
- mode: _angular_core.InputSignal<"edit" | "view">;
794
+ mode: _angular_core.InputSignal<"view" | "edit">;
1370
795
  schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
1371
796
  private readonly providedTypes;
1372
797
  private readonly translationService;
@@ -1397,13 +822,13 @@ declare class AXPExtraPropertiesSchemaComponent {
1397
822
  declare class AXPExtraPropertiesValuesComponent {
1398
823
  schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
1399
824
  values: _angular_core.InputSignal<Record<string, any>>;
1400
- mode: _angular_core.InputSignal<"edit" | "view">;
825
+ mode: _angular_core.InputSignal<"view" | "edit">;
1401
826
  valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
1402
827
  isRequired: (item: AXPExtraPropertySchemaItem) => any;
1403
828
  protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
1404
829
  private nodeCache;
1405
830
  private lastTypeByKey;
1406
- protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
831
+ protected onContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
1407
832
  private readonly syncContextFromInputs;
1408
833
  private readonly clearOnSchemaTypeChange;
1409
834
  protected getNode(item: AXPExtraPropertySchemaItem): AXPWidgetNode;
@@ -1438,7 +863,7 @@ declare class AXPQueryFiltersComponent {
1438
863
  ngOnInit(): void;
1439
864
  handleSelectField(field: AXPFilterDefinition): void;
1440
865
  handleFieldKeyDown(e: KeyboardEvent, field: AXPFilterDefinition): void;
1441
- onContextChanged(e: AXPLayoutContextChangeEvent): void;
866
+ onContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
1442
867
  handleApplyFilter(): void;
1443
868
  handleButtonKeyDown(e: Event): void;
1444
869
  handleKeyDown(e: AXHtmlEvent<KeyboardEvent>): void;
@@ -1453,6 +878,40 @@ declare class AXPQueryFiltersComponent {
1453
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>;
1454
879
  }
1455
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
+
1456
915
  interface AXPWidgetPropertyTab {
1457
916
  name: string;
1458
917
  title: string;
@@ -1488,13 +947,47 @@ declare class AXPWidgetPropertyViewerComponent {
1488
947
  constructor();
1489
948
  update(values: any): void;
1490
949
  private fillTabs;
1491
- protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
950
+ protected handleContextChange(e: AXPWidgetCoreContextChangeEvent): void;
1492
951
  protected handleTabChange(event: AXTabStripChangedEvent): void;
1493
952
  protected handleCollapsedChange(group: string, collapsed: boolean): void;
1494
953
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
1495
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>;
1496
955
  }
1497
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
+
1498
991
  declare class AXPQuerySortsComponent {
1499
992
  sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
1500
993
  sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
@@ -1508,6 +1001,17 @@ declare class AXPQuerySortsComponent {
1508
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>;
1509
1002
  }
1510
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
+
1511
1015
  interface AXPTemplateViewerConfig {
1512
1016
  template: AXPWidgetNode | string;
1513
1017
  title?: string;
@@ -1533,7 +1037,7 @@ declare class AXPTemplateViewerComponent extends AXBasePageComponent {
1533
1037
  protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
1534
1038
  protected ngOnInit(): Promise<void>;
1535
1039
  private loadTemplate;
1536
- protected handleContextChanged(e: AXPLayoutContextChangeEvent): void;
1040
+ protected handleContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
1537
1041
  protected handleSubmit(form: AXFormComponent): Promise<void>;
1538
1042
  protected handleCancel(): void;
1539
1043
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerComponent, never>;
@@ -1724,5 +1228,5 @@ declare class AXPWidgetItemComponent {
1724
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>;
1725
1229
  }
1726
1230
 
1727
- 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 };
1728
- export type { AXPCategoryTreeActions, AXPCategoryTreeConfig, AXPCategoryTreeDataSource, AXPCategoryTreeEvents, AXPCategoryTreeNode, AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDataSelectorColumn, AXPDataSelectorConfig, AXPDialogRef, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, 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 };
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 };