@acorex/platform 20.8.4 → 21.0.0-beta.0

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 (125) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +121 -27
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-41RhWqb4.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +4 -4
  4. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +669 -268
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +333 -140
  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 +539 -110
  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-CWV4XD36.mjs} +15 -15
  14. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CWV4XD36.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-layout-components.mjs +3285 -1035
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +488 -284
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +16484 -12485
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +410 -170
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +548 -474
  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-fLjWiSFE.mjs} +11 -11
  26. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-fLjWiSFE.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-3oRAKxTo.mjs} +22 -77
  28. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-3oRAKxTo.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-QxJfswhK.mjs → acorex-platform-layout-widgets-image-preview.popup-CazpERbX.mjs} +8 -9
  30. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-CazpERbX.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-BQ4G6aYf.mjs} +17 -17
  32. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BQ4G6aYf.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-DWuWxUF_.mjs +116 -0
  34. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-DWuWxUF_.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-fV94u3t2.mjs} +25 -19
  36. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-fV94u3t2.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-DyuvQhgN.mjs} +9 -9
  38. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DyuvQhgN.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-EJMMdpIs.mjs} +7 -7
  40. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-EJMMdpIs.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-layout-widgets.mjs +6396 -4058
  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 +328 -166
  46. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CkptOSO3.mjs +160 -0
  48. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CkptOSO3.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DXC2qtvK.mjs +120 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DXC2qtvK.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-DYyunzKZ.mjs} +16 -23
  52. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DYyunzKZ.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-themes-default-error-401.component-C5lQECDP.mjs +31 -0
  54. package/fesm2022/acorex-platform-themes-default-error-401.component-C5lQECDP.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-themes-default-error-404.component-D5wBXAB-.mjs +25 -0
  56. package/fesm2022/acorex-platform-themes-default-error-404.component-D5wBXAB-.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-themes-default-error-offline.component-AhDiY3DI.mjs +19 -0
  58. package/fesm2022/acorex-platform-themes-default-error-offline.component-AhDiY3DI.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default.mjs +1687 -69
  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-QL2-ZUVg.mjs} +8 -8
  62. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-QL2-ZUVg.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-BXydqPt_.mjs} +8 -8
  64. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BXydqPt_.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs} +2 -2
  66. package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Cb9iY6k9.mjs +88 -0
  68. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-Cb9iY6k9.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-KP4-BND5.mjs +80 -0
  70. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-KP4-BND5.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-themes-shared.mjs +572 -465
  72. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  73. package/fesm2022/acorex-platform-workflow.mjs +276 -98
  74. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  75. package/fesm2022/acorex-platform.mjs.map +1 -1
  76. package/package.json +34 -34
  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} +261 -24
  79. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +163 -42
  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} +137 -38
  82. package/{layout/components/index.d.ts → types/acorex-platform-layout-components.d.ts} +808 -131
  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} +695 -61
  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} +583 -104
  88. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  89. package/types/acorex-platform-runtime.d.ts +565 -0
  90. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +105 -4
  91. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +14 -5
  92. package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +96 -81
  93. package/fesm2022/acorex-platform-common-common-settings.provider-41RhWqb4.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-CLDoygoI.mjs +0 -1610
  107. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CLDoygoI.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 +0 -31
  112. package/fesm2022/acorex-platform-themes-default-error-401.component-53VB-PS_.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs +0 -25
  114. package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs +0 -19
  116. package/fesm2022/acorex-platform-themes-default-error-offline.component-CwNNHzZn.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-TJ9PWHMY.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BHcKkIx0.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs +0 -65
  121. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BUPs84MI.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs +0 -64
  123. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BotknoHn.mjs.map +0 -1
  124. package/runtime/index.d.ts +0 -307
  125. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -1,31 +1,33 @@
1
1
  import * as _acorex_platform_core from '@acorex/platform/core';
2
- import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPUserReference, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem } from '@acorex/platform/core';
2
+ import { AXPExecuteCommandResult, AXPMetaData, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPGridLayoutOptions, AXPBreadcrumbItem, AXPFilterQuery, AXPFilterDefinition, AXPExecuteCommand, AXPUserReference, AXPQueryRequest, AXPPagedListResult, AXPCategoryEntity as AXPCategoryEntity$1, AXPEntityOp, AXPMiddlewareErrorResponse, AXHighlightService, AXPExpression, AXPMultiLanguageString, AXPColumnQuery, AXPSortDefinition, AXPDeviceService, AXPBroadcastEventService, AXPActionMenuItem, AXPContextChangeEvent } from '@acorex/platform/core';
3
3
  import { AXPCommand, AXPQueryExecutor, AXPCommandService, AXPQuery } from '@acorex/platform/runtime';
4
4
  import * as _angular_core from '@angular/core';
5
- import { ElementRef, InjectionToken, Injector, Type, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
5
+ import { ElementRef, InjectionToken, Injector, Type, EnvironmentProviders, OnInit, ChangeDetectorRef, OnDestroy } from '@angular/core';
6
6
  import { AXPopoverComponent } from '@acorex/components/popover';
7
7
  import * as i3 from '@acorex/platform/layout/widget-core';
8
8
  import { AXPWidgetNode, AXPWidgetColumnNode, AXPWidgetCoreService, AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetConfig, AXPWidgetRendererDirective } from '@acorex/platform/layout/widget-core';
9
- import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';
9
+ import { AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPDataSelectorAllowCreate, AXPCategoryTreeDataSource } from '@acorex/platform/layout/components';
10
10
  import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
11
- import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
11
+ import { AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption, AXValueChangedEvent, AXClickEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
12
12
  import * as _acorex_platform_common from '@acorex/platform/common';
13
- import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPQueryFilter } from '@acorex/platform/common';
13
+ import { AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPRelatedEntity, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPEntityPropertyLayoutConfig, AXPQueryView, AXPEntityPropertyView, AXPCategoryEntity, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPEntityPage, AXPQueryFilter } from '@acorex/platform/common';
14
14
  import * as i1 from '@angular/router';
15
15
  import { ResolveFn } from '@angular/router';
16
16
  import * as rxjs from 'rxjs';
17
17
  import { Subject } from 'rxjs';
18
+ export { AXPEntityDefinitionCrudService, AXP_ENTITY_DEFINITION_CRUD_SERVICE } from '@acorex/platform/domain';
18
19
  import * as i2 from '@acorex/platform/workflow';
19
20
  import { AXPWorkflowService, AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';
21
+ import * as i4 from '@acorex/platform/layout/builder';
22
+ import { IActionBuilder, AXPDialogRef, IFormFieldBuilder } from '@acorex/platform/layout/builder';
20
23
  import { AXPSessionService } from '@acorex/platform/auth';
21
24
  import { AXTreeViewNode, AXTreeViewComponent, AXTreeViewNodeSelectEvent } from '@acorex/components/tree-view';
22
- import { AXTranslationService } from '@acorex/core/translation';
23
25
  import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
24
- import { IActionBuilder, AXPDialogRef, IFormFieldBuilder } from '@acorex/platform/layout/builder';
25
26
  import { AXBasePageComponent } from '@acorex/components/page';
26
27
  import { AXFormatService } from '@acorex/core/format';
27
28
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
28
- import { AXPDataListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
29
+ import * as _acorex_core_translation from '@acorex/core/translation';
30
+ import { AXPProviderSelectWidgetEditBase, AXPDataListWidgetComponentOptions } from '@acorex/platform/layout/widgets';
29
31
 
30
32
  declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
31
33
  private entityForm;
@@ -40,6 +42,70 @@ declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
40
42
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPCreateEntityCommand>;
41
43
  }
42
44
 
45
+ /**
46
+ * Merged into AI/tool payloads for `Entity:Create` so post-create navigation does not run from agent flows.
47
+ * Applied in the AI module when normalizing tool arguments (not in the generic command executor).
48
+ */
49
+ declare const axpCreateEntityAiToolInputDefaults: {
50
+ readonly __context__: {
51
+ readonly options: {
52
+ readonly process: {
53
+ readonly redirect: false;
54
+ };
55
+ };
56
+ };
57
+ };
58
+ declare const axpCreateEntityCommandDefinition: {
59
+ key: string;
60
+ title: string;
61
+ description: string;
62
+ executionMode: "frontend";
63
+ inputs: ({
64
+ name: string;
65
+ title: string;
66
+ description: string;
67
+ interface: {
68
+ name: string;
69
+ };
70
+ validations?: undefined;
71
+ } | {
72
+ name: string;
73
+ title: string;
74
+ description: string;
75
+ interface: {
76
+ name: string;
77
+ };
78
+ validations: {
79
+ rule: string;
80
+ }[];
81
+ })[];
82
+ outcomes: {
83
+ mode: "dynamic";
84
+ summary: string;
85
+ derivesFrom: string;
86
+ };
87
+ capabilities: "ai"[];
88
+ ai: {
89
+ shortDescription: string;
90
+ usage: {
91
+ whenToUse: string[];
92
+ avoidWhen: string[];
93
+ followUpTools: string[];
94
+ };
95
+ tags: string[];
96
+ toolInputDefaults: {
97
+ __context__: {
98
+ readonly options: {
99
+ readonly process: {
100
+ readonly redirect: false;
101
+ };
102
+ };
103
+ };
104
+ };
105
+ };
106
+ categories: _acorex_platform_core.AXPDefinitionCategory[];
107
+ };
108
+
43
109
  declare class AXPUpdateEntityCommand implements AXPCommand<any, any> {
44
110
  private readonly entityForm;
45
111
  private readonly settingsService;
@@ -96,6 +162,15 @@ declare class AXPEntityDetailPopoverComponent {
96
162
  protected entityDetails: _angular_core.WritableSignal<any>;
97
163
  protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
98
164
  protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
165
+ /**
166
+ * Stable list of property widgets for the template. Must be a signal (computed), not a method:
167
+ * calling a method from the template rebuilds nodes every CD cycle and can make the widget renderer loop.
168
+ */
169
+ protected readonly entityPropertiesWithWidgets: _angular_core.Signal<{
170
+ name: string;
171
+ title: string;
172
+ node: AXPWidgetNode;
173
+ }[]>;
99
174
  /**
100
175
  * Show the entity detail popover
101
176
  */
@@ -121,11 +196,12 @@ declare class AXPEntityDetailPopoverComponent {
121
196
  * Name priority MUST come before widget-type priority.
122
197
  */
123
198
  private getNameImportanceScore;
124
- protected getEntityPropertiesWithWidgets(): Array<{
125
- name: string;
126
- title: string;
127
- node: AXPWidgetNode;
128
- }>;
199
+ private buildEntityPropertiesWithWidgets;
200
+ /**
201
+ * Resolves the data path for a property. For lookups with expose, returns the expanded path
202
+ * when data has it (e.g. personTitle). Otherwise returns property name (e.g. personTitleId).
203
+ */
204
+ private resolveDataPath;
129
205
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
130
206
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
131
207
  }
@@ -214,7 +290,9 @@ declare class AXPEntityCommandTriggerViewModel {
214
290
  options: any;
215
291
  metadata?: AXPMetaData;
216
292
  default?: boolean;
217
- constructor(entity: AXPEntity, action: AXPEntityAction);
293
+ items?: AXPEntityCommandTriggerViewModel[];
294
+ isChild?: boolean;
295
+ constructor(entity: AXPEntity, action: AXPEntityAction, isChild?: boolean);
218
296
  }
219
297
  declare class AXPEntityListViewColumnViewModel {
220
298
  readonly property: AXPEntityProperty;
@@ -437,6 +515,8 @@ declare class AXPEntityMasterListViewModel {
437
515
  hasInlineFilters: _angular_core.Signal<boolean>;
438
516
  beardcrumbs: _angular_core.Signal<AXPBreadcrumbItem[]>;
439
517
  private allActions;
518
+ /** Flattened actions including children for execute lookup */
519
+ private flattenedActions;
440
520
  getPrimaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
441
521
  getSecondaryActions(): Promise<AXPEntityCommandTriggerViewModel[]>;
442
522
  selectedScopeActionsCount: _angular_core.Signal<number>;
@@ -490,6 +570,11 @@ declare class AXPEntityMasterListViewModel {
490
570
  * pre-fills categoryIds and categories for the create form.
491
571
  */
492
572
  private mergeDefaultCategoryForCreate;
573
+ /**
574
+ * Seeds create payloads with fixed list-view conditions (e.g. scope=T on the tenant dashboards view)
575
+ * so new rows match the view context and downstream queries (such as home dashboard) can find them.
576
+ */
577
+ private mergeViewConditionsForCreate;
493
578
  private evaluateExpressions;
494
579
  execute(command: AXPExecuteCommand): Promise<void>;
495
580
  destroy(): void;
@@ -661,6 +746,15 @@ declare const AXPEntityPreloadFiltersViewModelResolver: ResolveFn<Promise<AXPEnt
661
746
 
662
747
  interface AXPEntityModifierContext {
663
748
  readonly entity: AXPEntity;
749
+ plugins: {
750
+ list(): NonNullable<AXPEntity['plugins']>;
751
+ add(...items: NonNullable<AXPEntity['plugins']>): AXPEntityModifierContext;
752
+ remove(predicate: (p: NonNullable<AXPEntity['plugins']>[number]) => boolean): AXPEntityModifierContext;
753
+ find(name: string): {
754
+ get(): NonNullable<AXPEntity['plugins']>[number] | undefined;
755
+ update(updater: (p: NonNullable<AXPEntity['plugins']>[number]) => NonNullable<AXPEntity['plugins']>[number]): AXPEntityModifierContext;
756
+ };
757
+ };
664
758
  title: {
665
759
  get(): string;
666
760
  set(newTitle: string): AXPEntityModifierContext;
@@ -824,6 +918,7 @@ interface AXPEntityDefinitionPreloader {
824
918
  }
825
919
  declare class AXPEntityDefinitionRegistryService {
826
920
  private middleware;
921
+ private columnEnrichment;
827
922
  private onChanged;
828
923
  get onChanged$(): rxjs.Observable<{
829
924
  name: string;
@@ -885,28 +980,71 @@ declare class AXPEntityDefinitionRegistryService {
885
980
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
886
981
  }
887
982
 
983
+ /**
984
+ * One audit point in time for a record lifecycle event.
985
+ *
986
+ * Used inside {@link AXPRecordAuditInfo} (`created`, `updated`, `deleted`).
987
+ * Backends and mock middleware typically set `at` and `by`; `reason` and `source`
988
+ * (for example `api`, `system`, `import`) are optional diagnostic fields.
989
+ */
888
990
  interface AXPAuditEvent {
889
991
  at?: Date;
890
992
  by?: AXPUserReference;
993
+ /** Optional business or technical reason for the event. */
891
994
  reason?: string;
995
+ /** Optional origin of the change (for example `api`, `system`, `import`). */
892
996
  source?: string;
893
997
  }
998
+ /**
999
+ * Aggregated audit trail for a persisted row.
1000
+ *
1001
+ * Filled by APIs or connectivity mock middleware when creating, updating, or
1002
+ * soft-deleting records. UI surfaces may show these via the history plugin or
1003
+ * custom columns. Version snapshot pipelines often **omit** this object from
1004
+ * stored snapshots while still applying it to live payloads.
1005
+ *
1006
+ * @remarks Fields are optional today; callers should tolerate partial data.
1007
+ */
894
1008
  interface AXPRecordAuditInfo {
895
1009
  created?: AXPAuditEvent;
896
1010
  updated?: AXPAuditEvent;
897
1011
  deleted?: AXPAuditEvent;
898
1012
  }
1013
+ /**
1014
+ * Cross-cutting flags that are not part of the domain schema but affect how a
1015
+ * row is shown or edited (visibility, built-in/system rows, immutability).
1016
+ *
1017
+ * Module entity models sometimes expose only this slice (for example
1018
+ * `stateInfo` on business units) when the rest of the row uses a bespoke shape.
1019
+ *
1020
+ * @remarks Entity list/detail flows should honor these flags where applicable.
1021
+ */
899
1022
  interface AXPRecordStateInfo {
900
1023
  isHidden?: boolean;
901
1024
  isSystem?: boolean;
902
1025
  isImmutable?: boolean;
1026
+ /** @deprecated Prefer explicit domain modeling over this flag. */
903
1027
  isDistributed?: boolean;
904
1028
  }
1029
+ /**
1030
+ * Tenancy and actor scope for a row in a multi-tenant application.
1031
+ *
1032
+ * Used to associate a record with a tenant, application instance, or owning
1033
+ * user when the API returns ownership metadata alongside domain fields.
1034
+ */
905
1035
  interface AXPRecordOwnershipInfo {
906
1036
  tenantId?: string;
907
1037
  applicationId?: string;
908
1038
  userId?: string;
909
1039
  }
1040
+ /**
1041
+ * Base shape for **entity row** TypeScript models across modules: a stable
1042
+ * identifier plus optional platform metadata.
1043
+ *
1044
+ * Module-specific interfaces extend this with domain properties
1045
+ * (`extends AXPEntityModel<string>` / `AXPEntityModel<Id>`) while reusing
1046
+ * `auditInfo`, `stateInfo`, and `ownershipInfo` when the backend sends them.
1047
+ */
910
1048
  interface AXPEntityModel<Id> {
911
1049
  id: Id;
912
1050
  auditInfo?: AXPRecordAuditInfo;
@@ -1037,9 +1175,59 @@ declare class AXPEntityResolver {
1037
1175
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityResolver>;
1038
1176
  }
1039
1177
 
1178
+ /**
1179
+ * Built-in entity detail tabs from plugins. Sidebar order (after related page-list / page-detail
1180
+ * tabs): meta-data-builder → attachments → documents → comments → history.
1181
+ */
1182
+ type EntityDetailPluginPageSlot = 'meta-data-builder' | 'attachments' | 'documents' | 'comments' | 'history';
1183
+ /** Identifies an `entity.pages` entry when skipping its order during recomputation. */
1184
+ interface SkipEntityComponentPageRef {
1185
+ componentKey: string;
1186
+ /** When set, only the page with this `field` is skipped (e.g. attachments / meta-data per field). */
1187
+ field?: string;
1188
+ }
1189
+ interface ResolveEntityPluginDetailPageOrderOptions {
1190
+ /** Component key of the page being added or updated (used to count sibling tabs in the same slot). */
1191
+ componentKey: string;
1192
+ /**
1193
+ * Ignore this page when counting siblings / recomputing (the page currently being updated).
1194
+ */
1195
+ skipPage?: SkipEntityComponentPageRef;
1196
+ /**
1197
+ * Field name for multi-page slots (`attachments`, `meta-data-builder`). Omit for single-tab slots.
1198
+ */
1199
+ field?: string;
1200
+ /** Gap between auto-assigned related tab orders. Default: 10. */
1201
+ relatedOrderStep?: number;
1202
+ /** Minimum start of the plugin zone (after related tabs). Default: 100_000. */
1203
+ pluginZoneFloor?: number;
1204
+ }
1205
+ /**
1206
+ * Resolves `layout.order` for a built-in plugin detail tab (`entity.pages`).
1207
+ *
1208
+ * 1. Assigns finite `layout.order` values to related `page-list` / `page-detail` rows that omit
1209
+ * `order` (the composer otherwise treats them as +Infinity).
1210
+ * 2. Places plugin tabs in a fixed relative order: meta-data-builder → attachments → documents →
1211
+ * comments → history, after all related tabs.
1212
+ */
1213
+ declare function resolveEntityPluginDetailPageOrder(input: {
1214
+ relatedEntities?: AXPRelatedEntity[];
1215
+ pages?: Array<AXPEntityPage & {
1216
+ field?: string;
1217
+ }>;
1218
+ }, slot: EntityDetailPluginPageSlot, options: ResolveEntityPluginDetailPageOrderOptions): number;
1219
+
1220
+ /**
1221
+ * Sort key for entries in `interfaces.master.{create|update|single}.properties`.
1222
+ * Uses `layout.order` when set and finite; otherwise the property index in that list.
1223
+ */
1224
+ declare function getMasterInterfacePropertySortKey(interfaceRow: {
1225
+ layout?: AXPEntityPropertyLayoutConfig | undefined;
1226
+ } | undefined, indexInMasterInterfaceList: number): number;
1227
+
1040
1228
  declare class AXPEntityModule {
1041
1229
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityModule, never>;
1042
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPWidgetCoreModule], never>;
1230
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof i2.AXPWorkflowModule, typeof i3.AXPWidgetCoreModule, typeof i4.LayoutBuilderModule], never>;
1043
1231
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
1044
1232
  }
1045
1233
 
@@ -1209,41 +1397,57 @@ declare const columnWidthMiddleware: AXPEntityModifier;
1209
1397
  declare const columnWidthMiddlewareProvider: AXPEntityModifierProvider;
1210
1398
 
1211
1399
  /**
1212
- * Configuration for section ordering
1400
+ * Default order for common list view columns.
1401
+ * Lower numbers appear first. Columns not in this map get order 500 (middle).
1402
+ * Use high numbers (990+) for columns that should appear at the end.
1403
+ */
1404
+ declare const DEFAULT_COLUMN_ORDER: Record<string, number>;
1405
+ /**
1406
+ * Entity modifier that sorts list view columns by default order.
1407
+ * Similar to layout-ordering for sections/properties, but for list columns.
1213
1408
  */
1409
+ declare const columnOrderingMiddleware: AXPEntityModifier;
1410
+ /**
1411
+ * Factory to create a column ordering middleware with custom order config
1412
+ */
1413
+ declare const createColumnOrderingMiddlewareProvider: (columnOrder?: Record<string, number>, entityName?: string | RegExp) => AXPEntityModifierProvider;
1414
+ /**
1415
+ * Default provider that applies column ordering to all entities
1416
+ */
1417
+ declare const columnOrderingMiddlewareProvider: AXPEntityModifierProvider;
1418
+
1419
+ /**
1420
+ * Default colSpans for two properties in one section (`md` / `lg`).
1421
+ * Missing `positions[*].colSpan` are filled only; entities keep full control.
1422
+ */
1423
+ interface PairSpanRule {
1424
+ first: string;
1425
+ second: string;
1426
+ /** Col span applied to {@link first} */
1427
+ firstSpan: number;
1428
+ /** Col span applied to {@link second} */
1429
+ secondSpan: number;
1430
+ breakpoints?: readonly ('sm' | 'md' | 'lg')[];
1431
+ }
1214
1432
  interface SectionOrderConfig {
1215
- /**
1216
- * Default order for common sections
1217
- * Lower numbers appear first
1218
- */
1219
1433
  sections: Record<string, number>;
1434
+ properties: Record<string, number>;
1220
1435
  /**
1221
- * Default order for properties within sections
1222
- * Key format: 'sectionId.propertyName' or just 'propertyName' for any section
1436
+ * Defaults for pairing two columns (e.g. code + title). Replace or extend defaults.
1437
+ * - `undefined`: use {@link DEFAULT_PAIR_SPAN_RULES}
1438
+ * - `false`: do not apply any pair spans
1439
+ * - `[...]` + spread `DEFAULT_PAIR_SPAN_RULES` when you want to append custom pairs
1223
1440
  */
1224
- properties: Record<string, number>;
1441
+ pairSpanRules?: PairSpanRule[] | false;
1225
1442
  }
1226
1443
  /**
1227
- * Default order for common sections
1444
+ * Default shipped rules: narrow identifier + wider title on `md` / `lg`.
1228
1445
  */
1446
+ declare const DEFAULT_PAIR_SPAN_RULES: readonly PairSpanRule[];
1229
1447
  declare const DEFAULT_SECTION_ORDER: Record<string, number>;
1230
- /**
1231
- * Default order for common properties
1232
- * Format: 'sectionId.propertyName' for section-specific or 'propertyName' for any section
1233
- */
1234
1448
  declare const DEFAULT_PROPERTY_ORDER: Record<string, number>;
1235
- /**
1236
- * Factory to create a layout ordering middleware
1237
- */
1238
1449
  declare const layoutOrderingMiddlewareFactory: (config: SectionOrderConfig) => AXPEntityModifier;
1239
- /**
1240
- * Helper to create a provider for the layout ordering middleware
1241
- * By default it applies to all entities using the '*' pattern
1242
- */
1243
1450
  declare const createLayoutOrderingMiddlewareProvider: (config?: Partial<SectionOrderConfig>, entityName?: string | RegExp) => AXPEntityModifierProvider;
1244
- /**
1245
- * Default provider registered with the default configuration
1246
- */
1247
1451
  declare const layoutOrderingMiddlewareProvider: AXPEntityModifierProvider;
1248
1452
 
1249
1453
  /**
@@ -1262,6 +1466,28 @@ declare class AXPLayoutOrderingConfigService {
1262
1466
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPLayoutOrderingConfigService>;
1263
1467
  }
1264
1468
 
1469
+ /**
1470
+ * Ensures all entities have a searchResult.description.
1471
+ * Uses @{i18nScope}:module.title when missing (guaranteed to exist in i18n).
1472
+ */
1473
+ declare const searchResultDescriptionMiddleware: AXPEntityModifier;
1474
+ declare const searchResultDescriptionMiddlewareProvider: AXPEntityModifierProvider;
1475
+
1476
+ /**
1477
+ * When enabled in regional settings ({@link AXPRegionalSetting.MultiLanguageSupport}), walks each
1478
+ * property's `schema.interface` widget tree and sets `options.multiLanguage` on matching text-like
1479
+ * editors (including nested GridLayout leaves such as `pre.content` / `post.summaryContent`), unless
1480
+ * the node already specifies `multiLanguage` (including explicit false to opt out).
1481
+ */
1482
+ declare const defaultMultiLanguageMiddleware: AXPEntityModifier;
1483
+ declare const defaultMultiLanguageMiddlewareProvider: AXPEntityModifierProvider;
1484
+
1485
+ /**
1486
+ * Registers entity CRUD commands and queries for the given entity keys.
1487
+ * Use in app/module providers; consumes AXPEntityService from this package.
1488
+ */
1489
+ declare function provideEntity(entityKeys: string[]): EnvironmentProviders;
1490
+
1265
1491
  interface AXPGetEntityDetailsQueryInput {
1266
1492
  entity: string;
1267
1493
  id: string;
@@ -1295,9 +1521,14 @@ declare class AXPGetEntityDetailsQuery implements AXPQuery<AXPGetEntityDetailsQu
1295
1521
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPGetEntityDetailsQuery>;
1296
1522
  }
1297
1523
 
1524
+ /**
1525
+ * i18n key for the synthetic root node ("all categories"). Resolve in templates with the translate pipe.
1526
+ */
1527
+ declare const AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY = "@general:terms.interface.selection.all-items";
1298
1528
  interface CategoryQueryEvent {
1299
1529
  skip: number;
1300
1530
  take: number;
1531
+ sort?: AXDataSourceSortOption[];
1301
1532
  filter?: {
1302
1533
  field?: string;
1303
1534
  value?: unknown;
@@ -1327,7 +1558,14 @@ interface CategoryTreeNodeData {
1327
1558
  }
1328
1559
  declare class AXPCategoryTreeService {
1329
1560
  protected readonly entityResolver: AXPEntityDefinitionRegistryService;
1330
- protected readonly translate: AXTranslationService;
1561
+ private readonly translation;
1562
+ /** Sort field for list queries (backend); matches configured category display field. */
1563
+ private getAlphabeticalSortOptions;
1564
+ /**
1565
+ * Sort tree nodes by resolved display title (locale-aware).
1566
+ * Ensures correct order for multi-language titles when storage order differs from UI order.
1567
+ */
1568
+ private sortTreeNodesByDisplayTitle;
1331
1569
  /**
1332
1570
  * Initialize category tree data source
1333
1571
  */
@@ -1365,6 +1603,48 @@ declare class AXPCategoryTreeService {
1365
1603
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPCategoryTreeService>;
1366
1604
  }
1367
1605
 
1606
+ declare class AXPRelatedColumnEnrichmentService {
1607
+ private readonly metadataResolver;
1608
+ /**
1609
+ * Enriches entity columns with:
1610
+ * 1. dataPath for FK columns (e.g. fromPersonId) derived from lookup property schema
1611
+ * 2. title and showAs from related entity properties for dotted paths (e.g. person.firstName)
1612
+ */
1613
+ enrich(entity: AXPEntity): Promise<AXPEntity>;
1614
+ /**
1615
+ * Derives dataPath for FK columns from lookup property schema.
1616
+ * Uses expose.target where source matches textField (default 'title').
1617
+ */
1618
+ private deriveDataPathForFkColumn;
1619
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRelatedColumnEnrichmentService, never>;
1620
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPRelatedColumnEnrichmentService>;
1621
+ }
1622
+
1623
+ interface AXPRelatedColumnMetadata {
1624
+ title?: string;
1625
+ showAs?: AXPEntityTableColumn['showAs'];
1626
+ }
1627
+ declare class AXPRelatedColumnMetadataResolver {
1628
+ private readonly entityLoader;
1629
+ /**
1630
+ * Resolves title and showAs for a column that references a related entity property via dotted path.
1631
+ * Uses relatedEntities when available; falls back to lookup expose when not.
1632
+ */
1633
+ resolve(entity: AXPEntity, columnName: string): Promise<AXPRelatedColumnMetadata | null>;
1634
+ /**
1635
+ * Finds a lookup property whose expose target matches the dotted path.
1636
+ * Returns the lookup's entity string (e.g. 'PersonCore.Person') or null.
1637
+ */
1638
+ private findLookupEntityByExposeTarget;
1639
+ /**
1640
+ * Derives showAs from source property schema.
1641
+ * Passes through the full interface (type, options, children) for column display.
1642
+ */
1643
+ private deriveShowAs;
1644
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRelatedColumnMetadataResolver, never>;
1645
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPRelatedColumnMetadataResolver>;
1646
+ }
1647
+
1368
1648
  interface IEntitySelectorStage {
1369
1649
  /** Select target entity using "module.entity" format */
1370
1650
  entity(fullName: string): IInterfaceSelectorStage;
@@ -1382,6 +1662,8 @@ interface IPropertyFilterStage {
1382
1662
  include(...propertyNames: string[]): IPropertyFilterStage;
1383
1663
  /** Exclude provided property names (by AXPEntityProperty.name). Ignored if include() was already set. */
1384
1664
  exclude(...propertyNames: string[]): IPropertyFilterStage;
1665
+ /** Mark provided property names as readonly. Overrides property schema for display. */
1666
+ readonlyProperties(...propertyNames: string[]): IPropertyFilterStage;
1385
1667
  /** Optionally override dialog title */
1386
1668
  title(text: string): IPropertyFilterStage;
1387
1669
  /** Provide initial dialog context/model data */
@@ -1410,6 +1692,7 @@ declare class AXPEntityFormBuilderService implements IEntitySelectorStage {
1410
1692
  private readonly entityRegistry;
1411
1693
  private readonly layoutBuilder;
1412
1694
  private readonly deviceService;
1695
+ private readonly expressionEvaluator;
1413
1696
  entity(fullName: string): IInterfaceSelectorStage;
1414
1697
  /**
1415
1698
  * Fetches a record by ID for the specified entity.
@@ -1471,12 +1754,23 @@ declare function entityMasterCrudActions(options?: {
1471
1754
  }): AXPEntityAction[];
1472
1755
  declare function entityMasterRecordActions(): AXPEntityAction[];
1473
1756
  declare function entityDetailsCreateActions(parentId: string): AXPEntityAction;
1757
+ /**
1758
+ * Type-level Create with empty `process.data`; the FK is supplied from `relatedEntity.persistence.foreignKeyField`
1759
+ * when the related list is built (see `mergeForeignKeyFieldIntoCreateActions`).
1760
+ */
1761
+ declare function entityDetailsCreateActionsDeferredParent(): AXPEntityAction;
1762
+ /**
1763
+ * Ensures each type-level `Entity:Create` action includes `process.data[foreignKeyField]` bound to the parent row id.
1764
+ */
1765
+ declare function mergeForeignKeyFieldIntoCreateActions(foreignKeyField: string | undefined, actions: AXPEntityAction[] | undefined): AXPEntityAction[];
1766
+ /** Property names hidden on nested Create from a related list (`excludeProperties` plus `foreignKeyField` when set). */
1767
+ declare function collectNestedCreateHiddenProperties(relatedEntity: AXPRelatedEntity): string[] | undefined;
1474
1768
  declare function entityDetailsSimpleCondition(fk: string): AXPQueryFilter;
1475
1769
  declare function entityDetailsReferenceCondition(type: string): AXPQueryFilter[];
1476
1770
  declare function entityDetailsEditAction(): AXPEntityAction;
1477
1771
  declare function entityDetailsNewEditAction(): AXPEntityAction;
1478
1772
  declare function entityOverrideDetailsViewAction(): AXPEntityAction;
1479
- declare function entityDetailsCrudActions(parentId: string, options?: {
1773
+ declare function entityDetailsCrudActions(parentId?: string, options?: {
1480
1774
  create?: boolean;
1481
1775
  delete?: boolean;
1482
1776
  view?: boolean;
@@ -1501,6 +1795,8 @@ declare function detectEntityChanges(oldObj: any, newObj: any): AXPEntityChangeS
1501
1795
 
1502
1796
  declare class AXPEntityCategoryTreeSelectorComponent extends AXBasePageComponent implements OnInit {
1503
1797
  protected readonly categoryTreeService: AXPCategoryTreeService;
1798
+ /** i18n key for the synthetic "all items" root row; resolved in the template with the translate pipe. */
1799
+ protected readonly categoryTreeRootTitleI18nKey = "@general:terms.interface.selection.all-items";
1504
1800
  private readonly translationService;
1505
1801
  protected readonly highlightService: AXHighlightService;
1506
1802
  private readonly changeDetectorRef;
@@ -1840,14 +2136,14 @@ declare class AXPEntityCategoryWidgetEditComponent extends AXPValueWidgetCompone
1840
2136
  private singleOrMultiple;
1841
2137
  protected getItemLabel(item: any): string;
1842
2138
  /**
1843
- * Get item path as array for breadcrumb component
2139
+ * Get item path as array for breadcrumb component (raw MLS or string per segment).
1844
2140
  */
1845
- protected getItemPath(item: any): string[];
2141
+ protected getItemPath(item: any): AXPMultiLanguageString[];
1846
2142
  /**
1847
2143
  * Join path array with separator.
1848
2144
  * Override this method to customize the separator (e.g., " > ", " -> ", " / ")
1849
2145
  */
1850
- protected joinPath(path: string[]): string;
2146
+ protected joinPath(path: unknown[]): string;
1851
2147
  protected getItemId(item: any): string;
1852
2148
  /**
1853
2149
  * Calculate the full path from root to the item.
@@ -1859,7 +2155,6 @@ declare class AXPEntityCategoryWidgetEditComponent extends AXPValueWidgetCompone
1859
2155
  }
1860
2156
 
1861
2157
  declare class AXPEntityCategoryWidgetViewComponent extends AXPValueWidgetComponent<any> {
1862
- protected readonly formatService: AXFormatService;
1863
2158
  protected readonly entityResolver: AXPEntityDefinitionRegistryService;
1864
2159
  protected entity: _angular_core.Signal<string>;
1865
2160
  protected multiple: _angular_core.Signal<boolean>;
@@ -1871,12 +2166,11 @@ declare class AXPEntityCategoryWidgetViewComponent extends AXPValueWidgetCompone
1871
2166
  private entityDef;
1872
2167
  protected displayItems: _angular_core.WritableSignal<{
1873
2168
  id: string;
1874
- text: string;
2169
+ titleRaw: AXPMultiLanguageString | null | undefined;
1875
2170
  }[]>;
1876
2171
  private efEntity;
1877
2172
  private efDisplay;
1878
2173
  private extractItem;
1879
- private getDisplayText;
1880
2174
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCategoryWidgetViewComponent, never>;
1881
2175
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCategoryWidgetViewComponent, "axp-entity-category-widget-view", never, {}, {}, never, never, true, never>;
1882
2176
  }
@@ -1884,7 +2178,9 @@ declare class AXPEntityCategoryWidgetViewComponent extends AXPValueWidgetCompone
1884
2178
  declare const AXPEntityCategoryWidget: AXPWidgetConfig;
1885
2179
 
1886
2180
  declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
1887
- sections: _angular_core.InputSignal<string[]>;
2181
+ private readonly mlsResolver;
2182
+ /** Plain string or locale map per segment; truncation uses resolved text (see {@link resolvedSectionTexts}). */
2183
+ sections: _angular_core.InputSignal<readonly (_acorex_core_translation.AXMultiLanguageString | null | undefined)[]>;
1888
2184
  characterLimit: _angular_core.InputSignal<number | "auto">;
1889
2185
  sectionLimit: _angular_core.InputSignal<number | "auto">;
1890
2186
  separatorIcon: _angular_core.InputSignal<string>;
@@ -1894,6 +2190,8 @@ declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
1894
2190
  protected isExpanded: _angular_core.WritableSignal<boolean>;
1895
2191
  private containerWidth;
1896
2192
  private resizeObserver;
2193
+ /** Resolved display strings for length / ellipsis (same rules as the pipe). */
2194
+ protected resolvedSectionTexts: _angular_core.Signal<string[]>;
1897
2195
  protected effectiveCharacterLimit: _angular_core.Signal<number>;
1898
2196
  protected effectiveSectionLimit: _angular_core.Signal<number>;
1899
2197
  protected hasTruncatedText: _angular_core.Signal<boolean>;
@@ -1925,6 +2223,45 @@ declare class AXPTruncatedBreadcrumbComponent implements OnDestroy {
1925
2223
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTruncatedBreadcrumbComponent, "axp-truncated-breadcrumb", never, { "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "characterLimit": { "alias": "characterLimit"; "required": false; "isSignal": true; }; "sectionLimit": { "alias": "sectionLimit"; "required": false; "isSignal": true; }; "separatorIcon": { "alias": "separatorIcon"; "required": false; "isSignal": true; }; "ellipsisIcon": { "alias": "ellipsisIcon"; "required": false; "isSignal": true; }; "eyeIcon": { "alias": "eyeIcon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1926
2224
  }
1927
2225
 
2226
+ declare const AXPEntityDefinitionProviderWidget: AXPWidgetConfig;
2227
+ declare module '@acorex/platform/layout/widget-core' {
2228
+ interface AXPWidgetTypesMap {
2229
+ entityDefinitionProvider: 'entity-definition-provider-editor';
2230
+ }
2231
+ }
2232
+
2233
+ declare class AXPEntityDefinitionProviderWidgetEditComponent extends AXPProviderSelectWidgetEditBase {
2234
+ private readonly entityRegistry;
2235
+ /**
2236
+ * Last applied module filter (from context) to avoid redundant reloads.
2237
+ */
2238
+ private readonly lastModuleFilterKey;
2239
+ /**
2240
+ * Reloads entity options when `filterModuleField` changes in form context (not only via `widget.refresh()`).
2241
+ */
2242
+ private readonly reloadWhenModuleContextChanges;
2243
+ /**
2244
+ * Options:
2245
+ * - `filterModuleField`: sibling context field name (e.g. `entityListModule`); when set, only entities in that module are listed.
2246
+ * - `valueFormat`: `fullKey` (`module.name`, default) or `entityName` (short name only, for menus that store `entityListRef.entity`).
2247
+ */
2248
+ protected loadDataSourceRows(): Promise<Array<{
2249
+ value: string;
2250
+ title: string;
2251
+ }>>;
2252
+ refresh(): void;
2253
+ /**
2254
+ * Reads sibling field from context store data (same shape as `lodash/get` paths).
2255
+ */
2256
+ private readModuleFromContext;
2257
+ /**
2258
+ * Resolves a sibling field path relative to the current widget's parent path.
2259
+ */
2260
+ private resolveSiblingContextPath;
2261
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionProviderWidgetEditComponent, never>;
2262
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDefinitionProviderWidgetEditComponent, "axp-entity-definition-provider-widget-edit", never, {}, {}, never, never, true, never>;
2263
+ }
2264
+
1928
2265
  declare class AXPEntityListTableService {
1929
2266
  private readonly workflow;
1930
2267
  private readonly commandService;
@@ -1964,6 +2301,11 @@ declare class AXPEntityListTableService {
1964
2301
  * Handle execution of a row command (shared by double-click and command handlers)
1965
2302
  */
1966
2303
  private handleRowCommand;
2304
+ /**
2305
+ * When a related entity list declares `excludeProperties`, row commands bypass the details page
2306
+ * `execute()` merge — apply the same exclusions for embedded create/update commands.
2307
+ */
2308
+ private mergeRelatedListFormOptions;
1967
2309
  /**
1968
2310
  * Create default events
1969
2311
  */
@@ -2002,11 +2344,13 @@ declare class AXPEntityListToolbarService {
2002
2344
  */
2003
2345
  private createFilterDefinitions;
2004
2346
  /**
2005
- * Create Column Definitions for Toolbar
2347
+ * Create Column Definitions for Toolbar.
2348
+ * Includes both entity.properties and enriched columns (e.g. person.firstName with showAs).
2006
2349
  */
2007
2350
  private createColumnDefinitions;
2008
2351
  /**
2009
- * Create Sort Definitions for Toolbar
2352
+ * Create Sort Definitions for Toolbar.
2353
+ * Includes entity.properties with sort enabled, plus enriched columns (dotted paths).
2010
2354
  */
2011
2355
  private createSortDefinitions;
2012
2356
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityListToolbarService, never>;
@@ -2050,6 +2394,23 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
2050
2394
  protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
2051
2395
  protected execute(commandName: string, _data: unknown): Promise<void>;
2052
2396
  private evaluateToolbarExpressions;
2397
+ /**
2398
+ * Re-evaluates related-entity list filters from the live dialog form context (e.g. after create saves the main row id).
2399
+ */
2400
+ private applyRelatedFiltersFromContext;
2401
+ /**
2402
+ * Pushes current toolbar filters to the embedded list data source when both exist.
2403
+ * Returns false while data-list is still mounting (see deferred listNode.set in ngOnInit).
2404
+ */
2405
+ private pushToolbarFiltersToDataSource;
2406
+ /**
2407
+ * Writes toolbar filters from specs and pushes them onto the data source so refresh/reload keeps the parent scope.
2408
+ */
2409
+ private applyRelatedFiltersFromContextAndDatasource;
2410
+ /**
2411
+ * Refreshes the embedded data list (toolbar / workflow). In wizard mode, `refresh` is patched to re-apply scoped filters first.
2412
+ */
2413
+ private refreshGridWithParentScopedFilters;
2053
2414
  protected queries: undefined;
2054
2415
  /**
2055
2416
  * Validates that all required dependencies are available
@@ -2103,7 +2464,7 @@ declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any>
2103
2464
  private efEntity;
2104
2465
  private efDisplay;
2105
2466
  private extractItem;
2106
- private getDisplayText;
2467
+ private getDisplayRaw;
2107
2468
  private get __class();
2108
2469
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetViewComponent, never>;
2109
2470
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetViewComponent, "axp-lookup-widget-view", never, {}, {}, never, never, true, never>;
@@ -2120,7 +2481,7 @@ interface AXPEntityDataSelectorOptions {
2120
2481
  name: string;
2121
2482
  dir: 'asc' | 'desc';
2122
2483
  }[];
2123
- allowCreate?: boolean;
2484
+ allowCreate?: AXPDataSelectorAllowCreate;
2124
2485
  searchFields?: string[];
2125
2486
  initialSearchTerm?: string;
2126
2487
  selectedItemIds?: string[] | number[];
@@ -2141,10 +2502,21 @@ declare class AXPEntityDataSelectorService {
2141
2502
  private readonly filterOperatorMiddleware;
2142
2503
  private readonly widgetResolver;
2143
2504
  private readonly entityResolver;
2505
+ private readonly commandService;
2144
2506
  /**
2145
2507
  * Open entity data selector popup
2146
2508
  */
2147
2509
  open(options: AXPEntityDataSelectorOptions): Promise<AXPEntityDataSelectorResult | null>;
2510
+ /**
2511
+ * Execute Entity:Create and return created item.
2512
+ * Used by lookup widget and data selector for inline create.
2513
+ */
2514
+ executeEntityCreate(entity: AXPEntity, mode: 'full' | 'quick'): Promise<any | null>;
2515
+ /**
2516
+ * Normalize item's phones/emails for expose/display.
2517
+ * Call this when receiving items from any source (create, API, selector).
2518
+ */
2519
+ normalizeItemContactArrays(item: any): any;
2148
2520
  /**
2149
2521
  * Create data selector configuration from entity options
2150
2522
  */
@@ -2162,9 +2534,19 @@ declare class AXPEntityDataSelectorService {
2162
2534
  */
2163
2535
  private getSearchFields;
2164
2536
  /**
2165
- * Check if entity supports create operation
2537
+ * Get allowCreate mode from entity
2538
+ */
2539
+ private getAllowCreate;
2540
+ /**
2541
+ * Execute Entity:Create and return created item
2166
2542
  */
2167
- private canCreate;
2543
+ private executeCreate;
2544
+ /**
2545
+ * Normalize phones/emails from repeater form to plain arrays of { value: string }.
2546
+ * Repeater/ContactBox can return nested structure: { value: { label: "", value: "101010" } }
2547
+ * Contact widget expects: { value: "101010", label?: string }
2548
+ */
2549
+ private normalizeContactArrays;
2168
2550
  /**
2169
2551
  * Create category tree data source from category entity key
2170
2552
  */
@@ -2188,6 +2570,37 @@ declare abstract class LookupWidgetLookBase {
2188
2570
  }
2189
2571
 
2190
2572
  type AXPLookupWidgetLookType = 'select' | 'lookup';
2573
+ /**
2574
+ * How the lookup column resolves related items for display in entity lists.
2575
+ * - `hydrated`: titles (and optional ids) are already on the row; inline preview + overflow popover use row data only.
2576
+ * - `idsWithCount`: ids and optional count live on the row; the cell shows a count summary and loads titles via entity `byKey` when the popover opens.
2577
+ * - `countOnly`: only a count is on the row; the popover loads ids/titles via a registered `AXPQuery` when opened.
2578
+ */
2579
+ type AXPLookupColumnResolveStrategy = 'hydrated' | 'idsWithCount' | 'countOnly';
2580
+ /**
2581
+ * Column list only: controls how the lookup column loads and displays related items in grids.
2582
+ * Omitted or empty strategy defaults to `hydrated` at runtime.
2583
+ */
2584
+ interface AXPLookupColumnResolveOptions {
2585
+ /** Default `hydrated` when omitted. */
2586
+ strategy?: AXPLookupColumnResolveStrategy;
2587
+ /** Lodash-style path on `rowData` for the displayed count (e.g. `rolesCount`). */
2588
+ countFieldPath?: string;
2589
+ /** Lodash-style path on `rowData` for the related id list (`idsWithCount`). If omitted, the column `rawValue` is used. */
2590
+ idsPath?: string;
2591
+ /** Registered query key for `AXPQueryExecutor.fetch` when using `countOnly`. */
2592
+ queryKey?: string;
2593
+ /**
2594
+ * Maps query input property names to lodash-style paths on `rowData` (e.g. `{ "userId": "id" }`).
2595
+ * May be a JSON string when set from the layout designer text field.
2596
+ */
2597
+ queryParams?: Record<string, string> | string;
2598
+ /**
2599
+ * Dot path into the named query result for the items array. Defaults to `items` when the result is an object.
2600
+ * If the query returns an array directly, leave unset and handle at runtime.
2601
+ */
2602
+ queryResultItemsPath?: string;
2603
+ }
2191
2604
  interface AXPLookupWidgetOptions {
2192
2605
  disabled?: boolean | AXPExpression;
2193
2606
  readonly?: boolean | AXPExpression;
@@ -2196,6 +2609,8 @@ interface AXPLookupWidgetOptions {
2196
2609
  look?: AXPLookupWidgetLookType;
2197
2610
  allowClear?: boolean;
2198
2611
  displayFormat?: string;
2612
+ /** Column list: lazy resolve and summary behavior. */
2613
+ columnResolve?: AXPLookupColumnResolveOptions;
2199
2614
  }
2200
2615
 
2201
2616
  declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any> {
@@ -2204,6 +2619,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
2204
2619
  protected readonly entityResolver: AXPEntityDefinitionRegistryService;
2205
2620
  protected readonly entityService: AXPEntityService;
2206
2621
  protected readonly entityDataSelectorService: AXPEntityDataSelectorService;
2622
+ private readonly mlsResolver;
2207
2623
  protected componentLook: _angular_core.Signal<LookupWidgetLookBase | undefined>;
2208
2624
  protected expose: _angular_core.Signal<string | any[] | undefined>;
2209
2625
  protected entity: _angular_core.Signal<string>;
@@ -2212,11 +2628,13 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
2212
2628
  protected textField: _angular_core.Signal<string>;
2213
2629
  protected hasClearButton: _angular_core.Signal<boolean>;
2214
2630
  protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
2631
+ protected placeholder: _angular_core.Signal<string>;
2215
2632
  protected filterMode: _angular_core.Signal<boolean>;
2216
2633
  protected multiple: _angular_core.Signal<boolean>;
2217
2634
  protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
2218
2635
  protected defaultTextField: _angular_core.Signal<string>;
2219
2636
  protected displayField: _angular_core.Signal<string>;
2637
+ protected allowCreate: _angular_core.Signal<"full" | "none" | "quick">;
2220
2638
  protected valueField: _angular_core.Signal<string>;
2221
2639
  protected displayFormat: _angular_core.Signal<string | undefined>;
2222
2640
  protected conditions?: AXPQueryFilter[];
@@ -2230,10 +2648,15 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
2230
2648
  private hasValue;
2231
2649
  private findByValue;
2232
2650
  protected handleComponentValueChanged(items: any[] | null): void;
2651
+ protected handleCreateClick(_e: AXClickEvent): Promise<void>;
2652
+ private executeCreate;
2233
2653
  protected setLoading: (loading: boolean) => void;
2234
2654
  protected setItems: (items: any[]) => void;
2235
2655
  /**
2236
- * Update expose data for empty state
2656
+ * Writes expose targets into context using per-path updates.
2657
+ * Avoids `contextService.patch()` with nested objects: patch shallow-merges top-level keys only,
2658
+ * so e.g. `{ person: { educationLevel: { id, title } } }` would replace the entire `person`
2659
+ * object and drop sibling fields like `person.educationLevelId`, causing a value/effect loop.
2237
2660
  */
2238
2661
  private expoesItems;
2239
2662
  private singleOrMultiple;
@@ -2246,8 +2669,12 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
2246
2669
 
2247
2670
  declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
2248
2671
  private readonly entityDetailPopoverService;
2672
+ private readonly translation;
2249
2673
  private readonly formatService;
2674
+ private readonly entityService;
2675
+ private readonly queryExecutor;
2250
2676
  protected moreButton: _angular_core.Signal<ElementRef<any> | undefined>;
2677
+ protected lazyTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
2251
2678
  protected morePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
2252
2679
  protected host: ElementRef<any>;
2253
2680
  protected valueField: string;
@@ -2257,21 +2684,51 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
2257
2684
  protected maxVisible: number;
2258
2685
  protected displayFormat: _angular_core.Signal<string | undefined>;
2259
2686
  protected displayField: _angular_core.Signal<string>;
2687
+ protected columnResolve: _angular_core.Signal<AXPLookupColumnResolveOptions | undefined>;
2688
+ protected resolveStrategy: _angular_core.Signal<AXPLookupColumnResolveStrategy>;
2689
+ protected isHydratedStrategy: _angular_core.Signal<boolean>;
2260
2690
  protected isMorePopoverOpen: _angular_core.WritableSignal<boolean>;
2261
2691
  protected selectedItemIndex: _angular_core.WritableSignal<number>;
2692
+ protected resolvedPopoverItems: _angular_core.WritableSignal<any[]>;
2693
+ protected resolveStatus: _angular_core.WritableSignal<"error" | "idle" | "loading" | "ready">;
2694
+ protected resolveError: _angular_core.WritableSignal<string | null>;
2695
+ protected summaryLabel: _angular_core.WritableSignal<string>;
2696
+ protected popoverHeader: _angular_core.WritableSignal<string>;
2262
2697
  protected displayItems: _angular_core.Signal<any[]>;
2263
2698
  protected allItems: _angular_core.Signal<any[]>;
2264
2699
  protected visibleItems: _angular_core.Signal<any[]>;
2265
2700
  protected hasMoreItems: _angular_core.Signal<boolean>;
2266
- protected remainingItemsCount: _angular_core.Signal<number>;
2701
+ protected idsFromRow: _angular_core.Signal<any[]>;
2702
+ protected displayCount: _angular_core.Signal<number>;
2703
+ protected popoverListItems: _angular_core.Signal<any[]>;
2704
+ /** Avoid resetting lazy cache on every CD when `rowData` is a new object reference for the same row. */
2705
+ private previousLazyRowId;
2706
+ constructor();
2267
2707
  protected showMoreItems(): void;
2268
- protected onMorePopoverOpenChange(event: any): void;
2708
+ protected openLazyPopover(): void;
2709
+ protected onPopoverOpenChange(event: unknown): void;
2269
2710
  protected showItemDetail(item: any, index: number): Promise<void>;
2270
2711
  protected handleItemClick(index: number): void;
2271
- private openMorePopover;
2712
+ protected handleResolvedItemClick(index: number): void;
2713
+ protected handlePopoverItemClick(index: number): void;
2714
+ protected getDisplayRaw(item: any): string;
2715
+ private refreshSummaryLabel;
2716
+ private refreshPopoverHeader;
2717
+ private resetLazyState;
2718
+ private openPopoverFromRef;
2272
2719
  private closeMorePopover;
2720
+ private ensureLazyItemsLoaded;
2721
+ /**
2722
+ * ax-popover may emit a boolean, CustomEvent with detail, or a DOM Event depending on version.
2723
+ */
2724
+ private coercePopoverOpenEvent;
2725
+ private loadByIds;
2726
+ private loadByNamedQuery;
2727
+ private buildNamedQueryInput;
2728
+ private parseQueryParamsMap;
2729
+ private extractItemsFromQueryResult;
2273
2730
  private extractItem;
2274
- protected getDisplayText(item: any): string;
2731
+ private resolveDisplayValue;
2275
2732
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetColumnComponent, never>;
2276
2733
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
2277
2734
  }
@@ -2603,6 +3060,174 @@ declare class AXPMultiSourceSelectorWidgetColumnComponent extends AXPColumnWidge
2603
3060
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPMultiSourceSelectorWidgetColumnComponent, "axp-multi-source-selector-widget-column", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
2604
3061
  }
2605
3062
 
3063
+ declare class AXPSelectorStructureWidgetColumnComponent extends AXPValueWidgetComponent {
3064
+ protected identityField: _angular_core.Signal<string>;
3065
+ protected textField: _angular_core.Signal<string>;
3066
+ protected valueField: _angular_core.Signal<string>;
3067
+ protected previewIcon: _angular_core.Signal<string>;
3068
+ protected cellText: _angular_core.Signal<string>;
3069
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPSelectorStructureWidgetColumnComponent, never>;
3070
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSelectorStructureWidgetColumnComponent, "axp-selector-structure-widget-column", never, {}, {}, never, never, true, never>;
3071
+ }
3072
+
3073
+ type AXPSelectorStructureSelectorMode = 'select' | 'lookup';
3074
+ type AXPSelectorStructureStructureMode = 'schema' | 'freeform';
3075
+ type AXPSelectorStructureIdentityDisplay = 'readonly' | 'hidden';
3076
+ /** UI layout: standard = global multi-select + collapse rows; compactPanel = per-row select (address-style). */
3077
+ type AXPSelectorStructurePresentationMode = 'standard' | 'compactPanel';
3078
+ interface AXPSelectorStructureFieldDef {
3079
+ name: string;
3080
+ title: string;
3081
+ widgetType: string;
3082
+ options?: Record<string, unknown>;
3083
+ }
3084
+ declare const AXPSelectorStructureWidget: AXPWidgetConfig;
3085
+ interface AXPSelectorStructureWidgetDesignerOptions {
3086
+ selectorMode?: AXPSelectorStructureSelectorMode;
3087
+ structureMode?: AXPSelectorStructureStructureMode;
3088
+ presentation?: AXPSelectorStructurePresentationMode;
3089
+ previewIcon?: string;
3090
+ placeholder?: string;
3091
+ contextSiblingPath?: string;
3092
+ identityField?: string;
3093
+ identityDisplay?: AXPSelectorStructureIdentityDisplay;
3094
+ valueField?: string;
3095
+ textField?: string;
3096
+ dataSource?: unknown;
3097
+ multiple?: boolean;
3098
+ lookup?: {
3099
+ entity?: string;
3100
+ look?: 'select' | 'lookup';
3101
+ filter?: unknown;
3102
+ hasClearButton?: boolean;
3103
+ };
3104
+ structureFields?: AXPSelectorStructureFieldDef[];
3105
+ freeformPath?: string;
3106
+ }
3107
+ interface AXPSelectorStructureWidgetViewOptions extends AXPSelectorStructureWidgetDesignerOptions {
3108
+ }
3109
+ interface AXPSelectorStructureWidgetEditOptions extends AXPSelectorStructureWidgetDesignerOptions {
3110
+ }
3111
+ interface AXPSelectorStructureWidgetColumnOptions {
3112
+ identityField?: string;
3113
+ textField?: string;
3114
+ previewIcon?: string;
3115
+ }
3116
+ interface AXPSelectorStructureWidgetPrintOptions {
3117
+ }
3118
+ interface AXPSelectorStructureWidgetOptions {
3119
+ designer: AXPSelectorStructureWidgetDesignerOptions;
3120
+ view: AXPSelectorStructureWidgetViewOptions;
3121
+ edit: AXPSelectorStructureWidgetEditOptions;
3122
+ print: AXPSelectorStructureWidgetPrintOptions;
3123
+ column: AXPSelectorStructureWidgetColumnOptions;
3124
+ }
3125
+
3126
+ declare class AXPSelectorStructureWidgetEditComponent extends AXPValueWidgetComponent {
3127
+ #private;
3128
+ private readonly entityRegistry;
3129
+ protected selectorMode: _angular_core.Signal<"select" | "lookup">;
3130
+ protected structureMode: _angular_core.Signal<"schema" | "freeform">;
3131
+ protected contextSiblingPath: _angular_core.Signal<string>;
3132
+ protected identityField: _angular_core.Signal<string>;
3133
+ protected identityDisplay: _angular_core.Signal<"readonly" | "hidden">;
3134
+ protected valueField: _angular_core.Signal<string>;
3135
+ protected textField: _angular_core.Signal<string>;
3136
+ protected multiple: _angular_core.Signal<boolean>;
3137
+ protected freeformPath: _angular_core.Signal<string>;
3138
+ protected lookupEntityKey: _angular_core.Signal<string | undefined>;
3139
+ protected lookupHasClearButton: _angular_core.Signal<boolean>;
3140
+ protected lookupCustomFilter: _angular_core.Signal<AXDataSourceFilterOption | undefined>;
3141
+ protected disabled: _angular_core.Signal<boolean>;
3142
+ protected presentationMode: _angular_core.Signal<"standard" | "compactPanel">;
3143
+ /** Compact panel (address-style) applies only to sibling select mode; lookup falls back to standard layout. */
3144
+ protected useCompactLayout: _angular_core.Signal<boolean>;
3145
+ protected previewIcon: _angular_core.Signal<string>;
3146
+ protected placeholder: _angular_core.Signal<string>;
3147
+ protected compactSelectPlaceholder: _angular_core.Signal<string>;
3148
+ protected addCompactItemLabel: _angular_core.Signal<string>;
3149
+ protected clearRowTitle: _angular_core.Signal<string>;
3150
+ protected removeRowTitle: _angular_core.Signal<string>;
3151
+ protected resolvedSiblingPath(): string;
3152
+ /**
3153
+ * Items shown in the selector: sibling context array when path is set, otherwise optional static `dataSource` array.
3154
+ */
3155
+ protected contextItems: _angular_core.Signal<unknown[]>;
3156
+ protected contextSelectDataSource: _angular_core.Signal<AXDataSource<unknown>>;
3157
+ protected selectedSourceItems: _angular_core.WritableSignal<unknown[]>;
3158
+ protected compactRowDataSources: _angular_core.Signal<AXDataSource<unknown>[]>;
3159
+ protected compactRowSelectedItems: _angular_core.Signal<unknown[][]>;
3160
+ protected lookupEntityDef: _angular_core.WritableSignal<AXPEntity | null>;
3161
+ protected defaultLookupSorts: _angular_core.Signal<AXDataSourceSortOption[]>;
3162
+ protected lookupDataSource: _angular_core.Signal<AXDataSource<unknown> | null>;
3163
+ protected lookupTextField: _angular_core.Signal<string>;
3164
+ protected lookupSelectedItems: _angular_core.WritableSignal<unknown[]>;
3165
+ protected rows: _angular_core.Signal<Record<string, unknown>[]>;
3166
+ protected structureFields: _angular_core.Signal<AXPSelectorStructureFieldDef[]>;
3167
+ protected structureFieldNodes: _angular_core.Signal<{
3168
+ name: string;
3169
+ title: string;
3170
+ node: AXPWidgetNode;
3171
+ }[]>;
3172
+ protected identityLabel: _angular_core.Signal<string>;
3173
+ protected identityNode: _angular_core.Signal<AXPWidgetNode | null>;
3174
+ protected freeformHeading: _angular_core.Signal<string>;
3175
+ protected keyPlaceholder: _angular_core.Signal<string>;
3176
+ protected valuePlaceholder: _angular_core.Signal<string>;
3177
+ protected addPairLabel: _angular_core.Signal<string>;
3178
+ protected removePairTitle: _angular_core.Signal<string>;
3179
+ protected disabledHint: _angular_core.Signal<string>;
3180
+ protected trackRow(row: Record<string, unknown>): unknown;
3181
+ protected rowCaption(row: Record<string, unknown>): string;
3182
+ protected isDraftRow(row: Record<string, unknown>): boolean;
3183
+ protected isRowSelectLocked(row: Record<string, unknown>): boolean;
3184
+ /**
3185
+ * Items available for row `index`: all source items minus keys already chosen on other committed rows;
3186
+ * always includes the current row's selected item so the select can display it.
3187
+ */
3188
+ protected exclusiveItemsForRow(index: number): unknown[];
3189
+ private newRowUid;
3190
+ protected handleCompactSelectChange(index: number, e: AXValueChangedEvent): void;
3191
+ protected applyCompactRowFromItem(index: number, rawItem: unknown | undefined): void;
3192
+ protected clearCompactRow(index: number): void;
3193
+ protected removeCompactRow(index: number): void;
3194
+ protected addCompactRow(): void;
3195
+ protected handleSelectValueChange(e: AXValueChangedEvent): void;
3196
+ protected handleLookupValueChange(e: AXValueChangedEvent): void;
3197
+ protected applyRowsFromSourceItems(items: unknown[]): void;
3198
+ protected handleSchemaContextChange(rowKey: unknown, e: AXPContextChangeEvent): void;
3199
+ protected freeformEntries(row: Record<string, unknown>): {
3200
+ key: string;
3201
+ value: string;
3202
+ index: number;
3203
+ }[];
3204
+ private serializeFreeformValue;
3205
+ protected onFreeformKeyInput(row: Record<string, unknown>, entry: {
3206
+ key: string;
3207
+ value: string;
3208
+ index: number;
3209
+ }, nextKey: string): void;
3210
+ protected patchFreeformValue(row: Record<string, unknown>, key: string, raw: string): void;
3211
+ protected removeFreeformKey(row: Record<string, unknown>, key: string): void;
3212
+ protected addFreeformPair(row: Record<string, unknown>): void;
3213
+ private renameFreeformKey;
3214
+ private patchFreeformMap;
3215
+ private tryParseFreeformString;
3216
+ private mergeListFilter;
3217
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPSelectorStructureWidgetEditComponent, never>;
3218
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSelectorStructureWidgetEditComponent, "axp-selector-structure-widget-edit", never, {}, {}, never, never, true, never>;
3219
+ }
3220
+
3221
+ declare class AXPSelectorStructureWidgetViewComponent extends AXPValueWidgetComponent {
3222
+ protected identityField: _angular_core.Signal<string>;
3223
+ protected textField: _angular_core.Signal<string>;
3224
+ protected valueField: _angular_core.Signal<string>;
3225
+ protected previewIcon: _angular_core.Signal<string>;
3226
+ protected summaries: _angular_core.Signal<string[]>;
3227
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPSelectorStructureWidgetViewComponent, never>;
3228
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPSelectorStructureWidgetViewComponent, "axp-selector-structure-widget-view", never, {}, {}, never, never, true, never>;
3229
+ }
3230
+
2606
3231
  declare const AXPEntityCreateEvent: {
2607
3232
  (payload: {
2608
3233
  entity: string;
@@ -2724,14 +3349,23 @@ declare class AXPShowDetailViewAction extends AXPWorkflowAction {
2724
3349
  }
2725
3350
  declare const AXPShowDetailsViewWorkflow: AXPWorkflow;
2726
3351
 
3352
+ /** Optional list filters passed into `show-list-view` (e.g. from `Entity:List` with `conditions`). */
3353
+ interface AXPShowListViewCondition {
3354
+ name?: string;
3355
+ field?: string;
3356
+ operator?: {
3357
+ type: string;
3358
+ };
3359
+ value?: unknown;
3360
+ }
2727
3361
  declare class AXPShowListViewAction extends AXPWorkflowAction {
2728
3362
  private navigation;
2729
3363
  private sessionService;
2730
- execute(context?: any): Promise<void>;
3364
+ execute(context: AXPWorkflowContext): Promise<void>;
2731
3365
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPShowListViewAction, never>;
2732
3366
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPShowListViewAction>;
2733
3367
  }
2734
3368
  declare const AXPShowListViewWorkflow: AXPWorkflow;
2735
3369
 
2736
- export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, EntityBuilder, EntityDataAccessor, actionExists, cloneLayoutArrays, columnWidthMiddleware, columnWidthMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider };
2737
- export type { AXPAuditEvent, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, SectionOrderConfig };
3370
+ export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, EntityBuilder, EntityDataAccessor, actionExists, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, cloneLayoutArrays, collectNestedCreateHiddenProperties, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, getMasterInterfacePropertySortKey, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mergeForeignKeyFieldIntoCreateActions, provideEntity, resolveEntityPluginDetailPageOrder, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider };
3371
+ export type { AXPAuditEvent, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowListViewCondition, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, SectionOrderConfig, SkipEntityComponentPageRef };