@acorex/platform 21.0.0-next.8 → 21.0.0-next.85

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 (133) hide show
  1. package/contracts/README.md +3 -0
  2. package/fesm2022/acorex-platform-auth.mjs +201 -81
  3. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs +177 -0
  5. package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +1 -0
  6. package/fesm2022/acorex-platform-common.mjs +4490 -880
  7. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-contracts.mjs +38 -0
  9. package/fesm2022/acorex-platform-contracts.mjs.map +1 -0
  10. package/fesm2022/acorex-platform-core.mjs +2612 -667
  11. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-domain.mjs +557 -826
  13. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  14. package/fesm2022/acorex-platform-layout-builder.mjs +1255 -209
  15. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
  17. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
  18. package/fesm2022/acorex-platform-layout-components.mjs +6493 -1920
  19. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-designer.mjs +612 -287
  21. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  22. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs +376 -0
  23. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -0
  24. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs +100 -0
  25. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -0
  26. package/fesm2022/acorex-platform-layout-entity.mjs +22502 -9964
  27. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-layout-views.mjs +1395 -387
  29. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-layout-widget-core.mjs +2226 -524
  31. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  32. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
  33. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  34. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  35. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  36. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  37. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +116 -0
  39. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +1 -0
  40. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs} +6 -6
  41. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map +1 -0
  42. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs} +5 -5
  43. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map +1 -0
  44. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
  45. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  46. package/fesm2022/acorex-platform-layout-widgets.mjs +18746 -16718
  47. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  48. package/fesm2022/acorex-platform-native.mjs +8 -7
  49. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  50. package/fesm2022/acorex-platform-runtime.mjs +391 -166
  51. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  52. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs +160 -0
  53. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -0
  54. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs +120 -0
  55. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -0
  56. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs} +21 -28
  57. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +1 -0
  58. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs +48 -0
  59. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs.map +1 -0
  60. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs +42 -0
  61. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs.map +1 -0
  62. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  63. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  64. package/fesm2022/acorex-platform-themes-default.mjs +2337 -94
  65. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  66. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  67. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  68. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  69. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  70. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +52 -33
  71. package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
  72. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  73. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  74. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
  75. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  76. package/fesm2022/acorex-platform-themes-shared.mjs +793 -612
  77. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  78. package/fesm2022/acorex-platform-workflow.mjs +997 -274
  79. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  80. package/fesm2022/acorex-platform.mjs.map +1 -1
  81. package/package.json +41 -35
  82. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +40 -19
  83. package/types/acorex-platform-common.d.ts +3673 -0
  84. package/types/acorex-platform-contracts.d.ts +940 -0
  85. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +1029 -170
  86. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
  87. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +262 -55
  88. package/types/acorex-platform-layout-components.d.ts +3329 -0
  89. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
  90. package/types/acorex-platform-layout-entity.d.ts +4512 -0
  91. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +334 -91
  92. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +438 -162
  93. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1152 -507
  94. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  95. package/types/acorex-platform-runtime.d.ts +571 -0
  96. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +268 -11
  97. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +30 -2
  98. package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +436 -748
  99. package/common/index.d.ts +0 -2470
  100. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
  101. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
  104. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  111. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3qZa5fM.mjs +0 -1542
  113. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D3qZa5fM.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  115. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs +0 -31
  118. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs +0 -25
  120. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  122. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  125. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  126. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs +0 -65
  127. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Dz0cylyQ.mjs.map +0 -1
  128. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
  129. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  130. package/layout/components/index.d.ts +0 -1670
  131. package/layout/entity/index.d.ts +0 -2294
  132. package/runtime/index.d.ts +0 -307
  133. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -1,9 +1,11 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef, Injector, WritableSignal, SimpleChanges, ModuleWithProviders } from '@angular/core';
3
- import * as _ngrx_signals from '@ngrx/signals';
2
+ import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, OnChanges, TemplateRef, Injector, WritableSignal, SimpleChanges, Type } from '@angular/core';
4
3
  import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
4
+ import * as _ngrx_signals from '@ngrx/signals';
5
+ import * as _acorex_platform_core from '@acorex/platform/core';
6
+ import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
7
+ export { AXPDefinitionCategory, normalizeDefinitionCategories } from '@acorex/platform/core';
5
8
  import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
6
- import { AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPExpressionEvaluatorService } from '@acorex/platform/core';
7
9
  import { Subject, BehaviorSubject } from 'rxjs';
8
10
  import { AXDataTableColumnComponent } from '@acorex/components/data-table';
9
11
  import * as i7 from '@acorex/core/translation';
@@ -44,6 +46,8 @@ type AXPWidgetCoreElementAction = {
44
46
  zone?: 'header' | 'footer';
45
47
  placement?: 'prefix' | 'suffix';
46
48
  scope?: 'primary' | 'secondary';
49
+ shortcuts?: string[];
50
+ predicateApiWidgetName?: string;
47
51
  };
48
52
  declare abstract class AXPWidgetCoreElement {
49
53
  abstract get id(): string | null;
@@ -61,6 +65,8 @@ declare class AXPWidgetCoreService {
61
65
  readonly status: Signal<AXPPageStatus>;
62
66
  readonly isBusy: Signal<boolean>;
63
67
  registeredWidgetsCount: _angular_core.WritableSignal<number>;
68
+ private readonly dirtyWidgetsRevision;
69
+ readonly dirtyWidgetsRevisionSignal: Signal<number>;
64
70
  get variables(): any;
65
71
  get functions(): {
66
72
  [key: string]: Function;
@@ -75,33 +81,15 @@ declare class AXPWidgetCoreService {
75
81
  setFunctions(key: string, value: any): void;
76
82
  registerWidget(id: string, widget: AXPWidgetCoreElement): void;
77
83
  getWidget(id: string): AXPWidgetCoreElement | undefined;
78
- /**
79
- * Waits until a widget with the given id is registered, then resolves with it.
80
- * If the widget is already registered, resolves immediately.
81
- * Optionally accepts a timeout (in ms) after which it resolves with undefined.
82
- */
83
84
  waitForWidget(id: string, timeoutMs?: number): Promise<AXPWidgetCoreElement | undefined>;
84
- /**
85
- * Returns a list of registered widget ids (names).
86
- */
87
85
  listRegisteredWidgetNames(): string[];
86
+ notifyWidgetDirtyChanged(): void;
88
87
  ngOnDestroy(): void;
89
88
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
90
89
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
91
90
  }
92
91
 
93
- interface AXPWidgetCategory {
94
- name: string;
95
- title: string;
96
- order: number;
97
- }
98
- declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPWidgetCategory;
99
- declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPWidgetCategory;
100
- declare const AXP_WIDGETS_ACTION_CATEGORY: AXPWidgetCategory;
101
- declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPWidgetCategory;
102
- declare const AXP_WIDGETS_CATEGORIES: AXPWidgetCategory[];
103
-
104
- type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget';
92
+ type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
105
93
  declare enum AXPWidgetGroupEnum {
106
94
  FormElement = "form-element",
107
95
  DashboardWidget = "dashboard-widget",
@@ -110,7 +98,8 @@ declare enum AXPWidgetGroupEnum {
110
98
  MetaData = "meta-data",
111
99
  SettingWidget = "setting-widget",
112
100
  EntityWidget = "entity-widget",
113
- UtilityWidget = "utility-widget"
101
+ UtilityWidget = "utility-widget",
102
+ BaseWidget = "base-widget"
114
103
  }
115
104
 
116
105
  interface AXPWidgetTypesMap {
@@ -134,7 +123,9 @@ interface AXPWidgetTypesMap {
134
123
  pageLayout: 'page-layout';
135
124
  repeaterLayout: 'repeater-layout';
136
125
  textBlockLayout: 'text-block-layout';
137
- fileUploader: 'file-uploader';
126
+ alertBoxLayout: 'alert-box-layout';
127
+ badgeLayout: 'badge-layout';
128
+ attachments: 'attachments';
138
129
  fileTypeExtension: 'file-type-extension';
139
130
  map: 'map';
140
131
  imageMarker: 'image-marker';
@@ -183,19 +174,9 @@ interface AXPWidgetTypesMap {
183
174
  betweenValidation: 'between-validation';
184
175
  equalValidation: 'equal-validation';
185
176
  callbackValidation: 'callback-validation';
186
- donutChart: 'donut-chart';
187
- barChart: 'bar-chart';
188
- lineChart: 'line-chart';
189
- gaugeChart: 'gauge-chart';
190
- stickyNote: 'sticky-note';
191
- clockCalendar: 'clock-calendar';
192
- analogClock: 'analog-clock';
193
- weather: 'weather';
194
- minimalWeather: 'minimal-weather';
195
- advancedWeather: 'advanced-weather';
196
177
  metaData: 'meta-data-editor';
197
178
  templateEditor: 'template-box-editor';
198
- themePaletteChooser: 'theme-palette-chooser';
179
+ templateContentEditor: 'template-content-editor';
199
180
  themeModeChooser: 'theme-mode-chooser';
200
181
  menuOrientationChooser: 'menu-orientation-chooser';
201
182
  fontStyleChooser: 'font-style-chooser';
@@ -205,18 +186,19 @@ interface AXPWidgetTypesMap {
205
186
  themeColorChooser: 'theme-color-chooser';
206
187
  panel: 'panel';
207
188
  notification: 'notification';
208
- taskBoard: 'task-board';
209
189
  comment: 'comment';
210
190
  list: 'list-editor';
211
191
  dataList: 'data-list';
212
192
  listToolbar: 'list-toolbar';
213
193
  entityList: 'entity-list';
194
+ pageComponent: 'page-component';
214
195
  stepWizard: 'step-wizard';
215
196
  documentUploader: 'document-uploader';
197
+ documentFileTypeFilter: 'document-file-type-filter';
216
198
  editorJs: 'editor-js-editor';
217
- signatureList: 'signature-list';
218
199
  progressBar: 'progress-bar-editor';
219
200
  rate: 'rate-picker-editor';
201
+ entityDefinitionProvider: 'entity-definition-provider-editor';
220
202
  }
221
203
 
222
204
  interface AXPWidgetPropertyGroup {
@@ -230,15 +212,24 @@ interface AXPWidgetProperty {
230
212
  description?: string;
231
213
  group: AXPWidgetPropertyGroup;
232
214
  order?: number;
215
+ /**
216
+ * Controls whether the property title label is shown in the property viewer panel.
217
+ * Defaults to true when omitted.
218
+ */
219
+ showLabel?: boolean;
233
220
  schema: {
234
221
  dataType: AXPDataType;
235
222
  nullable?: boolean;
236
223
  defaultValue?: any | string | ((context: any | null) => any);
237
224
  interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
238
225
  };
239
- options?: AXPOptionsData;
240
226
  validations?: AXPValidationRules;
241
- visible: boolean;
227
+ visible: boolean | AXPExpression;
228
+ binding?: {
229
+ enabled: boolean;
230
+ /** When set, the expression is edited at path + '.' + optionKey (e.g. options.visibility). */
231
+ optionKey?: string;
232
+ };
242
233
  }
243
234
  declare function cloneProperty(property: AXPWidgetProperty, values: AXPPartialNested<AXPWidgetProperty>): AXPWidgetProperty;
244
235
  declare function createStringProperty(ctor: {
@@ -247,7 +238,7 @@ declare function createStringProperty(ctor: {
247
238
  title: string;
248
239
  path?: string;
249
240
  group: AXPWidgetPropertyGroup;
250
- visible?: boolean;
241
+ visible?: boolean | AXPExpression;
251
242
  }): AXPWidgetProperty;
252
243
  declare function createNumberProperty(ctor: {
253
244
  defaultValue?: number;
@@ -255,7 +246,7 @@ declare function createNumberProperty(ctor: {
255
246
  title: string;
256
247
  path?: string;
257
248
  group: AXPWidgetPropertyGroup;
258
- visible?: boolean;
249
+ visible?: boolean | AXPExpression;
259
250
  options?: {
260
251
  minValue?: number;
261
252
  maxValue?: number;
@@ -268,7 +259,7 @@ declare function createBooleanProperty(ctor: {
268
259
  title: string;
269
260
  path?: string;
270
261
  group: AXPWidgetPropertyGroup;
271
- visible?: boolean;
262
+ visible?: boolean | AXPExpression;
272
263
  }): AXPWidgetProperty;
273
264
  declare function createSelectProperty<T = string | {
274
265
  id: string;
@@ -280,7 +271,7 @@ declare function createSelectProperty<T = string | {
280
271
  title: string;
281
272
  path?: string;
282
273
  group: AXPWidgetPropertyGroup;
283
- visible?: boolean;
274
+ visible?: boolean | AXPExpression;
284
275
  }): AXPWidgetProperty;
285
276
  interface AXPWidgetNode {
286
277
  type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
@@ -305,6 +296,8 @@ interface AXPWidgetColumnNode {
305
296
  type: string;
306
297
  path: string;
307
298
  options?: AXPOptionsData;
299
+ /** Column header caption from data-table (`title || name`); often an i18n key. */
300
+ caption?: string;
308
301
  }
309
302
  interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
310
303
  config: AXPWidgetConfig;
@@ -343,10 +336,24 @@ type AXPExtractWidgetConfig<T> = {
343
336
  interface AXPWidgetConfig<T = any> {
344
337
  name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
345
338
  alias?: string | string[];
346
- title: string;
339
+ title: AXPMultiLanguageString;
347
340
  icon?: string;
348
- description?: string;
349
- categories?: AXPWidgetCategory | AXPWidgetCategory[];
341
+ description?: AXPMultiLanguageString;
342
+ /**
343
+ * Picker tabs and section headings in the widget gallery (when the widget is included in the picker list).
344
+ */
345
+ categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
346
+ /**
347
+ * Optional sub-group within a parent category tab in the widget picker.
348
+ * Ignored on the "All" tab (widgets are grouped by parent category only).
349
+ */
350
+ subCategory?: AXPDefinitionCategory;
351
+ /**
352
+ * Which surfaces may offer this widget. The designer widget picker includes a widget only when this list
353
+ * intersects the requested groups (e.g. the layout designer requests `AXPWidgetGroupEnum.FormElement`).
354
+ * Use `AXPWidgetGroupEnum.BaseWidget` alone for types that must stay registered (filters, renderers, AI tools)
355
+ * but must not appear in form or dashboard pickers.
356
+ */
350
357
  groups?: AXPWidgetGroup[];
351
358
  properties?: AXPWidgetProperty[];
352
359
  components: AXPWidgetConfigComponents;
@@ -355,8 +362,15 @@ interface AXPWidgetConfig<T = any> {
355
362
  designer?: AXPExtractWidgetConfig<T>['designer'];
356
363
  options?: Record<string, any>;
357
364
  defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter' | string;
365
+ /**
366
+ * Optional layout for Change History. When set, this AXPWidgetNode is rendered for
367
+ * changes of this widget type instead of the default fieldKey/actionKey text.
368
+ * Context passed to renderer: the AXPActivityLogChange object.
369
+ * If omitted, the default display is used.
370
+ */
371
+ historyLayout?: AXPWidgetNode;
358
372
  }
359
- interface extendedWidget {
373
+ interface AXPExtendedWidget {
360
374
  widget: AXPWidgetConfig;
361
375
  parentName: string;
362
376
  }
@@ -373,32 +387,39 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
373
387
  readonly host: HTMLDivElement;
374
388
  protected readonly layoutService: AXPWidgetCoreService;
375
389
  protected readonly contextService: {
376
- data: _angular_core.Signal<{}>;
377
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
378
- initialSnapshot: _angular_core.Signal<{}>;
379
- previousSnapshot: _angular_core.Signal<{}>;
380
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
390
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
391
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
392
+ savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
393
+ previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
394
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
381
395
  isChanged: _angular_core.Signal<boolean>;
382
396
  isReset: _angular_core.Signal<boolean>;
383
397
  isInitiated: _angular_core.Signal<boolean>;
384
398
  isEmpty: _angular_core.Signal<boolean>;
399
+ isSavedCommitted: _angular_core.Signal<boolean>;
385
400
  isDirty: _angular_core.Signal<boolean>;
386
- snapshot: _angular_core.Signal<{}>;
387
- initial: _angular_core.Signal<{}>;
388
- previous: _angular_core.Signal<{}>;
389
- changeEvent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
390
- update: (path: string, value: any) => void;
391
- patch: (context: {}) => void;
401
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
402
+ saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
403
+ initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
404
+ previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
405
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
406
+ update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
407
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
408
+ patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
409
+ revertToSaved: () => void;
392
410
  reset: () => void;
393
411
  set: (initialData: any) => void;
394
412
  getValue: (path: string) => any;
413
+ getSavedValue: (path: string) => any;
395
414
  hasValue: (path: string) => boolean;
415
+ commitSaved: () => void;
416
+ applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
396
417
  } & _ngrx_signals.StateSource<{
397
- data: {};
398
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
399
- initialSnapshot: {};
400
- previousSnapshot: {};
401
- lastChange: _acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent;
418
+ data: _acorex_platform_core.AXPContextData;
419
+ state: _acorex_platform_core.AXPContextState;
420
+ savedSnapshot: _acorex_platform_core.AXPContextData;
421
+ previousSnapshot: _acorex_platform_core.AXPContextData;
422
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
402
423
  }>;
403
424
  readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
404
425
  readonly node: AXPWidgetNode;
@@ -458,7 +479,7 @@ declare abstract class AXPValueWidgetComponent<T = any | null, TOptions extends
458
479
  protected validationRules: _angular_core.Signal<AXPValidationRules>;
459
480
  protected extractValue(path: string): any;
460
481
  setValue(value: T | null | undefined): void;
461
- private detectFullPath;
482
+ protected detectFullPath(): void;
462
483
  protected handleValueChanged(e: AXValueChangedEvent<T>): void;
463
484
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPValueWidgetComponent<any, any>, never>;
464
485
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPValueWidgetComponent<any, any>>;
@@ -485,11 +506,13 @@ declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
485
506
  private readonly token;
486
507
  protected readonly path: string;
487
508
  protected readonly options: Record<string, any>;
509
+ /** Column header caption when rendered inside `axp-widget-column-renderer`. */
510
+ protected readonly columnCaption: string | undefined;
488
511
  protected readonly rawValue: T;
489
512
  protected readonly rowData: any;
490
513
  protected readonly nullText: any;
491
514
  protected readonly nullValue: T;
492
- protected value: _angular_core.Signal<T>;
515
+ protected value: () => T;
493
516
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPColumnWidgetComponent<any>, never>;
494
517
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPColumnWidgetComponent<any>>;
495
518
  }
@@ -511,6 +534,33 @@ declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayo
511
534
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
512
535
  }
513
536
 
537
+ /**
538
+ * Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
539
+ * Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
540
+ */
541
+ interface MapAXPPropertyToWidgetPropertyOptions {
542
+ group: AXPWidgetPropertyGroup;
543
+ order: number;
544
+ /**
545
+ * Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
546
+ * Example: `input` → `input.requestId`; `properties` → `properties.message`.
547
+ */
548
+ valuePathPrefix: string;
549
+ /**
550
+ * Resolves a display title (supports multi-language strings on the source property).
551
+ */
552
+ resolveTitle: (property: AXPProperty) => string;
553
+ /**
554
+ * Optional description line for the viewer row.
555
+ */
556
+ resolveDescription?: (property: AXPProperty) => string | undefined;
557
+ }
558
+ /**
559
+ * Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
560
+ * the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
561
+ */
562
+ declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
563
+
514
564
  type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
515
565
  type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
516
566
  type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
@@ -723,101 +773,108 @@ declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableIte
723
773
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableItemBaseLayoutWidgetComponent>;
724
774
  }
725
775
 
726
- type AXPWidgetCoreContextState = 'initiated' | 'restored' | 'changed' | 'patch';
727
- declare class AXPWidgetCoreContextChangeEvent {
728
- oldValue?: any;
729
- newValue?: any;
730
- path?: string;
731
- state: AXPWidgetCoreContextState;
732
- data: any;
733
- }
734
- declare const AXPWidgetCoreContextStore: _angular_core.Type<{
735
- data: _angular_core.Signal<{}>;
736
- state: _angular_core.Signal<AXPWidgetCoreContextState>;
737
- initialSnapshot: _angular_core.Signal<{}>;
738
- previousSnapshot: _angular_core.Signal<{}>;
739
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
740
- isChanged: _angular_core.Signal<boolean>;
741
- isReset: _angular_core.Signal<boolean>;
742
- isInitiated: _angular_core.Signal<boolean>;
743
- isEmpty: _angular_core.Signal<boolean>;
744
- isDirty: _angular_core.Signal<boolean>;
745
- snapshot: _angular_core.Signal<{}>;
746
- initial: _angular_core.Signal<{}>;
747
- previous: _angular_core.Signal<{}>;
748
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
749
- update: (path: string, value: any) => void;
750
- patch: (context: {}) => void;
751
- reset: () => void;
752
- set: (initialData: any) => void;
753
- getValue: (path: string) => any;
754
- hasValue: (path: string) => boolean;
755
- } & _ngrx_signals.StateSource<{
756
- data: {};
757
- state: AXPWidgetCoreContextState;
758
- initialSnapshot: {};
759
- previousSnapshot: {};
760
- lastChange: AXPWidgetCoreContextChangeEvent;
761
- }>>;
762
-
763
776
  declare class AXPWidgetContainerComponent {
764
777
  readonly contextService: {
765
- data: _angular_core.Signal<{}>;
766
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
767
- initialSnapshot: _angular_core.Signal<{}>;
768
- previousSnapshot: _angular_core.Signal<{}>;
769
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
778
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
779
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
780
+ savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
781
+ previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
782
+ lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
770
783
  isChanged: _angular_core.Signal<boolean>;
771
784
  isReset: _angular_core.Signal<boolean>;
772
785
  isInitiated: _angular_core.Signal<boolean>;
773
786
  isEmpty: _angular_core.Signal<boolean>;
787
+ isSavedCommitted: _angular_core.Signal<boolean>;
774
788
  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<AXPWidgetCoreContextChangeEvent>;
779
- update: (path: string, value: any) => void;
780
- patch: (context: {}) => void;
789
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
790
+ saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
791
+ initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
792
+ previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
793
+ changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
794
+ update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
795
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
796
+ patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
797
+ revertToSaved: () => void;
781
798
  reset: () => void;
782
799
  set: (initialData: any) => void;
783
800
  getValue: (path: string) => any;
801
+ getSavedValue: (path: string) => any;
784
802
  hasValue: (path: string) => boolean;
803
+ commitSaved: () => void;
804
+ applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
785
805
  } & _ngrx_signals.StateSource<{
786
- data: {};
787
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
788
- initialSnapshot: {};
789
- previousSnapshot: {};
790
- lastChange: AXPWidgetCoreContextChangeEvent;
806
+ data: _acorex_platform_core.AXPContextData;
807
+ state: _acorex_platform_core.AXPContextState;
808
+ savedSnapshot: _acorex_platform_core.AXPContextData;
809
+ previousSnapshot: _acorex_platform_core.AXPContextData;
810
+ lastChange: AXPContextChangeEvent;
791
811
  }>;
792
812
  readonly builderService: AXPWidgetCoreService;
793
- readonly onContextChanged: EventEmitter<AXPWidgetCoreContextChangeEvent>;
813
+ readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
814
+ private lastEmittedFormDirty;
815
+ private savedBaselineTimer?;
794
816
  set context(value: any);
795
817
  set functions(v: any);
818
+ readonly isSavedCommitted: _angular_core.Signal<boolean>;
819
+ readonly isFormDirty: _angular_core.Signal<boolean>;
796
820
  constructor();
797
821
  status: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPPageStatus>;
798
822
  isBusy: _angular_core.Signal<boolean>;
799
823
  refresh(): void;
800
824
  find(name: string): Promise<_acorex_platform_layout_widget_core.AXPWidgetCoreElement | undefined>;
825
+ private syncExternalContext;
826
+ /** Commits the current data as saved after widget hydration settles. */
827
+ settleSavedBaseline(): Promise<void>;
828
+ replaceContext(value: unknown): Promise<void>;
829
+ revertAndSettle(): void;
830
+ private clearSavedBaselineTimer;
801
831
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
802
832
  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>;
803
833
  }
804
834
 
835
+ /**
836
+ * Provider interface for widget definitions.
837
+ * Implement this interface and register via AXP_WIDGET_DEFINITION_PROVIDER to contribute widgets.
838
+ */
839
+ interface AXPWidgetDefinitionProvider {
840
+ getWidgets(): AXPWidgetConfig[];
841
+ getExtendedWidgets?(): AXPExtendedWidget[];
842
+ }
843
+ /**
844
+ * Injection token for widget definition providers.
845
+ * Modules register their widget providers using this token (multi: true).
846
+ */
847
+ declare const AXP_WIDGET_DEFINITION_PROVIDER: InjectionToken<AXPWidgetDefinitionProvider[]>;
848
+
849
+ /**
850
+ * Merges core + extended widgets the same way as AXPWidgetRegistryService.ensureBuilt().
851
+ * Use with concrete providers (e.g. AXPCoreWidgetsProvider, AXPEntityWidgetsProvider) in Node scripts without DI.
852
+ */
853
+ declare function buildWidgetRegistryMapFromProviders(providers: AXPWidgetDefinitionProvider[]): Map<string, AXPWidgetConfig>;
854
+ /**
855
+ * Aggregates widgets from all AXP_WIDGET_DEFINITION_PROVIDER instances.
856
+ * Token-based like AXP_MENU_PROVIDER / AXP_PERMISSION_DEFINITION_PROVIDER / AXP_SETTING_DEFINITION_PROVIDER.
857
+ * No separate registry - widgets come solely from providers.
858
+ */
805
859
  declare class AXPWidgetRegistryService {
806
- private types;
807
- static instance: AXPWidgetRegistryService;
860
+ private readonly _providers;
861
+ private _types;
808
862
  /**
809
- *
863
+ * Lazy-build widget map from all providers.
810
864
  */
811
- constructor();
812
- register(widget: AXPWidgetConfig): void;
813
- extend(parentName: string, widget: AXPWidgetConfig): void;
814
- resolve(name: string): AXPWidgetConfig | undefined;
865
+ private ensureBuilt;
866
+ resolve(name: string): AXPWidgetConfig;
867
+ /**
868
+ * Registered widget config when present; otherwise `undefined`. Does not throw — use when
869
+ * {@link resolve}'s value may be a non-widget id (e.g. data-source row id in dynamic field configurator).
870
+ */
871
+ getOptional(name: string): AXPWidgetConfig | undefined;
815
872
  all(): AXPWidgetConfig[];
816
873
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRegistryService, never>;
817
874
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetRegistryService>;
818
875
  }
819
876
 
820
- declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
877
+ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent implements OnChanges {
821
878
  protected widgetRegistery: AXPWidgetRegistryService;
822
879
  private grid;
823
880
  private expressionEvaluator;
@@ -838,13 +895,45 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
838
895
  private _contentFooterTemplate;
839
896
  get renderFooterTemplate(): TemplateRef<unknown>;
840
897
  expandHandler: boolean;
898
+ /** When true, header click cycles sort (handled by parent; synced with list sort state). */
899
+ sortEnabled: boolean;
900
+ headerSortDirection?: 'asc' | 'desc';
901
+ /** 1-based order when multiple columns are sorted (shown when priority &gt; 1). */
902
+ headerSortPriority?: number;
903
+ /** Pins column to table edge (`start` / `end`). Passed to the underlying data-table column. */
904
+ columnFixed?: 'start' | 'end';
905
+ readonly sortToggle: EventEmitter<MouseEvent>;
841
906
  cellTemplate: TemplateRef<unknown>;
842
907
  private _contentCellTemplate;
843
908
  get renderCellTemplate(): TemplateRef<unknown>;
844
909
  headerTemplate: TemplateRef<unknown>;
845
910
  private _contentHeaderTemplate;
911
+ /**
912
+ * True when the row should show the expand icon: either hasChild is true (from server/initial load)
913
+ * or the row has loaded children (e.g. after refreshItemChildren when children go from 0 to 1).
914
+ */
915
+ protected hasExpandableRow(row: {
916
+ data?: Record<string, unknown>;
917
+ }): boolean;
846
918
  protected handleExpandRow(row: any): Promise<void>;
847
919
  get renderHeaderTemplate(): TemplateRef<unknown>;
920
+ /**
921
+ * Resolves `options.align`: string applies to header and cell; object uses optional `header` / `cell` (default start).
922
+ * Supports designer select values `{ id: 'center' }`.
923
+ */
924
+ protected getHeaderTextAlign(): 'start' | 'center' | 'end';
925
+ protected getHeaderJustifyContent(): 'flex-start' | 'center' | 'flex-end';
926
+ protected onHeaderClick(event: MouseEvent): void;
927
+ /**
928
+ * When true, the cell body uses flex so `justify-content` can place content on the main axis.
929
+ */
930
+ protected getCellUseFlexLayout(): boolean;
931
+ /**
932
+ * Flex `justify-content` for the cell wrapper; omit when not using flex layout.
933
+ */
934
+ protected getCellJustifyContent(): 'start' | 'center' | 'end' | null;
935
+ private resolveAlignForSide;
936
+ private normalizeColumnAlignment;
848
937
  get loadingEnabled(): boolean;
849
938
  get name(): string;
850
939
  private injector;
@@ -852,6 +941,7 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
852
941
  protected widgetInjector: Injector;
853
942
  protected component: any;
854
943
  ngOnInit(): Promise<void>;
944
+ ngOnChanges(): void;
855
945
  /**
856
946
  * Check if options contain any expressions that need evaluation
857
947
  */
@@ -871,7 +961,7 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
871
961
  getInputs(data: any): any;
872
962
  getRowInjector(data: any): Injector;
873
963
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetColumnRendererComponent, never>;
874
- 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>;
964
+ 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; }; "sortEnabled": { "alias": "sortEnabled"; "required": false; }; "headerSortDirection": { "alias": "headerSortDirection"; "required": false; }; "headerSortPriority": { "alias": "headerSortPriority"; "required": false; }; "columnFixed": { "alias": "columnFixed"; "required": false; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "sortToggle": "sortToggle"; }, never, never, false, never>;
875
965
  }
876
966
 
877
967
  type AXPWidgetRendererDirectiveOptions = AXPMetaData;
@@ -903,32 +993,39 @@ declare class AXPWidgetRendererDirective {
903
993
  private injector;
904
994
  protected builderService: AXPWidgetCoreService;
905
995
  protected contextService: {
906
- data: _angular_core.Signal<{}>;
907
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
908
- initialSnapshot: _angular_core.Signal<{}>;
909
- previousSnapshot: _angular_core.Signal<{}>;
910
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
996
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
997
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
998
+ savedSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
999
+ previousSnapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1000
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
911
1001
  isChanged: _angular_core.Signal<boolean>;
912
1002
  isReset: _angular_core.Signal<boolean>;
913
1003
  isInitiated: _angular_core.Signal<boolean>;
914
1004
  isEmpty: _angular_core.Signal<boolean>;
1005
+ isSavedCommitted: _angular_core.Signal<boolean>;
915
1006
  isDirty: _angular_core.Signal<boolean>;
916
- snapshot: _angular_core.Signal<{}>;
917
- initial: _angular_core.Signal<{}>;
918
- previous: _angular_core.Signal<{}>;
919
- changeEvent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
920
- update: (path: string, value: any) => void;
921
- patch: (context: {}) => void;
1007
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1008
+ saved: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1009
+ initial: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1010
+ previous: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1011
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
1012
+ update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
1013
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
1014
+ patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
1015
+ revertToSaved: () => void;
922
1016
  reset: () => void;
923
1017
  set: (initialData: any) => void;
924
1018
  getValue: (path: string) => any;
1019
+ getSavedValue: (path: string) => any;
925
1020
  hasValue: (path: string) => boolean;
1021
+ commitSaved: () => void;
1022
+ applyParentBind: (merged: _acorex_platform_core.AXPContextData) => void;
926
1023
  } & _ngrx_signals.StateSource<{
927
- data: {};
928
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
929
- initialSnapshot: {};
930
- previousSnapshot: {};
931
- lastChange: _acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent;
1024
+ data: _acorex_platform_core.AXPContextData;
1025
+ state: _acorex_platform_core.AXPContextState;
1026
+ savedSnapshot: _acorex_platform_core.AXPContextData;
1027
+ previousSnapshot: _acorex_platform_core.AXPContextData;
1028
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
932
1029
  }>;
933
1030
  protected widgetRegistery: AXPWidgetRegistryService;
934
1031
  protected unsubscriber: AXUnsubscriber;
@@ -942,6 +1039,7 @@ declare class AXPWidgetRendererDirective {
942
1039
  private expressionEvaluators;
943
1040
  private componentRef;
944
1041
  private renderTimeoutId;
1042
+ private renderGeneration;
945
1043
  private hasInitialRender;
946
1044
  private onContextChanged;
947
1045
  private onLoadEvent;
@@ -961,6 +1059,15 @@ declare class AXPWidgetRendererDirective {
961
1059
  private queueContextUpdate;
962
1060
  private processBatchedUpdates;
963
1061
  private isRelevantContextChange;
1062
+ /**
1063
+ * True when a context store path used in an expression (`context.eval`, `context.options`) is
1064
+ * affected by `changedPath`.
1065
+ */
1066
+ private contextStorePathDependsOnChangedPath;
1067
+ /**
1068
+ * Whether an expression template string reads context store paths affected by `changedPath`.
1069
+ */
1070
+ private expressionTextDependsOnContextPath;
964
1071
  private hasExpressionDependency;
965
1072
  private isPathAlias;
966
1073
  private getExpressionValueFromNode;
@@ -993,28 +1100,197 @@ declare class AXPWidgetRendererDirective {
993
1100
 
994
1101
  interface AXPWidgetCoreModuleConfigs {
995
1102
  widgets?: AXPWidgetConfig[];
996
- extendedWidgets?: extendedWidget[];
1103
+ AXPExtendedWidgets?: AXPExtendedWidget[];
997
1104
  }
998
1105
  declare class AXPWidgetCoreModule {
999
- static forRoot(config?: AXPWidgetCoreModuleConfigs): ModuleWithProviders<AXPWidgetCoreModule>;
1000
- static forChild(config?: AXPWidgetCoreModuleConfigs): ModuleWithProviders<AXPWidgetCoreModule>;
1001
- /**
1002
- * @ignore
1003
- */
1004
- constructor(instances: any[]);
1005
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, [{ optional: true; }]>;
1006
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetCoreModule, [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]>;
1106
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, never>;
1107
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPWidgetCoreModule, [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective], [typeof i4.CommonModule, typeof i5.PortalModule, typeof i6.AXSkeletonModule, typeof i7.AXTranslationModule], [typeof AXPWidgetContainerComponent, typeof AXPWidgetColumnRendererComponent, typeof AXPWidgetRendererDirective]>;
1007
1108
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPWidgetCoreModule>;
1008
1109
  }
1009
1110
 
1010
- interface AXPMetaDataDefinition {
1011
- name: string;
1012
- title: string;
1013
- defaultValue?: any;
1014
- interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
1111
+ declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
1112
+
1113
+ declare const AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS: AXPDefinitionCategory;
1114
+ declare const AXP_WIDGETS_EDITOR_SUB_NUMERIC: AXPDefinitionCategory;
1115
+ declare const AXP_WIDGETS_EDITOR_SUB_DATETIME: AXPDefinitionCategory;
1116
+ declare const AXP_WIDGETS_EDITOR_SUB_CHOICE: AXPDefinitionCategory;
1117
+ declare const AXP_WIDGETS_EDITOR_SUB_RICH: AXPDefinitionCategory;
1118
+ declare const AXP_WIDGETS_EDITOR_SUB_VISUAL: AXPDefinitionCategory;
1119
+ declare const AXP_WIDGETS_EDITOR_SUB_COMPOSITE: AXPDefinitionCategory;
1120
+ declare const AXP_WIDGETS_EDITOR_SUB_CONFIG: AXPDefinitionCategory;
1121
+ declare const AXP_WIDGETS_LAYOUT_SUB_SHELL: AXPDefinitionCategory;
1122
+ declare const AXP_WIDGETS_LAYOUT_SUB_GRID: AXPDefinitionCategory;
1123
+ declare const AXP_WIDGETS_LAYOUT_SUB_SURFACES: AXPDefinitionCategory;
1124
+ declare const AXP_WIDGETS_LAYOUT_SUB_TABS: AXPDefinitionCategory;
1125
+ declare const AXP_WIDGETS_LAYOUT_SUB_LISTS: AXPDefinitionCategory;
1126
+ declare const AXP_WIDGETS_LAYOUT_SUB_UTILITY: AXPDefinitionCategory;
1127
+ declare const AXP_WIDGETS_ACTION_SUB_CONTROLS: AXPDefinitionCategory;
1128
+ declare const AXP_WIDGETS_ADVANCE_SUB_MEDIA: AXPDefinitionCategory;
1129
+ declare const AXP_WIDGETS_ADVANCE_SUB_INPUT: AXPDefinitionCategory;
1130
+ declare const AXP_WIDGETS_ADVANCE_SUB_DATA: AXPDefinitionCategory;
1131
+ declare const AXP_WIDGETS_ADVANCE_SUB_TOOLS: AXPDefinitionCategory;
1132
+ /** Normalizes widget categories to an array for iteration and serialization. */
1133
+ declare function normalizeWidgetCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
1134
+ declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPDefinitionCategory;
1135
+ declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPDefinitionCategory;
1136
+ declare const AXP_WIDGETS_ACTION_CATEGORY: AXPDefinitionCategory;
1137
+ declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPDefinitionCategory;
1138
+ /** AI category tab in the widget picker (metadata); unrelated to Widgets:GetForAI listing scope. */
1139
+ declare const AXP_WIDGETS_AI_CATEGORY: AXPDefinitionCategory;
1140
+ declare const AXP_WIDGETS_CATEGORIES: AXPDefinitionCategory[];
1141
+
1142
+ /**
1143
+ * Standalone cell renderer using the same column-mode widget pipeline as {@link AXPWidgetColumnRendererComponent}.
1144
+ */
1145
+ declare class AXPWidgetColumnCellComponent implements OnInit, OnChanges {
1146
+ node: AXPWidgetColumnNode;
1147
+ rowData: Record<string, unknown>;
1148
+ caption: string;
1149
+ protected component: Type<unknown>;
1150
+ private mergedOptions;
1151
+ private rowInjectorsCache;
1152
+ private hasExpressions;
1153
+ private pendingEvaluations;
1154
+ private changeDetectionScheduled;
1155
+ private readonly injector;
1156
+ private readonly cdr;
1157
+ private readonly widgetRegistry;
1158
+ private readonly expressionEvaluator;
1159
+ ngOnInit(): Promise<void>;
1160
+ ngOnChanges(changes: SimpleChanges): void;
1161
+ getInputs(data: Record<string, unknown>): {
1162
+ rawValue: unknown;
1163
+ rowData: Record<string, unknown>;
1164
+ };
1165
+ getRowInjector(data: Record<string, unknown>): Injector;
1166
+ private resolveComponent;
1167
+ private createRowInjector;
1168
+ private getCacheKey;
1169
+ private checkForExpressions;
1170
+ private scheduleChangeDetection;
1171
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetColumnCellComponent, never>;
1172
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetColumnCellComponent, "axp-widget-column-cell", never, { "node": { "alias": "node"; "required": true; }; "rowData": { "alias": "rowData"; "required": true; }; "caption": { "alias": "caption"; "required": false; }; }, {}, never, never, true, never>;
1015
1173
  }
1016
1174
 
1017
- declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
1175
+ declare const AXP_STYLING_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1176
+ declare const AXP_DATA_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1177
+ declare const AXP_BEHAVIOR_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1178
+ declare const AXP_WIDGET_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1179
+ declare const AXP_VALIDATION_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1180
+ declare const AXP_APPEARANCE_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1181
+ declare const AXP_ANIMATION_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1182
+ declare const AXP_TRIGGERS_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1183
+
1184
+ /**
1185
+ * Single property that edits all data-source-related options (dataSource, valueField, textField, filters)
1186
+ * in one dedicated widget. Uses path: 'options' and setValue with merge (same pattern as flex-options).
1187
+ */
1188
+ declare const AXP_DATA_SOURCE_OPTIONS_PROPERTY: AXPWidgetProperty;
1189
+
1190
+ declare const AXP_NAME_PROPERTY: AXPWidgetProperty;
1191
+ declare const AXP_THEME_PROPERTY: AXPWidgetProperty;
1192
+ declare const AXP_DIRECTION_PROPERTY: AXPWidgetProperty;
1193
+ declare const AXP_COLOR_PROPERTY: AXPWidgetProperty;
1194
+ declare const AXP_FONT_SIZE_PROPERTY: AXPWidgetProperty;
1195
+ declare const AXP_BG_COLOR_PROPERTY: AXPWidgetProperty;
1196
+
1197
+ declare const AXP_CONTENT_PROPERTY: AXPWidgetProperty;
1198
+ declare const AXP_PLACEHOLDER_PROPERTY: AXPWidgetProperty;
1199
+ declare const AXP_DATA_PATH_PROPERTY: AXPWidgetProperty;
1200
+ declare const AXP_DISABLED_PROPERTY: AXPWidgetProperty;
1201
+ declare const AXP_READONLY_PROPERTY: AXPWidgetProperty;
1202
+ declare const AXP_ALLOW_MULTIPLE_PROPERTY: AXPWidgetProperty;
1203
+ declare const AXP_ALLOW_CLEAR_PROPERTY: AXPWidgetProperty;
1204
+ declare const AXP_HAS_LABEL_PROPERTY: AXPWidgetProperty;
1205
+ declare const AXP_HAS_ICON_PROPERTY: AXPWidgetProperty;
1206
+ declare const AXP_ICON_PROPERTY: AXPWidgetProperty;
1207
+ declare const AXP_IS_LOADING_PROPERTY: AXPWidgetProperty;
1208
+ declare const AXP_HAS_CLEAR_BUTTON_PROPERTY: AXPWidgetProperty;
1209
+ declare const AXP_ALLOW_SEARCH_PROPERTY: AXPWidgetProperty;
1210
+ declare const AXP_HAS_COPY_ICON_PROPERTY: AXPWidgetProperty;
1211
+ declare const AXP_HAS_EYE_ICON_PROPERTY: AXPWidgetProperty;
1212
+ declare const AXP_DOWNLOADABLE_PROPERTY: AXPWidgetProperty;
1213
+ declare const AXP_TRULY_TEXT_PROPERTY: AXPWidgetProperty;
1214
+ declare const AXP_FALSY_TEXT_PROPERTY: AXPWidgetProperty;
1215
+ declare const AXP_TEXT_PROPERTY: AXPWidgetProperty;
1216
+ declare const AXP_TITLE_PROPERTY: AXPWidgetProperty;
1217
+ declare const AXP_LABEL_PROPERTY: AXPWidgetProperty;
1218
+ declare const AXP_VALUE_FIELD_PROPERTY: AXPWidgetProperty;
1219
+ declare const AXP_TEXT_FIELD_PROPERTY: AXPWidgetProperty;
1220
+ declare const AXP_DESCRIPTION_PROPERTY: AXPWidgetProperty;
1221
+ declare const AXP_STYLE_COLOR_PROPERTY: AXPWidgetProperty;
1222
+ declare const AXP_STYLE_LOOK_PROPERTY: AXPWidgetProperty;
1223
+ declare const AXP_TEXT_ALIGN_PROPERTY: AXPWidgetProperty;
1224
+ declare const AXP_VERTICAL_ALIGN_PROPERTY: AXPWidgetProperty;
1225
+ declare const AXP_DATE_FORMAT_PROPERTY: AXPWidgetProperty;
1226
+ declare const AXP_DATE_DEPTH_PROPERTY: AXPWidgetProperty;
1227
+ /** Max span in days between from/to when filter operation is `between`. */
1228
+ declare const AXP_DATE_RANGE_LIMIT_PROPERTY: AXPWidgetProperty;
1229
+ declare function booleanDefaultProperty(defaultValue?: boolean): AXPWidgetProperty;
1230
+ declare function plainTextDefaultProperty(): AXPWidgetProperty;
1231
+ declare function largeTextDefaultProperty(): AXPWidgetProperty;
1232
+ declare function richTextDefaultProperty(): AXPWidgetProperty;
1233
+ /**
1234
+ * Default value editor for select-editor: uses `context.options(key)` so the default picker reads
1235
+ * the **host** widget's options from the shared context (not the nested property field's `widget`).
1236
+ */
1237
+ declare function selectEditorDefaultValueProperty(): AXPWidgetProperty;
1238
+ /**
1239
+ * Default value editor for selection-list-editor: uses the select widget in the designer so picking
1240
+ * a default matches select UX while still binding to the host's dataSource / fields via `context.options`.
1241
+ */
1242
+ declare function selectionListEditorDefaultValueProperty(): AXPWidgetProperty;
1243
+ declare function numberDefaultProperty(): AXPWidgetProperty;
1244
+ declare function numberMinValueProperty(value?: number | null): AXPWidgetProperty;
1245
+ declare function numberMaxValueProperty(value?: number | null): AXPWidgetProperty;
1246
+ declare const AXP_MULTI_LANGUAGE_PROPERTY: AXPWidgetProperty;
1247
+ declare const AXP_SPIN_BUTTON_PROPERTY: AXPWidgetProperty;
1248
+ declare const AXP_NUMBER_SEPARATOR_PROPERTY: AXPWidgetProperty;
1249
+ declare const AXP_DEFAULT_ROW_COUNT_PROPERTY: AXPWidgetProperty;
1250
+ declare const AXP_MIN_LINE_COUNT_PROPERTY: AXPWidgetProperty;
1251
+ declare const AXP_MAX_LINE_COUNT_PROPERTY: AXPWidgetProperty;
1252
+ declare const AXP_FIT_LINE_COUNT_PROPERTY: AXPWidgetProperty;
1253
+ declare const AXP_SHOW_PASSWORD_PROPERTY: AXPWidgetProperty;
1254
+ declare const AXP_TRIGGERS_PROPERTY: AXPWidgetProperty;
1255
+
1256
+ declare const AXP_LAYOUT_GRID_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1257
+ declare const AXP_LAYOUT_FLEX_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1258
+ declare const AXP_BOX_MODEL_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1259
+ declare const AXP_LAYOUT_TABLE_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1260
+ declare const AXP_LAYOUT_GAP_PROPERTY: AXPWidgetProperty;
1261
+ declare const AXP_LAYOUT_COLUMNS_PROPERTY: AXPWidgetProperty;
1262
+ declare const AXP_LAYOUT_ROWS_PROPERTY: AXPWidgetProperty;
1263
+ declare const AXP_LAYOUT_GRID_PROPERTIES: AXPWidgetProperty[];
1264
+ declare const AXP_LAYOUT_GRID_ROW_PROPERTIES: AXPWidgetProperty[];
1265
+ declare const AXP_LAYOUT_GRID_ITEM_PROPERTY: AXPWidgetProperty;
1266
+ declare const AXP_LAYOUT_SPACING_PROPERTY: AXPWidgetProperty;
1267
+ declare const AXP_LAYOUT_BORDER_PROPERTY: AXPWidgetProperty;
1268
+ declare const AXP_LAYOUT_FLEX_PROPERTY: AXPWidgetProperty;
1269
+ declare const AXP_LAYOUT_FLEX_ITEM_PROPERTY: AXPWidgetProperty;
1270
+ declare const AXP_LAYOUT_GRID_PROPERTY: AXPWidgetProperty;
1271
+ declare const AXP_TABLE_COLUMNS_PROPERTY: AXPWidgetProperty;
1272
+ declare const AXP_TABLE_ITEM_COLSPAN_PROPERTY: AXPWidgetProperty;
1273
+ declare const AXP_TABLE_ITEM_ROWSPAN_PROPERTY: AXPWidgetProperty;
1274
+ declare const AXP_LAYOUT_ADVANCED_GRID_PROPERTY: AXPWidgetProperty;
1275
+ declare const AXP_LAYOUT_SHOW_HEADER_PROPERTY: AXPWidgetProperty;
1276
+ declare const AXP_LAYOUT_DIRECTION_PROPERTY: AXPWidgetProperty;
1277
+
1278
+ declare const AXP_TABLE_COLUMN_HEADER_ALIGN_PROPERTY: AXPWidgetProperty;
1279
+ declare const AXP_TABLE_COLUMN_CELL_ALIGN_PROPERTY: AXPWidgetProperty;
1280
+ /** Optional column designer fields; spread next to `AXP_TABLE_COLUMN_WIDTH_PROPERTY` where needed. */
1281
+ declare const AXP_TABLE_COLUMN_ALIGNMENT_PROPERTIES: AXPWidgetProperty[];
1282
+ declare const AXP_TABLE_COLUMN_WIDTH_PROPERTY: AXPWidgetProperty;
1283
+ declare const AXP_TABLE_COLUMN_HEIGHT_PROPERTY: AXPWidgetProperty;
1284
+
1285
+ declare const AXP_REQUIRED_VALIDATION_PROPERTY: AXPWidgetProperty;
1286
+ declare const AXP_MIN_LENGTH_VALIDATION_PROPERTY: AXPWidgetProperty;
1287
+ declare const AXP_MAX_LENGTH_VALIDATION_PROPERTY: AXPWidgetProperty;
1288
+ declare const AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY: AXPWidgetProperty;
1289
+ declare const AXP_LESS_THAN_VALIDATION_PROPERTY: AXPWidgetProperty;
1290
+ declare const AXP_GREATER_THAN_VALIDATION_PROPERTY: AXPWidgetProperty;
1291
+ declare const AXP_BETWEEN_VALIDATION_PROPERTY: AXPWidgetProperty;
1292
+ declare const AXP_EQUAL_VALIDATION_PROPERTY: AXPWidgetProperty;
1293
+ declare const AXP_CALLBACK_VALIDATION_PROPERTY: AXPWidgetProperty;
1018
1294
 
1019
- export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreContextChangeEvent, AXPWidgetCoreContextStore, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, 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 };
1020
- export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreContextState, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, extendedWidget };
1295
+ export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnCellComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_ALLOW_CLEAR_PROPERTY, AXP_ALLOW_MULTIPLE_PROPERTY, AXP_ALLOW_SEARCH_PROPERTY, AXP_ANIMATION_PROPERTY_GROUP, AXP_APPEARANCE_PROPERTY_GROUP, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_BETWEEN_VALIDATION_PROPERTY, AXP_BG_COLOR_PROPERTY, AXP_BOX_MODEL_PROPERTY_GROUP, AXP_CALLBACK_VALIDATION_PROPERTY, AXP_COLOR_PROPERTY, AXP_CONTENT_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DATA_PROPERTY_GROUP, AXP_DATA_SOURCE_OPTIONS_PROPERTY, AXP_DATE_DEPTH_PROPERTY, AXP_DATE_FORMAT_PROPERTY, AXP_DATE_RANGE_LIMIT_PROPERTY, AXP_DEFAULT_ROW_COUNT_PROPERTY, AXP_DESCRIPTION_PROPERTY, AXP_DIRECTION_PROPERTY, AXP_DISABLED_PROPERTY, AXP_DOWNLOADABLE_PROPERTY, AXP_EQUAL_VALIDATION_PROPERTY, AXP_FALSY_TEXT_PROPERTY, AXP_FIT_LINE_COUNT_PROPERTY, AXP_FONT_SIZE_PROPERTY, AXP_GREATER_THAN_VALIDATION_PROPERTY, AXP_HAS_CLEAR_BUTTON_PROPERTY, AXP_HAS_COPY_ICON_PROPERTY, AXP_HAS_EYE_ICON_PROPERTY, AXP_HAS_ICON_PROPERTY, AXP_HAS_LABEL_PROPERTY, AXP_ICON_PROPERTY, AXP_IS_LOADING_PROPERTY, AXP_LABEL_PROPERTY, AXP_LAYOUT_ADVANCED_GRID_PROPERTY, AXP_LAYOUT_BORDER_PROPERTY, AXP_LAYOUT_COLUMNS_PROPERTY, AXP_LAYOUT_DIRECTION_PROPERTY, AXP_LAYOUT_FLEX_ITEM_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY, AXP_LAYOUT_FLEX_PROPERTY_GROUP, AXP_LAYOUT_GAP_PROPERTY, AXP_LAYOUT_GRID_ITEM_PROPERTY, AXP_LAYOUT_GRID_PROPERTIES, AXP_LAYOUT_GRID_PROPERTY, AXP_LAYOUT_GRID_PROPERTY_GROUP, AXP_LAYOUT_GRID_ROW_PROPERTIES, AXP_LAYOUT_ROWS_PROPERTY, AXP_LAYOUT_SHOW_HEADER_PROPERTY, AXP_LAYOUT_SPACING_PROPERTY, AXP_LAYOUT_TABLE_PROPERTY_GROUP, AXP_LESS_THAN_VALIDATION_PROPERTY, AXP_MAX_LENGTH_VALIDATION_PROPERTY, AXP_MAX_LINE_COUNT_PROPERTY, AXP_MIN_LENGTH_VALIDATION_PROPERTY, AXP_MIN_LINE_COUNT_PROPERTY, AXP_MULTI_LANGUAGE_PROPERTY, AXP_NAME_PROPERTY, AXP_NUMBER_SEPARATOR_PROPERTY, AXP_PLACEHOLDER_PROPERTY, AXP_READONLY_PROPERTY, AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY, AXP_SHOW_PASSWORD_PROPERTY, AXP_SPIN_BUTTON_PROPERTY, AXP_STYLE_COLOR_PROPERTY, AXP_STYLE_LOOK_PROPERTY, AXP_STYLING_PROPERTY_GROUP, AXP_TABLE_COLUMNS_PROPERTY, AXP_TABLE_COLUMN_ALIGNMENT_PROPERTIES, AXP_TABLE_COLUMN_CELL_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEADER_ALIGN_PROPERTY, AXP_TABLE_COLUMN_HEIGHT_PROPERTY, AXP_TABLE_COLUMN_WIDTH_PROPERTY, AXP_TABLE_ITEM_COLSPAN_PROPERTY, AXP_TABLE_ITEM_ROWSPAN_PROPERTY, AXP_TEXT_ALIGN_PROPERTY, AXP_TEXT_FIELD_PROPERTY, AXP_TEXT_PROPERTY, AXP_THEME_PROPERTY, AXP_TITLE_PROPERTY, AXP_TRIGGERS_PROPERTY, AXP_TRIGGERS_PROPERTY_GROUP, AXP_TRULY_TEXT_PROPERTY, AXP_VALIDATION_PROPERTY_GROUP, AXP_VALUE_FIELD_PROPERTY, AXP_VERTICAL_ALIGN_PROPERTY, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ACTION_SUB_CONTROLS, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_ADVANCE_SUB_DATA, AXP_WIDGETS_ADVANCE_SUB_INPUT, AXP_WIDGETS_ADVANCE_SUB_MEDIA, AXP_WIDGETS_ADVANCE_SUB_TOOLS, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE, AXP_WIDGETS_EDITOR_SUB_COMPOSITE, AXP_WIDGETS_EDITOR_SUB_CONFIG, AXP_WIDGETS_EDITOR_SUB_DATETIME, AXP_WIDGETS_EDITOR_SUB_NUMERIC, AXP_WIDGETS_EDITOR_SUB_RICH, AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS, AXP_WIDGETS_EDITOR_SUB_VISUAL, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGETS_LAYOUT_SUB_GRID, AXP_WIDGETS_LAYOUT_SUB_LISTS, AXP_WIDGETS_LAYOUT_SUB_SHELL, AXP_WIDGETS_LAYOUT_SUB_SURFACES, AXP_WIDGETS_LAYOUT_SUB_TABS, AXP_WIDGETS_LAYOUT_SUB_UTILITY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_PROPERTY_GROUP, AXP_WIDGET_TOKEN, booleanDefaultProperty, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, largeTextDefaultProperty, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories, numberDefaultProperty, numberMaxValueProperty, numberMinValueProperty, plainTextDefaultProperty, richTextDefaultProperty, selectEditorDefaultValueProperty, selectionListEditorDefaultValueProperty };
1296
+ export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };