@acorex/platform 20.3.0-next.8 → 20.3.0-next.9

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 (50) hide show
  1. package/common/index.d.ts +0 -2
  2. package/core/index.d.ts +72 -62
  3. package/fesm2022/acorex-platform-common.mjs +5 -10
  4. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-core.mjs +115 -115
  6. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-builder.mjs +420 -24
  8. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-components.mjs +1266 -153
  10. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-designer.mjs +19 -12
  12. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-entity.mjs +454 -505
  14. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-views.mjs +14 -21
  16. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  17. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs → acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs} +3 -3
  18. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Ct-ri59W.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs → acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs} +9 -9
  20. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-7BB4LdjK.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs +101 -0
  22. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDJR088o.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-themes-default.mjs +8 -8
  24. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs} +2 -2
  26. package/fesm2022/acorex-platform-themes-shared-settings.provider-CLUKU4y0.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-themes-shared.mjs +154 -23
  28. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs → acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs} +3 -3
  30. package/fesm2022/acorex-platform-widgets-file-list-popup.component-Cmtq2bBV.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs → acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs} +2 -2
  32. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D8ivmxzT.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs} +8 -8
  34. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CMqq_iOj.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-widgets.mjs +4943 -4858
  36. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  37. package/layout/builder/index.d.ts +60 -5
  38. package/layout/components/index.d.ts +501 -54
  39. package/layout/designer/index.d.ts +4 -2
  40. package/layout/entity/index.d.ts +45 -9
  41. package/package.json +9 -9
  42. package/widgets/index.d.ts +352 -300
  43. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map +0 -1
  44. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-gQIK6PIx.mjs.map +0 -1
  45. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs +0 -101
  46. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +0 -1
  47. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
  48. package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +0 -1
  49. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs.map +0 -1
  50. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs.map +0 -1
@@ -1,22 +1,25 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, WritableSignal, QueryList, EventEmitter } from '@angular/core';
3
3
  import * as _acorex_platform_core from '@acorex/platform/core';
4
- import { AXPActivityLog, AXPSystemActionType, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
4
+ import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPValidationRules, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
5
5
  import { AXPMenuItem } from '@acorex/platform/common';
6
- import { AXValueChangedEvent, AXDataSource, AXDataSourceFilterOption, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
6
+ import * as _acorex_cdk_common from '@acorex/cdk/common';
7
+ import { AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXOrientation, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
8
+ import { AXTreeViewComponent, AXTreeItemClickBaseEvent } from '@acorex/components/tree-view';
9
+ import { AXTranslationService } from '@acorex/core/translation';
7
10
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
8
11
  import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
9
12
  import * as _ngrx_signals from '@ngrx/signals';
10
13
  import { AXDataTableComponent, AXDataTableRowDbClick, AXDataTableRowClick } from '@acorex/components/data-table';
11
14
  import { AXBasePageComponent } from '@acorex/components/page';
12
15
  import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
16
+ import * as _acorex_platform_layout_components from '@acorex/platform/layout/components';
13
17
  import { AXFormComponent } from '@acorex/components/form';
14
18
  import { AXPopoverComponent } from '@acorex/components/popover';
15
19
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
16
20
  import { AXCalendarService } from '@acorex/core/date-time';
17
- import { AXTranslationService } from '@acorex/core/translation';
21
+ import { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';
18
22
  import { Observable } from 'rxjs';
19
- import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
20
23
 
21
24
  declare class AXPActivityLogComponent {
22
25
  private readonly translateService;
@@ -204,6 +207,85 @@ declare class AXPThemeLayoutContainerComponent {
204
207
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
205
208
  }
206
209
 
210
+ interface AXPCategoryTreeNode extends AXPCategoryEntity {
211
+ children?: AXPCategoryTreeNode[];
212
+ expand?: boolean;
213
+ hasChild?: boolean;
214
+ [key: string]: any;
215
+ }
216
+ interface AXPCategoryTreeConfig {
217
+ textField?: string;
218
+ valueField?: string;
219
+ expandedField?: string;
220
+ showCheckbox?: boolean;
221
+ searchable?: boolean;
222
+ searchPlaceholder?: string;
223
+ emptyStateTitle?: string;
224
+ emptyStateDescription?: string;
225
+ emptyStateIcon?: string;
226
+ }
227
+ interface AXPCategoryTreeEvents {
228
+ onNodeClick?: (node: AXPCategoryEntity) => void;
229
+ onNodeSelect?: (node: AXPCategoryEntity) => void;
230
+ onNodeCreate?: (parentNode?: AXPCategoryEntity) => void;
231
+ onNodeUpdate?: (node: AXPCategoryEntity) => void;
232
+ onNodeDelete?: (node: AXPCategoryEntity) => void;
233
+ onSearchChange?: (searchValue: string) => void;
234
+ onCollapseChange?: (node: AXPCategoryEntity) => void;
235
+ }
236
+ interface AXPCategoryTreeActions {
237
+ canCreate?: boolean;
238
+ canUpdate?: boolean;
239
+ canDelete?: boolean;
240
+ canCreateChild?: boolean;
241
+ createLabel?: string;
242
+ updateLabel?: string;
243
+ deleteLabel?: string;
244
+ createChildLabel?: string;
245
+ }
246
+ interface AXPCategoryTreeDataSource {
247
+ loadRootNodes: () => Promise<AXPCategoryEntity[]>;
248
+ loadChildNodes?: (parentId: string) => Promise<AXPCategoryEntity[]>;
249
+ searchNodes?: (searchValue: string) => Promise<AXPCategoryEntity[]>;
250
+ }
251
+
252
+ declare class AXPCategoryTreeComponent {
253
+ protected readonly translationService: AXTranslationService;
254
+ dataSource: _angular_core.InputSignal<AXPCategoryTreeDataSource>;
255
+ config: _angular_core.InputSignal<AXPCategoryTreeConfig>;
256
+ actions: _angular_core.InputSignal<AXPCategoryTreeActions>;
257
+ events: _angular_core.InputSignal<AXPCategoryTreeEvents>;
258
+ nodeClick: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
259
+ nodeSelect: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
260
+ nodeCreate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string> | undefined>;
261
+ nodeUpdate: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
262
+ nodeDelete: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
263
+ searchChange: _angular_core.OutputEmitterRef<string>;
264
+ collapseChange: _angular_core.OutputEmitterRef<AXPCategoryEntity<string>>;
265
+ tree: _angular_core.Signal<AXTreeViewComponent | undefined>;
266
+ isLoading: _angular_core.WritableSignal<boolean>;
267
+ searchValue: _angular_core.WritableSignal<string>;
268
+ protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
269
+ protected emptyStateTitle: _angular_core.Signal<string>;
270
+ protected emptyStateDescription: _angular_core.Signal<string>;
271
+ ngOnInit(): Promise<void>;
272
+ loadRootNodes(): Promise<void>;
273
+ loadChildNodes(parentId: string): Promise<void>;
274
+ searchNodes(searchValue: string): Promise<void>;
275
+ handleNodeClick(event: AXTreeItemClickBaseEvent): Promise<void>;
276
+ handleCollapseChanged(event: AXTreeItemClickBaseEvent): Promise<void>;
277
+ handleSearchChange(event: AXValueChangedEvent): Promise<void>;
278
+ handleCreateRootClick(event: AXClickEvent): Promise<void>;
279
+ handleCreateChildClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
280
+ handleUpdateNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
281
+ handleDeleteNodeClick(node: AXPCategoryTreeNode, event: AXClickEvent): Promise<void>;
282
+ private convertEntitiesToTreeNodes;
283
+ private updateNodeChildren;
284
+ refreshTree(parentId?: string): Promise<void>;
285
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPCategoryTreeComponent, never>;
286
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPCategoryTreeComponent, "axp-category-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "events": { "alias": "events"; "required": false; "isSignal": true; }; }, { "nodeClick": "nodeClick"; "nodeSelect": "nodeSelect"; "nodeCreate": "nodeCreate"; "nodeUpdate": "nodeUpdate"; "nodeDelete": "nodeDelete"; "searchChange": "searchChange"; "collapseChange": "collapseChange"; }, never, never, true, never>;
287
+ }
288
+
207
289
  declare class AXPQueryColumnsComponent {
208
290
  columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
209
291
  handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
@@ -375,6 +457,14 @@ interface AXPDataSelectorConfig {
375
457
  searchFields?: string[];
376
458
  parentField?: string;
377
459
  allowCreate?: boolean;
460
+ categoryFilter?: {
461
+ enabled: boolean;
462
+ title: string;
463
+ dataSource: AXPCategoryTreeDataSource;
464
+ filterField: string;
465
+ filterOperator?: 'equal' | 'contains' | 'in';
466
+ width?: string;
467
+ };
378
468
  }
379
469
  declare class AXPDataSelectorComponent extends AXBasePageComponent {
380
470
  protected config: _angular_core.WritableSignal<AXPDataSelectorConfig>;
@@ -383,9 +473,29 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
383
473
  protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
384
474
  protected initialSelectedItems: any[];
385
475
  protected selectedItems: _angular_core.WritableSignal<any[]>;
476
+ protected activeCategoryFilter: _angular_core.WritableSignal<{
477
+ node: AXPCategoryEntity;
478
+ filterValue: any;
479
+ } | null>;
386
480
  protected allowSelect: _angular_core.Signal<boolean>;
387
481
  protected hasSearch: _angular_core.Signal<boolean | undefined>;
388
482
  protected searchPlaceholder: _angular_core.Signal<string>;
483
+ protected categoryTreeConfig: _angular_core.Signal<{
484
+ textField: string;
485
+ valueField: string;
486
+ showCheckbox: boolean;
487
+ searchable: boolean;
488
+ searchPlaceholder: string;
489
+ emptyStateTitle: string;
490
+ emptyStateDescription: string;
491
+ emptyStateIcon: string;
492
+ }>;
493
+ protected categoryTreeActions: _angular_core.Signal<{
494
+ canCreate: boolean;
495
+ canUpdate: boolean;
496
+ canDelete: boolean;
497
+ canCreateChild: boolean;
498
+ }>;
389
499
  protected ngOnInit(): void;
390
500
  protected ngAfterViewInit(): void;
391
501
  protected handleRowDbClick(e: AXDataTableRowDbClick): void;
@@ -396,8 +506,11 @@ declare class AXPDataSelectorComponent extends AXBasePageComponent {
396
506
  protected handleCloseClick(): void;
397
507
  protected handleSelectClick(): void;
398
508
  protected handleExpandRow(row: any): Promise<void>;
509
+ protected handleCategoryFilterClick(node: AXPCategoryEntity): void;
510
+ protected clearCategoryFilter(): void;
399
511
  private applySearchFilter;
400
512
  private applyFilterAndSort;
513
+ private applyCategoryFilter;
401
514
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorComponent, never>;
402
515
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDataSelectorComponent, "axp-data-selector", never, {}, {}, never, never, true, never>;
403
516
  }
@@ -411,9 +524,15 @@ declare class AXPDataSelectorService {
411
524
  items: any[];
412
525
  } | null>;
413
526
  /**
414
- * Open data selector for meta data selection
527
+ * Open data selector with category filter
415
528
  */
416
- openMetaDataSelector(dataSource: any): Promise<{
529
+ openWithCategoryFilter(config: Omit<AXPDataSelectorConfig, 'categoryFilter'>, categoryFilterConfig: {
530
+ title: string;
531
+ dataSource: AXPCategoryTreeDataSource;
532
+ filterField: string;
533
+ filterOperator?: 'equal' | 'contains' | 'in';
534
+ width?: string;
535
+ }): Promise<{
417
536
  items: any[];
418
537
  } | null>;
419
538
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataSelectorService, never>;
@@ -433,6 +552,18 @@ interface AXPDynamicFormFieldDefinition {
433
552
  title?: string;
434
553
  description?: string;
435
554
  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
+ };
436
567
  }
437
568
  interface AXPDynamicFormGroupDefinition {
438
569
  name: string;
@@ -463,13 +594,219 @@ interface AXPDynamicFormLayoutConfig {
463
594
  };
464
595
  }
465
596
 
597
+ /**
598
+ * Describes a single step of the dynamic form stepper.
599
+ * Each step contains one or more groups rendered by AXPDynamicFormComponent.
600
+ */
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
+ }
621
+ /**
622
+ * Root definition for the dynamic form stepper.
623
+ */
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
+
466
774
  interface AXPDynamicDialogConfig {
467
775
  title: string;
468
776
  message?: string;
469
- formDefinition: AXPDynamicFormDefinition;
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
+ */
470
788
  context: any;
789
+ /**
790
+ * Shared layout options applied to form/stepper unless overridden
791
+ */
471
792
  layoutConfig?: AXPDynamicFormLayoutConfig;
793
+ layoutLook?: AXPDynamicFormLook;
472
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
+ */
473
810
  actions?: {
474
811
  footer?: {
475
812
  prefix?: AXPActionMenuItem[];
@@ -503,6 +840,7 @@ interface AXPDialogRef {
503
840
  declare class AXPDynamicDialogComponent extends AXBasePageComponent {
504
841
  config: AXPDynamicDialogConfig;
505
842
  private readonly dynamicForm;
843
+ protected readonly stepper: _angular_core.Signal<AXPDynamicFormStepperComponent | undefined>;
506
844
  isSubmitting: _angular_core.WritableSignal<boolean>;
507
845
  private previousContext;
508
846
  private formData;
@@ -537,14 +875,42 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
537
875
  };
538
876
  };
539
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>;
540
903
  /**
541
904
  * Footer actions for dynamic button system
542
905
  */
543
906
  protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
544
907
  protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
908
+ protected visibleFooterPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
909
+ protected visibleFooterSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
545
910
  protected hasFooterActions: _angular_core.Signal<boolean>;
546
- protected hasVisibleFooterPrefixActions: _angular_core.Signal<boolean>;
547
- protected hasVisibleFooterSuffixActions: _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>;
548
914
  ngOnInit(): void;
549
915
  protected handleContextInitiated(context: any): void;
550
916
  protected handleContextChanged(context: any): void;
@@ -560,6 +926,9 @@ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
560
926
  * Check if form is valid
561
927
  */
562
928
  protected isFormValid(): Promise<boolean>;
929
+ /** Stepper navigation handlers */
930
+ protected goPrev(): void;
931
+ protected goNext(): void;
563
932
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
564
933
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
565
934
  }
@@ -578,6 +947,15 @@ declare class AXPDynamicDialogService {
578
947
 
579
948
  declare class AXPDynamicFormComponent implements OnInit {
580
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;
581
959
  /**
582
960
  * Form definition containing groups and fields
583
961
  */
@@ -598,6 +976,12 @@ declare class AXPDynamicFormComponent implements OnInit {
598
976
  * Custom layout configuration for form fields
599
977
  */
600
978
  layoutConfig: _angular_core.InputSignal<AXPDynamicFormLayoutConfig>;
979
+ protected expressionEvaluator(expression: any, context: any): Promise<any>;
980
+ protected evaluatedFormDefinition: _angular_core.WritableSignal<any>;
981
+ /**
982
+ * Evaluate definition when inputs change with last-write-wins and deep-equality guard
983
+ */
984
+ eff: _angular_core.EffectRef;
601
985
  /**
602
986
  * Emitted when form context changes
603
987
  */
@@ -620,6 +1004,10 @@ declare class AXPDynamicFormComponent implements OnInit {
620
1004
  * Computed layout configuration
621
1005
  */
622
1006
  protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
1007
+ /**
1008
+ * Resolve effective grid layout for a specific parameter, merging per-parameter override with form layout.
1009
+ */
1010
+ protected resolveParamLayout(param: AXPDynamicFormFieldDefinition): AXPDynamicFormLayoutConfig;
623
1011
  /**
624
1012
  * Host classes based on layout look and direction
625
1013
  */
@@ -684,6 +1072,7 @@ interface SelectBoxOptions<TItem extends Record<string, unknown> = Record<string
684
1072
  placeholder?: string;
685
1073
  disabled?: boolean;
686
1074
  readonly?: boolean;
1075
+ allowSearch?: boolean;
687
1076
  validations?: AXPValidationRules;
688
1077
  }
689
1078
  interface LookupBoxOptions {
@@ -752,10 +1141,17 @@ interface ColorBoxOptions {
752
1141
  readonly?: boolean;
753
1142
  validations?: AXPValidationRules;
754
1143
  }
1144
+ interface IFieldOptions {
1145
+ hidden?: string | boolean;
1146
+ readonly?: string | boolean;
1147
+ disabled?: string | boolean;
1148
+ defaultValue?: any;
1149
+ }
755
1150
  interface IFieldBuilder {
756
1151
  title(title: string): IFieldBuilder;
757
1152
  description(description: string): IFieldBuilder;
758
- defaultValue(value: any): IFieldBuilder;
1153
+ options(values: IFieldOptions): IFieldBuilder;
1154
+ layout(layout: AXPDynamicFormFieldDefinition['layout']): IFieldBuilder;
759
1155
  textBox(options?: TextBoxOptions): IFieldBuilder;
760
1156
  largeTextBox(options?: LargeTextBoxOptions): IFieldBuilder;
761
1157
  richText(options?: RichTextOptions): IFieldBuilder;
@@ -770,9 +1166,18 @@ interface IFieldBuilder {
770
1166
  widget(type: string, options?: unknown): IFieldBuilder;
771
1167
  }
772
1168
  interface IGroupBuilder {
1169
+ title(title: string): IGroupBuilder;
1170
+ description(description: string): IGroupBuilder;
773
1171
  field(path: string, delegate?: (field: IFieldBuilder) => void): IGroupBuilder;
774
1172
  group(name: string, delegate?: (group: IGroupBuilder) => void): IGroupBuilder;
775
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
+ }
776
1181
  interface IFormBuilder {
777
1182
  group(name: string, delegate?: (group: IGroupBuilder) => void): IFormBuilder;
778
1183
  layout(config: Partial<AXPDynamicFormLayoutConfig>): IFormBuilder;
@@ -787,6 +1192,17 @@ interface IActionBuilder {
787
1192
  }
788
1193
  interface IDialogBuilder extends IFormBuilder {
789
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;
790
1206
  title(title: string): IDialogBuilder;
791
1207
  message(message?: string): IDialogBuilder;
792
1208
  size(size: AXPopupSizeType): IDialogBuilder;
@@ -805,6 +1221,14 @@ interface DialogBuilderState extends FormBuilderState {
805
1221
  message?: string;
806
1222
  size?: AXPopupSizeType;
807
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>;
808
1232
  actions?: {
809
1233
  footer?: {
810
1234
  prefix?: AXPActionMenuItem[];
@@ -817,7 +1241,11 @@ interface FieldBuilderState {
817
1241
  title?: string;
818
1242
  description?: string;
819
1243
  defaultValue?: any;
1244
+ hidden?: string | boolean;
1245
+ readonly?: string | boolean;
1246
+ disabled?: string | boolean;
820
1247
  widget?: AXPWidgetNode;
1248
+ layout?: AXPDynamicFormFieldDefinition['layout'];
821
1249
  }
822
1250
  interface GroupBuilderState {
823
1251
  name: string;
@@ -825,6 +1253,14 @@ interface GroupBuilderState {
825
1253
  description?: string;
826
1254
  parameters: AXPDynamicFormFieldDefinition[];
827
1255
  }
1256
+ interface StepBuilderState {
1257
+ id: string;
1258
+ title?: string;
1259
+ description?: string;
1260
+ icon?: string;
1261
+ formDirection?: AXPDynamicFormDirection;
1262
+ groups: AXPDynamicFormGroupDefinition[];
1263
+ }
828
1264
 
829
1265
  declare class AXPDynamicFormBuilderService {
830
1266
  private readonly dialogService;
@@ -840,6 +1276,17 @@ declare class AXPDynamicFormBuilderService {
840
1276
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicFormBuilderService>;
841
1277
  }
842
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>;
1288
+ }
1289
+
843
1290
  /**
844
1291
  * Describes a schema-only definition for an extra property (no value).
845
1292
  */
@@ -1006,6 +1453,48 @@ declare class AXPQueryFiltersComponent {
1006
1453
  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
1454
  }
1008
1455
 
1456
+ interface AXPWidgetPropertyTab {
1457
+ name: string;
1458
+ title: string;
1459
+ groups: {
1460
+ name: string;
1461
+ title: string;
1462
+ isCollapsed: boolean;
1463
+ props: AXPWidgetProperty[];
1464
+ }[];
1465
+ }
1466
+ interface AXPWidgetPropertiesChangedEvent {
1467
+ values: any;
1468
+ mode: 'init' | 'update';
1469
+ }
1470
+ declare class AXPWidgetPropertyViewerComponent {
1471
+ widget: _angular_core.InputSignal<AXPWidgetNode>;
1472
+ mode: _angular_core.InputSignal<"simple" | "advanced">;
1473
+ private widgetRegistryService;
1474
+ protected currentTabIndex: WritableSignal<number>;
1475
+ protected config: WritableSignal<AXPWidgetConfig<any> | null>;
1476
+ protected allPoperties: AXPWidgetProperty[];
1477
+ protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
1478
+ protected groups: _angular_core.Signal<{
1479
+ name: string;
1480
+ title: string;
1481
+ isCollapsed: boolean;
1482
+ props: AXPWidgetProperty[];
1483
+ }[]>;
1484
+ protected groupCollapsedStates: Map<string, boolean>;
1485
+ onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
1486
+ protected context: WritableSignal<any>;
1487
+ protected initialContext: any;
1488
+ constructor();
1489
+ update(values: any): void;
1490
+ private fillTabs;
1491
+ protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
1492
+ protected handleTabChange(event: AXTabStripChangedEvent): void;
1493
+ protected handleCollapsedChange(group: string, collapsed: boolean): void;
1494
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
1495
+ 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
+ }
1497
+
1009
1498
  declare class AXPQuerySortsComponent {
1010
1499
  sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
1011
1500
  sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
@@ -1235,47 +1724,5 @@ declare class AXPWidgetItemComponent {
1235
1724
  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
1725
  }
1237
1726
 
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 };
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 };