@acorex/platform 21.0.0-next.7 → 21.0.0-next.71

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 (126) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +281 -23
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +1381 -276
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1538 -611
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +557 -826
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +1372 -210
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
  14. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-layout-components.mjs +6298 -1929
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs +371 -0
  20. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs +100 -0
  22. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-layout-entity.mjs +22537 -9975
  24. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-views.mjs +865 -218
  26. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layout-widget-core.mjs +2138 -487
  28. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  29. 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
  30. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  32. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  34. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +116 -0
  36. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs} +6 -6
  38. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs} +5 -5
  40. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map +1 -0
  41. 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
  42. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-layout-widgets.mjs +10434 -7982
  44. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-native.mjs +8 -7
  46. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-runtime.mjs +391 -166
  48. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  49. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs +160 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs +120 -0
  52. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -0
  53. 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
  54. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
  56. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
  57. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
  58. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  60. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-themes-default.mjs +2289 -90
  62. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  63. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  64. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  66. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  67. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +52 -33
  68. package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  70. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
  72. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-themes-shared.mjs +790 -612
  74. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  75. package/fesm2022/acorex-platform-workflow.mjs +978 -238
  76. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  77. package/fesm2022/acorex-platform.mjs.map +1 -1
  78. package/package.json +40 -38
  79. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
  80. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +833 -89
  81. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +779 -164
  82. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
  83. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +277 -55
  84. package/types/acorex-platform-layout-components.d.ts +3257 -0
  85. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
  86. package/types/acorex-platform-layout-entity.d.ts +4492 -0
  87. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +247 -62
  88. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +437 -131
  89. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1140 -506
  90. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  91. package/types/acorex-platform-runtime.d.ts +571 -0
  92. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +254 -7
  93. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +30 -2
  94. package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +620 -617
  95. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
  96. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
  99. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  106. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs +0 -1542
  108. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  110. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  115. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
  122. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  123. package/layout/components/index.d.ts +0 -1669
  124. package/layout/entity/index.d.ts +0 -2287
  125. package/runtime/index.d.ts +0 -307
  126. /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, AXPContextUpdateOptions, 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,10 @@ type AXPWidgetCoreElementAction = {
44
46
  zone?: 'header' | 'footer';
45
47
  placement?: 'prefix' | 'suffix';
46
48
  scope?: 'primary' | 'secondary';
49
+ /** Keyboard shortcuts that trigger this action (e.g. `'Enter'`, `'ctrl+s'`). */
50
+ shortcuts?: string[];
51
+ /** When `command` is not `widget:<name>.<action>`, widget name used to resolve `api` for `hidden` / `disabled` expressions. */
52
+ predicateApiWidgetName?: string;
47
53
  };
48
54
  declare abstract class AXPWidgetCoreElement {
49
55
  abstract get id(): string | null;
@@ -61,6 +67,9 @@ declare class AXPWidgetCoreService {
61
67
  readonly status: Signal<AXPPageStatus>;
62
68
  readonly isBusy: Signal<boolean>;
63
69
  registeredWidgetsCount: _angular_core.WritableSignal<number>;
70
+ /** Bumped when a widget reports dirty-state changes via `api().isDirty()`. */
71
+ private readonly dirtyWidgetsRevision;
72
+ readonly dirtyWidgetsRevisionSignal: Signal<number>;
64
73
  get variables(): any;
65
74
  get functions(): {
66
75
  [key: string]: Function;
@@ -85,23 +94,18 @@ declare class AXPWidgetCoreService {
85
94
  * Returns a list of registered widget ids (names).
86
95
  */
87
96
  listRegisteredWidgetNames(): string[];
97
+ /** Notifies listeners that a widget's composite dirty state may have changed. */
98
+ notifyWidgetDirtyChanged(): void;
99
+ /**
100
+ * Returns whether any registered widget reports dirty state via `api().isDirty()`.
101
+ */
102
+ hasDirtyWidgets(): boolean;
88
103
  ngOnDestroy(): void;
89
104
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
90
105
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
91
106
  }
92
107
 
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';
108
+ type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
105
109
  declare enum AXPWidgetGroupEnum {
106
110
  FormElement = "form-element",
107
111
  DashboardWidget = "dashboard-widget",
@@ -110,7 +114,8 @@ declare enum AXPWidgetGroupEnum {
110
114
  MetaData = "meta-data",
111
115
  SettingWidget = "setting-widget",
112
116
  EntityWidget = "entity-widget",
113
- UtilityWidget = "utility-widget"
117
+ UtilityWidget = "utility-widget",
118
+ BaseWidget = "base-widget"
114
119
  }
115
120
 
116
121
  interface AXPWidgetTypesMap {
@@ -134,7 +139,9 @@ interface AXPWidgetTypesMap {
134
139
  pageLayout: 'page-layout';
135
140
  repeaterLayout: 'repeater-layout';
136
141
  textBlockLayout: 'text-block-layout';
137
- fileUploader: 'file-uploader';
142
+ alertBoxLayout: 'alert-box-layout';
143
+ badgeLayout: 'badge-layout';
144
+ attachments: 'attachments';
138
145
  fileTypeExtension: 'file-type-extension';
139
146
  map: 'map';
140
147
  imageMarker: 'image-marker';
@@ -183,19 +190,9 @@ interface AXPWidgetTypesMap {
183
190
  betweenValidation: 'between-validation';
184
191
  equalValidation: 'equal-validation';
185
192
  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
193
  metaData: 'meta-data-editor';
197
194
  templateEditor: 'template-box-editor';
198
- themePaletteChooser: 'theme-palette-chooser';
195
+ templateContentEditor: 'template-content-editor';
199
196
  themeModeChooser: 'theme-mode-chooser';
200
197
  menuOrientationChooser: 'menu-orientation-chooser';
201
198
  fontStyleChooser: 'font-style-chooser';
@@ -205,18 +202,19 @@ interface AXPWidgetTypesMap {
205
202
  themeColorChooser: 'theme-color-chooser';
206
203
  panel: 'panel';
207
204
  notification: 'notification';
208
- taskBoard: 'task-board';
209
205
  comment: 'comment';
210
206
  list: 'list-editor';
211
207
  dataList: 'data-list';
212
208
  listToolbar: 'list-toolbar';
213
209
  entityList: 'entity-list';
210
+ pageComponent: 'page-component';
214
211
  stepWizard: 'step-wizard';
215
212
  documentUploader: 'document-uploader';
213
+ documentFileTypeFilter: 'document-file-type-filter';
216
214
  editorJs: 'editor-js-editor';
217
- signatureList: 'signature-list';
218
215
  progressBar: 'progress-bar-editor';
219
216
  rate: 'rate-picker-editor';
217
+ entityDefinitionProvider: 'entity-definition-provider-editor';
220
218
  }
221
219
 
222
220
  interface AXPWidgetPropertyGroup {
@@ -230,15 +228,24 @@ interface AXPWidgetProperty {
230
228
  description?: string;
231
229
  group: AXPWidgetPropertyGroup;
232
230
  order?: number;
231
+ /**
232
+ * Controls whether the property title label is shown in the property viewer panel.
233
+ * Defaults to true when omitted.
234
+ */
235
+ showLabel?: boolean;
233
236
  schema: {
234
237
  dataType: AXPDataType;
235
238
  nullable?: boolean;
236
239
  defaultValue?: any | string | ((context: any | null) => any);
237
240
  interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
238
241
  };
239
- options?: AXPOptionsData;
240
242
  validations?: AXPValidationRules;
241
- visible: boolean;
243
+ visible: boolean | AXPExpression;
244
+ binding?: {
245
+ enabled: boolean;
246
+ /** When set, the expression is edited at path + '.' + optionKey (e.g. options.visibility). */
247
+ optionKey?: string;
248
+ };
242
249
  }
243
250
  declare function cloneProperty(property: AXPWidgetProperty, values: AXPPartialNested<AXPWidgetProperty>): AXPWidgetProperty;
244
251
  declare function createStringProperty(ctor: {
@@ -247,7 +254,7 @@ declare function createStringProperty(ctor: {
247
254
  title: string;
248
255
  path?: string;
249
256
  group: AXPWidgetPropertyGroup;
250
- visible?: boolean;
257
+ visible?: boolean | AXPExpression;
251
258
  }): AXPWidgetProperty;
252
259
  declare function createNumberProperty(ctor: {
253
260
  defaultValue?: number;
@@ -255,7 +262,7 @@ declare function createNumberProperty(ctor: {
255
262
  title: string;
256
263
  path?: string;
257
264
  group: AXPWidgetPropertyGroup;
258
- visible?: boolean;
265
+ visible?: boolean | AXPExpression;
259
266
  options?: {
260
267
  minValue?: number;
261
268
  maxValue?: number;
@@ -268,7 +275,7 @@ declare function createBooleanProperty(ctor: {
268
275
  title: string;
269
276
  path?: string;
270
277
  group: AXPWidgetPropertyGroup;
271
- visible?: boolean;
278
+ visible?: boolean | AXPExpression;
272
279
  }): AXPWidgetProperty;
273
280
  declare function createSelectProperty<T = string | {
274
281
  id: string;
@@ -280,7 +287,7 @@ declare function createSelectProperty<T = string | {
280
287
  title: string;
281
288
  path?: string;
282
289
  group: AXPWidgetPropertyGroup;
283
- visible?: boolean;
290
+ visible?: boolean | AXPExpression;
284
291
  }): AXPWidgetProperty;
285
292
  interface AXPWidgetNode {
286
293
  type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
@@ -305,6 +312,8 @@ interface AXPWidgetColumnNode {
305
312
  type: string;
306
313
  path: string;
307
314
  options?: AXPOptionsData;
315
+ /** Column header caption from data-table (`title || name`); often an i18n key. */
316
+ caption?: string;
308
317
  }
309
318
  interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
310
319
  config: AXPWidgetConfig;
@@ -343,10 +352,24 @@ type AXPExtractWidgetConfig<T> = {
343
352
  interface AXPWidgetConfig<T = any> {
344
353
  name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
345
354
  alias?: string | string[];
346
- title: string;
355
+ title: AXPMultiLanguageString;
347
356
  icon?: string;
348
- description?: string;
349
- categories?: AXPWidgetCategory | AXPWidgetCategory[];
357
+ description?: AXPMultiLanguageString;
358
+ /**
359
+ * Picker tabs and section headings in the widget gallery (when the widget is included in the picker list).
360
+ */
361
+ categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
362
+ /**
363
+ * Optional sub-group within a parent category tab in the widget picker.
364
+ * Ignored on the "All" tab (widgets are grouped by parent category only).
365
+ */
366
+ subCategory?: AXPDefinitionCategory;
367
+ /**
368
+ * Which surfaces may offer this widget. The designer widget picker includes a widget only when this list
369
+ * intersects the requested groups (e.g. the layout designer requests `AXPWidgetGroupEnum.FormElement`).
370
+ * Use `AXPWidgetGroupEnum.BaseWidget` alone for types that must stay registered (filters, renderers, AI tools)
371
+ * but must not appear in form or dashboard pickers.
372
+ */
350
373
  groups?: AXPWidgetGroup[];
351
374
  properties?: AXPWidgetProperty[];
352
375
  components: AXPWidgetConfigComponents;
@@ -355,8 +378,15 @@ interface AXPWidgetConfig<T = any> {
355
378
  designer?: AXPExtractWidgetConfig<T>['designer'];
356
379
  options?: Record<string, any>;
357
380
  defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter' | string;
381
+ /**
382
+ * Optional layout for Change History. When set, this AXPWidgetNode is rendered for
383
+ * changes of this widget type instead of the default fieldKey/actionKey text.
384
+ * Context passed to renderer: the AXPActivityLogChange object.
385
+ * If omitted, the default display is used.
386
+ */
387
+ historyLayout?: AXPWidgetNode;
358
388
  }
359
- interface extendedWidget {
389
+ interface AXPExtendedWidget {
360
390
  widget: AXPWidgetConfig;
361
391
  parentName: string;
362
392
  }
@@ -373,32 +403,38 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
373
403
  readonly host: HTMLDivElement;
374
404
  protected readonly layoutService: AXPWidgetCoreService;
375
405
  protected readonly contextService: {
376
- data: _angular_core.Signal<{}>;
377
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
406
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
407
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
378
408
  initialSnapshot: _angular_core.Signal<{}>;
379
409
  previousSnapshot: _angular_core.Signal<{}>;
380
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
410
+ userDirtyPaths: _angular_core.Signal<string[]>;
411
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
381
412
  isChanged: _angular_core.Signal<boolean>;
382
413
  isReset: _angular_core.Signal<boolean>;
383
414
  isInitiated: _angular_core.Signal<boolean>;
384
415
  isEmpty: _angular_core.Signal<boolean>;
385
416
  isDirty: _angular_core.Signal<boolean>;
386
- snapshot: _angular_core.Signal<{}>;
417
+ isUserDirty: _angular_core.Signal<boolean>;
418
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
387
419
  initial: _angular_core.Signal<{}>;
388
420
  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;
421
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
422
+ update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
423
+ applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
424
+ patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
392
425
  reset: () => void;
393
426
  set: (initialData: any) => void;
394
427
  getValue: (path: string) => any;
395
428
  hasValue: (path: string) => boolean;
429
+ commitBaseline: () => void;
430
+ clearUserDirtyPaths: () => void;
396
431
  } & _ngrx_signals.StateSource<{
397
- data: {};
398
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
432
+ data: _acorex_platform_core.AXPContextData;
433
+ state: _acorex_platform_core.AXPContextState;
399
434
  initialSnapshot: {};
400
435
  previousSnapshot: {};
401
- lastChange: _acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent;
436
+ userDirtyPaths: string[];
437
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
402
438
  }>;
403
439
  readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
404
440
  readonly node: AXPWidgetNode;
@@ -457,8 +493,10 @@ declare abstract class AXPValueWidgetComponent<T = any | null, TOptions extends
457
493
  getValue: _angular_core.Signal<T>;
458
494
  protected validationRules: _angular_core.Signal<AXPValidationRules>;
459
495
  protected extractValue(path: string): any;
460
- setValue(value: T | null | undefined): void;
461
- private detectFullPath;
496
+ setValue(value: T | null | undefined, options?: AXPContextUpdateOptions): void;
497
+ /** Persists a user-initiated value change into the shared context store. */
498
+ setUserValue(value: T | null | undefined): void;
499
+ protected detectFullPath(): void;
462
500
  protected handleValueChanged(e: AXValueChangedEvent<T>): void;
463
501
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPValueWidgetComponent<any, any>, never>;
464
502
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPValueWidgetComponent<any, any>>;
@@ -485,11 +523,13 @@ declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
485
523
  private readonly token;
486
524
  protected readonly path: string;
487
525
  protected readonly options: Record<string, any>;
526
+ /** Column header caption when rendered inside `axp-widget-column-renderer`. */
527
+ protected readonly columnCaption: string | undefined;
488
528
  protected readonly rawValue: T;
489
529
  protected readonly rowData: any;
490
530
  protected readonly nullText: any;
491
531
  protected readonly nullValue: T;
492
- protected value: _angular_core.Signal<T>;
532
+ protected value: () => T;
493
533
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPColumnWidgetComponent<any>, never>;
494
534
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPColumnWidgetComponent<any>>;
495
535
  }
@@ -511,6 +551,33 @@ declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayo
511
551
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
512
552
  }
513
553
 
554
+ /**
555
+ * Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
556
+ * Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
557
+ */
558
+ interface MapAXPPropertyToWidgetPropertyOptions {
559
+ group: AXPWidgetPropertyGroup;
560
+ order: number;
561
+ /**
562
+ * Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
563
+ * Example: `input` → `input.requestId`; `properties` → `properties.message`.
564
+ */
565
+ valuePathPrefix: string;
566
+ /**
567
+ * Resolves a display title (supports multi-language strings on the source property).
568
+ */
569
+ resolveTitle: (property: AXPProperty) => string;
570
+ /**
571
+ * Optional description line for the viewer row.
572
+ */
573
+ resolveDescription?: (property: AXPProperty) => string | undefined;
574
+ }
575
+ /**
576
+ * Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
577
+ * the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
578
+ */
579
+ declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
580
+
514
581
  type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
515
582
  type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
516
583
  type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
@@ -723,101 +790,101 @@ declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableIte
723
790
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableItemBaseLayoutWidgetComponent>;
724
791
  }
725
792
 
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
793
  declare class AXPWidgetContainerComponent {
764
794
  readonly contextService: {
765
- data: _angular_core.Signal<{}>;
766
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
795
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
796
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
767
797
  initialSnapshot: _angular_core.Signal<{}>;
768
798
  previousSnapshot: _angular_core.Signal<{}>;
769
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
799
+ userDirtyPaths: _angular_core.Signal<string[]>;
800
+ lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
770
801
  isChanged: _angular_core.Signal<boolean>;
771
802
  isReset: _angular_core.Signal<boolean>;
772
803
  isInitiated: _angular_core.Signal<boolean>;
773
804
  isEmpty: _angular_core.Signal<boolean>;
774
805
  isDirty: _angular_core.Signal<boolean>;
775
- snapshot: _angular_core.Signal<{}>;
806
+ isUserDirty: _angular_core.Signal<boolean>;
807
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
776
808
  initial: _angular_core.Signal<{}>;
777
809
  previous: _angular_core.Signal<{}>;
778
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
779
- update: (path: string, value: any) => void;
780
- patch: (context: {}) => void;
810
+ changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
811
+ update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
812
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
813
+ patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
781
814
  reset: () => void;
782
815
  set: (initialData: any) => void;
783
816
  getValue: (path: string) => any;
784
817
  hasValue: (path: string) => boolean;
818
+ commitBaseline: () => void;
819
+ clearUserDirtyPaths: () => void;
785
820
  } & _ngrx_signals.StateSource<{
786
- data: {};
787
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
821
+ data: _acorex_platform_core.AXPContextData;
822
+ state: _acorex_platform_core.AXPContextState;
788
823
  initialSnapshot: {};
789
824
  previousSnapshot: {};
790
- lastChange: AXPWidgetCoreContextChangeEvent;
825
+ userDirtyPaths: string[];
826
+ lastChange: AXPContextChangeEvent;
791
827
  }>;
792
828
  readonly builderService: AXPWidgetCoreService;
793
- readonly onContextChanged: EventEmitter<AXPWidgetCoreContextChangeEvent>;
829
+ readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
794
830
  set context(value: any);
795
831
  set functions(v: any);
832
+ /** True when user-edited context paths or composite widgets report dirty state. */
833
+ readonly isFormDirty: _angular_core.Signal<boolean>;
796
834
  constructor();
797
835
  status: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPPageStatus>;
798
836
  isBusy: _angular_core.Signal<boolean>;
799
837
  refresh(): void;
800
838
  find(name: string): Promise<_acorex_platform_layout_widget_core.AXPWidgetCoreElement | undefined>;
839
+ /** Replaces context and clears dirty tracking (discard, save reload, external reset). */
840
+ replaceContext(value: unknown): void;
801
841
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
802
842
  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
843
  }
804
844
 
845
+ /**
846
+ * Provider interface for widget definitions.
847
+ * Implement this interface and register via AXP_WIDGET_DEFINITION_PROVIDER to contribute widgets.
848
+ */
849
+ interface AXPWidgetDefinitionProvider {
850
+ getWidgets(): AXPWidgetConfig[];
851
+ getExtendedWidgets?(): AXPExtendedWidget[];
852
+ }
853
+ /**
854
+ * Injection token for widget definition providers.
855
+ * Modules register their widget providers using this token (multi: true).
856
+ */
857
+ declare const AXP_WIDGET_DEFINITION_PROVIDER: InjectionToken<AXPWidgetDefinitionProvider[]>;
858
+
859
+ /**
860
+ * Merges core + extended widgets the same way as AXPWidgetRegistryService.ensureBuilt().
861
+ * Use with concrete providers (e.g. AXPCoreWidgetsProvider, AXPEntityWidgetsProvider) in Node scripts without DI.
862
+ */
863
+ declare function buildWidgetRegistryMapFromProviders(providers: AXPWidgetDefinitionProvider[]): Map<string, AXPWidgetConfig>;
864
+ /**
865
+ * Aggregates widgets from all AXP_WIDGET_DEFINITION_PROVIDER instances.
866
+ * Token-based like AXP_MENU_PROVIDER / AXP_PERMISSION_DEFINITION_PROVIDER / AXP_SETTING_DEFINITION_PROVIDER.
867
+ * No separate registry - widgets come solely from providers.
868
+ */
805
869
  declare class AXPWidgetRegistryService {
806
- private types;
807
- static instance: AXPWidgetRegistryService;
870
+ private readonly _providers;
871
+ private _types;
808
872
  /**
809
- *
873
+ * Lazy-build widget map from all providers.
810
874
  */
811
- constructor();
812
- register(widget: AXPWidgetConfig): void;
813
- extend(parentName: string, widget: AXPWidgetConfig): void;
814
- resolve(name: string): AXPWidgetConfig | undefined;
875
+ private ensureBuilt;
876
+ resolve(name: string): AXPWidgetConfig;
877
+ /**
878
+ * Registered widget config when present; otherwise `undefined`. Does not throw — use when
879
+ * {@link resolve}'s value may be a non-widget id (e.g. data-source row id in dynamic field configurator).
880
+ */
881
+ getOptional(name: string): AXPWidgetConfig | undefined;
815
882
  all(): AXPWidgetConfig[];
816
883
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRegistryService, never>;
817
884
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetRegistryService>;
818
885
  }
819
886
 
820
- declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
887
+ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent implements OnChanges {
821
888
  protected widgetRegistery: AXPWidgetRegistryService;
822
889
  private grid;
823
890
  private expressionEvaluator;
@@ -838,13 +905,43 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
838
905
  private _contentFooterTemplate;
839
906
  get renderFooterTemplate(): TemplateRef<unknown>;
840
907
  expandHandler: boolean;
908
+ /** When true, header click cycles sort (handled by parent; synced with list sort state). */
909
+ sortEnabled: boolean;
910
+ headerSortDirection?: 'asc' | 'desc';
911
+ /** 1-based order when multiple columns are sorted (shown when priority &gt; 1). */
912
+ headerSortPriority?: number;
913
+ readonly sortToggle: EventEmitter<MouseEvent>;
841
914
  cellTemplate: TemplateRef<unknown>;
842
915
  private _contentCellTemplate;
843
916
  get renderCellTemplate(): TemplateRef<unknown>;
844
917
  headerTemplate: TemplateRef<unknown>;
845
918
  private _contentHeaderTemplate;
919
+ /**
920
+ * True when the row should show the expand icon: either hasChild is true (from server/initial load)
921
+ * or the row has loaded children (e.g. after refreshItemChildren when children go from 0 to 1).
922
+ */
923
+ protected hasExpandableRow(row: {
924
+ data?: Record<string, unknown>;
925
+ }): boolean;
846
926
  protected handleExpandRow(row: any): Promise<void>;
847
927
  get renderHeaderTemplate(): TemplateRef<unknown>;
928
+ /**
929
+ * Resolves `options.align`: string applies to header and cell; object uses optional `header` / `cell` (default start).
930
+ * Supports designer select values `{ id: 'center' }`.
931
+ */
932
+ protected getHeaderTextAlign(): 'start' | 'center' | 'end';
933
+ protected getHeaderJustifyContent(): 'flex-start' | 'center' | 'flex-end';
934
+ protected onHeaderClick(event: MouseEvent): void;
935
+ /**
936
+ * When true, the cell body uses flex so `justify-content` can place content on the main axis.
937
+ */
938
+ protected getCellUseFlexLayout(): boolean;
939
+ /**
940
+ * Flex `justify-content` for the cell wrapper; omit when not using flex layout.
941
+ */
942
+ protected getCellJustifyContent(): 'start' | 'center' | 'end' | null;
943
+ private resolveAlignForSide;
944
+ private normalizeColumnAlignment;
848
945
  get loadingEnabled(): boolean;
849
946
  get name(): string;
850
947
  private injector;
@@ -852,6 +949,7 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
852
949
  protected widgetInjector: Injector;
853
950
  protected component: any;
854
951
  ngOnInit(): Promise<void>;
952
+ ngOnChanges(): void;
855
953
  /**
856
954
  * Check if options contain any expressions that need evaluation
857
955
  */
@@ -871,7 +969,7 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
871
969
  getInputs(data: any): any;
872
970
  getRowInjector(data: any): Injector;
873
971
  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>;
972
+ 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; }; "cellTemplate": { "alias": "cellTemplate"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; }, { "sortToggle": "sortToggle"; }, never, never, false, never>;
875
973
  }
876
974
 
877
975
  type AXPWidgetRendererDirectiveOptions = AXPMetaData;
@@ -903,32 +1001,38 @@ declare class AXPWidgetRendererDirective {
903
1001
  private injector;
904
1002
  protected builderService: AXPWidgetCoreService;
905
1003
  protected contextService: {
906
- data: _angular_core.Signal<{}>;
907
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
1004
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
1005
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
908
1006
  initialSnapshot: _angular_core.Signal<{}>;
909
1007
  previousSnapshot: _angular_core.Signal<{}>;
910
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
1008
+ userDirtyPaths: _angular_core.Signal<string[]>;
1009
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
911
1010
  isChanged: _angular_core.Signal<boolean>;
912
1011
  isReset: _angular_core.Signal<boolean>;
913
1012
  isInitiated: _angular_core.Signal<boolean>;
914
1013
  isEmpty: _angular_core.Signal<boolean>;
915
1014
  isDirty: _angular_core.Signal<boolean>;
916
- snapshot: _angular_core.Signal<{}>;
1015
+ isUserDirty: _angular_core.Signal<boolean>;
1016
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
917
1017
  initial: _angular_core.Signal<{}>;
918
1018
  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;
1019
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
1020
+ update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
1021
+ applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
1022
+ patch: (context: Record<string, any>, second?: boolean | _acorex_platform_core.AXPContextPatchOptions) => void;
922
1023
  reset: () => void;
923
1024
  set: (initialData: any) => void;
924
1025
  getValue: (path: string) => any;
925
1026
  hasValue: (path: string) => boolean;
1027
+ commitBaseline: () => void;
1028
+ clearUserDirtyPaths: () => void;
926
1029
  } & _ngrx_signals.StateSource<{
927
- data: {};
928
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
1030
+ data: _acorex_platform_core.AXPContextData;
1031
+ state: _acorex_platform_core.AXPContextState;
929
1032
  initialSnapshot: {};
930
1033
  previousSnapshot: {};
931
- lastChange: _acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent;
1034
+ userDirtyPaths: string[];
1035
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
932
1036
  }>;
933
1037
  protected widgetRegistery: AXPWidgetRegistryService;
934
1038
  protected unsubscriber: AXUnsubscriber;
@@ -961,6 +1065,15 @@ declare class AXPWidgetRendererDirective {
961
1065
  private queueContextUpdate;
962
1066
  private processBatchedUpdates;
963
1067
  private isRelevantContextChange;
1068
+ /**
1069
+ * True when a context store path used in an expression (`context.eval`, `context.options`) is
1070
+ * affected by `changedPath`.
1071
+ */
1072
+ private contextStorePathDependsOnChangedPath;
1073
+ /**
1074
+ * Whether an expression template string reads context store paths affected by `changedPath`.
1075
+ */
1076
+ private expressionTextDependsOnContextPath;
964
1077
  private hasExpressionDependency;
965
1078
  private isPathAlias;
966
1079
  private getExpressionValueFromNode;
@@ -993,28 +1106,221 @@ declare class AXPWidgetRendererDirective {
993
1106
 
994
1107
  interface AXPWidgetCoreModuleConfigs {
995
1108
  widgets?: AXPWidgetConfig[];
996
- extendedWidgets?: extendedWidget[];
1109
+ AXPExtendedWidgets?: AXPExtendedWidget[];
997
1110
  }
998
1111
  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]>;
1112
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, never>;
1113
+ 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
1114
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPWidgetCoreModule>;
1008
1115
  }
1009
1116
 
1117
+ interface AXPMetaDataFeatures {
1118
+ searchable?: {
1119
+ enabled: boolean;
1120
+ fullText: boolean;
1121
+ };
1122
+ filterable?: {
1123
+ enabled: boolean;
1124
+ inline: boolean;
1125
+ };
1126
+ sortable?: {
1127
+ enabled: boolean;
1128
+ };
1129
+ auditable?: {
1130
+ enabled: boolean;
1131
+ };
1132
+ }
1010
1133
  interface AXPMetaDataDefinition {
1011
1134
  name: string;
1012
1135
  title: string;
1013
1136
  defaultValue?: any;
1014
1137
  interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
1138
+ features?: AXPMetaDataFeatures;
1015
1139
  }
1016
1140
 
1017
1141
  declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
1018
1142
 
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 };
1143
+ declare const AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS: AXPDefinitionCategory;
1144
+ declare const AXP_WIDGETS_EDITOR_SUB_NUMERIC: AXPDefinitionCategory;
1145
+ declare const AXP_WIDGETS_EDITOR_SUB_DATETIME: AXPDefinitionCategory;
1146
+ declare const AXP_WIDGETS_EDITOR_SUB_CHOICE: AXPDefinitionCategory;
1147
+ declare const AXP_WIDGETS_EDITOR_SUB_RICH: AXPDefinitionCategory;
1148
+ declare const AXP_WIDGETS_EDITOR_SUB_VISUAL: AXPDefinitionCategory;
1149
+ declare const AXP_WIDGETS_EDITOR_SUB_COMPOSITE: AXPDefinitionCategory;
1150
+ declare const AXP_WIDGETS_EDITOR_SUB_CONFIG: AXPDefinitionCategory;
1151
+ declare const AXP_WIDGETS_LAYOUT_SUB_SHELL: AXPDefinitionCategory;
1152
+ declare const AXP_WIDGETS_LAYOUT_SUB_GRID: AXPDefinitionCategory;
1153
+ declare const AXP_WIDGETS_LAYOUT_SUB_SURFACES: AXPDefinitionCategory;
1154
+ declare const AXP_WIDGETS_LAYOUT_SUB_TABS: AXPDefinitionCategory;
1155
+ declare const AXP_WIDGETS_LAYOUT_SUB_LISTS: AXPDefinitionCategory;
1156
+ declare const AXP_WIDGETS_LAYOUT_SUB_UTILITY: AXPDefinitionCategory;
1157
+ declare const AXP_WIDGETS_ACTION_SUB_CONTROLS: AXPDefinitionCategory;
1158
+ declare const AXP_WIDGETS_ADVANCE_SUB_MEDIA: AXPDefinitionCategory;
1159
+ declare const AXP_WIDGETS_ADVANCE_SUB_INPUT: AXPDefinitionCategory;
1160
+ declare const AXP_WIDGETS_ADVANCE_SUB_DATA: AXPDefinitionCategory;
1161
+ declare const AXP_WIDGETS_ADVANCE_SUB_TOOLS: AXPDefinitionCategory;
1162
+ /** Normalizes widget categories to an array for iteration and serialization. */
1163
+ declare function normalizeWidgetCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
1164
+ declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPDefinitionCategory;
1165
+ declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPDefinitionCategory;
1166
+ declare const AXP_WIDGETS_ACTION_CATEGORY: AXPDefinitionCategory;
1167
+ declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPDefinitionCategory;
1168
+ /** AI category tab in the widget picker (metadata); unrelated to Widgets:GetForAI listing scope. */
1169
+ declare const AXP_WIDGETS_AI_CATEGORY: AXPDefinitionCategory;
1170
+ declare const AXP_WIDGETS_CATEGORIES: AXPDefinitionCategory[];
1171
+
1172
+ /**
1173
+ * Standalone cell renderer using the same column-mode widget pipeline as {@link AXPWidgetColumnRendererComponent}.
1174
+ */
1175
+ declare class AXPWidgetColumnCellComponent implements OnInit, OnChanges {
1176
+ node: AXPWidgetColumnNode;
1177
+ rowData: Record<string, unknown>;
1178
+ caption: string;
1179
+ protected component: Type<unknown>;
1180
+ private mergedOptions;
1181
+ private rowInjectorsCache;
1182
+ private hasExpressions;
1183
+ private pendingEvaluations;
1184
+ private changeDetectionScheduled;
1185
+ private readonly injector;
1186
+ private readonly cdr;
1187
+ private readonly widgetRegistry;
1188
+ private readonly expressionEvaluator;
1189
+ ngOnInit(): Promise<void>;
1190
+ ngOnChanges(changes: SimpleChanges): void;
1191
+ getInputs(data: Record<string, unknown>): {
1192
+ rawValue: unknown;
1193
+ rowData: Record<string, unknown>;
1194
+ };
1195
+ getRowInjector(data: Record<string, unknown>): Injector;
1196
+ private resolveComponent;
1197
+ private createRowInjector;
1198
+ private getCacheKey;
1199
+ private checkForExpressions;
1200
+ private scheduleChangeDetection;
1201
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetColumnCellComponent, never>;
1202
+ 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>;
1203
+ }
1204
+
1205
+ declare const AXP_STYLING_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1206
+ declare const AXP_DATA_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1207
+ declare const AXP_BEHAVIOR_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1208
+ declare const AXP_WIDGET_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1209
+ declare const AXP_VALIDATION_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1210
+ declare const AXP_APPEARANCE_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1211
+ declare const AXP_ANIMATION_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1212
+ declare const AXP_TRIGGERS_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1213
+
1214
+ /**
1215
+ * Single property that edits all data-source-related options (dataSource, valueField, textField, filters)
1216
+ * in one dedicated widget. Uses path: 'options' and setValue with merge (same pattern as flex-options).
1217
+ */
1218
+ declare const AXP_DATA_SOURCE_OPTIONS_PROPERTY: AXPWidgetProperty;
1219
+
1220
+ declare const AXP_NAME_PROPERTY: AXPWidgetProperty;
1221
+ declare const AXP_THEME_PROPERTY: AXPWidgetProperty;
1222
+ declare const AXP_DIRECTION_PROPERTY: AXPWidgetProperty;
1223
+ declare const AXP_COLOR_PROPERTY: AXPWidgetProperty;
1224
+ declare const AXP_FONT_SIZE_PROPERTY: AXPWidgetProperty;
1225
+ declare const AXP_BG_COLOR_PROPERTY: AXPWidgetProperty;
1226
+
1227
+ declare const AXP_CONTENT_PROPERTY: AXPWidgetProperty;
1228
+ declare const AXP_PLACEHOLDER_PROPERTY: AXPWidgetProperty;
1229
+ declare const AXP_DATA_PATH_PROPERTY: AXPWidgetProperty;
1230
+ declare const AXP_DISABLED_PROPERTY: AXPWidgetProperty;
1231
+ declare const AXP_READONLY_PROPERTY: AXPWidgetProperty;
1232
+ declare const AXP_ALLOW_MULTIPLE_PROPERTY: AXPWidgetProperty;
1233
+ declare const AXP_ALLOW_CLEAR_PROPERTY: AXPWidgetProperty;
1234
+ declare const AXP_HAS_LABEL_PROPERTY: AXPWidgetProperty;
1235
+ declare const AXP_HAS_ICON_PROPERTY: AXPWidgetProperty;
1236
+ declare const AXP_ICON_PROPERTY: AXPWidgetProperty;
1237
+ declare const AXP_IS_LOADING_PROPERTY: AXPWidgetProperty;
1238
+ declare const AXP_HAS_CLEAR_BUTTON_PROPERTY: AXPWidgetProperty;
1239
+ declare const AXP_ALLOW_SEARCH_PROPERTY: AXPWidgetProperty;
1240
+ declare const AXP_HAS_COPY_ICON_PROPERTY: AXPWidgetProperty;
1241
+ declare const AXP_HAS_EYE_ICON_PROPERTY: AXPWidgetProperty;
1242
+ declare const AXP_DOWNLOADABLE_PROPERTY: AXPWidgetProperty;
1243
+ declare const AXP_TRULY_TEXT_PROPERTY: AXPWidgetProperty;
1244
+ declare const AXP_FALSY_TEXT_PROPERTY: AXPWidgetProperty;
1245
+ declare const AXP_TEXT_PROPERTY: AXPWidgetProperty;
1246
+ declare const AXP_TITLE_PROPERTY: AXPWidgetProperty;
1247
+ declare const AXP_LABEL_PROPERTY: AXPWidgetProperty;
1248
+ declare const AXP_VALUE_FIELD_PROPERTY: AXPWidgetProperty;
1249
+ declare const AXP_TEXT_FIELD_PROPERTY: AXPWidgetProperty;
1250
+ declare const AXP_DESCRIPTION_PROPERTY: AXPWidgetProperty;
1251
+ declare const AXP_STYLE_COLOR_PROPERTY: AXPWidgetProperty;
1252
+ declare const AXP_STYLE_LOOK_PROPERTY: AXPWidgetProperty;
1253
+ declare const AXP_TEXT_ALIGN_PROPERTY: AXPWidgetProperty;
1254
+ declare const AXP_VERTICAL_ALIGN_PROPERTY: AXPWidgetProperty;
1255
+ declare const AXP_DATE_FORMAT_PROPERTY: AXPWidgetProperty;
1256
+ declare const AXP_DATE_DEPTH_PROPERTY: AXPWidgetProperty;
1257
+ /** Max span in days between from/to when filter operation is `between`. */
1258
+ declare const AXP_DATE_RANGE_LIMIT_PROPERTY: AXPWidgetProperty;
1259
+ declare function booleanDefaultProperty(defaultValue?: boolean): AXPWidgetProperty;
1260
+ declare function plainTextDefaultProperty(): AXPWidgetProperty;
1261
+ declare function largeTextDefaultProperty(): AXPWidgetProperty;
1262
+ declare function richTextDefaultProperty(): AXPWidgetProperty;
1263
+ /**
1264
+ * Default value editor for select-editor: uses `context.options(key)` so the default picker reads
1265
+ * the **host** widget's options from the shared context (not the nested property field's `widget`).
1266
+ */
1267
+ declare function selectEditorDefaultValueProperty(): AXPWidgetProperty;
1268
+ /**
1269
+ * Default value editor for selection-list-editor: uses the select widget in the designer so picking
1270
+ * a default matches select UX while still binding to the host's dataSource / fields via `context.options`.
1271
+ */
1272
+ declare function selectionListEditorDefaultValueProperty(): AXPWidgetProperty;
1273
+ declare function numberDefaultProperty(): AXPWidgetProperty;
1274
+ declare function numberMinValueProperty(value?: number | null): AXPWidgetProperty;
1275
+ declare function numberMaxValueProperty(value?: number | null): AXPWidgetProperty;
1276
+ declare const AXP_MULTI_LANGUAGE_PROPERTY: AXPWidgetProperty;
1277
+ declare const AXP_SPIN_BUTTON_PROPERTY: AXPWidgetProperty;
1278
+ declare const AXP_NUMBER_SEPARATOR_PROPERTY: AXPWidgetProperty;
1279
+ declare const AXP_DEFAULT_ROW_COUNT_PROPERTY: AXPWidgetProperty;
1280
+ declare const AXP_MIN_LINE_COUNT_PROPERTY: AXPWidgetProperty;
1281
+ declare const AXP_MAX_LINE_COUNT_PROPERTY: AXPWidgetProperty;
1282
+ declare const AXP_FIT_LINE_COUNT_PROPERTY: AXPWidgetProperty;
1283
+ declare const AXP_SHOW_PASSWORD_PROPERTY: AXPWidgetProperty;
1284
+ declare const AXP_TRIGGERS_PROPERTY: AXPWidgetProperty;
1285
+
1286
+ declare const AXP_LAYOUT_GRID_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1287
+ declare const AXP_LAYOUT_FLEX_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1288
+ declare const AXP_BOX_MODEL_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1289
+ declare const AXP_LAYOUT_TABLE_PROPERTY_GROUP: AXPWidgetPropertyGroup;
1290
+ declare const AXP_LAYOUT_GAP_PROPERTY: AXPWidgetProperty;
1291
+ declare const AXP_LAYOUT_COLUMNS_PROPERTY: AXPWidgetProperty;
1292
+ declare const AXP_LAYOUT_ROWS_PROPERTY: AXPWidgetProperty;
1293
+ declare const AXP_LAYOUT_GRID_PROPERTIES: AXPWidgetProperty[];
1294
+ declare const AXP_LAYOUT_GRID_ROW_PROPERTIES: AXPWidgetProperty[];
1295
+ declare const AXP_LAYOUT_GRID_ITEM_PROPERTY: AXPWidgetProperty;
1296
+ declare const AXP_LAYOUT_SPACING_PROPERTY: AXPWidgetProperty;
1297
+ declare const AXP_LAYOUT_BORDER_PROPERTY: AXPWidgetProperty;
1298
+ declare const AXP_LAYOUT_FLEX_PROPERTY: AXPWidgetProperty;
1299
+ declare const AXP_LAYOUT_FLEX_ITEM_PROPERTY: AXPWidgetProperty;
1300
+ declare const AXP_LAYOUT_GRID_PROPERTY: AXPWidgetProperty;
1301
+ declare const AXP_TABLE_COLUMNS_PROPERTY: AXPWidgetProperty;
1302
+ declare const AXP_TABLE_ITEM_COLSPAN_PROPERTY: AXPWidgetProperty;
1303
+ declare const AXP_TABLE_ITEM_ROWSPAN_PROPERTY: AXPWidgetProperty;
1304
+ declare const AXP_LAYOUT_ADVANCED_GRID_PROPERTY: AXPWidgetProperty;
1305
+ declare const AXP_LAYOUT_SHOW_HEADER_PROPERTY: AXPWidgetProperty;
1306
+ declare const AXP_LAYOUT_DIRECTION_PROPERTY: AXPWidgetProperty;
1307
+
1308
+ declare const AXP_TABLE_COLUMN_HEADER_ALIGN_PROPERTY: AXPWidgetProperty;
1309
+ declare const AXP_TABLE_COLUMN_CELL_ALIGN_PROPERTY: AXPWidgetProperty;
1310
+ /** Optional column designer fields; spread next to `AXP_TABLE_COLUMN_WIDTH_PROPERTY` where needed. */
1311
+ declare const AXP_TABLE_COLUMN_ALIGNMENT_PROPERTIES: AXPWidgetProperty[];
1312
+ declare const AXP_TABLE_COLUMN_WIDTH_PROPERTY: AXPWidgetProperty;
1313
+ declare const AXP_TABLE_COLUMN_HEIGHT_PROPERTY: AXPWidgetProperty;
1314
+
1315
+ declare const AXP_REQUIRED_VALIDATION_PROPERTY: AXPWidgetProperty;
1316
+ declare const AXP_MIN_LENGTH_VALIDATION_PROPERTY: AXPWidgetProperty;
1317
+ declare const AXP_MAX_LENGTH_VALIDATION_PROPERTY: AXPWidgetProperty;
1318
+ declare const AXP_REGULAR_EXPRESSION_VALIDATION_PROPERTY: AXPWidgetProperty;
1319
+ declare const AXP_LESS_THAN_VALIDATION_PROPERTY: AXPWidgetProperty;
1320
+ declare const AXP_GREATER_THAN_VALIDATION_PROPERTY: AXPWidgetProperty;
1321
+ declare const AXP_BETWEEN_VALIDATION_PROPERTY: AXPWidgetProperty;
1322
+ declare const AXP_EQUAL_VALIDATION_PROPERTY: AXPWidgetProperty;
1323
+ declare const AXP_CALLBACK_VALIDATION_PROPERTY: AXPWidgetProperty;
1324
+
1325
+ 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 };
1326
+ export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, 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 };