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

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,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, EnvironmentProviders, Injector, ErrorHandler, ModuleWithProviders, EventEmitter, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
3
- import { AXStyleColorType, AXDataSourceOperator, AXDataSourceFilterOption } from '@acorex/cdk/common';
3
+ import { AXDataSourceOperator, AXStyleColorType, AXDataSourceFilterOption } from '@acorex/cdk/common';
4
4
  import * as i2 from '@acorex/components/popup';
5
5
  import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
6
6
  import * as i5 from '@acorex/platform/core';
7
- import { AXPValueTransformerFunctions, AXPGridLayoutOptions, AXPValidationRules, AXPSystemActionType, AXPMetaData, AXPOptionsData, AXPLogoConfig, AXPNavigateActionCommand, AXPExecuteCommand, AXPEntityReference, AXPApplicationUserReference, AXPPlatformScopeKey, AXPPlatformScope, AXPWidgetTriggers, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex/platform/core';
8
- import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode } from '@acorex/platform/layout/widget-core';
7
+ import { AXPValueTransformerFunctions, AXPMultiLanguageString, AXPOptionsData, AXPExpression, AXPFilterDefinition, AXPMetaData, AXPSystemActionType, AXPValidationRules, AXPGridLayoutOptions, AXPLogoConfig, AXPFileListItem, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPExecuteCommand, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPWidgetTriggers, AXPPlatformScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from '@acorex/platform/core';
8
+ import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode, AXPWidgetProperty } from '@acorex/platform/layout/widget-core';
9
9
  import * as i6 from '@angular/router';
10
10
  import { Route, Routes } from '@angular/router';
11
11
  import * as i1 from '@acorex/platform/workflow';
@@ -38,7 +38,6 @@ interface AXEntityPropertyWidget {
38
38
  type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
39
39
  path?: string;
40
40
  id?: string;
41
- formula?: string;
42
41
  children?: AXEntityPropertyWidget[];
43
42
  mode: 'view' | 'edit';
44
43
  options?: Record<string, any>;
@@ -81,6 +80,7 @@ interface AXPEntityPropertyLayoutConfig extends AXPGridLayoutOptions {
81
80
  visible?: boolean;
82
81
  };
83
82
  order?: number;
83
+ visible?: boolean | AXPExpression;
84
84
  }
85
85
  interface AXPEntityPropertyGroup {
86
86
  id: string;
@@ -102,8 +102,6 @@ interface AXPEntityPropertyCreateView extends AXPEntityPropertyView {
102
102
  }
103
103
  interface AXPEntitySectionView {
104
104
  id: string;
105
- icon?: string;
106
- description?: string;
107
105
  order?: number;
108
106
  collapsed?: boolean;
109
107
  layout?: AXPEntityPropertyLayoutConfig;
@@ -133,6 +131,10 @@ interface AXPEntityProperty {
133
131
  inline?: {
134
132
  enabled?: boolean;
135
133
  };
134
+ preload?: {
135
+ enabled?: boolean;
136
+ required?: boolean;
137
+ };
136
138
  };
137
139
  sort?: {
138
140
  enabled?: boolean;
@@ -140,6 +142,16 @@ interface AXPEntityProperty {
140
142
  };
141
143
  validations?: AXPValidationRules;
142
144
  }
145
+ /** Logical alignment for table column header/cell (respects RTL). */
146
+ type AXPColumnContentAlign = 'start' | 'center' | 'end';
147
+ /**
148
+ * Column alignment: shorthand applies to both header and cell;
149
+ * object form sets each side independently (omitted keys default to start).
150
+ */
151
+ type AXPColumnAlign = AXPColumnContentAlign | {
152
+ header?: AXPColumnContentAlign;
153
+ cell?: AXPColumnContentAlign;
154
+ };
143
155
  interface AXPEntityTableColumn {
144
156
  name: string;
145
157
  title?: string;
@@ -153,9 +165,14 @@ interface AXPEntityTableColumn {
153
165
  dir?: 'asc' | 'desc';
154
166
  };
155
167
  options?: {
156
- visible?: boolean;
168
+ /** When string, evaluate against parent detail context (e.g. related list). */
169
+ visible?: boolean | string;
170
+ /** Initial column width (overrides widget column width when set). */
157
171
  width?: string;
172
+ /** Optional dataPath override for column binding. */
158
173
  dataPath?: string;
174
+ /** Header/cell alignment (shorthand or per-side). */
175
+ align?: AXPColumnAlign;
159
176
  [name: string]: any;
160
177
  };
161
178
  }
@@ -198,7 +215,7 @@ interface AXPCommandActionDisplay extends Partial<AXPCommandActionLook> {
198
215
  command: AXPCommandActionCallback;
199
216
  title: string;
200
217
  type: AXPSystemActionType | string;
201
- priority: 'primary' | 'secondary';
218
+ priority: 'primary' | 'secondary' | 'none';
202
219
  separated?: boolean;
203
220
  permissions?: string[];
204
221
  hidden?: boolean | string;
@@ -208,12 +225,31 @@ interface AXPCommandActionDisplay extends Partial<AXPCommandActionLook> {
208
225
  }
209
226
  interface AXPEntityAction extends AXPCommandActionDisplay {
210
227
  scope: AXPEntityCommandScope;
228
+ /** Child actions for dropdown submenu */
229
+ items?: AXPEntityAction[];
211
230
  }
212
231
  interface AXPEntity {
213
232
  plugins?: {
214
233
  name: string;
215
234
  options?: AXPOptionsData;
216
235
  }[];
236
+ /**
237
+ * High-level rules: when expression evaluates true, apply actions to the given targets
238
+ * (property/section/action). Reduces repetition of the same condition across many properties.
239
+ * Evaluation context: form data, user, entity; precedence vs property-level visible/readonly
240
+ * must be defined where rules are applied.
241
+ */
242
+ rules?: Array<{
243
+ name: string;
244
+ expression: AXPExpression;
245
+ actions: Array<{
246
+ target: {
247
+ type: 'property' | 'section' | 'action';
248
+ name: string;
249
+ };
250
+ values: AXPOptionsData;
251
+ }>;
252
+ }>;
217
253
  module: string;
218
254
  name: string;
219
255
  icon?: string;
@@ -231,6 +267,7 @@ interface AXPEntity {
231
267
  };
232
268
  };
233
269
  relatedEntities?: AXPRelatedEntity[];
270
+ pages?: AXPEntityPage[];
234
271
  groups?: AXPEntityPropertyGroup[];
235
272
  properties: AXPEntityProperty[];
236
273
  columns?: AXPEntityTableColumn[];
@@ -284,15 +321,30 @@ interface AXPRelatedEntity {
284
321
  entity: string;
285
322
  title?: string;
286
323
  icon?: string;
287
- columns?: string[];
324
+ columns?: string[] | AXPEntityTableColumn[];
325
+ properties?: string[];
326
+ excludeProperties?: string[];
288
327
  layout?: {
289
328
  type: 'tab-detail' | 'tab-list' | 'page-detail' | 'page-list' | 'merge-detail';
290
329
  order?: number;
291
330
  position?: 'before' | 'after' | 'middle';
292
331
  };
293
332
  conditions?: AXPQueryFilter[];
294
- hidden?: boolean | string;
333
+ customFilterDefinitions?: Partial<AXPFilterDefinition>[];
334
+ hidden?: boolean | AXPExpression;
295
335
  actions?: AXPEntityAction[];
336
+ /**
337
+ * Controls inclusion on the host entity master **create** / **update** form.
338
+ * Defaults depend on layout:
339
+ * - **merge-detail**: omitted flags behave as **true** (opt-out with `false`).
340
+ * - **tab-list** / **page-list**: omitted flags behave as **false** (opt-in with `true`).
341
+ */
342
+ appearOn?: {
343
+ /** Include on host create form (see defaults above per layout type). */
344
+ create?: boolean;
345
+ /** Include on host update form (see defaults above per layout type). */
346
+ update?: boolean;
347
+ };
296
348
  /**
297
349
  * Relationship-level persistence strategy for merge-detail data.
298
350
  * Defaults:
@@ -311,8 +363,54 @@ interface AXPRelatedEntity {
311
363
  cascade?: {
312
364
  delete?: 'none' | 'orphans' | 'all';
313
365
  };
366
+ foreignKeyField?: string;
314
367
  };
315
368
  }
369
+ interface AXPEntityPage {
370
+ /**
371
+ * Key to identify the component in the page component registry
372
+ */
373
+ componentKey: string;
374
+ /**
375
+ * Property name to render when the page component displays an entity field (e.g. 'questions', 'attachments').
376
+ * Passed to the page component as pageConfig.field.
377
+ */
378
+ field?: string;
379
+ /**
380
+ * Title of the page (displayed in navigation)
381
+ */
382
+ title?: AXPMultiLanguageString;
383
+ /**
384
+ * Icon for the page (displayed in navigation)
385
+ */
386
+ icon?: string;
387
+ /**
388
+ * Description of the page
389
+ */
390
+ description?: AXPMultiLanguageString;
391
+ /**
392
+ * Layout configuration for page positioning
393
+ */
394
+ layout?: {
395
+ /**
396
+ * Order of the page (lower numbers appear first)
397
+ */
398
+ order?: number;
399
+ /**
400
+ * Position relative to the main page
401
+ */
402
+ position?: 'before' | 'after' | 'middle';
403
+ };
404
+ /**
405
+ * Visibility condition (boolean or expression string)
406
+ */
407
+ hidden?: boolean | string;
408
+ /**
409
+ * Permissions required to view this page
410
+ */
411
+ permissions?: string[];
412
+ options?: Record<string, any>;
413
+ }
316
414
  interface AXPCategoryEntity {
317
415
  entity: string;
318
416
  title?: string;
@@ -329,18 +427,18 @@ interface AXPEntityVersionHistory {
329
427
  interface AXPAggregate {
330
428
  id: string;
331
429
  name: string;
332
- title: string;
430
+ title: AXPMultiLanguageString;
333
431
  entities: AXPEntity[];
334
432
  }
335
433
  interface AXPModule {
336
434
  name: string;
337
- title: string;
435
+ title: AXPMultiLanguageString;
338
436
  aggregates: AXPAggregate[];
339
437
  relationships?: AXPRelationship[];
340
438
  }
341
439
  interface AXPApplication {
342
440
  name: string;
343
- title: string;
441
+ title: AXPMultiLanguageString;
344
442
  modules: AXPModule[];
345
443
  }
346
444
  interface AXPEntityMasterLayoutView {
@@ -348,12 +446,23 @@ interface AXPEntityMasterLayoutView {
348
446
  sections: AXPEntitySectionView[];
349
447
  properties?: AXPEntityPropertyView[];
350
448
  }
449
+ /** Quick create config for lookup widgets (+ button) - uses subset of create form */
450
+ interface AXPEntityQuickCreate {
451
+ enabled?: boolean;
452
+ properties?: string[];
453
+ layout?: {
454
+ size?: AXPopupSizeType;
455
+ };
456
+ excludeProperties?: string[];
457
+ }
351
458
  interface AXPEntityMasterCreateLayoutView extends AXPEntityMasterLayoutView {
352
459
  steps?: {
353
460
  id: string;
354
461
  title: string;
355
462
  description?: string;
356
463
  };
464
+ /** Quick create config for lookup widgets - uses subset of create form */
465
+ quickCreate?: AXPEntityQuickCreate;
357
466
  }
358
467
  interface AXPEntityMasterUpdateLayoutView extends AXPEntityMasterLayoutView {
359
468
  }
@@ -367,6 +476,12 @@ interface AXPEntityMasterListView {
367
476
  description?: string;
368
477
  actions?: AXPEntityAction[];
369
478
  views: AXPQueryView[];
479
+ layouts?: {
480
+ table?: {
481
+ columns: AXPEntityTableColumn[];
482
+ };
483
+ card?: {};
484
+ };
370
485
  }
371
486
  interface AXPEntityDetailListView {
372
487
  title?: string;
@@ -394,6 +509,51 @@ interface AXPQuerySort {
394
509
  name: string;
395
510
  dir: 'asc' | 'desc';
396
511
  }
512
+ declare enum AXPEntityType {
513
+ Entity = 0,
514
+ AggregateRoot = 1,
515
+ ValueObject = 2
516
+ }
517
+ interface AXPEntityV2 {
518
+ version: 2;
519
+ module: string;
520
+ aggregate: string;
521
+ name: string;
522
+ type: AXPEntityType;
523
+ icon?: string;
524
+ title: string;
525
+ description?: string;
526
+ plugins?: {
527
+ name: string;
528
+ options?: AXPOptionsData;
529
+ }[];
530
+ pages?: AXPEntityPage[];
531
+ groups?: AXPEntityPropertyGroup[];
532
+ properties: AXPEntityProperty[];
533
+ formats: {
534
+ individual: string;
535
+ plural: string;
536
+ lookup?: string;
537
+ displayName?: string;
538
+ searchResult?: {
539
+ title: string;
540
+ description?: string;
541
+ };
542
+ };
543
+ columns?: AXPEntityTableColumn[];
544
+ validations?: AXPValidationRules;
545
+ interfaces?: {
546
+ master?: {
547
+ single?: AXPEntityMasterSingleLayoutView;
548
+ list?: AXPEntityMasterListView;
549
+ create?: AXPEntityMasterCreateLayoutView;
550
+ update?: AXPEntityMasterUpdateLayoutView;
551
+ };
552
+ detail?: {
553
+ list?: AXPEntityDetailListView;
554
+ };
555
+ };
556
+ }
397
557
 
398
558
  interface AXPFilterOperator {
399
559
  name: string;
@@ -530,7 +690,14 @@ declare function configPlatform(config?: Partial<AXPPlatformConfigs>): AXPPlatfo
530
690
 
531
691
  declare enum AXPCommonSettings {
532
692
  EnableOperationToasts = "Common:Setting:Notifications.EnableOperationToasts",
533
- EntityFilterApplyMode = "Common:Setting:Entity.FilterApplyMode"
693
+ EntityFilterApplyMode = "Common:Setting:Entity.FilterApplyMode",
694
+ ShowCategoryColumnsByDefault = "Common:Setting:Entity.ShowCategoryColumnsByDefault",
695
+ ApplyLayoutOrdering = "Common:Setting:Entity.ApplyLayoutOrdering",
696
+ RedirectToDetailsAfterCreate = "Common:Setting:Entity.RedirectToDetailsAfterCreate",
697
+ ShowPageBadge = "Common:Setting:Entity.ShowPageBadge",
698
+ DebugMode = "PlatformDevTools:Setting:Developer.DebugMode",
699
+ ShowRowIndexColumn = "Common:Setting:Entity.ShowRowIndexColumn",
700
+ EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode"
534
701
  }
535
702
 
536
703
  declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
@@ -669,16 +836,16 @@ interface AXPFileStorageUpdateRequest {
669
836
  }
670
837
  interface AXPFileManyStorageInfo {
671
838
  /**
672
- * The unique identifier for the stored file.
673
- */
839
+ * The unique identifier for the stored file.
840
+ */
674
841
  id?: string;
675
842
  /**
676
843
  * The unique identifier for the stored file.
677
844
  */
678
845
  fileId: string;
679
846
  /**
680
- * The unique identifier of referenced entity.
681
- */
847
+ * The unique identifier of referenced entity.
848
+ */
682
849
  refId: string;
683
850
  /**
684
851
  * The type of the referenced entity.
@@ -692,6 +859,18 @@ interface AXPFileManyStorageInfo {
692
859
  * The name of the file.
693
860
  */
694
861
  name?: string;
862
+ /**
863
+ * The URL where the file can be accessed.
864
+ */
865
+ url?: string;
866
+ /**
867
+ * Optional title (e.g. for display in file list).
868
+ */
869
+ title?: string;
870
+ /**
871
+ * Optional description (e.g. for display in file list).
872
+ */
873
+ description?: string;
695
874
  }
696
875
  /**
697
876
  * Represents information about a file stored in the AXP file storage system.
@@ -850,6 +1029,175 @@ declare abstract class AXPFileStorageService {
850
1029
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileStorageService>;
851
1030
  }
852
1031
 
1032
+ /**
1033
+ * Capabilities API provided to file action providers.
1034
+ * These methods allow actions to interact with the file uploader widget.
1035
+ */
1036
+ interface AXCFileUploaderCapabilities {
1037
+ /**
1038
+ * Get all current files in the uploader.
1039
+ */
1040
+ getFiles: () => AXPFileListItem[];
1041
+ /**
1042
+ * Replace all files in the uploader.
1043
+ */
1044
+ setFiles: (files: AXPFileListItem[]) => void;
1045
+ /**
1046
+ * Add new files to the uploader.
1047
+ */
1048
+ addFiles: (files: AXPFileListItem[]) => void;
1049
+ /**
1050
+ * Update files matching a predicate.
1051
+ */
1052
+ updateFile: (predicate: (f: AXPFileListItem) => boolean, updater: (f: AXPFileListItem) => AXPFileListItem) => void;
1053
+ /**
1054
+ * Remove a file from the uploader.
1055
+ */
1056
+ removeFile: (file: AXPFileListItem) => void;
1057
+ /**
1058
+ * Clear all files from the uploader.
1059
+ */
1060
+ clear: () => void;
1061
+ /**
1062
+ * Get a file by its ID.
1063
+ */
1064
+ getFileById: (id: string) => AXPFileListItem | undefined;
1065
+ /**
1066
+ * Update a file by its ID.
1067
+ */
1068
+ updateFileById: (id: string, next: Partial<AXPFileListItem>) => void;
1069
+ }
1070
+ /**
1071
+ * A file uploader action that can be added by providers.
1072
+ */
1073
+ interface AXCFileUploaderAction {
1074
+ /**
1075
+ * Unique identifier for the action/plugin.
1076
+ */
1077
+ plugin: string;
1078
+ /**
1079
+ * Whether this action is global (available even if plugin is not explicitly enabled).
1080
+ */
1081
+ global?: boolean;
1082
+ /**
1083
+ * Display text for the action (optional if textKey is provided).
1084
+ */
1085
+ text?: string;
1086
+ /**
1087
+ * Translation key for the action text (optional if text is provided).
1088
+ */
1089
+ textKey?: string;
1090
+ /**
1091
+ * Icon class for the action (e.g., 'fa-light fa-file-arrow-up').
1092
+ */
1093
+ icon?: string;
1094
+ /**
1095
+ * Action execution handler.
1096
+ * Receives capabilities to interact with the file uploader.
1097
+ * @param capabilities The capabilities API for file operations.
1098
+ */
1099
+ run: (capabilities: AXCFileUploaderCapabilities) => void | Promise<void>;
1100
+ }
1101
+ /**
1102
+ * Payload passed to file action providers.
1103
+ */
1104
+ interface AXCFileUploaderActionsPayload {
1105
+ /**
1106
+ * Enabled plugins configuration.
1107
+ */
1108
+ plugins: {
1109
+ name: string;
1110
+ options?: unknown;
1111
+ }[];
1112
+ /**
1113
+ * List of plugin names to exclude.
1114
+ */
1115
+ excludePlugins: string[];
1116
+ /**
1117
+ * Capabilities API for interacting with the file uploader.
1118
+ */
1119
+ capabilities: AXCFileUploaderCapabilities;
1120
+ /**
1121
+ * Current list of actions (providers can add to this array).
1122
+ */
1123
+ actions: AXCFileUploaderAction[];
1124
+ /**
1125
+ * Widget options (optional, for accessing widget-specific settings).
1126
+ */
1127
+ options?: {
1128
+ /**
1129
+ * Whether multiple files are allowed.
1130
+ */
1131
+ multiple?: boolean;
1132
+ /**
1133
+ * Accepted file types (e.g., '.jpg,.png' or 'image/*').
1134
+ */
1135
+ accept?: string;
1136
+ };
1137
+ }
1138
+
1139
+ /**
1140
+ * Type for file action provider token (supports both direct and async providers).
1141
+ */
1142
+ type AXPFileActionProviderToken = AXPFileActionProvider | Promise<AXPFileActionProvider>;
1143
+ /**
1144
+ * File action provider interface.
1145
+ * Providers can add actions to the file uploader widget.
1146
+ */
1147
+ interface AXPFileActionProvider {
1148
+ /**
1149
+ * Unique key identifying this provider.
1150
+ * Should match the webhook key for backward compatibility: 'file-uploader.actions'
1151
+ */
1152
+ key: string;
1153
+ /**
1154
+ * Execute the provider to add actions.
1155
+ * @param payload The payload containing capabilities and current actions.
1156
+ * @returns The modified payload with new actions added.
1157
+ */
1158
+ execute(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderActionsPayload> | AXCFileUploaderActionsPayload;
1159
+ /**
1160
+ * Priority for execution order (lower numbers execute first).
1161
+ * Defaults to 0 if not specified.
1162
+ */
1163
+ priority?: number;
1164
+ }
1165
+ /**
1166
+ * Multi-provider injection token for file action providers.
1167
+ * Modules can provide multiple implementations using this token.
1168
+ */
1169
+ declare const AXP_FILE_ACTION_PROVIDER: InjectionToken<AXPFileActionProviderToken[]>;
1170
+
1171
+ /**
1172
+ * Service for managing file uploader actions.
1173
+ * Aggregates actions from multiple providers and filters them based on plugin configuration.
1174
+ * Wraps the hook system for backward compatibility.
1175
+ */
1176
+ declare class AXPFileActionsService {
1177
+ private readonly actionProviders;
1178
+ private readonly hookService;
1179
+ private readonly injector;
1180
+ /**
1181
+ * Get all actions from providers, filtered based on plugin configuration.
1182
+ * Wraps the hook system for backward compatibility.
1183
+ * @param payload Initial payload with capabilities and plugin configuration.
1184
+ * @returns Filtered list of actions.
1185
+ */
1186
+ getActions(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderAction[]>;
1187
+ /**
1188
+ * Resolve all providers (handle both direct providers and Promise<provider>).
1189
+ */
1190
+ private resolveProviders;
1191
+ /**
1192
+ * Filter actions based on enabled plugins and exclude list.
1193
+ */
1194
+ private filterActions;
1195
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileActionsService, never>;
1196
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileActionsService>;
1197
+ }
1198
+
1199
+ declare const UploadFromComputerActionProvider: AXPFileActionProvider;
1200
+
853
1201
  interface AXPFileType {
854
1202
  /**
855
1203
  * The unique identifier for the file type.
@@ -929,16 +1277,23 @@ declare class AXPStickyDirective {
929
1277
  private _isSticky;
930
1278
  get isSticky(): boolean;
931
1279
  set isSticky(value: boolean);
932
- private topOffset;
933
1280
  private parentElement;
934
1281
  private targetElement;
935
1282
  private mutationObserver;
1283
+ private readonly onWindowResize;
936
1284
  stickyParent: string | HTMLElement;
937
1285
  stickyTarget: string;
938
1286
  constructor(element: ElementRef<HTMLDivElement>, renderer: Renderer2, zone: NgZone, cdr: ChangeDetectorRef);
939
1287
  ngAfterViewInit(): void;
940
1288
  private initSticky;
941
- private updateTopOffset;
1289
+ private getScrollTop;
1290
+ /**
1291
+ * Toggle stuck styling only while this element is visually pinned (matches `position: sticky; top: 0`).
1292
+ * Scroll-offset thresholds would stay true for every section already passed, so multiple stacked stickies
1293
+ * would all keep `--stuck`; geometry fixes that.
1294
+ */
1295
+ private computeShouldStick;
1296
+ private applyStickyStateFromScrollPosition;
942
1297
  private onParentScroll;
943
1298
  private toggleStickyClasses;
944
1299
  ngOnDestroy(): void;
@@ -946,6 +1301,18 @@ declare class AXPStickyDirective {
946
1301
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXPStickyDirective, "[axpSticky]", ["axpSticky"], { "stickyClass": { "alias": "axpSticky"; "required": false; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; }; "stickyParent": { "alias": "stickyParent"; "required": false; }; "stickyTarget": { "alias": "stickyTarget"; "required": false; }; }, { "isStickyChange": "isStickyChange"; }, never, never, true, never>;
947
1302
  }
948
1303
 
1304
+ /**
1305
+ * Registered menu items (raw tree flattened) for select widgets via dataSource name {@link MENU_ITEMS_DATASOURCE_NAME}.
1306
+ */
1307
+ declare const MENU_ITEMS_DATASOURCE_NAME = "platform-menu-items";
1308
+ /**
1309
+ * Data source definition for menu items from {@link AXPMenuProviderService#rawItems}.
1310
+ */
1311
+ declare class AXPMenuItemsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
1312
+ private readonly menuProviderService;
1313
+ items(): Promise<AXPDataSourceDefinition[]>;
1314
+ }
1315
+
949
1316
  type AXPMenuInsertion = 'before' | 'after' | 'inside';
950
1317
  type AXPMenuType = 'menu' | 'group' | 'break';
951
1318
  type AXPMenuItemCommand = AXPNavigateActionCommand<'modal' | 'router'> | AXPExecuteCommand;
@@ -973,6 +1340,12 @@ interface AXPMenuFinderResult {
973
1340
  remove(): void;
974
1341
  update(updatedItem: Partial<AXPMenuItem>): void;
975
1342
  addItems(items: AXPMenuItem[]): void;
1343
+ /**
1344
+ * Moves the item matched by the current `find` target to another place in the tree.
1345
+ * @param destination Name of the target menu item (group or item).
1346
+ * @param position `inside` — child of `destination` (default). `before` / `after` — sibling of `destination` in its parent's list.
1347
+ */
1348
+ moveTo(destination: string, position?: AXPMenuInsertion): void;
976
1349
  }
977
1350
  interface AXPMenuProviderContext {
978
1351
  addItems(items: AXPMenuItem[]): void;
@@ -991,6 +1364,7 @@ declare class AXPMenuProviderService {
991
1364
  private pendingRemovals;
992
1365
  private pendingUpdates;
993
1366
  private pendingAdditions;
1367
+ private pendingMoves;
994
1368
  /**
995
1369
  * Observable for menu reload events
996
1370
  * Emits when menu cache is cleared and consumers should reload
@@ -1025,6 +1399,8 @@ declare class AXPMenuProviderService {
1025
1399
  * Find menu item by name in the items tree (recursive search)
1026
1400
  */
1027
1401
  private findItemByName;
1402
+ private applyPendingMove;
1403
+ private itemIsInSubtreeOf;
1028
1404
  /**
1029
1405
  * Merge new item properties into existing item, handling children merge
1030
1406
  */
@@ -1328,8 +1704,8 @@ interface AXPSearchResult {
1328
1704
  id?: string;
1329
1705
  group: string;
1330
1706
  data?: any;
1331
- title?: string;
1332
- description?: string;
1707
+ title?: string | AXPMultiLanguageString;
1708
+ description?: string | AXPMultiLanguageString;
1333
1709
  icon?: string;
1334
1710
  command: AXPExecuteCommand;
1335
1711
  parent?: AXPSearchParentResult;
@@ -1345,8 +1721,8 @@ interface AXPSearchDisplayResult {
1345
1721
  definitionName?: string;
1346
1722
  definitionTitle?: string;
1347
1723
  name: string;
1348
- title: string;
1349
- description?: string;
1724
+ title: string | AXPMultiLanguageString;
1725
+ description?: string | AXPMultiLanguageString;
1350
1726
  icon: string;
1351
1727
  data?: any;
1352
1728
  order?: any;
@@ -1418,6 +1794,7 @@ interface AXPSearchProvider {
1418
1794
  search(text: string): Promise<AXPSearchResult[]>;
1419
1795
  }
1420
1796
  declare abstract class AXPSearchCommandProvider {
1797
+ private readonly translationService;
1421
1798
  abstract commands: AXPSearchResult[];
1422
1799
  search(text: string): Promise<AXPSearchResult[]>;
1423
1800
  }
@@ -1427,11 +1804,39 @@ declare class AXPSearchService {
1427
1804
  private providers;
1428
1805
  private definitionService;
1429
1806
  private formatService;
1807
+ private translationService;
1430
1808
  search(text: string): Promise<AXPSearchDisplayGroupResult[]>;
1431
1809
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchService, never>;
1432
1810
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchService>;
1433
1811
  }
1434
1812
 
1813
+ /**
1814
+ * Shared utility for creating Entity:Create command options used in search command providers.
1815
+ * Use with command: { name: 'Entity:Create', options: createEntityCommandOptions(...) }
1816
+ */
1817
+ declare function createEntityCommandOptions(entityKey: string, entityInfo: {
1818
+ name: string;
1819
+ module: string;
1820
+ title: string;
1821
+ }): Record<string, unknown>;
1822
+ /**
1823
+ * Creates a search command for "Create {Entity}" with consistent i18n pattern.
1824
+ * Use titleKey/descriptionKey from module (e.g. @module:entity.permissions.create.title).
1825
+ * Standard: "Create {Entity}" for title, "Create new {entities}" for description.
1826
+ */
1827
+ declare function createEntitySearchCommand(config: {
1828
+ id: string;
1829
+ entityKey: string;
1830
+ entityInfo: {
1831
+ name: string;
1832
+ module: string;
1833
+ title: string;
1834
+ };
1835
+ titleKey: string;
1836
+ descriptionKey?: string;
1837
+ icon: string;
1838
+ }): AXPSearchResult;
1839
+
1435
1840
  declare class AXPMenuSearchDefinitionProvider implements AXPSearchDefinitionProvider {
1436
1841
  provide(context: AXPSearchDefinitionProviderContext): Promise<void>;
1437
1842
  }
@@ -1504,6 +1909,105 @@ declare abstract class AXPLockService {
1504
1909
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPLockService>;
1505
1910
  }
1506
1911
 
1912
+ /**
1913
+ * Synchronous access to default multi-language behavior for named entity fields and widget
1914
+ * property bindings. Mirrors {@link AXPLayoutOrderingConfigService}: avoids async in entity
1915
+ * modifiers and startup deadlocks.
1916
+ */
1917
+ declare class AXPDefaultMultiLanguageConfigService {
1918
+ private readonly settingsService;
1919
+ private readonly _applyDefault;
1920
+ private syncScheduled;
1921
+ constructor();
1922
+ getApplyDefaultMultiLanguage(): boolean;
1923
+ private syncFromSettings;
1924
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDefaultMultiLanguageConfigService, never>;
1925
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultMultiLanguageConfigService>;
1926
+ }
1927
+
1928
+ /**
1929
+ * Shared multi-language defaults for entity properties and widget property bindings.
1930
+ *
1931
+ * **Circular dependencies:** use only `import type` for `AXPWidgetProperty` and
1932
+ * `AXPEntityProperty` so this module has no runtime imports from widget-core or application
1933
+ * types — `@acorex/platform/layout/widget-core` does not import `@acorex/platform/common`.
1934
+ */
1935
+
1936
+ /**
1937
+ * Widget types that support the multiLanguage option (text / rich text editors).
1938
+ */
1939
+ declare const MULTILANGUAGE_CAPABLE_WIDGET_TYPES: Set<string>;
1940
+ /**
1941
+ * Common property names / binding path segments that are usually translatable when the feature is
1942
+ * enabled in settings. Explicit `multiLanguage` on the property still wins.
1943
+ */
1944
+ declare const DEFAULT_MULTILANGUAGE_FIELD_NAMES: Set<string>;
1945
+ declare function shouldApplyDefaultMultiLanguageToEntityProperty(prop: AXPEntityProperty): boolean;
1946
+ declare function shouldApplyDefaultMultiLanguageToWidgetProperty(prop: AXPWidgetProperty): boolean;
1947
+ /**
1948
+ * Leaf widget nodes in entity `schema.interface` trees (e.g. GridLayout → RichText under `pre` /
1949
+ * `post`) — same path/type rules as {@link shouldApplyDefaultMultiLanguageToWidgetProperty}, without
1950
+ * `schema.dataType` (nodes do not carry entity schema).
1951
+ */
1952
+ declare function shouldApplyDefaultMultiLanguageToWidgetNode(node: AXPWidgetNode): boolean;
1953
+ /**
1954
+ * When {@link AXPDefaultMultiLanguageConfigService#getApplyDefaultMultiLanguage} is true, sets
1955
+ * `options.multiLanguage` on eligible editor leaves inside an entity property's widget tree
1956
+ * (including nested layouts). Used by entity middleware so object fields (e.g. `pre`, `post`) are
1957
+ * covered, not only top-level string properties.
1958
+ */
1959
+ declare function withDefaultMultiLanguageOnWidgetNodeTree(root: AXPWidgetNode | undefined | null, applyDefault: boolean): AXPWidgetNode | undefined | null;
1960
+ /**
1961
+ * When {@link AXPDefaultMultiLanguageConfigService#getApplyDefaultMultiLanguage} is true, sets
1962
+ * `schema.interface.options.multiLanguage` for eligible string widget properties (same rules as
1963
+ * entity middleware), unless the property already specifies `multiLanguage`.
1964
+ */
1965
+ declare function withDefaultMultiLanguageOnWidgetProperty(prop: AXPWidgetProperty, applyDefault: boolean): AXPWidgetProperty;
1966
+
1967
+ declare class AXPSettingDefinitionProviderContext {
1968
+ private rootGroups;
1969
+ private groupMap;
1970
+ addGroup(name: string, title: string, description?: string, icon?: string, pageTitle?: string): AXPSettingDefinitionGroupBuilder;
1971
+ group(name: string): AXPSettingDefinitionGroupBuilder | null;
1972
+ getGroups(): AXPSettingDefinitionGroup[];
1973
+ hasGroup(name: string): boolean;
1974
+ getGroup(name: string): AXPSettingDefinitionGroup | undefined;
1975
+ }
1976
+ declare class AXPSettingDefinitionGroupBuilder {
1977
+ private context;
1978
+ private group;
1979
+ constructor(context: AXPSettingDefinitionProviderContext, group: AXPSettingDefinitionGroup);
1980
+ addSection(name: string, title: string, description?: string): AXPSettingDefinitionSectionBuilder;
1981
+ section(name: string): AXPSettingDefinitionSectionBuilder | null;
1982
+ addGroup(name: string, title: string, description?: string, icon?: string, pageTitle?: string): AXPSettingDefinitionGroupBuilder;
1983
+ endGroup(): AXPSettingDefinitionProviderContext;
1984
+ }
1985
+ declare class AXPSettingDefinitionSectionBuilder {
1986
+ private groupBuilder;
1987
+ private section;
1988
+ constructor(groupBuilder: AXPSettingDefinitionGroupBuilder, section: AXPSettingDefinitionSection);
1989
+ addSetting(setting: {
1990
+ key: string;
1991
+ title: string;
1992
+ scope: AXPPlatformScopeKey;
1993
+ widget: {
1994
+ type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
1995
+ options?: AXPOptionsData;
1996
+ triggers?: AXPWidgetTriggers;
1997
+ layout?: AXPGridLayoutOptions;
1998
+ };
1999
+ description?: string;
2000
+ searchTagKeys?: string[];
2001
+ isRequired?: boolean;
2002
+ isInherited?: boolean;
2003
+ isEncrypted?: boolean;
2004
+ defaultValue?: unknown;
2005
+ valueTransforms?: AXPValueTransformerFunctions;
2006
+ validationRules?: AXPValidationRules;
2007
+ }): this;
2008
+ endSection(): AXPSettingDefinitionGroupBuilder;
2009
+ }
2010
+
1507
2011
  interface AXPSettingValueProvider {
1508
2012
  get scope(): AXPPlatformScope;
1509
2013
  load(): Promise<AXPSettingValue[]>;
@@ -1534,6 +2038,8 @@ interface AXPSettingDefinition {
1534
2038
  name: string;
1535
2039
  title: string;
1536
2040
  description?: string;
2041
+ /** Optional i18n keys (e.g. `@scope:key`) whose translated values are included in settings search. */
2042
+ searchTagKeys?: string[];
1537
2043
  widget: AXPWidgetNode;
1538
2044
  layout?: AXPGridLayoutOptions;
1539
2045
  scope: AXPPlatformScopeKey;
@@ -1545,7 +2051,10 @@ interface AXPSettingDefinition {
1545
2051
  }
1546
2052
  interface AXPSettingDefinitionGroup {
1547
2053
  name: string;
2054
+ /** Short label (e.g. sidebar); i18n key when using the translation pipe. */
1548
2055
  title: string;
2056
+ /** Optional fuller page heading; i18n key. When omitted, `title` is used for the page header. */
2057
+ pageTitle?: string;
1549
2058
  icon?: string;
1550
2059
  description?: string;
1551
2060
  groups: AXPSettingDefinitionGroup[];
@@ -1567,49 +2076,6 @@ interface AXPGroupSearchResult {
1567
2076
  groups: AXPSettingDefinitionGroup[] | null;
1568
2077
  }
1569
2078
 
1570
- declare class AXPSettingDefinitionProviderContext {
1571
- private rootGroups;
1572
- private groupMap;
1573
- addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
1574
- group(name: string): AXPSettingDefinitionGroupBuilder | null;
1575
- getGroups(): AXPSettingDefinitionGroup[];
1576
- hasGroup(name: string): boolean;
1577
- getGroup(name: string): AXPSettingDefinitionGroup | undefined;
1578
- }
1579
- declare class AXPSettingDefinitionGroupBuilder {
1580
- private context;
1581
- private group;
1582
- constructor(context: AXPSettingDefinitionProviderContext, group: AXPSettingDefinitionGroup);
1583
- addSection(name: string, title: string, description?: string): AXPSettingDefinitionSectionBuilder;
1584
- section(name: string): AXPSettingDefinitionSectionBuilder | null;
1585
- addGroup(name: string, title: string, description?: string, icon?: string): AXPSettingDefinitionGroupBuilder;
1586
- endGroup(): AXPSettingDefinitionProviderContext;
1587
- }
1588
- declare class AXPSettingDefinitionSectionBuilder {
1589
- private groupBuilder;
1590
- private section;
1591
- constructor(groupBuilder: AXPSettingDefinitionGroupBuilder, section: AXPSettingDefinitionSection);
1592
- addSetting(setting: {
1593
- key: string;
1594
- title: string;
1595
- scope: AXPPlatformScopeKey;
1596
- widget: {
1597
- type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
1598
- options?: AXPOptionsData;
1599
- triggers?: AXPWidgetTriggers;
1600
- layout?: AXPGridLayoutOptions;
1601
- };
1602
- description?: string;
1603
- isRequired?: boolean;
1604
- isInherited?: boolean;
1605
- isEncrypted?: boolean;
1606
- defaultValue?: unknown;
1607
- valueTransforms?: AXPValueTransformerFunctions;
1608
- validationRules?: AXPValidationRules;
1609
- }): this;
1610
- endSection(): AXPSettingDefinitionGroupBuilder;
1611
- }
1612
-
1613
2079
  interface AXPSettingDefinitionProvider {
1614
2080
  provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
1615
2081
  }
@@ -1622,6 +2088,7 @@ declare class AXPSettingDefinitionProviderService {
1622
2088
  getListAsync(scope: AXPPlatformScopeKey): Promise<AXPSettingDefinitionGroup[]>;
1623
2089
  getList(scope: AXPPlatformScopeKey): AXPSettingDefinitionGroup[];
1624
2090
  defaultValues(): Promise<Record<string, unknown>>;
2091
+ settingScopeByKey(): Promise<Record<string, AXPPlatformScope>>;
1625
2092
  findGroup(scope: AXPPlatformScopeKey, groupName: string): AXPGroupSearchResult;
1626
2093
  private searchRecursive;
1627
2094
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingDefinitionProviderService, never>;
@@ -1638,6 +2105,25 @@ declare class AXPSettingDefaultValuesAggregatorService {
1638
2105
 
1639
2106
  declare const AXP_SETTING_VALUE_PROVIDER: InjectionToken<AXPSettingValueProvider[]>;
1640
2107
 
2108
+ /**
2109
+ * Supported primitive coercions for persisted setting values (including `{ value: ... }` wrappers).
2110
+ */
2111
+ type AXPSettingCoercionKind = 'string' | 'boolean' | 'number' | 'date';
2112
+ /**
2113
+ * If the payload uses the common `{ value: T }` shape from setting widgets, returns the inner value; otherwise returns `raw`.
2114
+ */
2115
+ declare function peelSettingValueKey(raw: unknown): unknown;
2116
+ /**
2117
+ * Picks a primitive coercion kind from the setting definition default and/or the effective stored value.
2118
+ * Type argument `T` on the settings service `get` method is compile-time only; runtime behavior follows this inference.
2119
+ */
2120
+ declare function inferSettingCoercionKind(defaultSample: unknown, effective: unknown): AXPSettingCoercionKind | null;
2121
+ declare function coerceAXPSettingRawValueByKind(raw: unknown, kind: AXPSettingCoercionKind): string | boolean | number | Date;
2122
+ declare function coerceAXPSettingRawValue(raw: unknown, kind: 'string'): string;
2123
+ declare function coerceAXPSettingRawValue(raw: unknown, kind: 'boolean'): boolean;
2124
+ declare function coerceAXPSettingRawValue(raw: unknown, kind: 'number'): number;
2125
+ declare function coerceAXPSettingRawValue(raw: unknown, kind: 'date'): Date;
2126
+
1641
2127
  interface AXPSettingsServiceInterface {
1642
2128
  load(): Promise<AXPSettingValue[]>;
1643
2129
  get<T = any>(key: string): Promise<T>;
@@ -1655,10 +2141,20 @@ declare class AXPSettingsService implements AXPSettingsServiceInterface {
1655
2141
  constructor();
1656
2142
  reload(): Promise<void>;
1657
2143
  load(): Promise<AXPSettingValue[]>;
2144
+ /**
2145
+ * Returns the effective setting value. Primitive coercion (string, boolean, number, date) is inferred from the
2146
+ * definition default and/or the stored shape (including `{ value: ... }`). Type argument `T` is compile-time only;
2147
+ * it is not read at runtime—use it to document the expected result (e.g. `get<boolean>(key)`).
2148
+ */
1658
2149
  get<T = any>(key: string): Promise<T>;
2150
+ /**
2151
+ * Effective value (user → tenant → platform) when set; otherwise the definition default. Used for reads and coercion hints.
2152
+ */
2153
+ private resolveEffectiveAndDefault;
1659
2154
  defaultValues(scope: AXPPlatformScope): Promise<Record<string, unknown>>;
1660
2155
  scope(scope: AXPPlatformScope): ScopedSettingService;
1661
2156
  invokeChangeEvent(event: AXPSettingChangedEvent): void;
2157
+ private seedMissingDefaults;
1662
2158
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsService, never>;
1663
2159
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsService>;
1664
2160
  }
@@ -1676,9 +2172,17 @@ declare class ScopedSettingService {
1676
2172
  }
1677
2173
 
1678
2174
  /**
1679
- * Regional settings keys for date, time, and locale formatting.
1680
- * These keys are used by platform widgets and components to access regional settings.
1681
- * The actual setting definitions and providers are implemented in the locale-management module.
2175
+ * Exposes platform settings in expression strings, e.g.
2176
+ * `{{ settings.get('Common:Setting:Entity.ShowPageBadge') }}`.
2177
+ */
2178
+ declare class AXPSettingsEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {
2179
+ private readonly settingsService;
2180
+ provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
2181
+ }
2182
+
2183
+ /**
2184
+ * Regional and locale-related setting keys used by platform widgets and components.
2185
+ * Most values use the `LocaleManagement:Setting:Regional.*` prefix; definitions live in the locale-management module where applicable.
1682
2186
  */
1683
2187
  declare enum AXPRegionalSetting {
1684
2188
  LocaleProfile = "LocaleManagement:Setting:Regional.LocaleProfile",
@@ -1700,7 +2204,9 @@ declare enum AXPRegionalSetting {
1700
2204
  WeightUnits = "LocaleManagement:Setting:Regional.WeightUnits",
1701
2205
  VolumeUnits = "LocaleManagement:Setting:Regional.VolumeUnits",
1702
2206
  SpeedUnits = "LocaleManagement:Setting:Regional.SpeedUnits",
1703
- AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits"
2207
+ AreaUnits = "LocaleManagement:Setting:Regional.AreaUnits",
2208
+ /** Default multi-language behavior for standard text field names; defined in locale-management `AXMRegionalSettingProvider`. */
2209
+ MultiLanguageSupport = "LocaleManagement:Setting:Regional.MultiLanguageSupport"
1704
2210
  }
1705
2211
 
1706
2212
  /**
@@ -1847,7 +2353,7 @@ declare const AXP_STATUS_PROVIDERS: InjectionToken<AXPStatusProvider[]>;
1847
2353
  * }
1848
2354
  *
1849
2355
  * // Later, get the status:
1850
- * const status = statusService.getStatus('task-management.status');
2356
+ * const status = await statusService.getStatus('task-management.status');
1851
2357
  * if (status) {
1852
2358
  * console.log('Statuses:', status.statuses);
1853
2359
  * console.log('Transitions:', status.transitions);
@@ -1860,7 +2366,6 @@ declare class AXPStatusDefinitionProviderService {
1860
2366
  private statusMap;
1861
2367
  private initializationPromise;
1862
2368
  private isInitialized;
1863
- constructor();
1864
2369
  /**
1865
2370
  * Initialize providers (resolve promises if needed)
1866
2371
  * Called lazily on first access
@@ -1869,22 +2374,21 @@ declare class AXPStatusDefinitionProviderService {
1869
2374
  private _doInitialize;
1870
2375
  /**
1871
2376
  * Get a status provider by key
1872
- * Direct synchronous access from Map. Providers are initialized in the constructor,
1873
- * including lazy-loaded providers (promises) which are resolved during initialization.
2377
+ * Ensures initialization is complete before accessing the status map.
1874
2378
  *
1875
2379
  * @param key - Status key (e.g., 'task-management.status')
1876
- * @returns Status provider with all statuses and transitions, or undefined if not found
2380
+ * @returns Promise that resolves to status provider with all statuses and transitions, or undefined if not found
1877
2381
  *
1878
2382
  * @example
1879
2383
  * ```typescript
1880
- * const status = statusService.getStatus('task-management.status');
2384
+ * const status = await statusService.getStatus('task-management.status');
1881
2385
  * if (status) {
1882
2386
  * console.log('Statuses:', status.statuses);
1883
2387
  * console.log('Transitions:', status.transitions);
1884
2388
  * }
1885
2389
  * ```
1886
2390
  */
1887
- getStatus(key: string): AXPStatusProvider | undefined;
2391
+ getStatus(key: string): Promise<AXPStatusProvider | undefined>;
1888
2392
  /**
1889
2393
  * Execute a status transition workflow action
1890
2394
  * Uses transition.command if provided, otherwise defaults to Entity:UpdateStatus
@@ -1910,6 +2414,10 @@ declare class AXPStatusDefinitionProviderService {
1910
2414
  * Checks if the transition exists in the provider's transitions list
1911
2415
  */
1912
2416
  private isValidTransition;
2417
+ /**
2418
+ * Best-effort plain string for {@link Error} messages (no i18n lookup).
2419
+ */
2420
+ private commandMessageTextForError;
1913
2421
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPStatusDefinitionProviderService, never>;
1914
2422
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPStatusDefinitionProviderService>;
1915
2423
  }
@@ -2313,6 +2821,16 @@ interface AXPCurrency {
2313
2821
  format: string;
2314
2822
  }
2315
2823
 
2824
+ /**
2825
+ * Narrow API for reading app locale profiles and active languages.
2826
+ * Implemented by locale-management; consumed by platform layout without importing the module (avoids circular deps).
2827
+ */
2828
+ interface AXPLocaleManagementPort {
2829
+ getLocaleProfiles(): Promise<AXPLocaleProfile[]>;
2830
+ getLanguages(): Promise<AXPLanguage[]>;
2831
+ }
2832
+ declare const AXP_LOCALE_MANAGEMENT_PORT: InjectionToken<AXPLocaleManagementPort>;
2833
+
2316
2834
  interface AXPVersionStream {
2317
2835
  id: string;
2318
2836
  entityType: string;
@@ -2466,5 +2984,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
2466
2984
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
2467
2985
  }
2468
2986
 
2469
- export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, getStatusInfo, getSystemStatus, provideDynamicHomePage, provideMenuMiddleware, resolveStatusLook, systemStatusToDefinition };
2470
- export type { AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityVersionHistory, AXPErrorHandler, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGroupSearchResult, AXPHomePageDefinition, AXPLanguage, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuType, AXPModule, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
2987
+ export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDefaultMultiLanguageConfigService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPEntityType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuItemsDataSourceDefinition, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsEvaluatorScopeProvider, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_LOCALE_MANAGEMENT_PORT, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_MULTILANGUAGE_FIELD_NAMES, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, MENU_ITEMS_DATASOURCE_NAME, MULTILANGUAGE_CAPABLE_WIDGET_TYPES, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, UploadFromComputerActionProvider, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createAllQueryView, createEntityCommandOptions, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, getStatusInfo, getSystemStatus, inferSettingCoercionKind, peelSettingValueKey, provideDynamicHomePage, provideMenuMiddleware, resolveStatusLook, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, systemStatusToDefinition, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
2988
+ export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityPage, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntityQuickCreate, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityV2, AXPEntityVersionHistory, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGroupSearchResult, AXPHomePageDefinition, AXPLanguage, AXPLocaleManagementPort, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuType, AXPModule, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingCoercionKind, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };