@acorex/platform 21.0.0-next.5 → 21.0.0-next.50

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 (124) 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 +1047 -263
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1138 -510
  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 +804 -186
  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 +6208 -2344
  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.mjs +18632 -10286
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +538 -168
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +720 -456
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. 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
  26. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs +103 -0
  28. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  30. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  32. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs +116 -0
  34. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGO75IMz.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +6 -6
  36. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
  39. 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
  40. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-layout-widgets.mjs +8728 -4269
  42. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  43. package/fesm2022/acorex-platform-native.mjs +8 -7
  44. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-runtime.mjs +391 -166
  46. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs +160 -0
  48. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs +120 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +19 -26
  52. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
  54. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
  56. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  58. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default.mjs +1836 -67
  60. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  61. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  62. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  64. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs} +24 -25
  66. package/fesm2022/acorex-platform-themes-shared-settings.provider-DK6R87Lf.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  68. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
  70. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-themes-shared.mjs +674 -573
  72. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  73. package/fesm2022/acorex-platform-workflow.mjs +1715 -535
  74. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  75. package/fesm2022/acorex-platform.mjs.map +1 -1
  76. package/package.json +37 -37
  77. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
  78. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +598 -80
  79. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +595 -132
  80. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
  81. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +193 -48
  82. package/types/acorex-platform-layout-components.d.ts +2979 -0
  83. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
  84. package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +1601 -261
  85. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +116 -55
  86. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +272 -124
  87. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1055 -157
  88. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  89. package/types/acorex-platform-runtime.d.ts +571 -0
  90. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +122 -5
  91. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
  92. package/types/acorex-platform-workflow.d.ts +1884 -0
  93. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
  94. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
  97. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  104. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
  106. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  108. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  113. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
  118. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  121. package/layout/components/index.d.ts +0 -1669
  122. package/runtime/index.d.ts +0 -307
  123. package/workflow/index.d.ts +0 -1808
  124. /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, TemplateRef, Injector, WritableSignal, SimpleChanges } 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
+ /** When `command` is not `widget:<name>.<action>`, widget name used to resolve `api` for `hidden` / `disabled` expressions. */
50
+ predicateApiWidgetName?: string;
47
51
  };
48
52
  declare abstract class AXPWidgetCoreElement {
49
53
  abstract get id(): string | null;
@@ -90,18 +94,7 @@ declare class AXPWidgetCoreService {
90
94
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
91
95
  }
92
96
 
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';
97
+ type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
105
98
  declare enum AXPWidgetGroupEnum {
106
99
  FormElement = "form-element",
107
100
  DashboardWidget = "dashboard-widget",
@@ -110,7 +103,8 @@ declare enum AXPWidgetGroupEnum {
110
103
  MetaData = "meta-data",
111
104
  SettingWidget = "setting-widget",
112
105
  EntityWidget = "entity-widget",
113
- UtilityWidget = "utility-widget"
106
+ UtilityWidget = "utility-widget",
107
+ BaseWidget = "base-widget"
114
108
  }
115
109
 
116
110
  interface AXPWidgetTypesMap {
@@ -134,6 +128,7 @@ interface AXPWidgetTypesMap {
134
128
  pageLayout: 'page-layout';
135
129
  repeaterLayout: 'repeater-layout';
136
130
  textBlockLayout: 'text-block-layout';
131
+ alertBoxLayout: 'alert-box-layout';
137
132
  fileUploader: 'file-uploader';
138
133
  fileTypeExtension: 'file-type-extension';
139
134
  map: 'map';
@@ -183,19 +178,9 @@ interface AXPWidgetTypesMap {
183
178
  betweenValidation: 'between-validation';
184
179
  equalValidation: 'equal-validation';
185
180
  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
181
  metaData: 'meta-data-editor';
197
182
  templateEditor: 'template-box-editor';
198
- themePaletteChooser: 'theme-palette-chooser';
183
+ templateContentEditor: 'template-content-editor';
199
184
  themeModeChooser: 'theme-mode-chooser';
200
185
  menuOrientationChooser: 'menu-orientation-chooser';
201
186
  fontStyleChooser: 'font-style-chooser';
@@ -205,7 +190,6 @@ interface AXPWidgetTypesMap {
205
190
  themeColorChooser: 'theme-color-chooser';
206
191
  panel: 'panel';
207
192
  notification: 'notification';
208
- taskBoard: 'task-board';
209
193
  comment: 'comment';
210
194
  list: 'list-editor';
211
195
  dataList: 'data-list';
@@ -213,10 +197,11 @@ interface AXPWidgetTypesMap {
213
197
  entityList: 'entity-list';
214
198
  stepWizard: 'step-wizard';
215
199
  documentUploader: 'document-uploader';
200
+ documentFileTypeFilter: 'document-file-type-filter';
216
201
  editorJs: 'editor-js-editor';
217
- signatureList: 'signature-list';
218
202
  progressBar: 'progress-bar-editor';
219
203
  rate: 'rate-picker-editor';
204
+ entityDefinitionProvider: 'entity-definition-provider-editor';
220
205
  }
221
206
 
222
207
  interface AXPWidgetPropertyGroup {
@@ -230,15 +215,24 @@ interface AXPWidgetProperty {
230
215
  description?: string;
231
216
  group: AXPWidgetPropertyGroup;
232
217
  order?: number;
218
+ /**
219
+ * Controls whether the property title label is shown in the property viewer panel.
220
+ * Defaults to true when omitted.
221
+ */
222
+ showLabel?: boolean;
233
223
  schema: {
234
224
  dataType: AXPDataType;
235
225
  nullable?: boolean;
236
226
  defaultValue?: any | string | ((context: any | null) => any);
237
227
  interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
238
228
  };
239
- options?: AXPOptionsData;
240
229
  validations?: AXPValidationRules;
241
- visible: boolean;
230
+ visible: boolean | AXPExpression;
231
+ binding?: {
232
+ enabled: boolean;
233
+ /** When set, the expression is edited at path + '.' + optionKey (e.g. options.visibility). */
234
+ optionKey?: string;
235
+ };
242
236
  }
243
237
  declare function cloneProperty(property: AXPWidgetProperty, values: AXPPartialNested<AXPWidgetProperty>): AXPWidgetProperty;
244
238
  declare function createStringProperty(ctor: {
@@ -247,7 +241,7 @@ declare function createStringProperty(ctor: {
247
241
  title: string;
248
242
  path?: string;
249
243
  group: AXPWidgetPropertyGroup;
250
- visible?: boolean;
244
+ visible?: boolean | AXPExpression;
251
245
  }): AXPWidgetProperty;
252
246
  declare function createNumberProperty(ctor: {
253
247
  defaultValue?: number;
@@ -255,7 +249,7 @@ declare function createNumberProperty(ctor: {
255
249
  title: string;
256
250
  path?: string;
257
251
  group: AXPWidgetPropertyGroup;
258
- visible?: boolean;
252
+ visible?: boolean | AXPExpression;
259
253
  options?: {
260
254
  minValue?: number;
261
255
  maxValue?: number;
@@ -268,7 +262,7 @@ declare function createBooleanProperty(ctor: {
268
262
  title: string;
269
263
  path?: string;
270
264
  group: AXPWidgetPropertyGroup;
271
- visible?: boolean;
265
+ visible?: boolean | AXPExpression;
272
266
  }): AXPWidgetProperty;
273
267
  declare function createSelectProperty<T = string | {
274
268
  id: string;
@@ -280,7 +274,7 @@ declare function createSelectProperty<T = string | {
280
274
  title: string;
281
275
  path?: string;
282
276
  group: AXPWidgetPropertyGroup;
283
- visible?: boolean;
277
+ visible?: boolean | AXPExpression;
284
278
  }): AXPWidgetProperty;
285
279
  interface AXPWidgetNode {
286
280
  type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
@@ -305,6 +299,8 @@ interface AXPWidgetColumnNode {
305
299
  type: string;
306
300
  path: string;
307
301
  options?: AXPOptionsData;
302
+ /** Column header caption from data-table (`title || name`); often an i18n key. */
303
+ caption?: string;
308
304
  }
309
305
  interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
310
306
  config: AXPWidgetConfig;
@@ -343,10 +339,24 @@ type AXPExtractWidgetConfig<T> = {
343
339
  interface AXPWidgetConfig<T = any> {
344
340
  name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
345
341
  alias?: string | string[];
346
- title: string;
342
+ title: AXPMultiLanguageString;
347
343
  icon?: string;
348
- description?: string;
349
- categories?: AXPWidgetCategory | AXPWidgetCategory[];
344
+ description?: AXPMultiLanguageString;
345
+ /**
346
+ * Picker tabs and section headings in the widget gallery (when the widget is included in the picker list).
347
+ */
348
+ categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
349
+ /**
350
+ * Optional sub-group within a parent category tab in the widget picker.
351
+ * Ignored on the "All" tab (widgets are grouped by parent category only).
352
+ */
353
+ subCategory?: AXPDefinitionCategory;
354
+ /**
355
+ * Which surfaces may offer this widget. The designer widget picker includes a widget only when this list
356
+ * intersects the requested groups (e.g. the layout designer requests `AXPWidgetGroupEnum.FormElement`).
357
+ * Use `AXPWidgetGroupEnum.BaseWidget` alone for types that must stay registered (filters, renderers, AI tools)
358
+ * but must not appear in form or dashboard pickers.
359
+ */
350
360
  groups?: AXPWidgetGroup[];
351
361
  properties?: AXPWidgetProperty[];
352
362
  components: AXPWidgetConfigComponents;
@@ -355,8 +365,15 @@ interface AXPWidgetConfig<T = any> {
355
365
  designer?: AXPExtractWidgetConfig<T>['designer'];
356
366
  options?: Record<string, any>;
357
367
  defaultFilterWidgetName?: 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter' | string;
368
+ /**
369
+ * Optional layout for Change History. When set, this AXPWidgetNode is rendered for
370
+ * changes of this widget type instead of the default fieldKey/actionKey text.
371
+ * Context passed to renderer: the AXPActivityLogChange object.
372
+ * If omitted, the default display is used.
373
+ */
374
+ historyLayout?: AXPWidgetNode;
358
375
  }
359
- interface extendedWidget {
376
+ interface AXPExtendedWidget {
360
377
  widget: AXPWidgetConfig;
361
378
  parentName: string;
362
379
  }
@@ -373,32 +390,32 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
373
390
  readonly host: HTMLDivElement;
374
391
  protected readonly layoutService: AXPWidgetCoreService;
375
392
  protected readonly contextService: {
376
- data: _angular_core.Signal<{}>;
377
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
393
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
394
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
378
395
  initialSnapshot: _angular_core.Signal<{}>;
379
396
  previousSnapshot: _angular_core.Signal<{}>;
380
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
397
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
381
398
  isChanged: _angular_core.Signal<boolean>;
382
399
  isReset: _angular_core.Signal<boolean>;
383
400
  isInitiated: _angular_core.Signal<boolean>;
384
401
  isEmpty: _angular_core.Signal<boolean>;
385
402
  isDirty: _angular_core.Signal<boolean>;
386
- snapshot: _angular_core.Signal<{}>;
403
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
387
404
  initial: _angular_core.Signal<{}>;
388
405
  previous: _angular_core.Signal<{}>;
389
- changeEvent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
406
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
390
407
  update: (path: string, value: any) => void;
391
- patch: (context: {}) => void;
408
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
392
409
  reset: () => void;
393
410
  set: (initialData: any) => void;
394
411
  getValue: (path: string) => any;
395
412
  hasValue: (path: string) => boolean;
396
413
  } & _ngrx_signals.StateSource<{
397
- data: {};
398
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
414
+ data: _acorex_platform_core.AXPContextData;
415
+ state: _acorex_platform_core.AXPContextState;
399
416
  initialSnapshot: {};
400
417
  previousSnapshot: {};
401
- lastChange: _acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent;
418
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
402
419
  }>;
403
420
  readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
404
421
  readonly node: AXPWidgetNode;
@@ -458,7 +475,7 @@ declare abstract class AXPValueWidgetComponent<T = any | null, TOptions extends
458
475
  protected validationRules: _angular_core.Signal<AXPValidationRules>;
459
476
  protected extractValue(path: string): any;
460
477
  setValue(value: T | null | undefined): void;
461
- private detectFullPath;
478
+ protected detectFullPath(): void;
462
479
  protected handleValueChanged(e: AXValueChangedEvent<T>): void;
463
480
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPValueWidgetComponent<any, any>, never>;
464
481
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPValueWidgetComponent<any, any>>;
@@ -485,11 +502,13 @@ declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
485
502
  private readonly token;
486
503
  protected readonly path: string;
487
504
  protected readonly options: Record<string, any>;
505
+ /** Column header caption when rendered inside `axp-widget-column-renderer`. */
506
+ protected readonly columnCaption: string | undefined;
488
507
  protected readonly rawValue: T;
489
508
  protected readonly rowData: any;
490
509
  protected readonly nullText: any;
491
510
  protected readonly nullValue: T;
492
- protected value: _angular_core.Signal<T>;
511
+ protected value: () => T;
493
512
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPColumnWidgetComponent<any>, never>;
494
513
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPColumnWidgetComponent<any>>;
495
514
  }
@@ -511,6 +530,33 @@ declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayo
511
530
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
512
531
  }
513
532
 
533
+ /**
534
+ * Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
535
+ * Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
536
+ */
537
+ interface MapAXPPropertyToWidgetPropertyOptions {
538
+ group: AXPWidgetPropertyGroup;
539
+ order: number;
540
+ /**
541
+ * Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
542
+ * Example: `input` → `input.requestId`; `properties` → `properties.message`.
543
+ */
544
+ valuePathPrefix: string;
545
+ /**
546
+ * Resolves a display title (supports multi-language strings on the source property).
547
+ */
548
+ resolveTitle: (property: AXPProperty) => string;
549
+ /**
550
+ * Optional description line for the viewer row.
551
+ */
552
+ resolveDescription?: (property: AXPProperty) => string | undefined;
553
+ }
554
+ /**
555
+ * Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
556
+ * the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
557
+ */
558
+ declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
559
+
514
560
  type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
515
561
  type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
516
562
  type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
@@ -598,6 +644,47 @@ declare class AXPPropertyEditorHelper {
598
644
  }
599
645
  declare function findNonEmptyBreakpoints<T>(values: AXPBreakpointValues<T>): AXPBreakpoints[];
600
646
 
647
+ /**
648
+ * Helper class for serializing and deserializing AXPWidgetNode to/from JSON
649
+ */
650
+ declare class AXPWidgetSerializationHelper {
651
+ /**
652
+ * Removes non-serializable properties from widget node
653
+ * @param node - The widget node to clean
654
+ * @param options - Serialization options
655
+ * @returns Cleaned widget node ready for JSON serialization
656
+ */
657
+ private static cleanNode;
658
+ /**
659
+ * Recursively removes functions from object properties
660
+ */
661
+ private static removeFunctions;
662
+ /**
663
+ * Converts AXPWidgetNode to JSON string
664
+ * @param node - The widget node to serialize
665
+ * @param options - Serialization options
666
+ * @returns JSON string representation of the widget node
667
+ */
668
+ static toJson(node: AXPWidgetNode, options?: {
669
+ removeMeta?: boolean;
670
+ removeFunctions?: boolean;
671
+ pretty?: boolean;
672
+ }): string;
673
+ /**
674
+ * Converts JSON string to AXPWidgetNode
675
+ * @param json - JSON string to deserialize
676
+ * @returns Parsed AXPWidgetNode object
677
+ * @throws Error if JSON is invalid or doesn't match AXPWidgetNode structure
678
+ */
679
+ static fromJson(json: string): AXPWidgetNode;
680
+ /**
681
+ * Removes meta property from widget node (similar to designer service)
682
+ * @param node - The widget node to process
683
+ * @returns Widget node without meta property
684
+ */
685
+ static removeMeta(node: AXPWidgetNode): AXPWidgetNode;
686
+ }
687
+
601
688
  declare abstract class AXPFlexBaseLayoutWidgetComponent extends AXPBlockBaseLayoutWidgetComponent {
602
689
  protected flex: _angular_core.Signal<AXPFlexBoxString | undefined>;
603
690
  hostFlexStyle: _angular_core.Signal<Record<string, string | number>>;
@@ -682,74 +769,37 @@ declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableIte
682
769
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTableItemBaseLayoutWidgetComponent>;
683
770
  }
684
771
 
685
- type AXPWidgetCoreContextState = 'initiated' | 'restored' | 'changed' | 'patch';
686
- declare class AXPWidgetCoreContextChangeEvent {
687
- oldValue?: any;
688
- newValue?: any;
689
- path?: string;
690
- state: AXPWidgetCoreContextState;
691
- data: any;
692
- }
693
- declare const AXPWidgetCoreContextStore: _angular_core.Type<{
694
- data: _angular_core.Signal<{}>;
695
- state: _angular_core.Signal<AXPWidgetCoreContextState>;
696
- initialSnapshot: _angular_core.Signal<{}>;
697
- previousSnapshot: _angular_core.Signal<{}>;
698
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
699
- isChanged: _angular_core.Signal<boolean>;
700
- isReset: _angular_core.Signal<boolean>;
701
- isInitiated: _angular_core.Signal<boolean>;
702
- isEmpty: _angular_core.Signal<boolean>;
703
- isDirty: _angular_core.Signal<boolean>;
704
- snapshot: _angular_core.Signal<{}>;
705
- initial: _angular_core.Signal<{}>;
706
- previous: _angular_core.Signal<{}>;
707
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
708
- update: (path: string, value: any) => void;
709
- patch: (context: {}) => void;
710
- reset: () => void;
711
- set: (initialData: any) => void;
712
- getValue: (path: string) => any;
713
- hasValue: (path: string) => boolean;
714
- } & _ngrx_signals.StateSource<{
715
- data: {};
716
- state: AXPWidgetCoreContextState;
717
- initialSnapshot: {};
718
- previousSnapshot: {};
719
- lastChange: AXPWidgetCoreContextChangeEvent;
720
- }>>;
721
-
722
772
  declare class AXPWidgetContainerComponent {
723
773
  readonly contextService: {
724
- data: _angular_core.Signal<{}>;
725
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
774
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
775
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
726
776
  initialSnapshot: _angular_core.Signal<{}>;
727
777
  previousSnapshot: _angular_core.Signal<{}>;
728
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
778
+ lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
729
779
  isChanged: _angular_core.Signal<boolean>;
730
780
  isReset: _angular_core.Signal<boolean>;
731
781
  isInitiated: _angular_core.Signal<boolean>;
732
782
  isEmpty: _angular_core.Signal<boolean>;
733
783
  isDirty: _angular_core.Signal<boolean>;
734
- snapshot: _angular_core.Signal<{}>;
784
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
735
785
  initial: _angular_core.Signal<{}>;
736
786
  previous: _angular_core.Signal<{}>;
737
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
787
+ changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
738
788
  update: (path: string, value: any) => void;
739
- patch: (context: {}) => void;
789
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
740
790
  reset: () => void;
741
791
  set: (initialData: any) => void;
742
792
  getValue: (path: string) => any;
743
793
  hasValue: (path: string) => boolean;
744
794
  } & _ngrx_signals.StateSource<{
745
- data: {};
746
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
795
+ data: _acorex_platform_core.AXPContextData;
796
+ state: _acorex_platform_core.AXPContextState;
747
797
  initialSnapshot: {};
748
798
  previousSnapshot: {};
749
- lastChange: AXPWidgetCoreContextChangeEvent;
799
+ lastChange: AXPContextChangeEvent;
750
800
  }>;
751
801
  readonly builderService: AXPWidgetCoreService;
752
- readonly onContextChanged: EventEmitter<AXPWidgetCoreContextChangeEvent>;
802
+ readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
753
803
  set context(value: any);
754
804
  set functions(v: any);
755
805
  constructor();
@@ -761,16 +811,43 @@ declare class AXPWidgetContainerComponent {
761
811
  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>;
762
812
  }
763
813
 
814
+ /**
815
+ * Provider interface for widget definitions.
816
+ * Implement this interface and register via AXP_WIDGET_DEFINITION_PROVIDER to contribute widgets.
817
+ */
818
+ interface AXPWidgetDefinitionProvider {
819
+ getWidgets(): AXPWidgetConfig[];
820
+ getExtendedWidgets?(): AXPExtendedWidget[];
821
+ }
822
+ /**
823
+ * Injection token for widget definition providers.
824
+ * Modules register their widget providers using this token (multi: true).
825
+ */
826
+ declare const AXP_WIDGET_DEFINITION_PROVIDER: InjectionToken<AXPWidgetDefinitionProvider[]>;
827
+
828
+ /**
829
+ * Merges core + extended widgets the same way as AXPWidgetRegistryService.ensureBuilt().
830
+ * Use with concrete providers (e.g. AXPCoreWidgetsProvider, AXPEntityWidgetsProvider) in Node scripts without DI.
831
+ */
832
+ declare function buildWidgetRegistryMapFromProviders(providers: AXPWidgetDefinitionProvider[]): Map<string, AXPWidgetConfig>;
833
+ /**
834
+ * Aggregates widgets from all AXP_WIDGET_DEFINITION_PROVIDER instances.
835
+ * Token-based like AXP_MENU_PROVIDER / AXP_PERMISSION_DEFINITION_PROVIDER / AXP_SETTING_DEFINITION_PROVIDER.
836
+ * No separate registry - widgets come solely from providers.
837
+ */
764
838
  declare class AXPWidgetRegistryService {
765
- private types;
766
- static instance: AXPWidgetRegistryService;
839
+ private readonly _providers;
840
+ private _types;
767
841
  /**
768
- *
842
+ * Lazy-build widget map from all providers.
769
843
  */
770
- constructor();
771
- register(widget: AXPWidgetConfig): void;
772
- extend(parentName: string, widget: AXPWidgetConfig): void;
773
- resolve(name: string): AXPWidgetConfig | undefined;
844
+ private ensureBuilt;
845
+ resolve(name: string): AXPWidgetConfig;
846
+ /**
847
+ * Registered widget config when present; otherwise `undefined`. Does not throw — use when
848
+ * {@link resolve}'s value may be a non-widget id (e.g. data-source row id in dynamic field configurator).
849
+ */
850
+ getOptional(name: string): AXPWidgetConfig | undefined;
774
851
  all(): AXPWidgetConfig[];
775
852
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRegistryService, never>;
776
853
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetRegistryService>;
@@ -802,8 +879,30 @@ declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponen
802
879
  get renderCellTemplate(): TemplateRef<unknown>;
803
880
  headerTemplate: TemplateRef<unknown>;
804
881
  private _contentHeaderTemplate;
882
+ /**
883
+ * True when the row should show the expand icon: either hasChild is true (from server/initial load)
884
+ * or the row has loaded children (e.g. after refreshItemChildren when children go from 0 to 1).
885
+ */
886
+ protected hasExpandableRow(row: {
887
+ data?: Record<string, unknown>;
888
+ }): boolean;
805
889
  protected handleExpandRow(row: any): Promise<void>;
806
890
  get renderHeaderTemplate(): TemplateRef<unknown>;
891
+ /**
892
+ * Resolves `options.align`: string applies to header and cell; object uses optional `header` / `cell` (default start).
893
+ * Supports designer select values `{ id: 'center' }`.
894
+ */
895
+ protected getHeaderTextAlign(): 'start' | 'center' | 'end';
896
+ /**
897
+ * When true, the cell body uses flex so `justify-content` can place content on the main axis.
898
+ */
899
+ protected getCellUseFlexLayout(): boolean;
900
+ /**
901
+ * Flex `justify-content` for the cell wrapper; omit when not using flex layout.
902
+ */
903
+ protected getCellJustifyContent(): 'start' | 'center' | 'end' | null;
904
+ private resolveAlignForSide;
905
+ private normalizeColumnAlignment;
807
906
  get loadingEnabled(): boolean;
808
907
  get name(): string;
809
908
  private injector;
@@ -862,32 +961,32 @@ declare class AXPWidgetRendererDirective {
862
961
  private injector;
863
962
  protected builderService: AXPWidgetCoreService;
864
963
  protected contextService: {
865
- data: _angular_core.Signal<{}>;
866
- state: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextState>;
964
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
965
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
867
966
  initialSnapshot: _angular_core.Signal<{}>;
868
967
  previousSnapshot: _angular_core.Signal<{}>;
869
- lastChange: _ngrx_signals.DeepSignal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
968
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
870
969
  isChanged: _angular_core.Signal<boolean>;
871
970
  isReset: _angular_core.Signal<boolean>;
872
971
  isInitiated: _angular_core.Signal<boolean>;
873
972
  isEmpty: _angular_core.Signal<boolean>;
874
973
  isDirty: _angular_core.Signal<boolean>;
875
- snapshot: _angular_core.Signal<{}>;
974
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
876
975
  initial: _angular_core.Signal<{}>;
877
976
  previous: _angular_core.Signal<{}>;
878
- changeEvent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent>;
977
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
879
978
  update: (path: string, value: any) => void;
880
- patch: (context: {}) => void;
979
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
881
980
  reset: () => void;
882
981
  set: (initialData: any) => void;
883
982
  getValue: (path: string) => any;
884
983
  hasValue: (path: string) => boolean;
885
984
  } & _ngrx_signals.StateSource<{
886
- data: {};
887
- state: _acorex_platform_layout_widget_core.AXPWidgetCoreContextState;
985
+ data: _acorex_platform_core.AXPContextData;
986
+ state: _acorex_platform_core.AXPContextState;
888
987
  initialSnapshot: {};
889
988
  previousSnapshot: {};
890
- lastChange: _acorex_platform_layout_widget_core.AXPWidgetCoreContextChangeEvent;
989
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
891
990
  }>;
892
991
  protected widgetRegistery: AXPWidgetRegistryService;
893
992
  protected unsubscriber: AXUnsubscriber;
@@ -920,6 +1019,15 @@ declare class AXPWidgetRendererDirective {
920
1019
  private queueContextUpdate;
921
1020
  private processBatchedUpdates;
922
1021
  private isRelevantContextChange;
1022
+ /**
1023
+ * True when a context store path used in an expression (`context.eval`, `context.options`) is
1024
+ * affected by `changedPath`.
1025
+ */
1026
+ private contextStorePathDependsOnChangedPath;
1027
+ /**
1028
+ * Whether an expression template string reads context store paths affected by `changedPath`.
1029
+ */
1030
+ private expressionTextDependsOnContextPath;
923
1031
  private hasExpressionDependency;
924
1032
  private isPathAlias;
925
1033
  private getExpressionValueFromNode;
@@ -952,28 +1060,68 @@ declare class AXPWidgetRendererDirective {
952
1060
 
953
1061
  interface AXPWidgetCoreModuleConfigs {
954
1062
  widgets?: AXPWidgetConfig[];
955
- extendedWidgets?: extendedWidget[];
1063
+ AXPExtendedWidgets?: AXPExtendedWidget[];
956
1064
  }
957
1065
  declare class AXPWidgetCoreModule {
958
- static forRoot(config?: AXPWidgetCoreModuleConfigs): ModuleWithProviders<AXPWidgetCoreModule>;
959
- static forChild(config?: AXPWidgetCoreModuleConfigs): ModuleWithProviders<AXPWidgetCoreModule>;
960
- /**
961
- * @ignore
962
- */
963
- constructor(instances: any[]);
964
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, [{ optional: true; }]>;
965
- 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]>;
1066
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, never>;
1067
+ 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]>;
966
1068
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPWidgetCoreModule>;
967
1069
  }
968
1070
 
1071
+ interface AXPMetaDataFeatures {
1072
+ searchable?: {
1073
+ enabled: boolean;
1074
+ fullText: boolean;
1075
+ };
1076
+ filterable?: {
1077
+ enabled: boolean;
1078
+ inline: boolean;
1079
+ };
1080
+ sortable?: {
1081
+ enabled: boolean;
1082
+ };
1083
+ auditable?: {
1084
+ enabled: boolean;
1085
+ };
1086
+ }
969
1087
  interface AXPMetaDataDefinition {
970
1088
  name: string;
971
1089
  title: string;
972
1090
  defaultValue?: any;
973
1091
  interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
1092
+ features?: AXPMetaDataFeatures;
974
1093
  }
975
1094
 
976
1095
  declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
977
1096
 
978
- 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, 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 };
979
- 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 };
1097
+ declare const AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS: AXPDefinitionCategory;
1098
+ declare const AXP_WIDGETS_EDITOR_SUB_NUMERIC: AXPDefinitionCategory;
1099
+ declare const AXP_WIDGETS_EDITOR_SUB_DATETIME: AXPDefinitionCategory;
1100
+ declare const AXP_WIDGETS_EDITOR_SUB_CHOICE: AXPDefinitionCategory;
1101
+ declare const AXP_WIDGETS_EDITOR_SUB_RICH: AXPDefinitionCategory;
1102
+ declare const AXP_WIDGETS_EDITOR_SUB_VISUAL: AXPDefinitionCategory;
1103
+ declare const AXP_WIDGETS_EDITOR_SUB_COMPOSITE: AXPDefinitionCategory;
1104
+ declare const AXP_WIDGETS_EDITOR_SUB_CONFIG: AXPDefinitionCategory;
1105
+ declare const AXP_WIDGETS_LAYOUT_SUB_SHELL: AXPDefinitionCategory;
1106
+ declare const AXP_WIDGETS_LAYOUT_SUB_GRID: AXPDefinitionCategory;
1107
+ declare const AXP_WIDGETS_LAYOUT_SUB_SURFACES: AXPDefinitionCategory;
1108
+ declare const AXP_WIDGETS_LAYOUT_SUB_TABS: AXPDefinitionCategory;
1109
+ declare const AXP_WIDGETS_LAYOUT_SUB_LISTS: AXPDefinitionCategory;
1110
+ declare const AXP_WIDGETS_LAYOUT_SUB_UTILITY: AXPDefinitionCategory;
1111
+ declare const AXP_WIDGETS_ACTION_SUB_CONTROLS: AXPDefinitionCategory;
1112
+ declare const AXP_WIDGETS_ADVANCE_SUB_MEDIA: AXPDefinitionCategory;
1113
+ declare const AXP_WIDGETS_ADVANCE_SUB_INPUT: AXPDefinitionCategory;
1114
+ declare const AXP_WIDGETS_ADVANCE_SUB_DATA: AXPDefinitionCategory;
1115
+ declare const AXP_WIDGETS_ADVANCE_SUB_TOOLS: AXPDefinitionCategory;
1116
+ /** Normalizes widget categories to an array for iteration and serialization. */
1117
+ declare function normalizeWidgetCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
1118
+ declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPDefinitionCategory;
1119
+ declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPDefinitionCategory;
1120
+ declare const AXP_WIDGETS_ACTION_CATEGORY: AXPDefinitionCategory;
1121
+ declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPDefinitionCategory;
1122
+ /** AI category tab in the widget picker (metadata); unrelated to Widgets:GetForAI listing scope. */
1123
+ declare const AXP_WIDGETS_AI_CATEGORY: AXPDefinitionCategory;
1124
+ declare const AXP_WIDGETS_CATEGORIES: AXPDefinitionCategory[];
1125
+
1126
+ export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, 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_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories };
1127
+ 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 };