@acorex/platform 20.8.9 → 20.8.11

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 (123) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +125 -27
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-DVvuLUfF.mjs → acorex-platform-common-common-settings.provider-Bi1RYif5.mjs} +30 -32
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +711 -205
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +420 -127
  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 +634 -114
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs} +9 -9
  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 +3365 -880
  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 +18667 -14048
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +413 -171
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +507 -441
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.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-Dtv6U3df.mjs → acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs} +21 -76
  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-QxJfswhK.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-CVdssZBD.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-DVaZN9QN.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +5 -5
  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-DPGHgXa6.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +4 -4
  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-CdiNW691.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 +6578 -4314
  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-rGsMVAZj.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +16 -23
  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-53VB-PS_.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-DVF9soT5.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 +1784 -61
  60. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  61. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.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-BHcKkIx0.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 +408 -305
  72. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  73. package/fesm2022/acorex-platform-workflow.mjs +359 -100
  74. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  75. package/fesm2022/acorex-platform.mjs.map +1 -1
  76. package/package.json +31 -31
  77. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +14 -2
  78. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +302 -30
  79. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +188 -44
  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} +160 -38
  82. package/{layout/components/index.d.ts → types/acorex-platform-layout-components.d.ts} +854 -125
  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} +848 -63
  85. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +80 -47
  86. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +274 -197
  87. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +608 -122
  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} +113 -4
  91. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +5 -4
  92. package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +162 -81
  93. package/fesm2022/acorex-platform-common-common-settings.provider-DVvuLUfF.mjs.map +0 -1
  94. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CSxCnzwU.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-CPBzE96V.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-Dtv6U3df.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-CVdssZBD.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs +0 -111
  100. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BCxE0RTB.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DVaZN9QN.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DPGHgXa6.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-CdiNW691.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs +0 -160
  105. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D4hU2SCE.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs +0 -1716
  107. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs +0 -120
  109. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BVTklnzs.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-rGsMVAZj.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +0 -19
  114. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs +0 -65
  119. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +0 -64
  121. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +0 -1
  122. package/runtime/index.d.ts +0 -307
  123. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -1,10 +1,12 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { InjectionToken, Signal, ComponentRef, OnInit, EventEmitter, TemplateRef, Injector, WritableSignal, SimpleChanges, ModuleWithProviders } from '@angular/core';
3
- import { AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPExpressionEvaluatorService } from '@acorex/platform/core';
2
+ import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef, Injector, WritableSignal, SimpleChanges } from '@angular/core';
3
+ import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
4
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
9
  import { Subject, BehaviorSubject } from 'rxjs';
7
- import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
8
10
  import { AXDataTableColumnComponent } from '@acorex/components/data-table';
9
11
  import * as i7 from '@acorex/core/translation';
10
12
  import { AXTranslationService } from '@acorex/core/translation';
@@ -13,18 +15,86 @@ import * as i4 from '@angular/common';
13
15
  import * as i5 from '@angular/cdk/portal';
14
16
  import * as i6 from '@acorex/components/skeleton';
15
17
 
16
- interface AXPWidgetCategory {
17
- name: string;
18
+ declare enum AXPPageStatus {
19
+ Idle = "idle",// The page is idle.
20
+ Rendering = "rendering",// The page is being rendered.
21
+ Rendered = "rendered",// The rendering process is complete. should be renamed to idle
22
+ Processing = "processing",// The page is performing a task or interaction.
23
+ Submitting = "submitting",// The form is being submitted.
24
+ Submitted = "submitted",// Submission is completed.
25
+ Validating = "validating",// The form is being validated.
26
+ Validated = "validated",// Validation is completed.
27
+ Error = "error"
28
+ }
29
+ declare enum AXPWidgetStatus {
30
+ Rendering = "rendering",// The widget is being rendered.
31
+ Rendered = "rendered",// The rendering process is complete.
32
+ Processing = "processing",// The widget is performing a task or interaction.
33
+ Error = "error"
34
+ }
35
+
36
+ type AXPWidgetCoreElementAPI = {
37
+ [name: string]: Subject<any> | Function;
38
+ };
39
+ type AXPWidgetCoreElementAction = {
18
40
  title: string;
19
- order: number;
41
+ command: string;
42
+ icon?: string;
43
+ color?: string;
44
+ disabled?: boolean | string;
45
+ hidden?: boolean | string;
46
+ zone?: 'header' | 'footer';
47
+ placement?: 'prefix' | 'suffix';
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;
51
+ };
52
+ declare abstract class AXPWidgetCoreElement {
53
+ abstract get id(): string | null;
54
+ abstract get status(): Signal<AXPWidgetStatus>;
55
+ api(): AXPWidgetCoreElementAPI;
56
+ actions(): AXPWidgetCoreElementAction[];
57
+ }
58
+ declare class AXPWidgetCoreService {
59
+ private readonly variables$;
60
+ private readonly functions$;
61
+ readonly onRefresh: Subject<void>;
62
+ private widgets;
63
+ private readonly onWidgetRegistered;
64
+ private readonly status$;
65
+ readonly status: Signal<AXPPageStatus>;
66
+ readonly isBusy: Signal<boolean>;
67
+ registeredWidgetsCount: _angular_core.WritableSignal<number>;
68
+ get variables(): any;
69
+ get functions(): {
70
+ [key: string]: Function;
71
+ };
72
+ updateStatus(): void;
73
+ private detectStatus;
74
+ refresh(): void;
75
+ setStatus(status: AXPPageStatus): void;
76
+ setVariables(keysValues: any): void;
77
+ setVariables(key: string, value: any): void;
78
+ setFunctions(keysValues: any): void;
79
+ setFunctions(key: string, value: any): void;
80
+ registerWidget(id: string, widget: AXPWidgetCoreElement): void;
81
+ getWidget(id: string): AXPWidgetCoreElement | undefined;
82
+ /**
83
+ * Waits until a widget with the given id is registered, then resolves with it.
84
+ * If the widget is already registered, resolves immediately.
85
+ * Optionally accepts a timeout (in ms) after which it resolves with undefined.
86
+ */
87
+ waitForWidget(id: string, timeoutMs?: number): Promise<AXPWidgetCoreElement | undefined>;
88
+ /**
89
+ * Returns a list of registered widget ids (names).
90
+ */
91
+ listRegisteredWidgetNames(): string[];
92
+ ngOnDestroy(): void;
93
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
94
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
20
95
  }
21
- declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPWidgetCategory;
22
- declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPWidgetCategory;
23
- declare const AXP_WIDGETS_ACTION_CATEGORY: AXPWidgetCategory;
24
- declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPWidgetCategory;
25
- declare const AXP_WIDGETS_CATEGORIES: AXPWidgetCategory[];
26
96
 
27
- 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';
28
98
  declare enum AXPWidgetGroupEnum {
29
99
  FormElement = "form-element",
30
100
  DashboardWidget = "dashboard-widget",
@@ -33,7 +103,8 @@ declare enum AXPWidgetGroupEnum {
33
103
  MetaData = "meta-data",
34
104
  SettingWidget = "setting-widget",
35
105
  EntityWidget = "entity-widget",
36
- UtilityWidget = "utility-widget"
106
+ UtilityWidget = "utility-widget",
107
+ BaseWidget = "base-widget"
37
108
  }
38
109
 
39
110
  interface AXPWidgetTypesMap {
@@ -57,6 +128,7 @@ interface AXPWidgetTypesMap {
57
128
  pageLayout: 'page-layout';
58
129
  repeaterLayout: 'repeater-layout';
59
130
  textBlockLayout: 'text-block-layout';
131
+ alertBoxLayout: 'alert-box-layout';
60
132
  fileUploader: 'file-uploader';
61
133
  fileTypeExtension: 'file-type-extension';
62
134
  map: 'map';
@@ -106,19 +178,9 @@ interface AXPWidgetTypesMap {
106
178
  betweenValidation: 'between-validation';
107
179
  equalValidation: 'equal-validation';
108
180
  callbackValidation: 'callback-validation';
109
- donutChart: 'donut-chart';
110
- barChart: 'bar-chart';
111
- lineChart: 'line-chart';
112
- gaugeChart: 'gauge-chart';
113
- stickyNote: 'sticky-note';
114
- clockCalendar: 'clock-calendar';
115
- analogClock: 'analog-clock';
116
- weather: 'weather';
117
- minimalWeather: 'minimal-weather';
118
- advancedWeather: 'advanced-weather';
119
181
  metaData: 'meta-data-editor';
120
182
  templateEditor: 'template-box-editor';
121
- themePaletteChooser: 'theme-palette-chooser';
183
+ templateContentEditor: 'template-content-editor';
122
184
  themeModeChooser: 'theme-mode-chooser';
123
185
  menuOrientationChooser: 'menu-orientation-chooser';
124
186
  fontStyleChooser: 'font-style-chooser';
@@ -128,7 +190,6 @@ interface AXPWidgetTypesMap {
128
190
  themeColorChooser: 'theme-color-chooser';
129
191
  panel: 'panel';
130
192
  notification: 'notification';
131
- taskBoard: 'task-board';
132
193
  comment: 'comment';
133
194
  list: 'list-editor';
134
195
  dataList: 'data-list';
@@ -136,27 +197,11 @@ interface AXPWidgetTypesMap {
136
197
  entityList: 'entity-list';
137
198
  stepWizard: 'step-wizard';
138
199
  documentUploader: 'document-uploader';
200
+ documentFileTypeFilter: 'document-file-type-filter';
139
201
  editorJs: 'editor-js-editor';
140
202
  progressBar: 'progress-bar-editor';
141
203
  rate: 'rate-picker-editor';
142
- }
143
-
144
- declare enum AXPPageStatus {
145
- Idle = "idle",// The page is idle.
146
- Rendering = "rendering",// The page is being rendered.
147
- Rendered = "rendered",// The rendering process is complete. should be renamed to idle
148
- Processing = "processing",// The page is performing a task or interaction.
149
- Submitting = "submitting",// The form is being submitted.
150
- Submitted = "submitted",// Submission is completed.
151
- Validating = "validating",// The form is being validated.
152
- Validated = "validated",// Validation is completed.
153
- Error = "error"
154
- }
155
- declare enum AXPWidgetStatus {
156
- Rendering = "rendering",// The widget is being rendered.
157
- Rendered = "rendered",// The rendering process is complete.
158
- Processing = "processing",// The widget is performing a task or interaction.
159
- Error = "error"
204
+ entityDefinitionProvider: 'entity-definition-provider-editor';
160
205
  }
161
206
 
162
207
  interface AXPWidgetPropertyGroup {
@@ -182,7 +227,7 @@ interface AXPWidgetProperty {
182
227
  interface: Required<Pick<AXPWidgetNode, 'path'>> & Omit<AXPWidgetNode, 'path'>;
183
228
  };
184
229
  validations?: AXPValidationRules;
185
- visible: boolean;
230
+ visible: boolean | AXPExpression;
186
231
  binding?: {
187
232
  enabled: boolean;
188
233
  /** When set, the expression is edited at path + '.' + optionKey (e.g. options.visibility). */
@@ -196,7 +241,7 @@ declare function createStringProperty(ctor: {
196
241
  title: string;
197
242
  path?: string;
198
243
  group: AXPWidgetPropertyGroup;
199
- visible?: boolean;
244
+ visible?: boolean | AXPExpression;
200
245
  }): AXPWidgetProperty;
201
246
  declare function createNumberProperty(ctor: {
202
247
  defaultValue?: number;
@@ -204,7 +249,7 @@ declare function createNumberProperty(ctor: {
204
249
  title: string;
205
250
  path?: string;
206
251
  group: AXPWidgetPropertyGroup;
207
- visible?: boolean;
252
+ visible?: boolean | AXPExpression;
208
253
  options?: {
209
254
  minValue?: number;
210
255
  maxValue?: number;
@@ -217,7 +262,7 @@ declare function createBooleanProperty(ctor: {
217
262
  title: string;
218
263
  path?: string;
219
264
  group: AXPWidgetPropertyGroup;
220
- visible?: boolean;
265
+ visible?: boolean | AXPExpression;
221
266
  }): AXPWidgetProperty;
222
267
  declare function createSelectProperty<T = string | {
223
268
  id: string;
@@ -229,7 +274,7 @@ declare function createSelectProperty<T = string | {
229
274
  title: string;
230
275
  path?: string;
231
276
  group: AXPWidgetPropertyGroup;
232
- visible?: boolean;
277
+ visible?: boolean | AXPExpression;
233
278
  }): AXPWidgetProperty;
234
279
  interface AXPWidgetNode {
235
280
  type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
@@ -254,6 +299,8 @@ interface AXPWidgetColumnNode {
254
299
  type: string;
255
300
  path: string;
256
301
  options?: AXPOptionsData;
302
+ /** Column header caption from data-table (`title || name`); often an i18n key. */
303
+ caption?: string;
257
304
  }
258
305
  interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
259
306
  config: AXPWidgetConfig;
@@ -292,10 +339,24 @@ type AXPExtractWidgetConfig<T> = {
292
339
  interface AXPWidgetConfig<T = any> {
293
340
  name: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | keyof AXPWidgetTypesMap | string;
294
341
  alias?: string | string[];
295
- title: string;
342
+ title: AXPMultiLanguageString;
296
343
  icon?: string;
297
- description?: string;
298
- 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
+ */
299
360
  groups?: AXPWidgetGroup[];
300
361
  properties?: AXPWidgetProperty[];
301
362
  components: AXPWidgetConfigComponents;
@@ -304,8 +365,15 @@ interface AXPWidgetConfig<T = any> {
304
365
  designer?: AXPExtractWidgetConfig<T>['designer'];
305
366
  options?: Record<string, any>;
306
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;
307
375
  }
308
- interface extendedWidget {
376
+ interface AXPExtendedWidget {
309
377
  widget: AXPWidgetConfig;
310
378
  parentName: string;
311
379
  }
@@ -314,102 +382,6 @@ interface AXPLayoutBuilderStatusChangedEvent {
314
382
  status: AXPPageStatus;
315
383
  }
316
384
 
317
- type AXPWidgetCoreContextState = 'initiated' | 'restored' | 'changed' | 'patch';
318
- declare class AXPWidgetCoreContextChangeEvent {
319
- oldValue?: any;
320
- newValue?: any;
321
- path?: string;
322
- state: AXPWidgetCoreContextState;
323
- data: any;
324
- }
325
- declare const AXPWidgetCoreContextStore: _angular_core.Type<{
326
- data: _angular_core.Signal<{}>;
327
- state: _angular_core.Signal<AXPWidgetCoreContextState>;
328
- initialSnapshot: _angular_core.Signal<{}>;
329
- previousSnapshot: _angular_core.Signal<{}>;
330
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
331
- isChanged: _angular_core.Signal<boolean>;
332
- isReset: _angular_core.Signal<boolean>;
333
- isInitiated: _angular_core.Signal<boolean>;
334
- isEmpty: _angular_core.Signal<boolean>;
335
- isDirty: _angular_core.Signal<boolean>;
336
- snapshot: _angular_core.Signal<{}>;
337
- initial: _angular_core.Signal<{}>;
338
- previous: _angular_core.Signal<{}>;
339
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
340
- update: (path: string, value: any) => void;
341
- patch: (context: {}, skipDirtyTracking?: boolean) => void;
342
- reset: () => void;
343
- set: (initialData: any) => void;
344
- getValue: (path: string) => any;
345
- hasValue: (path: string) => boolean;
346
- } & _ngrx_signals.StateSource<{
347
- data: {};
348
- state: AXPWidgetCoreContextState;
349
- initialSnapshot: {};
350
- previousSnapshot: {};
351
- lastChange: AXPWidgetCoreContextChangeEvent;
352
- }>>;
353
-
354
- type AXPWidgetCoreElementAPI = {
355
- [name: string]: Subject<any> | Function;
356
- };
357
- type AXPWidgetCoreElementAction = {
358
- title: string;
359
- command: string;
360
- icon?: string;
361
- color?: string;
362
- disabled?: boolean | string;
363
- hidden?: boolean | string;
364
- zone?: 'header' | 'footer';
365
- placement?: 'prefix' | 'suffix';
366
- scope?: 'primary' | 'secondary';
367
- };
368
- declare abstract class AXPWidgetCoreElement {
369
- abstract get id(): string | null;
370
- abstract get status(): Signal<AXPWidgetStatus>;
371
- api(): AXPWidgetCoreElementAPI;
372
- actions(): AXPWidgetCoreElementAction[];
373
- }
374
- declare class AXPWidgetCoreService {
375
- private readonly variables$;
376
- private readonly functions$;
377
- readonly onRefresh: Subject<void>;
378
- private widgets;
379
- private readonly onWidgetRegistered;
380
- private readonly status$;
381
- readonly status: Signal<AXPPageStatus>;
382
- readonly isBusy: Signal<boolean>;
383
- registeredWidgetsCount: _angular_core.WritableSignal<number>;
384
- get variables(): any;
385
- get functions(): {
386
- [key: string]: Function;
387
- };
388
- updateStatus(): void;
389
- private detectStatus;
390
- refresh(): void;
391
- setStatus(status: AXPPageStatus): void;
392
- setVariables(keysValues: any): void;
393
- setVariables(key: string, value: any): void;
394
- setFunctions(keysValues: any): void;
395
- setFunctions(key: string, value: any): void;
396
- registerWidget(id: string, widget: AXPWidgetCoreElement): void;
397
- getWidget(id: string): AXPWidgetCoreElement | undefined;
398
- /**
399
- * Waits until a widget with the given id is registered, then resolves with it.
400
- * If the widget is already registered, resolves immediately.
401
- * Optionally accepts a timeout (in ms) after which it resolves with undefined.
402
- */
403
- waitForWidget(id: string, timeoutMs?: number): Promise<AXPWidgetCoreElement | undefined>;
404
- /**
405
- * Returns a list of registered widget ids (names).
406
- */
407
- listRegisteredWidgetNames(): string[];
408
- ngOnDestroy(): void;
409
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreService, never>;
410
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
411
- }
412
-
413
385
  type AXPClassMap = Readonly<Record<string, boolean>>;
414
386
  type AXPStyleMap = Readonly<Record<string, string | number>>;
415
387
  declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, unknown> = AXPOptionsData> extends AXPWidgetCoreElement {
@@ -418,34 +390,34 @@ declare abstract class AXPBaseWidgetComponent<TOptions extends Record<string, un
418
390
  readonly host: HTMLDivElement;
419
391
  protected readonly layoutService: AXPWidgetCoreService;
420
392
  protected readonly contextService: {
421
- data: _angular_core.Signal<{}>;
422
- state: _angular_core.Signal<AXPWidgetCoreContextState>;
393
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
394
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
423
395
  initialSnapshot: _angular_core.Signal<{}>;
424
396
  previousSnapshot: _angular_core.Signal<{}>;
425
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
397
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
426
398
  isChanged: _angular_core.Signal<boolean>;
427
399
  isReset: _angular_core.Signal<boolean>;
428
400
  isInitiated: _angular_core.Signal<boolean>;
429
401
  isEmpty: _angular_core.Signal<boolean>;
430
402
  isDirty: _angular_core.Signal<boolean>;
431
- snapshot: _angular_core.Signal<{}>;
403
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
432
404
  initial: _angular_core.Signal<{}>;
433
405
  previous: _angular_core.Signal<{}>;
434
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
406
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
435
407
  update: (path: string, value: any) => void;
436
- patch: (context: {}, skipDirtyTracking?: boolean) => void;
408
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
437
409
  reset: () => void;
438
410
  set: (initialData: any) => void;
439
411
  getValue: (path: string) => any;
440
412
  hasValue: (path: string) => boolean;
441
413
  } & _ngrx_signals.StateSource<{
442
- data: {};
443
- state: AXPWidgetCoreContextState;
414
+ data: _acorex_platform_core.AXPContextData;
415
+ state: _acorex_platform_core.AXPContextState;
444
416
  initialSnapshot: {};
445
417
  previousSnapshot: {};
446
- lastChange: AXPWidgetCoreContextChangeEvent;
418
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
447
419
  }>;
448
- readonly config: AXPWidgetConfig<any>;
420
+ readonly config: _acorex_platform_layout_widget_core.AXPWidgetConfig<any>;
449
421
  readonly node: AXPWidgetNode;
450
422
  protected readonly name: string | undefined;
451
423
  protected component: this;
@@ -530,6 +502,8 @@ declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
530
502
  private readonly token;
531
503
  protected readonly path: string;
532
504
  protected readonly options: Record<string, any>;
505
+ /** Column header caption when rendered inside `axp-widget-column-renderer`. */
506
+ protected readonly columnCaption: string | undefined;
533
507
  protected readonly rawValue: T;
534
508
  protected readonly rowData: any;
535
509
  protected readonly nullText: any;
@@ -556,6 +530,33 @@ declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayo
556
530
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
557
531
  }
558
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
+
559
560
  type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
560
561
  type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
561
562
  type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
@@ -770,56 +771,83 @@ declare abstract class AXPTableItemBaseLayoutWidgetComponent extends AXPTableIte
770
771
 
771
772
  declare class AXPWidgetContainerComponent {
772
773
  readonly contextService: {
773
- data: _angular_core.Signal<{}>;
774
- state: _angular_core.Signal<AXPWidgetCoreContextState>;
774
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
775
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
775
776
  initialSnapshot: _angular_core.Signal<{}>;
776
777
  previousSnapshot: _angular_core.Signal<{}>;
777
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
778
+ lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
778
779
  isChanged: _angular_core.Signal<boolean>;
779
780
  isReset: _angular_core.Signal<boolean>;
780
781
  isInitiated: _angular_core.Signal<boolean>;
781
782
  isEmpty: _angular_core.Signal<boolean>;
782
783
  isDirty: _angular_core.Signal<boolean>;
783
- snapshot: _angular_core.Signal<{}>;
784
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
784
785
  initial: _angular_core.Signal<{}>;
785
786
  previous: _angular_core.Signal<{}>;
786
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
787
+ changeEvent: _angular_core.Signal<AXPContextChangeEvent>;
787
788
  update: (path: string, value: any) => void;
788
- patch: (context: {}, skipDirtyTracking?: boolean) => void;
789
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
789
790
  reset: () => void;
790
791
  set: (initialData: any) => void;
791
792
  getValue: (path: string) => any;
792
793
  hasValue: (path: string) => boolean;
793
794
  } & _ngrx_signals.StateSource<{
794
- data: {};
795
- state: AXPWidgetCoreContextState;
795
+ data: _acorex_platform_core.AXPContextData;
796
+ state: _acorex_platform_core.AXPContextState;
796
797
  initialSnapshot: {};
797
798
  previousSnapshot: {};
798
- lastChange: AXPWidgetCoreContextChangeEvent;
799
+ lastChange: AXPContextChangeEvent;
799
800
  }>;
800
801
  readonly builderService: AXPWidgetCoreService;
801
- readonly onContextChanged: EventEmitter<AXPWidgetCoreContextChangeEvent>;
802
+ readonly onContextChanged: EventEmitter<AXPContextChangeEvent>;
802
803
  set context(value: any);
803
804
  set functions(v: any);
804
805
  constructor();
805
806
  status: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPPageStatus>;
806
807
  isBusy: _angular_core.Signal<boolean>;
807
808
  refresh(): void;
808
- find(name: string): Promise<AXPWidgetCoreElement | undefined>;
809
+ find(name: string): Promise<_acorex_platform_layout_widget_core.AXPWidgetCoreElement | undefined>;
809
810
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetContainerComponent, never>;
810
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>;
811
812
  }
812
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
+ */
813
838
  declare class AXPWidgetRegistryService {
814
- private types;
815
- static instance: AXPWidgetRegistryService;
839
+ private readonly _providers;
840
+ private _types;
816
841
  /**
817
- *
842
+ * Lazy-build widget map from all providers.
818
843
  */
819
- constructor();
820
- register(widget: AXPWidgetConfig): void;
821
- extend(parentName: string, widget: AXPWidgetConfig): void;
822
- 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;
823
851
  all(): AXPWidgetConfig[];
824
852
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetRegistryService, never>;
825
853
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetRegistryService>;
@@ -908,7 +936,7 @@ type AXPWidgetRendererDirectiveOptions = AXPMetaData;
908
936
  declare class AXPWidgetRendererDirective {
909
937
  parentNode: _angular_core.InputSignal<AXPLayoutBaseWidgetComponent<Record<string, any>> | null | undefined>;
910
938
  index: _angular_core.InputSignal<number | null | undefined>;
911
- mode: _angular_core.InputSignal<keyof AXPWidgetConfigComponents>;
939
+ mode: _angular_core.InputSignal<keyof _acorex_platform_layout_widget_core.AXPWidgetConfigComponents>;
912
940
  node: _angular_core.InputSignal<AXPWidgetNode>;
913
941
  private _options;
914
942
  options: _angular_core.Signal<AXPMetaData>;
@@ -933,32 +961,32 @@ declare class AXPWidgetRendererDirective {
933
961
  private injector;
934
962
  protected builderService: AXPWidgetCoreService;
935
963
  protected contextService: {
936
- data: _angular_core.Signal<{}>;
937
- state: _angular_core.Signal<AXPWidgetCoreContextState>;
964
+ data: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
965
+ state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
938
966
  initialSnapshot: _angular_core.Signal<{}>;
939
967
  previousSnapshot: _angular_core.Signal<{}>;
940
- lastChange: _ngrx_signals.DeepSignal<AXPWidgetCoreContextChangeEvent>;
968
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
941
969
  isChanged: _angular_core.Signal<boolean>;
942
970
  isReset: _angular_core.Signal<boolean>;
943
971
  isInitiated: _angular_core.Signal<boolean>;
944
972
  isEmpty: _angular_core.Signal<boolean>;
945
973
  isDirty: _angular_core.Signal<boolean>;
946
- snapshot: _angular_core.Signal<{}>;
974
+ snapshot: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
947
975
  initial: _angular_core.Signal<{}>;
948
976
  previous: _angular_core.Signal<{}>;
949
- changeEvent: _angular_core.Signal<AXPWidgetCoreContextChangeEvent>;
977
+ changeEvent: _angular_core.Signal<_acorex_platform_core.AXPContextChangeEvent>;
950
978
  update: (path: string, value: any) => void;
951
- patch: (context: {}, skipDirtyTracking?: boolean) => void;
979
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
952
980
  reset: () => void;
953
981
  set: (initialData: any) => void;
954
982
  getValue: (path: string) => any;
955
983
  hasValue: (path: string) => boolean;
956
984
  } & _ngrx_signals.StateSource<{
957
- data: {};
958
- state: AXPWidgetCoreContextState;
985
+ data: _acorex_platform_core.AXPContextData;
986
+ state: _acorex_platform_core.AXPContextState;
959
987
  initialSnapshot: {};
960
988
  previousSnapshot: {};
961
- lastChange: AXPWidgetCoreContextChangeEvent;
989
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
962
990
  }>;
963
991
  protected widgetRegistery: AXPWidgetRegistryService;
964
992
  protected unsubscriber: AXUnsubscriber;
@@ -991,6 +1019,15 @@ declare class AXPWidgetRendererDirective {
991
1019
  private queueContextUpdate;
992
1020
  private processBatchedUpdates;
993
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;
994
1031
  private hasExpressionDependency;
995
1032
  private isPathAlias;
996
1033
  private getExpressionValueFromNode;
@@ -1023,28 +1060,68 @@ declare class AXPWidgetRendererDirective {
1023
1060
 
1024
1061
  interface AXPWidgetCoreModuleConfigs {
1025
1062
  widgets?: AXPWidgetConfig[];
1026
- extendedWidgets?: extendedWidget[];
1063
+ AXPExtendedWidgets?: AXPExtendedWidget[];
1027
1064
  }
1028
1065
  declare class AXPWidgetCoreModule {
1029
- static forRoot(config?: AXPWidgetCoreModuleConfigs): ModuleWithProviders<AXPWidgetCoreModule>;
1030
- static forChild(config?: AXPWidgetCoreModuleConfigs): ModuleWithProviders<AXPWidgetCoreModule>;
1031
- /**
1032
- * @ignore
1033
- */
1034
- constructor(instances: any[]);
1035
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetCoreModule, [{ optional: true; }]>;
1036
- 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]>;
1037
1068
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPWidgetCoreModule>;
1038
1069
  }
1039
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
+ }
1040
1087
  interface AXPMetaDataDefinition {
1041
1088
  name: string;
1042
1089
  title: string;
1043
1090
  defaultValue?: any;
1044
1091
  interface: string | AXPWidgetNode | (() => Promise<AXPWidgetNode>);
1092
+ features?: AXPMetaDataFeatures;
1045
1093
  }
1046
1094
 
1047
1095
  declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
1048
1096
 
1049
- export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreContextChangeEvent, AXPWidgetCoreContextStore, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_TOKEN, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints };
1050
- 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 };