@acorex/platform 20.3.0-next.2 → 20.3.0-next.20

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 +403 -374
  2. package/core/index.d.ts +563 -46
  3. package/fesm2022/acorex-platform-auth.mjs +19 -19
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-common.mjs +124 -224
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +644 -110
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +16 -16
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +1927 -1951
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components.mjs +3897 -435
  14. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +96 -89
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity-create-entity.command-BXExgI3W.mjs +52 -0
  18. package/fesm2022/acorex-platform-layout-entity-create-entity.command-BXExgI3W.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-layout-entity.mjs +1763 -1233
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +43 -33
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +2756 -0
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -0
  25. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs → acorex-platform-layout-widgets-button-widget-designer.component-BzsfTNs2.mjs} +6 -6
  26. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-BzsfTNs2.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-Dvk76-2W.mjs} +5 -5
  28. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-Dvk76-2W.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-BYLaipWi.mjs} +5 -5
  30. package/fesm2022/acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-BYLaipWi.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-DcSllNik.mjs} +5 -5
  32. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-DcSllNik.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-BT-U4BiA.mjs} +5 -5
  34. package/fesm2022/acorex-platform-layout-widgets-extra-properties-values-widget-view.component-BT-U4BiA.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-Il7jnRBg.mjs} +5 -5
  36. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-edit.component-Il7jnRBg.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-CBEPu7Fl.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-extra-properties-widget-view.component-CBEPu7Fl.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs → acorex-platform-layout-widgets-file-list-popup.component-BPzn8lr3.mjs} +10 -10
  40. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-BPzn8lr3.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs → acorex-platform-layout-widgets-page-widget-designer.component-C_JrGoXy.mjs} +8 -8
  42. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-C_JrGoXy.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-C6DaBt_N.mjs} +14 -14
  44. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-C6DaBt_N.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-Bth3jI9T.mjs} +6 -5
  46. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-Bth3jI9T.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-CUHptbP4.mjs} +6 -7
  48. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CUHptbP4.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-widgets.mjs → acorex-platform-layout-widgets.mjs} +8362 -7479
  50. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-native.mjs +7 -7
  52. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  53. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  54. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-eGzN6g2Y.mjs +115 -0
  56. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-eGzN6g2Y.mjs.map +1 -0
  57. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs → acorex-platform-themes-default-entity-master-list-view.component-nDHfQQ3O.mjs} +34 -36
  58. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-nDHfQQ3O.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-HJyalvcu.mjs +101 -0
  60. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-HJyalvcu.mjs.map +1 -0
  61. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs → acorex-platform-themes-default-entity-master-single-view.component-e7m70Wls.mjs} +17 -17
  62. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-e7m70Wls.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs → acorex-platform-themes-default-error-401.component-CoBaQFTn.mjs} +4 -4
  64. package/fesm2022/{acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map → acorex-platform-themes-default-error-401.component-CoBaQFTn.mjs.map} +1 -1
  65. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs → acorex-platform-themes-default-error-404.component-BLlVOsS2.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map → acorex-platform-themes-default-error-404.component-BLlVOsS2.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs → acorex-platform-themes-default-error-offline.component-CybYQI9F.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map → acorex-platform-themes-default-error-offline.component-CybYQI9F.mjs.map} +1 -1
  69. package/fesm2022/acorex-platform-themes-default.mjs +45 -45
  70. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  71. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs → acorex-platform-themes-shared-icon-chooser-view.component-ReKSoVeN.mjs} +25 -15
  72. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-ReKSoVeN.mjs.map +1 -0
  73. package/fesm2022/{acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs → acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs} +9 -9
  74. package/fesm2022/acorex-platform-themes-shared-settings.provider-DY2xFnrv.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-B2HDyY2z.mjs} +24 -9
  76. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-B2HDyY2z.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-CeZxa49U.mjs} +24 -9
  78. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-CeZxa49U.mjs.map +1 -0
  79. package/fesm2022/acorex-platform-themes-shared.mjs +264 -86
  80. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  81. package/fesm2022/acorex-platform-workflow.mjs +27 -39
  82. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  83. package/layout/builder/README.md +2 -3
  84. package/layout/builder/index.d.ts +683 -819
  85. package/layout/components/index.d.ts +1141 -115
  86. package/layout/designer/index.d.ts +8 -6
  87. package/layout/entity/index.d.ts +979 -282
  88. package/layout/views/index.d.ts +13 -13
  89. package/layout/widget-core/README.md +4 -0
  90. package/layout/widget-core/index.d.ts +957 -0
  91. package/layout/widgets/README.md +4 -0
  92. package/{widgets → layout/widgets}/index.d.ts +1933 -770
  93. package/package.json +14 -10
  94. package/themes/shared/index.d.ts +2 -2
  95. package/workflow/index.d.ts +3 -173
  96. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs +0 -115
  97. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs +0 -101
  100. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs +0 -84
  108. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs +0 -55
  110. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs +0 -76
  112. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs +0 -55
  114. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DHFMnkls.mjs +0 -211
  123. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DHFMnkls.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.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-CPVRbE8B.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,854 +1,718 @@
1
- import * as _angular_core from '@angular/core';
2
- import { Signal, InjectionToken, OnInit, EventEmitter, TemplateRef, Injector, WritableSignal, SimpleChanges, ModuleWithProviders } from '@angular/core';
3
- import * as _acorex_platform_core from '@acorex/platform/core';
4
- import { AXPDataType, AXPOptionsData, AXPValidationRules, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPPartialNested, AXPExpressionEvaluatorService } from '@acorex/platform/core';
5
- import * as _ngrx_signals from '@ngrx/signals';
6
- import * as _acorex_platform_layout_builder from '@acorex/platform/layout/builder';
7
- import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
8
- import { Subject, BehaviorSubject } from 'rxjs';
9
- import { AXDataTableColumnComponent } from '@acorex/components/data-table';
10
- import * as i7 from '@acorex/core/translation';
11
- import { AXTranslationService } from '@acorex/core/translation';
12
- import { AXUnsubscriber } from '@acorex/core/utils';
13
- import * as i4 from '@angular/common';
14
- import * as i5 from '@angular/cdk/portal';
15
- import * as i6 from '@acorex/components/skeleton';
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, EventEmitter } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { AXPWidgetNode, AXPWidgetCoreContextChangeEvent, AXPWidgetContainerComponent, AXPWidgetRenderMode } from '@acorex/platform/layout/widget-core';
5
+ import { AXFormComponent } from '@acorex/components/form';
6
+ import { AXPDynamicFormDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPDialogRef } from '@acorex/platform/layout/components';
7
+ import { AXValidationSummary } from '@acorex/core/validation';
8
+ import { AXDataSource } from '@acorex/cdk/common';
9
+ import { AXPopupSizeType } from '@acorex/components/popup';
10
+ import { AXPExpression, AXPGridLayoutOptions, AXPValidationRules, AXPActionMenuItem, AXPOptionsData } from '@acorex/platform/core';
11
+ import { AXBasePageComponent } from '@acorex/components/page';
16
12
 
17
- declare enum AXPPageStatus {
18
- Idle = "idle",// The page is idle.
19
- Rendering = "rendering",// The page is being rendered.
20
- Rendered = "rendered",// The rendering process is complete. should be renamed to idle
21
- Processing = "processing",// The page is performing a task or interaction.
22
- Submitting = "submitting",// The form is being submitted.
23
- Submitted = "submitted",// Submission is completed.
24
- Validating = "validating",// The form is being validated.
25
- Validated = "validated",// Validation is completed.
26
- Error = "error"
27
- }
28
- declare enum AXPWidgetStatus {
29
- Rendering = "rendering",// The widget is being rendered.
30
- Rendered = "rendered",// The rendering process is complete.
31
- Processing = "processing",// The widget is performing a task or interaction.
32
- Error = "error"
13
+ declare class AXPLayoutRendererComponent implements OnInit {
14
+ #private;
15
+ private evaluatorService;
16
+ private conversionService;
17
+ /**
18
+ * Tracks the latest scheduled evaluation to ensure last-write-wins for async evaluate
19
+ */
20
+ private evaluationRunId;
21
+ /**
22
+ * RxJS subjects for context management
23
+ */
24
+ private contextUpdateSubject;
25
+ private contextChangeSubject;
26
+ /**
27
+ * Cache for expression evaluation results
28
+ */
29
+ private expressionCache;
30
+ /**
31
+ * Cache for widget tree comparisons
32
+ */
33
+ private widgetTreeCache;
34
+ /**
35
+ * Last layout hash for change detection
36
+ */
37
+ private lastLayoutHash;
38
+ /**
39
+ * Form definition containing groups and fields OR widget tree
40
+ */
41
+ layout: i0.InputSignal<AXPWidgetNode | AXPDynamicFormDefinition>;
42
+ /**
43
+ * Form context/model data
44
+ */
45
+ context: i0.ModelSignal<any>;
46
+ /**
47
+ * Form appearance and density styling (normal, compact, spacious)
48
+ */
49
+ look: i0.InputSignal<AXPDynamicFormLook>;
50
+ /**
51
+ * Default form mode. Can be overridden by section/group and field.
52
+ */
53
+ mode: i0.InputSignal<AXPDynamicFormMode>;
54
+ protected widgetTree: i0.WritableSignal<AXPWidgetNode | null>;
55
+ /**
56
+ * Convert and evaluate data when inputs change (optimized with RxJS)
57
+ */
58
+ conversionEffect: i0.EffectRef;
59
+ protected expressionEvaluator(expression: any, context: any): Promise<any>;
60
+ /**
61
+ * Emitted when context change is initiated
62
+ */
63
+ contextInitiated: i0.OutputEmitterRef<any>;
64
+ /**
65
+ * Emitted when form becomes valid/invalid
66
+ */
67
+ validityChange: i0.OutputEmitterRef<boolean>;
68
+ private form;
69
+ private container;
70
+ /**
71
+ * Internal context signal for reactivity
72
+ */
73
+ protected internalContext: i0.WritableSignal<any>;
74
+ /**
75
+ * Initial context for reset functionality
76
+ */
77
+ private initialContext;
78
+ ngOnInit(): void;
79
+ /**
80
+ * Handle context change events from widget container (optimized with RxJS)
81
+ */
82
+ protected handleContextChanged(event: AXPWidgetCoreContextChangeEvent): void;
83
+ /**
84
+ * Get the form component instance
85
+ */
86
+ getForm(): AXFormComponent | undefined;
87
+ /**
88
+ * Get the widget container component instance
89
+ */
90
+ getContainer(): AXPWidgetContainerComponent | undefined;
91
+ /**
92
+ * Get current form context
93
+ */
94
+ getContext(): any;
95
+ /**
96
+ * Update form context programmatically
97
+ */
98
+ updateContext(context: any): void;
99
+ /**
100
+ * Get the current widget tree
101
+ */
102
+ getWidgetTree(): AXPWidgetNode | null;
103
+ /**
104
+ * Validate the form
105
+ */
106
+ validate(): Promise<AXValidationSummary>;
107
+ /**
108
+ * Clear the form context
109
+ */
110
+ clear(): void;
111
+ /**
112
+ * Reset the form to its initial state
113
+ */
114
+ reset(): void;
115
+ /**
116
+ * Setup RxJS streams for context management
117
+ */
118
+ private setupContextStreams;
119
+ /**
120
+ * Type guard to check if the input is a form definition
121
+ */
122
+ private isFormDefinition;
123
+ /**
124
+ * Generate layout hash for change detection (short hash)
125
+ */
126
+ private generateLayoutHash;
127
+ /**
128
+ * Generate cache key for expression evaluation (short hash)
129
+ */
130
+ private generateCacheKey;
131
+ /**
132
+ * Generate a simple hash for context change detection
133
+ */
134
+ private generateContextHash;
135
+ /**
136
+ * Simple hash function for generating short keys
137
+ */
138
+ private simpleHash;
139
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutRendererComponent, never>;
140
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPLayoutRendererComponent, "axp-layout-renderer", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "context": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
33
141
  }
34
142
 
35
- type AXPLayoutElementAPI = {
36
- [name: string]: Subject<any> | Function;
37
- };
38
- declare abstract class AXPLayoutElement {
39
- abstract get id(): string | null;
40
- abstract get status(): Signal<AXPWidgetStatus>;
41
- api(): AXPLayoutElementAPI;
42
- }
43
- declare class AXPLayoutBuilderService {
44
- private readonly variables$;
45
- private readonly functions$;
46
- readonly onRefresh: Subject<void>;
47
- private widgets;
48
- private readonly onWidgetRegistered;
49
- private readonly status$;
50
- readonly status: Signal<AXPPageStatus>;
51
- readonly isBusy: Signal<boolean>;
52
- get variables(): any;
53
- get functions(): {
54
- [key: string]: Function;
55
- };
56
- updateStatus(): void;
57
- private detectStatus;
58
- refresh(): void;
59
- setStatus(status: AXPPageStatus): void;
60
- setVariables(keysValues: any): void;
61
- setVariables(key: string, value: any): void;
62
- setFunctions(keysValues: any): void;
63
- setFunctions(key: string, value: any): void;
64
- registerWidget(id: string, widget: AXPLayoutElement): void;
65
- getWidget(id: string): AXPLayoutElement | undefined;
66
- /**
67
- * Waits until a widget with the given id is registered, then resolves with it.
68
- * If the widget is already registered, resolves immediately.
69
- * Optionally accepts a timeout (in ms) after which it resolves with undefined.
70
- */
71
- waitForWidget(id: string, timeoutMs?: number): Promise<AXPLayoutElement | undefined>;
72
- ngOnDestroy(): void;
73
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutBuilderService, never>;
74
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLayoutBuilderService>;
143
+ declare class LayoutBuilderModule {
144
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutBuilderModule, never>;
145
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LayoutBuilderModule, never, [typeof i1.CommonModule, typeof AXPLayoutRendererComponent], [typeof AXPLayoutRendererComponent]>;
146
+ static ɵinj: i0.ɵɵInjectorDeclaration<LayoutBuilderModule>;
75
147
  }
76
148
 
77
- interface AXPWidgetCategory {
78
- name: string;
79
- title: string;
80
- order: number;
149
+ interface LayoutWidgetOptions {
150
+ name?: string;
81
151
  }
82
- declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPWidgetCategory;
83
- declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPWidgetCategory;
84
- declare const AXP_WIDGETS_ACTION_CATEGORY: AXPWidgetCategory;
85
- declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPWidgetCategory;
86
- declare const AXP_WIDGETS_CATEGORIES: AXPWidgetCategory[];
87
-
88
- type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget';
89
- declare enum AXPWidgetGroupEnum {
90
- FormElement = "form-element",
91
- DashboardWidget = "dashboard-widget",
92
- FormTemplate = "form-template",
93
- PropertyEditor = "property-editor",
94
- MetaData = "meta-data",
95
- SettingWidget = "setting-widget",
96
- EntityWidget = "entity-widget"
152
+ interface ValueWidgetOptions extends LayoutWidgetOptions {
153
+ path: string;
154
+ defaultValue?: any;
155
+ validations?: AXPValidationRules;
97
156
  }
98
-
99
- interface AXPWidgetTypesMap {
100
- timeDuration: 'time-duration';
101
- checkbox: 'checkbox-editor';
102
- color: 'color-editor';
103
- contact: 'contact-editor';
104
- dateTime: 'date-time-editor';
105
- email: 'email-editor';
106
- largeText: 'large-text-editor';
107
- link: 'link-editor';
108
- number: 'number-editor';
109
- numberUnit: 'number-unit-editor';
110
- password: 'password-editor';
111
- phone: 'phone-editor';
112
- richText: 'rich-text-editor';
113
- select: 'select-editor';
114
- selectionList: 'selection-list-editor';
115
- text: 'text-editor';
116
- table: 'table-editor';
117
- toggle: 'toggle-editor';
118
- blockLayout: 'block-layout';
119
- pageLayout: 'page-layout';
120
- repeaterLayout: 'repeater-layout';
121
- textBlockLayout: 'text-block-layout';
122
- fileUploader: 'file-uploader';
123
- fileTypeExtension: 'file-type-extension';
124
- map: 'map';
125
- imageMarker: 'image-marker';
126
- image: 'image';
127
- gallery: 'gallery';
128
- signature: 'signature';
129
- buttonAction: 'button-action';
130
- document: 'document-layout';
131
- lookup: 'lookup-editor';
132
- formField: 'form-field';
133
- advancedGrid: 'advanced-grid-layout';
134
- advancedGridItem: 'advanced-grid-item-layout';
135
- grid: 'grid-layout';
136
- gridRow: 'grid-row-layout';
137
- gridItem: 'grid-item-layout';
138
- qrcode: 'qrcode';
139
- widgetSelector: 'widget-selector';
140
- template: 'template';
141
- templateDesigner: 'template-designer';
142
- cronJob: 'cron-job';
143
- spacing: 'spacing';
144
- border: 'border';
145
- direction: 'direction';
146
- flexLayout: 'flex-layout';
147
- flexItem: 'flex-item-layout';
148
- avatar: 'avatar';
149
- stringFilter: 'string-filter';
150
- numberFilter: 'number-filter';
151
- dateTimeFilter: 'datetime-filter';
152
- booleanFilter: 'boolean-filter';
153
- lookupFilter: 'lookup-filter';
154
- flexOptions: 'flex-options';
155
- flexItemOptions: 'flex-item-options';
156
- gridOptions: 'grid-options';
157
- gridItemOptions: 'grid-item-options';
158
- advancedGridOptions: 'advanced-grid-options';
159
- selectFilter: 'select-filter';
160
- requiredValidation: 'required-validation';
161
- regularExpressionValidation: 'regular-expression-validation';
162
- minLengthValidation: 'min-length-validation';
163
- maxLengthValidation: 'max-length-validation';
164
- lessThanValidation: 'less-than-validation';
165
- greaterThanValidation: 'greater-than-validation';
166
- betweenValidation: 'between-validation';
167
- equalValidation: 'equal-validation';
168
- callbackValidation: 'callback-validation';
169
- donutChart: 'donut-chart';
170
- barChart: 'bar-chart';
171
- lineChart: 'line-chart';
172
- gaugeChart: 'gauge-chart';
173
- stickyNote: 'sticky-note';
174
- clockCalendar: 'clock-calendar';
175
- analogClock: 'analog-clock';
176
- weather: 'weather';
177
- minimalWeather: 'minimal-weather';
178
- advancedWeather: 'advanced-weather';
179
- metaData: 'meta-data-editor';
180
- tagable: 'tagable-editor';
181
- templateEditor: 'template-box-editor';
182
- themePaletteChooser: 'theme-palette-chooser';
183
- themeModeChooser: 'theme-mode-chooser';
184
- menuOrientationChooser: 'menu-orientation-chooser';
185
- fontStyleChooser: 'font-style-chooser';
186
- fontSizeChooser: 'font-size-chooser';
187
- iconChooser: 'icon-chooser';
188
- themeColorChooser: 'theme-color-chooser';
189
- panel: 'panel';
190
- notification: 'notification';
191
- taskBoard: 'task-board';
192
- comment: 'comment';
193
- list: 'list';
194
- listToolbar: 'list-toolbar';
195
- entityList: 'entity-list';
196
- documentUploader: 'document-uploader';
157
+ interface TextBoxOptions extends ValueWidgetOptions {
158
+ placeholder?: string;
159
+ maxLength?: number;
160
+ minLength?: number;
161
+ prefix?: string;
162
+ suffix?: string;
163
+ clearButton?: boolean;
164
+ }
165
+ interface NumberBoxOptions extends ValueWidgetOptions {
166
+ min?: number;
167
+ max?: number;
168
+ step?: number;
169
+ placeholder?: string;
170
+ format?: string;
171
+ }
172
+ interface SelectBoxOptions extends ValueWidgetOptions {
173
+ dataSource: any[] | (() => any[]) | (() => Promise<any[]>) | AXDataSource<any>;
174
+ valueField?: string;
175
+ textField?: string;
176
+ placeholder?: string;
177
+ multiple?: boolean;
178
+ searchable?: boolean;
179
+ clearButton?: boolean;
180
+ allowSearch?: boolean;
181
+ }
182
+ interface DateTimeBoxOptions extends ValueWidgetOptions {
183
+ type?: 'date' | 'time' | 'datetime';
184
+ format?: string;
185
+ min?: Date | string;
186
+ max?: Date | string;
187
+ placeholder?: string;
188
+ clearButton?: boolean;
189
+ }
190
+ interface ToggleSwitchOptions extends ValueWidgetOptions {
191
+ label?: string;
192
+ trueText?: string;
193
+ falseText?: string;
194
+ }
195
+ interface LargeTextBoxOptions extends ValueWidgetOptions {
196
+ rows?: number;
197
+ maxLength?: number;
198
+ minLength?: number;
199
+ placeholder?: string;
200
+ resizable?: boolean;
201
+ }
202
+ interface ColorBoxOptions extends ValueWidgetOptions {
203
+ format?: 'hex' | 'rgb' | 'hsl';
204
+ showAlpha?: boolean;
205
+ showPalette?: boolean;
206
+ }
207
+ interface AXPFlexContainerOptions extends LayoutWidgetOptions {
208
+ flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
209
+ flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
210
+ justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
211
+ alignItems?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
212
+ gap?: string;
213
+ spacing?: {
214
+ padding?: string;
215
+ margin?: string;
216
+ };
217
+ border?: {
218
+ radius?: string;
219
+ width?: string;
220
+ color?: string;
221
+ style?: string;
222
+ };
223
+ backgroundColor?: string;
224
+ direction?: string;
225
+ overflow?: string;
226
+ overflowX?: string;
227
+ overflowY?: string;
228
+ width?: string;
229
+ minWidth?: string;
230
+ maxWidth?: string;
231
+ height?: string;
232
+ minHeight?: string;
233
+ maxHeight?: string;
234
+ }
235
+ interface AXPGridContainerOptions extends LayoutWidgetOptions {
236
+ grid?: {
237
+ default?: {
238
+ columns?: number;
239
+ rows?: number;
240
+ gap?: string;
241
+ justifyItems?: string;
242
+ alignItems?: string;
243
+ autoFlow?: string;
244
+ };
245
+ };
246
+ spacing?: {
247
+ padding?: string;
248
+ margin?: string;
249
+ };
250
+ border?: {
251
+ radius?: string;
252
+ width?: string;
253
+ color?: string;
254
+ style?: string;
255
+ };
256
+ backgroundColor?: string;
257
+ direction?: string;
258
+ overflow?: string;
259
+ overflowX?: string;
260
+ overflowY?: string;
261
+ width?: string;
262
+ minWidth?: string;
263
+ maxWidth?: string;
264
+ height?: string;
265
+ minHeight?: string;
266
+ maxHeight?: string;
267
+ }
268
+ interface AXPPanelContainerOptions extends LayoutWidgetOptions {
269
+ caption?: string;
270
+ icon?: string;
271
+ look?: 'solid' | 'fill' | 'outline' | 'flat' | 'none';
272
+ disabled?: boolean;
273
+ showHeader?: boolean;
274
+ collapsed?: boolean;
275
+ }
276
+ interface AXPPageContainerOptions extends LayoutWidgetOptions {
277
+ backgroundColor?: string;
278
+ theme?: {
279
+ id: string;
280
+ };
281
+ hasHeader?: boolean;
282
+ hasFooter?: boolean;
283
+ direction?: string;
197
284
  }
198
-
199
- interface AXPWidgetPropertyGroup {
200
- name: string;
201
- title: string;
202
- order: number;
285
+ interface AXPTabsetContainerOptions extends LayoutWidgetOptions {
286
+ look?: 'with-line' | 'with-line-color' | 'pills' | 'pills-color';
287
+ orientation?: 'vertical' | 'horizontal';
288
+ activeIndex?: number;
203
289
  }
204
- interface AXPWidgetProperty {
205
- name: string;
206
- title: string;
290
+ interface AXPFieldsetContainerOptions extends LayoutWidgetOptions {
291
+ title?: string;
207
292
  description?: string;
208
- group: AXPWidgetPropertyGroup;
209
- order?: number;
210
- schema: {
211
- dataType: AXPDataType;
212
- nullable?: boolean;
213
- defaultValue?: any | string | ((context: any | null) => any);
214
- interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
215
- };
216
- options?: AXPOptionsData;
217
- validations?: AXPValidationRules;
218
- visible: boolean;
219
- }
220
- declare function cloneProperty(property: AXPWidgetProperty, values: AXPPartialNested<AXPWidgetProperty>): AXPWidgetProperty;
221
- declare function createStringProperty(ctor: {
222
- defaultValue?: string;
223
- name: string;
224
- title: string;
225
- path?: string;
226
- group: AXPWidgetPropertyGroup;
227
- visible?: boolean;
228
- }): AXPWidgetProperty;
229
- declare function createNumberProperty(ctor: {
230
- defaultValue?: number;
293
+ icon?: string;
294
+ collapsible?: boolean;
295
+ isOpen?: boolean;
296
+ look?: 'fieldset' | 'card' | 'group';
297
+ disabled?: boolean;
298
+ showHeader?: boolean;
299
+ cols?: number;
300
+ }
301
+ interface AXPFormFieldOptions extends LayoutWidgetOptions {
302
+ label?: string;
303
+ showLabel?: boolean;
304
+ }
305
+ interface AXPDialogContainerOptions extends LayoutWidgetOptions {
306
+ title?: string;
307
+ message?: string;
308
+ size?: AXPopupSizeType;
309
+ closeButton?: boolean;
310
+ context?: any;
311
+ }
312
+ interface RichTextOptions extends ValueWidgetOptions {
313
+ placeholder?: string;
314
+ toolbar?: string[];
315
+ readonly?: boolean;
316
+ }
317
+ interface PasswordBoxOptions extends ValueWidgetOptions {
318
+ placeholder?: string;
319
+ revealToggle?: boolean;
320
+ maxLength?: number;
321
+ }
322
+ interface LookupBoxOptions extends ValueWidgetOptions {
323
+ dataSource?: any[] | (() => any[]) | (() => Promise<any[]>);
324
+ valueField?: string;
325
+ textField?: string;
326
+ searchable?: boolean;
327
+ entity?: string;
328
+ look?: string;
329
+ columns?: any[];
330
+ expose?: any[];
331
+ multiple?: boolean;
332
+ allowClear?: boolean;
333
+ }
334
+ interface SelectionListOptions extends ValueWidgetOptions {
335
+ dataSource: any[] | (() => any[]) | (() => Promise<any[]>) | AXDataSource<any>;
336
+ valueField?: string;
337
+ textField?: string;
338
+ multiple?: boolean;
339
+ searchable?: boolean;
340
+ placeholder?: string;
341
+ }
342
+ interface AXPListWidgetColumn {
231
343
  name: string;
232
- title: string;
233
- path?: string;
234
- group: AXPWidgetPropertyGroup;
344
+ title?: string;
235
345
  visible?: boolean;
236
- options?: {
237
- minValue?: number;
238
- maxValue?: number;
239
- decimals?: number;
346
+ width?: string;
347
+ widget?: {
348
+ type: string;
349
+ path?: string;
350
+ options?: any;
240
351
  };
241
- }): AXPWidgetProperty;
242
- declare function createBooleanProperty(ctor: {
243
- defaultValue?: boolean;
244
- name: string;
245
- title: string;
246
- path?: string;
247
- group: AXPWidgetPropertyGroup;
248
- visible?: boolean;
249
- }): AXPWidgetProperty;
250
- declare function createSelectProperty<T = string | {
251
- id: string;
252
- title: string;
253
- }>(ctor: {
254
- defaultValue: T | T[] | any;
255
- dataSource: T[];
256
- name: string;
257
- title: string;
258
- path?: string;
259
- group: AXPWidgetPropertyGroup;
260
- visible?: boolean;
261
- }): AXPWidgetProperty;
262
- interface AXPWidgetNode {
263
- type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
352
+ }
353
+ interface AXPListWidgetRowCommand {
354
+ title?: string;
355
+ icon?: string;
356
+ color?: string;
357
+ disabled?: boolean | string;
358
+ hidden?: boolean | string;
359
+ command?: any;
360
+ }
361
+ interface AXPListWidgetOptions extends LayoutWidgetOptions {
362
+ dataSource?: any[] | AXDataSource;
363
+ columns?: AXPListWidgetColumn[];
364
+ onRowClick?: (row: any) => void;
365
+ onRowDoubleClick?: (row: any) => void;
366
+ onSelectionChange?: (selectedRows: any[]) => void;
367
+ onRowCommand?: (command: any, selectedRows: any[]) => void;
368
+ paging?: boolean;
369
+ showHeader?: boolean;
370
+ showFooter?: boolean;
371
+ fixHeader?: boolean;
372
+ fixFooter?: boolean;
373
+ fetchDataMode?: 'auto' | 'manual';
374
+ parentField?: string;
375
+ minHeight?: string | number;
376
+ showIndex?: boolean;
377
+ allowSelection?: boolean;
378
+ primaryCommands?: any[];
379
+ secondaryCommands?: AXPListWidgetRowCommand[];
380
+ loading?: {
381
+ enabled?: boolean;
382
+ animation?: boolean;
383
+ };
384
+ }
385
+ interface InheritanceContext {
264
386
  mode?: AXPWidgetRenderMode;
265
- path?: string;
266
- name?: string;
267
- defaultValue?: any;
268
- formula?: string;
269
- children?: AXPWidgetNode[];
270
- options?: AXPOptionsData;
271
- triggers?: AXPWidgetTriggers;
272
- meta?: AXPMetaData;
273
- valueTransforms?: AXPValueTransformerFunctions;
387
+ disabled?: boolean | string;
388
+ readonly?: boolean | string;
389
+ direction?: 'rtl' | 'ltr';
390
+ visible?: boolean | string;
274
391
  }
275
- interface AXPWidgetNodeToken {
276
- defaultValue?: any;
277
- config: AXPWidgetConfig;
278
- node: AXPWidgetNode;
279
- options?: AXPOptionsData;
392
+ interface InheritedProperties {
393
+ mode: AXPWidgetRenderMode;
394
+ disabled: boolean | string | undefined;
395
+ readonly: boolean | string | undefined;
396
+ direction: 'rtl' | 'ltr' | undefined;
397
+ visible: boolean | string | undefined;
280
398
  }
281
- interface AXPWidgetColumnNode {
399
+ interface AXPWidgetConfiguration {
282
400
  type: string;
283
- path: string;
284
401
  options?: AXPOptionsData;
285
402
  }
286
- interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
287
- config: AXPWidgetConfig;
288
- }
289
- declare const AXP_WIDGET_TOKEN: InjectionToken<AXPWidgetNodeToken>;
290
- declare const AXP_WIDGET_COLUMN_TOKEN: InjectionToken<AXPWidgetColumnNodeToken>;
291
- interface AXPWidgetComponentConfig {
292
- component: () => Promise<any>;
293
- properties?: AXPWidgetProperty[];
294
- }
295
- interface AXPWidgetConfigComponents {
296
- designer?: AXPWidgetComponentConfig;
297
- view?: AXPWidgetComponentConfig;
298
- edit?: AXPWidgetComponentConfig;
299
- print?: AXPWidgetComponentConfig;
300
- column?: AXPWidgetComponentConfig;
301
- filter?: AXPWidgetComponentConfig;
302
- }
303
- type AXPWidgetViewType = 'container' | 'editor' | 'action' | 'view' | 'filter' | 'validation' | 'dashboard';
304
- type AXPWidgetDesignerOptionsMap = {
305
- container: {
306
- canInsert: boolean;
307
- };
308
- editor: {
309
- needLabel: boolean;
310
- };
311
- action: {};
312
- view: {};
403
+ type LayoutBuilderState = AXPWidgetNode;
404
+ type WidgetBuilderState = Omit<AXPWidgetNode, 'children'> & {
405
+ layout?: AXPGridLayoutOptions;
313
406
  };
314
- type AXPExtractWidgetConfig<T> = {
315
- type: AXPWidgetViewType;
316
- designer: T extends {
317
- type: infer V;
318
- } ? V extends keyof AXPWidgetDesignerOptionsMap ? AXPWidgetDesignerOptionsMap[V] : any : any;
407
+ type FormFieldBuilderState = AXPWidgetNode & {
408
+ layout?: AXPGridLayoutOptions;
319
409
  };
320
- interface AXPWidgetConfig<T = any> {
321
- name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
322
- alias?: string | string[];
323
- title: string;
324
- icon?: string;
325
- description?: string;
326
- categories?: AXPWidgetCategory | AXPWidgetCategory[];
327
- groups?: AXPWidgetGroup[];
328
- properties?: AXPWidgetProperty[];
329
- components: AXPWidgetConfigComponents;
330
- meta?: AXPMetaData;
331
- type: AXPExtractWidgetConfig<T>['type'];
332
- designer?: AXPExtractWidgetConfig<T>['designer'];
333
- options?: Record<string, any>;
334
- defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter';
335
- }
336
- interface extendedWidget {
337
- widget: AXPWidgetConfig;
338
- parentName: string;
339
- }
340
- type AXPWidgetRenderMode = keyof AXPWidgetConfigComponents;
341
- interface AXPLayoutBuilderStatusChangedEvent {
342
- status: AXPPageStatus;
343
- }
344
-
345
- type AXPClassMap = Readonly<Record<string, boolean>>;
346
- type AXPStyleMap = Readonly<Record<string, string | number>>;
347
- declare abstract class AXPBaseWidgetComponent extends AXPLayoutElement {
348
- #private;
349
- protected readonly token: _acorex_platform_layout_builder.AXPWidgetNodeToken;
350
- readonly host: HTMLDivElement;
351
- protected readonly layoutService: AXPLayoutBuilderService;
352
- protected readonly contextService: {
353
- data: _angular_core.Signal<{}>;
354
- state: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextState>;
355
- initialSnapshot: _angular_core.Signal<{}>;
356
- previousSnapshot: _angular_core.Signal<{}>;
357
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_builder.AXPLayoutContextChangeEvent>;
358
- isChanged: _angular_core.Signal<boolean>;
359
- isReset: _angular_core.Signal<boolean>;
360
- isInitiated: _angular_core.Signal<boolean>;
361
- isEmpty: _angular_core.Signal<boolean>;
362
- isDirty: _angular_core.Signal<boolean>;
363
- snapshot: _angular_core.Signal<{}>;
364
- initial: _angular_core.Signal<{}>;
365
- previous: _angular_core.Signal<{}>;
366
- changeEvent: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextChangeEvent>;
367
- update: (path: string, value: any) => void;
368
- patch: (context: {}) => void;
369
- reset: () => void;
370
- set: (initialData: any) => void;
371
- getValue: (path: string) => any;
372
- } & _ngrx_signals.StateSource<{
373
- data: {};
374
- state: _acorex_platform_layout_builder.AXPLayoutContextState;
375
- initialSnapshot: {};
376
- previousSnapshot: {};
377
- lastChange: _acorex_platform_layout_builder.AXPLayoutContextChangeEvent;
378
- }>;
379
- readonly config: _acorex_platform_layout_builder.AXPWidgetConfig<any>;
380
- readonly node: AXPWidgetNode;
381
- protected readonly name: string | undefined;
382
- protected _id: string | null;
383
- get id(): string | null;
384
- protected _options: _angular_core.WritableSignal<any>;
385
- options: _angular_core.Signal<any>;
386
- onOptionsChanged: Subject<{
387
- sender: AXPBaseWidgetComponent;
388
- }>;
389
- private _status;
390
- status: _angular_core.Signal<AXPWidgetStatus>;
391
- readonly onStatusChanged: BehaviorSubject<AXPWidgetStatus>;
392
- isBusy: _angular_core.Signal<boolean>;
393
- parent: AXPLayoutBaseWidgetComponent | null | undefined;
394
- index: number | null | undefined;
395
- mode: AXPWidgetRenderMode;
396
- locked: boolean;
397
- protected outputs(): (string | {
398
- [name: string]: unknown;
399
- })[];
400
- ngOnInit(): void;
401
- setStatus(status: AXPWidgetStatus): void;
402
- setOptions(values: any): void;
403
- output<T = any>(name: string): T;
404
- call(name: string, ...args: any[]): void;
405
- protected readonly _children: _angular_core.WritableSignal<AXPWidgetNode[]>;
406
- protected children: _angular_core.Signal<AXPWidgetNode[]>;
407
- setChildren(children: AXPWidgetNode[]): void;
408
- onAdded(): void;
409
- hostClass?(): AXPClassMap;
410
- hostStyle?(): AXPStyleMap;
411
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPBaseWidgetComponent, never>;
412
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBaseWidgetComponent>;
413
- }
414
- declare abstract class AXPLayoutBaseWidgetComponent extends AXPBaseWidgetComponent {
415
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutBaseWidgetComponent, never>;
416
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLayoutBaseWidgetComponent>;
417
- }
418
- declare abstract class AXPValueWidgetComponent<T = any | null> extends AXPLayoutBaseWidgetComponent implements OnInit {
419
- protected readonly path: string | undefined;
420
- protected readonly defaultValue: any;
421
- private _isValueWidget;
422
- private isValueWidget;
423
- onValueChanged: Subject<{
424
- sender: AXPBaseWidgetComponent;
425
- }>;
426
- fullPath: _angular_core.WritableSignal<string | null>;
427
- parentPath: _angular_core.WritableSignal<string | null>;
428
- ngOnInit(): void;
429
- getValue: _angular_core.Signal<T>;
430
- protected validationRules: _angular_core.Signal<AXPValidationRules>;
431
- protected extractValue(path: string): any;
432
- setValue(value: T | null | undefined): void;
433
- private detectFullPath;
434
- protected handleValueChanged(e: AXValueChangedEvent<T>): void;
435
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPValueWidgetComponent<any>, never>;
436
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPValueWidgetComponent<any>>;
437
- }
438
- declare abstract class AXPDataListWidgetComponent extends AXPValueWidgetComponent<any> {
439
- private dataService;
440
- protected textField: _angular_core.Signal<string>;
441
- protected valueField: _angular_core.Signal<string>;
442
- protected dataSource: _angular_core.WritableSignal<AXDataSource<any>>;
443
- protected isReady: _angular_core.Signal<boolean>;
444
- selectedItems: _angular_core.WritableSignal<any[]>;
445
- private rf;
446
- protected extractItem(item: unknown): Promise<any>;
447
- private effect2;
448
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDataListWidgetComponent, never>;
449
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataListWidgetComponent>;
450
- }
451
- declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
452
- private readonly token;
453
- protected readonly path: string;
454
- protected readonly options: _acorex_platform_core.AXPOptionsData;
455
- protected readonly rawValue: T;
456
- protected readonly rowData: any;
457
- protected readonly nullText: any;
458
- protected readonly nullValue: T;
459
- protected value: _angular_core.Signal<T>;
460
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPColumnWidgetComponent<any>, never>;
461
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPColumnWidgetComponent<any>>;
462
- }
463
-
464
- declare abstract class AXPBoxModelLayoutWidgetComponent extends AXPLayoutBaseWidgetComponent {
465
- hostBoxStyle: _angular_core.Signal<Readonly<Record<string, string | number>>>;
466
- protected blockStyle: _angular_core.Signal<Readonly<Record<string, string | number>>>;
467
- protected inlineStyle: _angular_core.Signal<Readonly<Record<string, string | number>>>;
468
- protected blockClass: _angular_core.Signal<Readonly<Record<string, boolean>>>;
469
- protected inlineClass: _angular_core.Signal<Readonly<Record<string, boolean>>>;
470
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPBoxModelLayoutWidgetComponent, never>;
471
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBoxModelLayoutWidgetComponent>;
472
- }
473
-
474
- declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayoutWidgetComponent {
475
- hostClass: _angular_core.Signal<Readonly<Record<string, boolean>>>;
476
- hostStyle: _angular_core.Signal<Readonly<Record<string, string | number>>>;
477
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPBlockBaseLayoutWidgetComponent, never>;
478
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
479
- }
480
-
481
- type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
482
- type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
483
- type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
484
- type AXPPropertySides<T extends string | number = string> = AXPPropertyEditorSideGeneric<AXPPropertyEditorSideValues, T>;
485
- type AXPPropertyCorners<T extends string | number = string> = AXPPropertyEditorSideGeneric<AXPPropertyEditorCornerValues, T>;
486
- interface AXPSpacingBox<T extends string | number = string> {
487
- margin: AXPPropertySides<T>;
488
- padding: AXPPropertySides<T>;
489
- }
490
- interface AXPBorderBox<T extends string | number = string> {
491
- width: AXPPropertySides<T>;
492
- radius: AXPPropertyCorners<T>;
493
- color: AXPPropertySides<T>;
494
- style: AXPPropertySides<T>;
495
- }
496
- interface AXPSpacingBoxString {
497
- margin: string;
498
- padding: string;
499
- }
500
- interface AXPBorderBoxString {
501
- width: string;
502
- radius: string;
503
- color: string;
504
- style: string;
505
- }
506
- interface AXPFlexBoxString {
507
- flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
508
- flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
509
- justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';
510
- alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';
511
- gap?: string;
512
- }
513
- interface AXPFlexItemBoxString {
514
- order?: string;
515
- grow?: string;
516
- shrink?: string;
517
- basis?: string;
518
- alignSelf?: string;
519
- }
520
- interface AXPGridBoxString {
521
- columns?: number;
522
- rows?: number;
523
- gap?: string;
524
- justifyItems?: 'start' | 'end' | 'center' | 'stretch';
525
- alignItems?: 'start' | 'end' | 'center' | 'stretch';
526
- autoFlow?: 'row' | 'column' | 'dense' | 'row dense' | 'column dense';
527
- }
528
- interface AXPGridItemBoxString {
529
- colSpan?: string | number;
530
- colStart?: string | number;
531
- colEnd?: string | number;
532
- rowSpan?: string | number;
533
- rowStart?: string | number;
534
- rowEnd?: string | number;
535
- alignSelf?: 'start' | 'end' | 'center' | 'stretch';
536
- justifySelf?: 'start' | 'end' | 'center' | 'stretch';
537
- }
538
- type AXPGridBreakpointValues = AXPBreakpointValues<AXPGridBoxString>;
539
- type AXPBreakpoints = 'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
540
- type AXPBreakpointValues<T> = {
541
- [key in AXPBreakpoints]?: T;
542
- };
543
-
544
- declare class AXPPropertyEditorHelper {
545
- private static expandShorthand;
546
- private static condenseShorthand;
547
- private static parseSides;
548
- private static parseSidesWithUnits;
549
- private static parseCorners;
550
- static parseSpacingBox(input: AXPSpacingBoxString): AXPSpacingBox<number>;
551
- static parseBorderBox(input: AXPBorderBoxString): AXPBorderBox<number | string>;
552
- static parseSpacingBoxReverse(input: AXPSpacingBox<number>, units: AXPSpacingBox<string>): AXPSpacingBoxString;
553
- static parseBorderBoxReverse(input: AXPBorderBox<number | string>, units: AXPBorderBox<string>): AXPBorderBoxString;
554
- static getValueWithUnit(input: string | number): {
555
- value: number;
556
- unit: string;
557
- };
558
- static getValueFromUnit(value: number, unit: string): string;
559
- static parseGap(gap: string): {
560
- values: Record<'x' | 'y', number>;
561
- unit: string;
410
+ type DialogBuilderState = AXPWidgetNode & {
411
+ layout?: AXPGridLayoutOptions;
412
+ dialogOptions?: AXPDialogContainerOptions;
413
+ actions?: {
414
+ footer?: {
415
+ prefix?: AXPActionMenuItem[];
416
+ suffix?: AXPActionMenuItem[];
417
+ };
562
418
  };
563
- static parseGridTemplate(gridTemplate: string): number;
564
- static createGridTemplate(repetitionCount: number): string;
565
- }
566
- declare function findNonEmptyBreakpoints<T>(values: AXPBreakpointValues<T>): AXPBreakpoints[];
567
-
568
- declare abstract class AXPFlexBaseLayoutWidgetComponent extends AXPBlockBaseLayoutWidgetComponent {
569
- protected flex: _angular_core.Signal<AXPFlexBoxString | undefined>;
570
- hostFlexStyle: _angular_core.Signal<Record<string, string | number>>;
571
- hostFlexClass: _angular_core.Signal<Record<string, boolean>>;
572
- hostClass: _angular_core.Signal<Record<string, boolean>>;
573
- hostStyle: _angular_core.Signal<Record<string, string | number>>;
574
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFlexBaseLayoutWidgetComponent, never>;
575
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPFlexBaseLayoutWidgetComponent>;
576
- }
577
-
578
- declare abstract class AXPInlineBaseLayoutWidgetComponent extends AXPBoxModelLayoutWidgetComponent {
579
- hostClass: _angular_core.Signal<Readonly<Record<string, boolean>>>;
580
- hostStyle: _angular_core.Signal<Readonly<Record<string, string | number>>>;
581
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPInlineBaseLayoutWidgetComponent, never>;
582
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPInlineBaseLayoutWidgetComponent>;
583
- }
584
-
585
- declare abstract class AXPFlexItemBaseLayoutWidgetComponent extends AXPInlineBaseLayoutWidgetComponent {
586
- protected flexItem: _angular_core.Signal<AXPFlexItemBoxString | undefined>;
587
- hostFlexItemStyle: _angular_core.Signal<Record<string, string | number>>;
588
- hostFlexItemClass: _angular_core.Signal<{
589
- [x: string]: boolean;
590
- }>;
591
- hostClass: _angular_core.Signal<{
592
- [x: string]: boolean;
593
- }>;
594
- hostStyle: _angular_core.Signal<Record<string, string | number>>;
595
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPFlexItemBaseLayoutWidgetComponent, never>;
596
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPFlexItemBaseLayoutWidgetComponent>;
597
- }
598
-
599
- declare abstract class AXPGridBaseLayoutWidgetComponent extends AXPBlockBaseLayoutWidgetComponent {
600
- private grid;
601
- hostGridStyle: _angular_core.Signal<Record<string, string | number>>;
602
- hostGridClass: _angular_core.Signal<Record<string, boolean>>;
603
- hostClass: _angular_core.Signal<Record<string, boolean>>;
604
- hostStyle: _angular_core.Signal<Record<string, string | number>>;
605
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGridBaseLayoutWidgetComponent, never>;
606
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGridBaseLayoutWidgetComponent>;
607
- }
608
-
609
- declare abstract class AXPGridItemBaseLayoutWidgetComponent extends AXPFlexBaseLayoutWidgetComponent {
610
- private gridItem;
611
- hostGridItemStyle: _angular_core.Signal<Record<string, string | number>>;
612
- hostGridItemClass: _angular_core.Signal<Record<string, boolean>>;
613
- hostClass: _angular_core.Signal<Record<string, boolean>>;
614
- hostStyle: _angular_core.Signal<Record<string, string | number>>;
615
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPGridItemBaseLayoutWidgetComponent, never>;
616
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGridItemBaseLayoutWidgetComponent>;
617
- }
618
-
619
- type AXPLayoutContextState = 'initiated' | 'restored' | 'changed' | 'patch';
620
- declare class AXPLayoutContextChangeEvent {
621
- oldValue?: any;
622
- newValue?: any;
623
- path?: string;
624
- state: AXPLayoutContextState;
625
- data: any;
626
- }
627
- declare const AXPLayoutBuilderContextStore: _angular_core.Type<{
628
- data: _angular_core.Signal<{}>;
629
- state: _angular_core.Signal<AXPLayoutContextState>;
630
- initialSnapshot: _angular_core.Signal<{}>;
631
- previousSnapshot: _angular_core.Signal<{}>;
632
- lastChange: _ngrx_signals.DeepSignal<AXPLayoutContextChangeEvent>;
633
- isChanged: _angular_core.Signal<boolean>;
634
- isReset: _angular_core.Signal<boolean>;
635
- isInitiated: _angular_core.Signal<boolean>;
636
- isEmpty: _angular_core.Signal<boolean>;
637
- isDirty: _angular_core.Signal<boolean>;
638
- snapshot: _angular_core.Signal<{}>;
639
- initial: _angular_core.Signal<{}>;
640
- previous: _angular_core.Signal<{}>;
641
- changeEvent: _angular_core.Signal<AXPLayoutContextChangeEvent>;
642
- update: (path: string, value: any) => void;
643
- patch: (context: {}) => void;
644
- reset: () => void;
645
- set: (initialData: any) => void;
646
- getValue: (path: string) => any;
647
- } & _ngrx_signals.StateSource<{
648
- data: {};
649
- state: AXPLayoutContextState;
650
- initialSnapshot: {};
651
- previousSnapshot: {};
652
- lastChange: AXPLayoutContextChangeEvent;
653
- }>>;
654
-
655
- declare class AXPWidgetContainerComponent {
656
- readonly contextService: {
657
- data: _angular_core.Signal<{}>;
658
- state: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextState>;
659
- initialSnapshot: _angular_core.Signal<{}>;
660
- previousSnapshot: _angular_core.Signal<{}>;
661
- lastChange: _ngrx_signals.DeepSignal<AXPLayoutContextChangeEvent>;
662
- isChanged: _angular_core.Signal<boolean>;
663
- isReset: _angular_core.Signal<boolean>;
664
- isInitiated: _angular_core.Signal<boolean>;
665
- isEmpty: _angular_core.Signal<boolean>;
666
- isDirty: _angular_core.Signal<boolean>;
667
- snapshot: _angular_core.Signal<{}>;
668
- initial: _angular_core.Signal<{}>;
669
- previous: _angular_core.Signal<{}>;
670
- changeEvent: _angular_core.Signal<AXPLayoutContextChangeEvent>;
671
- update: (path: string, value: any) => void;
672
- patch: (context: {}) => void;
673
- reset: () => void;
674
- set: (initialData: any) => void;
675
- getValue: (path: string) => any;
676
- } & _ngrx_signals.StateSource<{
677
- data: {};
678
- state: _acorex_platform_layout_builder.AXPLayoutContextState;
679
- initialSnapshot: {};
680
- previousSnapshot: {};
681
- lastChange: AXPLayoutContextChangeEvent;
682
- }>;
683
- readonly builderService: AXPLayoutBuilderService;
684
- readonly onContextChanged: EventEmitter<AXPLayoutContextChangeEvent>;
685
- set context(value: any);
686
- set functions(v: any);
687
- constructor();
688
- status: _angular_core.Signal<_acorex_platform_layout_builder.AXPPageStatus>;
689
- isBusy: _angular_core.Signal<boolean>;
690
- refresh(): void;
691
- find(name: string): Promise<_acorex_platform_layout_builder.AXPLayoutElement | undefined>;
692
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
693
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetContainerComponent, "axp-widgets-container", never, { "context": { "alias": "context"; "required": false; }; "functions": { "alias": "functions"; "required": false; }; }, { "onContextChanged": "onContextChanged"; }, never, ["*"], false, never>;
419
+ };
420
+ interface IActionBuilder {
421
+ cancel(text?: string): IActionBuilder;
422
+ submit(text?: string): IActionBuilder;
423
+ custom(action: AXPActionMenuItem): IActionBuilder;
424
+ }
425
+ interface ILayoutBuilder {
426
+ grid(delegate: (container: IGridContainerBuilder) => void): ILayoutBuilder;
427
+ flex(delegate: (container: IFlexContainerBuilder) => void): ILayoutBuilder;
428
+ panel(delegate: (container: IPanelContainerBuilder) => void): ILayoutBuilder;
429
+ page(delegate: (container: IPageContainerBuilder) => void): ILayoutBuilder;
430
+ tabset(delegate: (container: ITabsetContainerBuilder) => void): ILayoutBuilder;
431
+ fieldset(delegate: (container: IFieldsetContainerBuilder) => void): ILayoutBuilder;
432
+ dialog(delegate: (container: IDialogBuilder) => void): IDialogBuilder;
433
+ build(): AXPWidgetNode;
434
+ }
435
+ interface IWidgetBuilder {
436
+ name(name: string): IWidgetBuilder;
437
+ path(path: string): IWidgetBuilder;
438
+ type(type: string): IWidgetBuilder;
439
+ options(options: AXPOptionsData): IWidgetBuilder;
440
+ layout(config: Partial<AXPGridLayoutOptions>): IWidgetBuilder;
441
+ layout(colSpan: number): IWidgetBuilder;
442
+ mode(mode: AXPWidgetRenderMode): IWidgetBuilder;
443
+ visible(condition: boolean | string): IWidgetBuilder;
444
+ disabled(condition: boolean | string): IWidgetBuilder;
445
+ readonly(condition: boolean | string): IWidgetBuilder;
446
+ direction(direction: 'rtl' | 'ltr'): IWidgetBuilder;
447
+ withInheritanceContext(context: InheritanceContext): IWidgetBuilder;
448
+ getInheritanceContext(): InheritanceContext;
449
+ build(): AXPWidgetNode;
450
+ }
451
+ interface IBaseContainerBuilder<TContainer = any> {
452
+ name(name: string): TContainer;
453
+ path(path: string): TContainer;
454
+ mode(mode: AXPWidgetRenderMode): TContainer;
455
+ visible(condition: boolean | AXPExpression): TContainer;
456
+ disabled(condition: boolean | AXPExpression): TContainer;
457
+ readonly(condition: boolean | AXPExpression): TContainer;
458
+ direction(direction: 'rtl' | 'ltr'): TContainer;
459
+ withInheritanceContext(context: InheritanceContext): TContainer;
460
+ getInheritanceContext(): InheritanceContext;
461
+ build(): AXPWidgetNode;
462
+ }
463
+ interface ILayoutContainerBuilder<TContainer = any> {
464
+ layout(config: Partial<AXPGridLayoutOptions>): TContainer;
465
+ layout(colSpan: number): TContainer;
466
+ }
467
+ interface IChildContainerBuilder<TContainer = any> {
468
+ grid(delegate: (container: IGridContainerBuilder) => void): TContainer;
469
+ flex(delegate: (container: IFlexContainerBuilder) => void): TContainer;
470
+ panel(delegate: (container: IPanelContainerBuilder) => void): TContainer;
471
+ page(delegate: (container: IPageContainerBuilder) => void): TContainer;
472
+ tabset(delegate: (container: ITabsetContainerBuilder) => void): TContainer;
473
+ fieldset(delegate: (container: IFieldsetContainerBuilder) => void): TContainer;
474
+ formField(label: string, delegate?: (field: IFormFieldBuilder) => void): TContainer;
475
+ }
476
+ interface IWidgetContainerBuilder<TContainer = any> {
477
+ textBox(options?: TextBoxOptions): TContainer;
478
+ largeTextBox(options?: LargeTextBoxOptions): TContainer;
479
+ richText(options?: RichTextOptions): TContainer;
480
+ passwordBox(options?: PasswordBoxOptions): TContainer;
481
+ numberBox(options?: NumberBoxOptions): TContainer;
482
+ selectBox(options: SelectBoxOptions): TContainer;
483
+ lookupBox(options: LookupBoxOptions): TContainer;
484
+ selectionList(options: SelectionListOptions): TContainer;
485
+ dateTimeBox(options?: DateTimeBoxOptions): TContainer;
486
+ toggleSwitch(options?: ToggleSwitchOptions): TContainer;
487
+ colorBox(options?: ColorBoxOptions): TContainer;
488
+ list(delegate: (container: IListWidgetBuilder) => void): TContainer;
489
+ customWidget<T>(type: string, options?: T): TContainer;
490
+ }
491
+ interface IFlexContainerBuilder extends IBaseContainerBuilder<IFlexContainerBuilder>, ILayoutContainerBuilder<IFlexContainerBuilder>, IChildContainerBuilder<IFlexContainerBuilder>, IWidgetContainerBuilder<IFlexContainerBuilder> {
492
+ setOptions(options: AXPFlexContainerOptions): IFlexContainerBuilder;
493
+ setDirection(direction: 'row' | 'column' | 'row-reverse' | 'column-reverse'): IFlexContainerBuilder;
494
+ setWrap(wrap: 'nowrap' | 'wrap' | 'wrap-reverse'): IFlexContainerBuilder;
495
+ setJustifyContent(justify: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'): IFlexContainerBuilder;
496
+ setAlignItems(align: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'): IFlexContainerBuilder;
497
+ setGap(gap: string): IFlexContainerBuilder;
498
+ setBackgroundColor(color: string): IFlexContainerBuilder;
499
+ setPadding(padding: string): IFlexContainerBuilder;
500
+ setMargin(margin: string): IFlexContainerBuilder;
501
+ }
502
+ interface IGridContainerBuilder extends IBaseContainerBuilder<IGridContainerBuilder>, ILayoutContainerBuilder<IGridContainerBuilder>, IChildContainerBuilder<IGridContainerBuilder>, IWidgetContainerBuilder<IGridContainerBuilder> {
503
+ setOptions(options: AXPGridContainerOptions): IGridContainerBuilder;
504
+ setColumns(columns: number): IGridContainerBuilder;
505
+ setRows(rows: number): IGridContainerBuilder;
506
+ setGap(gap: string): IGridContainerBuilder;
507
+ setJustifyItems(justify: 'start' | 'end' | 'center' | 'stretch'): IGridContainerBuilder;
508
+ setAlignItems(align: 'start' | 'end' | 'center' | 'stretch'): IGridContainerBuilder;
509
+ setAutoFlow(flow: 'row' | 'column' | 'row dense' | 'column dense'): IGridContainerBuilder;
510
+ setBackgroundColor(color: string): IGridContainerBuilder;
511
+ setPadding(padding: string): IGridContainerBuilder;
512
+ setMargin(margin: string): IGridContainerBuilder;
513
+ }
514
+ interface IPanelContainerBuilder extends IBaseContainerBuilder<IPanelContainerBuilder>, ILayoutContainerBuilder<IPanelContainerBuilder>, IChildContainerBuilder<IPanelContainerBuilder>, IWidgetContainerBuilder<IPanelContainerBuilder> {
515
+ setOptions(options: AXPPanelContainerOptions): IPanelContainerBuilder;
516
+ setCaption(caption: string): IPanelContainerBuilder;
517
+ setIcon(icon: string): IPanelContainerBuilder;
518
+ setLook(look: 'solid' | 'fill' | 'outline' | 'flat' | 'none'): IPanelContainerBuilder;
519
+ setShowHeader(show: boolean): IPanelContainerBuilder;
520
+ setCollapsed(collapsed: boolean): IPanelContainerBuilder;
521
+ }
522
+ interface IPageContainerBuilder extends IBaseContainerBuilder<IPageContainerBuilder>, ILayoutContainerBuilder<IPageContainerBuilder>, IChildContainerBuilder<IPageContainerBuilder>, IWidgetContainerBuilder<IPageContainerBuilder> {
523
+ setOptions(options: AXPPageContainerOptions): IPageContainerBuilder;
524
+ setBackgroundColor(color: string): IPageContainerBuilder;
525
+ setTheme(theme: {
526
+ id: string;
527
+ }): IPageContainerBuilder;
528
+ setHasHeader(hasHeader: boolean): IPageContainerBuilder;
529
+ setHasFooter(hasFooter: boolean): IPageContainerBuilder;
530
+ setDirection(direction: 'rtl' | 'ltr'): IPageContainerBuilder;
531
+ }
532
+ interface ITabsetContainerBuilder extends IBaseContainerBuilder<ITabsetContainerBuilder>, ILayoutContainerBuilder<ITabsetContainerBuilder>, IChildContainerBuilder<ITabsetContainerBuilder>, IWidgetContainerBuilder<ITabsetContainerBuilder> {
533
+ setOptions(options: AXPTabsetContainerOptions): ITabsetContainerBuilder;
534
+ setLook(look: 'with-line' | 'with-line-color' | 'pills' | 'pills-color'): ITabsetContainerBuilder;
535
+ setOrientation(orientation: 'vertical' | 'horizontal'): ITabsetContainerBuilder;
536
+ setActiveIndex(index: number): ITabsetContainerBuilder;
537
+ }
538
+ interface IFormFieldBuilder extends IBaseContainerBuilder<IFormFieldBuilder>, ILayoutContainerBuilder<IFormFieldBuilder> {
539
+ setOptions(options: AXPFormFieldOptions): IFormFieldBuilder;
540
+ setLabel(label: string): IFormFieldBuilder;
541
+ setShowLabel(showLabel: boolean): IFormFieldBuilder;
542
+ textBox(options?: Omit<TextBoxOptions, 'path'>): IFormFieldBuilder;
543
+ largeTextBox(options?: Omit<LargeTextBoxOptions, 'path'>): IFormFieldBuilder;
544
+ richText(options?: Omit<RichTextOptions, 'path'>): IFormFieldBuilder;
545
+ passwordBox(options?: Omit<PasswordBoxOptions, 'path'>): IFormFieldBuilder;
546
+ numberBox(options?: Omit<NumberBoxOptions, 'path'>): IFormFieldBuilder;
547
+ selectBox(options: Omit<SelectBoxOptions, 'path'>): IFormFieldBuilder;
548
+ lookupBox(options: Omit<LookupBoxOptions, 'path'>): IFormFieldBuilder;
549
+ selectionList(options: Omit<SelectionListOptions, 'path'>): IFormFieldBuilder;
550
+ dateTimeBox(options?: Omit<DateTimeBoxOptions, 'path'>): IFormFieldBuilder;
551
+ toggleSwitch(options?: Omit<ToggleSwitchOptions, 'path'>): IFormFieldBuilder;
552
+ colorBox(options?: Omit<ColorBoxOptions, 'path'>): IFormFieldBuilder;
553
+ customWidget<T>(type: string, options?: Omit<T, 'path'>): IFormFieldBuilder;
554
+ }
555
+ interface IFieldsetContainerBuilder extends IBaseContainerBuilder<IFieldsetContainerBuilder>, ILayoutContainerBuilder<IFieldsetContainerBuilder> {
556
+ setOptions(options: AXPFieldsetContainerOptions): IFieldsetContainerBuilder;
557
+ setTitle(title: string): IFieldsetContainerBuilder;
558
+ setDescription(description: string): IFieldsetContainerBuilder;
559
+ setIcon(icon: string): IFieldsetContainerBuilder;
560
+ setCollapsible(collapsible: boolean): IFieldsetContainerBuilder;
561
+ setIsOpen(isOpen: boolean): IFieldsetContainerBuilder;
562
+ setLook(look: 'fieldset' | 'card' | 'group'): IFieldsetContainerBuilder;
563
+ setShowHeader(showHeader: boolean): IFieldsetContainerBuilder;
564
+ setCols(cols: number): IFieldsetContainerBuilder;
565
+ formField(label: string, delegate?: (field: IFormFieldBuilder) => void): IFieldsetContainerBuilder;
566
+ }
567
+ interface IDialogBuilder {
568
+ setOptions(options: AXPDialogContainerOptions): IDialogBuilder;
569
+ setTitle(title: string): IDialogBuilder;
570
+ setMessage(message?: string): IDialogBuilder;
571
+ setSize(size: AXPopupSizeType): IDialogBuilder;
572
+ setCloseButton(closeButton: boolean): IDialogBuilder;
573
+ setContext(context: any): IDialogBuilder;
574
+ content(delegate: (layoutBuilder: IFlexContainerBuilder) => void): IDialogBuilder;
575
+ setActions(delegate?: (actions: IActionBuilder) => void): IDialogBuilder;
576
+ show(): Promise<AXPDialogRef>;
577
+ }
578
+ interface IListWidgetBuilder extends IBaseContainerBuilder<IListWidgetBuilder>, ILayoutContainerBuilder<IListWidgetBuilder>, IChildContainerBuilder<IListWidgetBuilder>, IWidgetContainerBuilder<IListWidgetBuilder> {
579
+ setOptions(options: AXPListWidgetOptions): IListWidgetBuilder;
580
+ setDataSource(dataSource: any[] | AXDataSource): IListWidgetBuilder;
581
+ setColumns(columns: AXPListWidgetColumn[]): IListWidgetBuilder;
582
+ setOnRowClick(handler: (row: any) => void): IListWidgetBuilder;
583
+ setOnRowDoubleClick(handler: (row: any) => void): IListWidgetBuilder;
584
+ setOnSelectionChange(handler: (selectedRows: any[]) => void): IListWidgetBuilder;
585
+ setOnRowCommand(handler: (command: any, selectedRows: any[]) => void): IListWidgetBuilder;
586
+ setPaging(paging: boolean): IListWidgetBuilder;
587
+ setShowHeader(show: boolean): IListWidgetBuilder;
588
+ setShowFooter(show: boolean): IListWidgetBuilder;
589
+ setFixHeader(fix: boolean): IListWidgetBuilder;
590
+ setFixFooter(fix: boolean): IListWidgetBuilder;
591
+ setFetchDataMode(mode: 'auto' | 'manual'): IListWidgetBuilder;
592
+ setParentField(field: string): IListWidgetBuilder;
593
+ setMinHeight(height: string | number): IListWidgetBuilder;
594
+ setShowIndex(show: boolean): IListWidgetBuilder;
595
+ setAllowSelection(allow: boolean): IListWidgetBuilder;
596
+ setPrimaryCommands(commands: any[]): IListWidgetBuilder;
597
+ setSecondaryCommands(commands: AXPListWidgetRowCommand[]): IListWidgetBuilder;
598
+ setLoading(loading: {
599
+ enabled?: boolean;
600
+ animation?: boolean;
601
+ }): IListWidgetBuilder;
694
602
  }
695
603
 
696
- declare class AXPWidgetRegistryService {
697
- private types;
698
- static instance: AXPWidgetRegistryService;
604
+ declare class AXPLayoutBuilderService {
605
+ private popupService;
699
606
  /**
700
- *
607
+ * Create a new layout builder
701
608
  */
702
- constructor();
703
- register(widget: AXPWidgetConfig): void;
704
- extend(parentName: string, widget: AXPWidgetConfig): void;
705
- resolve(name: string): AXPWidgetConfig | undefined;
706
- all(): AXPWidgetConfig[];
707
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRegistryService, never>;
708
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetRegistryService>;
709
- }
710
-
711
- declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
712
- protected widgetRegistery: AXPWidgetRegistryService;
713
- private grid;
714
- customExpandIcon: string;
715
- customCollapseIcon: string;
716
- customWidth: string;
717
- private _node;
718
- get node(): AXPWidgetColumnNode;
719
- set node(v: AXPWidgetColumnNode);
720
- private mergedOptions;
721
- protected loadingRow: _angular_core.WritableSignal<null>;
722
- footerTemplate: TemplateRef<unknown>;
723
- private _contentFooterTemplate;
724
- get renderFooterTemplate(): TemplateRef<unknown>;
725
- expandHandler: boolean;
726
- cellTemplate: TemplateRef<unknown>;
727
- private _contentCellTemplate;
728
- get renderCellTemplate(): TemplateRef<unknown>;
729
- headerTemplate: TemplateRef<unknown>;
730
- private _contentHeaderTemplate;
731
- protected handleExpandRow(row: any): Promise<void>;
732
- get renderHeaderTemplate(): TemplateRef<unknown>;
733
- get loadingEnabled(): boolean;
734
- get name(): string;
735
- private injector;
736
- private cdr;
737
- protected widgetInjector: Injector;
738
- protected component: any;
739
- ngOnInit(): Promise<void>;
740
- getInputs(data: any): any;
741
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetColumnRendererComponent, never>;
742
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetColumnRendererComponent, "axp-widget-column-renderer", never, { "caption": { "alias": "caption"; "required": false; }; "customExpandIcon": { "alias": "customExpandIcon"; "required": false; }; "customCollapseIcon": { "alias": "customCollapseIcon"; "required": false; }; "customWidth": { "alias": "customWidth"; "required": false; }; "node": { "alias": "node"; "required": true; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "expandHandler": { "alias": "expandHandler"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, {}, never, never, false, never>;
609
+ create(): ILayoutBuilder;
610
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutBuilderService, never>;
611
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPLayoutBuilderService>;
743
612
  }
744
613
 
745
- type AXPWidgetRendererDirectiveOptions = AXPMetaData;
746
- declare class AXPWidgetRendererDirective {
747
- parentNode: _angular_core.InputSignal<AXPLayoutBaseWidgetComponent | null | undefined>;
748
- index: _angular_core.InputSignal<number | null | undefined>;
749
- mode: _angular_core.InputSignal<keyof _acorex_platform_layout_builder.AXPWidgetConfigComponents>;
750
- node: _angular_core.InputSignal<AXPWidgetNode>;
751
- private _options;
752
- options: _angular_core.Signal<AXPMetaData>;
753
- onOptionsChanged: _angular_core.OutputEmitterRef<{
754
- sender: AXPWidgetRendererDirective;
755
- widget: AXPBaseWidgetComponent;
756
- }>;
757
- onValueChanged: _angular_core.OutputEmitterRef<{
758
- sender: AXPWidgetRendererDirective;
759
- widget: AXPValueWidgetComponent;
760
- }>;
761
- protected mergedOptions: WritableSignal<any>;
762
- private injector;
763
- protected builderService: AXPLayoutBuilderService;
764
- protected contextService: {
765
- data: _angular_core.Signal<{}>;
766
- state: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextState>;
767
- initialSnapshot: _angular_core.Signal<{}>;
768
- previousSnapshot: _angular_core.Signal<{}>;
769
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_builder.AXPLayoutContextChangeEvent>;
770
- isChanged: _angular_core.Signal<boolean>;
771
- isReset: _angular_core.Signal<boolean>;
772
- isInitiated: _angular_core.Signal<boolean>;
773
- isEmpty: _angular_core.Signal<boolean>;
774
- isDirty: _angular_core.Signal<boolean>;
775
- snapshot: _angular_core.Signal<{}>;
776
- initial: _angular_core.Signal<{}>;
777
- previous: _angular_core.Signal<{}>;
778
- changeEvent: _angular_core.Signal<_acorex_platform_layout_builder.AXPLayoutContextChangeEvent>;
779
- update: (path: string, value: any) => void;
780
- patch: (context: {}) => void;
781
- reset: () => void;
782
- set: (initialData: any) => void;
783
- getValue: (path: string) => any;
784
- } & _ngrx_signals.StateSource<{
785
- data: {};
786
- state: _acorex_platform_layout_builder.AXPLayoutContextState;
787
- initialSnapshot: {};
788
- previousSnapshot: {};
789
- lastChange: _acorex_platform_layout_builder.AXPLayoutContextChangeEvent;
790
- }>;
791
- protected widgetRegistery: AXPWidgetRegistryService;
792
- protected unsubscriber: AXUnsubscriber;
793
- protected translateService: AXTranslationService;
794
- protected widgetService: AXPWidgetRegistryService;
795
- protected expressionEvaluator: AXPExpressionEvaluatorService;
796
- private viewContainerRef;
797
- protected isLoading: WritableSignal<boolean>;
798
- instance: AXPValueWidgetComponent;
799
- private expressionEvaluators;
800
- private componentRef;
801
- private renderTimeoutId;
802
- private hasInitialRender;
803
- private onContextChanged;
804
- constructor();
805
- ngOnChanges(changes: SimpleChanges): void;
806
- private rerenderComponent;
807
- ngOnDestroy(): void;
808
- private loadComponent;
809
- private applyOptions;
810
- private checkFormulaForUpdate;
811
- preprocessAndInitialOptions(obj: any, pathPrefix?: string): void;
812
- updateOptionsBasedOnContext(): Promise<number>;
813
- updateValueBasedOnFormula(): Promise<void>;
814
- private evaluateExpression;
815
- private buildExpressionScope;
816
- private getContextScope;
817
- private getEventScope;
818
- private getWidgetScope;
819
- private getFunctionScope;
820
- private getVariablesScope;
821
- private assignTriggers;
822
- private evaluateTrigger;
823
- private evaluateAction;
824
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRendererDirective, never>;
825
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXPWidgetRendererDirective, "[axp-widget-renderer]", ["widgetRenderer"], { "parentNode": { "alias": "parentNode"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": true; "isSignal": true; }; "node": { "alias": "node"; "required": true; "isSignal": true; }; }, { "onOptionsChanged": "onOptionsChanged"; "onValueChanged": "onValueChanged"; }, never, never, false, never>;
826
- }
827
-
828
- interface AXPLayoutBuilderModuleConfigs {
829
- widgets?: AXPWidgetConfig[];
830
- extendedWidgets?: extendedWidget[];
831
- }
832
- declare class AXPLayoutBuilderModule {
833
- static forRoot(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule>;
834
- static forChild(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule>;
614
+ declare class AXPLayoutConversionService {
615
+ private widgetTreeCache;
616
+ private formDefinitionCache;
617
+ /**
618
+ * Convert AXPDynamicFormDefinition to AXPWidgetNode tree structure
619
+ * Groups become Fieldset Layouts with Form Field widgets as children
620
+ * Fields become Form Field widgets with Editor widgets as children
621
+ */
622
+ convertFormDefinition(formDefinition: AXPDynamicFormDefinition): AXPWidgetNode;
623
+ /**
624
+ * Convert AXPWidgetNode tree back to AXPDynamicFormDefinition
625
+ * Parses Fieldset Layouts back to Groups
626
+ * Parses Form Field widgets back to Fields
627
+ */
628
+ convertWidgetTreeToFormDefinition(widgetTree: AXPWidgetNode): AXPDynamicFormDefinition;
629
+ /**
630
+ * Validate that a widget tree represents a valid dynamic form structure
631
+ */
632
+ validateFormWidgetTree(widgetTree: AXPWidgetNode): boolean;
633
+ /**
634
+ * Clear all caches
635
+ */
636
+ clearCaches(): void;
637
+ /**
638
+ * Get cache statistics
639
+ */
640
+ getCacheStats(): {
641
+ widgetTreeCacheSize: number;
642
+ formDefinitionCacheSize: number;
643
+ };
644
+ /**
645
+ * Convert a single group to Fieldset widget structure
646
+ */
647
+ private createGroupAsFieldsetWidget;
648
+ /**
649
+ * Convert fields to Form Field widgets
650
+ */
651
+ private createFieldWidgets;
652
+ /**
653
+ * Convert a single field to Form Field widget with editor as child
654
+ */
655
+ private createFormFieldWidget;
656
+ /**
657
+ * Extract group information from Fieldset Layout widget
658
+ */
659
+ private extractGroupFromFieldset;
660
+ /**
661
+ * Extract field information from Form Field widget
662
+ */
663
+ private extractFieldFromFormWidget;
835
664
  /**
836
- * @ignore
665
+ * Create cache key for form definition
837
666
  */
838
- constructor(instances: any[]);
839
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutBuilderModule, [{ optional: true; }]>;
840
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPLayoutBuilderModule, [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective], [typeof i4.CommonModule, typeof i5.PortalModule, typeof i6.AXSkeletonModule, typeof i4.CommonModule, typeof i7.AXTranslationModule], [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective]>;
841
- static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPLayoutBuilderModule>;
667
+ private createFormDefinitionCacheKey;
668
+ /**
669
+ * Create cache key for widget tree
670
+ */
671
+ private createWidgetTreeCacheKey;
672
+ /**
673
+ * Create a simple hash from a string
674
+ */
675
+ private createSimpleHash;
676
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPLayoutConversionService, never>;
677
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPLayoutConversionService>;
842
678
  }
843
679
 
844
- interface AXPMetaDataDefinition {
845
- name: string;
680
+ interface DialogRendererConfig {
846
681
  title: string;
847
- defaultValue?: any;
848
- interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
682
+ message?: string;
683
+ context: any;
684
+ definition: AXPWidgetNode;
685
+ actions?: {
686
+ footer?: {
687
+ prefix?: any[];
688
+ suffix?: any[];
689
+ };
690
+ };
691
+ }
692
+ interface DialogRendererResult {
693
+ context: any;
694
+ action?: string;
695
+ }
696
+ declare class AXPDialogRendererComponent extends AXBasePageComponent implements OnInit {
697
+ config: DialogRendererConfig;
698
+ result: EventEmitter<DialogRendererResult>;
699
+ private dialogResult?;
700
+ context: i0.WritableSignal<any>;
701
+ callBack: (dialogRef: AXPDialogRef) => void;
702
+ data: any;
703
+ private isDialogLoading;
704
+ ngOnInit(): void;
705
+ handleContextChanged(event: any): void;
706
+ handleContextInitiated(event: any): void;
707
+ visibleFooterPrefixActions(): any[];
708
+ visibleFooterSuffixActions(): any[];
709
+ isFormLoading(): boolean;
710
+ isSubmitting(): boolean;
711
+ executeAction(action: any): Promise<void>;
712
+ close(result?: DialogRendererResult): void;
713
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDialogRendererComponent, never>;
714
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPDialogRendererComponent, "axp-dialog-renderer", never, { "config": { "alias": "config"; "required": false; }; }, { "result": "result"; }, never, never, true, never>;
849
715
  }
850
716
 
851
- declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
852
-
853
- export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPLayoutBuilderContextStore, AXPLayoutBuilderModule, AXPLayoutBuilderService, AXPLayoutContextChangeEvent, AXPLayoutElement, AXPPageStatus, AXPPropertyEditorHelper, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_TOKEN, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints };
854
- export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderModuleConfigs, AXPLayoutBuilderStatusChangedEvent, AXPLayoutContextState, AXPLayoutElementAPI, AXPMetaDataDefinition, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, extendedWidget };
717
+ export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, LayoutBuilderModule };
718
+ export type { AXPDialogContainerOptions, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldOptions, AXPGridContainerOptions, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPTabsetContainerOptions, AXPWidgetConfiguration, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, DialogRendererConfig, DialogRendererResult, FormFieldBuilderState, IActionBuilder, IBaseContainerBuilder, IChildContainerBuilder, IDialogBuilder, IFieldsetContainerBuilder, IFlexContainerBuilder, IFormFieldBuilder, IGridContainerBuilder, ILayoutBuilder, ILayoutContainerBuilder, IListWidgetBuilder, IPageContainerBuilder, IPanelContainerBuilder, ITabsetContainerBuilder, IWidgetBuilder, IWidgetContainerBuilder, InheritanceContext, InheritedProperties, LargeTextBoxOptions, LayoutBuilderState, LayoutWidgetOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions, ValueWidgetOptions, WidgetBuilderState };