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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +281 -23
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs +163 -0
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +1370 -276
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1185 -514
  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 +832 -189
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
  14. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-layout-components.mjs +6309 -1956
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +456 -204
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs +371 -0
  20. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs +100 -0
  22. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component-_yrP5SQe.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-layout-entity.mjs +22488 -10232
  24. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-layout-views.mjs +564 -170
  26. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-layout-widget-core.mjs +2084 -481
  28. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
  30. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  32. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  34. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +116 -0
  36. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs} +6 -6
  38. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs} +5 -5
  40. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
  42. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-layout-widgets.mjs +10326 -7981
  44. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-native.mjs +8 -7
  46. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-runtime.mjs +391 -166
  48. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  49. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs +160 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs +120 -0
  52. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs} +21 -28
  54. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
  56. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
  57. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
  58. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  60. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-themes-default.mjs +2283 -83
  62. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  63. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  64. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  66. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  67. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs} +52 -33
  68. package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  70. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  71. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs +86 -0
  72. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-themes-shared.mjs +767 -609
  74. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  75. package/fesm2022/acorex-platform-workflow.mjs +978 -238
  76. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  77. package/fesm2022/acorex-platform.mjs.map +1 -1
  78. package/package.json +40 -38
  79. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +241 -4
  80. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +822 -89
  81. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +658 -133
  82. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +744 -412
  83. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +194 -49
  84. package/types/acorex-platform-layout-components.d.ts +3253 -0
  85. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +96 -18
  86. package/types/acorex-platform-layout-entity.d.ts +4439 -0
  87. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +179 -56
  88. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +398 -127
  89. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +1120 -501
  90. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  91. package/types/acorex-platform-runtime.d.ts +571 -0
  92. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +233 -6
  93. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +24 -2
  94. package/{workflow/index.d.ts → types/acorex-platform-workflow.d.ts} +620 -617
  95. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs +0 -71
  96. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs +0 -135
  99. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  106. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs +0 -1542
  108. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DfJEx_bs.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  110. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  115. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs +0 -65
  120. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs +0 -64
  122. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  123. package/layout/components/index.d.ts +0 -1669
  124. package/layout/entity/index.d.ts +0 -2287
  125. package/runtime/index.d.ts +0 -307
  126. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -6,19 +6,20 @@ import { AXClickEvent } from '@acorex/cdk/common';
6
6
  import * as i1 from '@acorex/cdk/drawer';
7
7
  import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
8
8
  import * as _acorex_platform_core from '@acorex/platform/core';
9
- import { AXPActionMenuItem, AXPBreadcrumbItem, AXPBadge, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService } from '@acorex/platform/core';
9
+ import { AXPActionMenuItem, AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
10
10
  import { AXPCommandService, AXPPolicyEngineService } from '@acorex/platform/runtime';
11
11
  import { AXPWorkflowService } from '@acorex/platform/workflow';
12
+ import * as _acorex_core_translation from '@acorex/core/translation';
13
+ import { AXTranslationService } from '@acorex/core/translation';
12
14
  import { AXToastService } from '@acorex/components/toast';
13
15
  import { AXFormatService } from '@acorex/core/format';
14
- import { AXTranslationService } from '@acorex/core/translation';
15
16
  import { AXPSessionService } from '@acorex/platform/auth';
16
- import { AXPHomePageService } from '@acorex/platform/common';
17
+ import { AXPHomePageService, AXPEntityCommandScope } from '@acorex/platform/common';
17
18
  import { AXBasePageComponent } from '@acorex/components/page';
18
19
  import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
19
- import { AXPWidgetNode, AXPPageStatus, AXPWidgetContainerComponent, AXPWidgetCoreContextChangeEvent } from '@acorex/platform/layout/widget-core';
20
- import { AXFormComponent } from '@acorex/components/form';
20
+ import { AXPWidgetNode, AXPPageStatus as AXPPageStatus$1, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';
21
21
  import * as _acorex_platform_layout_views from '@acorex/platform/layout/views';
22
+ import { AXFormComponent } from '@acorex/components/form';
22
23
  import { Router, ActivatedRoute } from '@angular/router';
23
24
 
24
25
  declare abstract class AXPPageLayoutBase {
@@ -30,15 +31,19 @@ declare abstract class AXPPageLayoutBase {
30
31
  abstract hasSecondaryActions: Signal<boolean>;
31
32
  abstract hasActions: Signal<boolean>;
32
33
  abstract breadcrumbs: Signal<AXPBreadcrumbItem[]>;
33
- abstract title: Signal<string>;
34
+ abstract title: Signal<AXPMultiLanguageString>;
35
+ abstract titleIcon: Signal<string | null>;
34
36
  abstract hasTitle: Signal<boolean>;
37
+ abstract hasTitleIcon: Signal<boolean>;
35
38
  abstract hasDescription: Signal<boolean>;
36
- abstract description: Signal<string>;
39
+ abstract description: Signal<AXPMultiLanguageString | null>;
37
40
  abstract hasBreadcrumbs: Signal<boolean>;
38
41
  abstract hasBadge: Signal<boolean>;
39
42
  abstract badge: Signal<AXPBadge | null>;
43
+ abstract hasStatus: Signal<boolean>;
44
+ abstract status: Signal<AXPPageStatus | null>;
40
45
  abstract hasBackButton: Signal<boolean>;
41
- abstract backButton: Signal<AXPBackButton>;
46
+ abstract backButton: Signal<AXPBackButton | null>;
42
47
  abstract onBackButtonClick: () => void | Promise<void>;
43
48
  abstract startSideToggle: () => void | Promise<void>;
44
49
  abstract execute: (command: AXPExecuteCommand) => void | Promise<void>;
@@ -61,6 +66,8 @@ declare class AXPPageLayoutComponent {
61
66
  navigationLoadingTaskCount: _angular_core.Signal<number>;
62
67
  sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
63
68
  sideMenuWidth: _angular_core.Signal<number>;
69
+ sideMenuCompactWidth: _angular_core.Signal<number>;
70
+ menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
64
71
  menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
65
72
  isPrinting: _angular_core.Signal<boolean>;
66
73
  isDarkMode: _angular_core.Signal<boolean>;
@@ -70,10 +77,13 @@ declare class AXPPageLayoutComponent {
70
77
  isOverlayLoading: _angular_core.Signal<boolean>;
71
78
  isNavigationLoading: _angular_core.Signal<boolean>;
72
79
  isMenuHorizontal: _angular_core.Signal<boolean>;
80
+ sideMenuDrawerWidth: _angular_core.Signal<number>;
73
81
  changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
74
82
  openSideMenu: () => void;
75
83
  closeSideMenu: () => void;
76
84
  setSideMenuWidth: (width: number) => void;
85
+ setSideMenuCompactWidth: (width: number) => void;
86
+ setSideMenuDrawerWidth: (width: number) => void;
77
87
  toggleSideMenu: () => void;
78
88
  setNavigationLoading: (value: boolean, delay?: number) => void;
79
89
  setOverlayLoading: (value: boolean, delay?: number) => void;
@@ -92,6 +102,8 @@ declare class AXPPageLayoutComponent {
92
102
  navigationLoadingTaskCount: number;
93
103
  sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
94
104
  sideMenuWidth: number;
105
+ sideMenuCompactWidth: number;
106
+ menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
95
107
  menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
96
108
  isPrinting: boolean;
97
109
  }>;
@@ -106,11 +118,13 @@ declare class AXPPageLayoutComponent {
106
118
  protected handleBackdropClick(e: AXClickEvent): boolean;
107
119
  protected execute(command: AXPExecuteCommand): Promise<void>;
108
120
  protected handleOnBackdropClick(event: MouseEvent): void;
121
+ protected getEntityData(): Record<string, any> | null;
122
+ protected handleStatusTransition(transition: any): Promise<void>;
109
123
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageLayoutComponent, never>;
110
124
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPPageLayoutComponent, "axp-page-layout", never, {}, {}, never, ["axp-layout-start-side", "axp-page-toolbar", "axp-page-content", "axp-page-footer"], true, [{ directive: typeof i1.AXDrawerContainerDirective; inputs: {}; outputs: {}; }]>;
111
125
  }
112
126
 
113
- declare abstract class AXPPageLayoutBaseComponent {
127
+ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
114
128
  #private;
115
129
  protected readonly layoutService: {
116
130
  currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
@@ -126,6 +140,8 @@ declare abstract class AXPPageLayoutBaseComponent {
126
140
  navigationLoadingTaskCount: _angular_core.Signal<number>;
127
141
  sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
128
142
  sideMenuWidth: _angular_core.Signal<number>;
143
+ sideMenuCompactWidth: _angular_core.Signal<number>;
144
+ menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
129
145
  menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
130
146
  isPrinting: _angular_core.Signal<boolean>;
131
147
  isDarkMode: _angular_core.Signal<boolean>;
@@ -135,10 +151,13 @@ declare abstract class AXPPageLayoutBaseComponent {
135
151
  isOverlayLoading: _angular_core.Signal<boolean>;
136
152
  isNavigationLoading: _angular_core.Signal<boolean>;
137
153
  isMenuHorizontal: _angular_core.Signal<boolean>;
154
+ sideMenuDrawerWidth: _angular_core.Signal<number>;
138
155
  changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
139
156
  openSideMenu: () => void;
140
157
  closeSideMenu: () => void;
141
158
  setSideMenuWidth: (width: number) => void;
159
+ setSideMenuCompactWidth: (width: number) => void;
160
+ setSideMenuDrawerWidth: (width: number) => void;
142
161
  toggleSideMenu: () => void;
143
162
  setNavigationLoading: (value: boolean, delay?: number) => void;
144
163
  setOverlayLoading: (value: boolean, delay?: number) => void;
@@ -157,6 +176,8 @@ declare abstract class AXPPageLayoutBaseComponent {
157
176
  navigationLoadingTaskCount: number;
158
177
  sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
159
178
  sideMenuWidth: number;
179
+ sideMenuCompactWidth: number;
180
+ menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
160
181
  menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
161
182
  isPrinting: boolean;
162
183
  }>;
@@ -170,29 +191,35 @@ declare abstract class AXPPageLayoutBaseComponent {
170
191
  protected updateTrigger: _angular_core.Signal<number>;
171
192
  protected recompute(): void;
172
193
  ngOnInit(): Promise<void>;
173
- protected title: _angular_core.WritableSignal<string>;
174
- protected getPageTitle(): string | Promise<string>;
175
- private hasTitle;
176
- private description;
177
- private hasDescription;
178
- protected getPageDescription(): string | null | Promise<string | null>;
194
+ title: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString>;
195
+ titleIcon: _angular_core.WritableSignal<string | null>;
196
+ protected getPageTitle(): AXPMultiLanguageString | Promise<AXPMultiLanguageString>;
197
+ protected getPageIcon(): string | null | Promise<string | null>;
198
+ hasTitle: _angular_core.Signal<boolean>;
199
+ hasTitleIcon: _angular_core.Signal<boolean>;
200
+ description: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString | null>;
201
+ hasDescription: _angular_core.Signal<boolean>;
202
+ protected getPageDescription(): AXPMultiLanguageString | null | Promise<AXPMultiLanguageString | null>;
179
203
  private defaultBreadCrumbs;
180
- private breadcrumbs;
181
- private hasBreadcrumbs;
204
+ breadcrumbs: _angular_core.WritableSignal<AXPBreadcrumbItem[]>;
205
+ hasBreadcrumbs: _angular_core.Signal<boolean>;
182
206
  protected getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]>;
183
- private badge;
184
- private hasBadge;
207
+ badge: _angular_core.WritableSignal<AXPBadge | null>;
208
+ hasBadge: _angular_core.Signal<boolean>;
185
209
  protected getPageBadge(): AXPBadge | null | Promise<AXPBadge | null>;
210
+ status: _angular_core.WritableSignal<AXPPageStatus | null>;
211
+ hasStatus: _angular_core.Signal<boolean>;
212
+ protected getPageStatus(): AXPPageStatus | null | Promise<AXPPageStatus | null>;
186
213
  protected layout: _angular_core.Signal<AXPPageLayoutComponent | undefined>;
187
214
  protected toggleEndSide(): void;
188
215
  protected toggleStartSide(): void;
189
216
  primaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
190
217
  hasPrimaryActions: _angular_core.Signal<boolean>;
191
- protected getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
218
+ getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
192
219
  secondaryMenuItems: _angular_core.WritableSignal<AXPActionMenuItem[]>;
193
220
  hasSecondaryActions: _angular_core.Signal<boolean>;
194
221
  hasActions: _angular_core.Signal<boolean>;
195
- protected getSecondaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
222
+ getSecondaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
196
223
  titleActions: _angular_core.WritableSignal<AXPActionMenuItem[]>;
197
224
  hasTitleActions: _angular_core.Signal<boolean>;
198
225
  protected getTitleActions(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]>;
@@ -200,6 +227,11 @@ declare abstract class AXPPageLayoutBaseComponent {
200
227
  hasBackButton: _angular_core.Signal<boolean>;
201
228
  protected getBackButton(): (AXPBackButton | null) | Promise<AXPBackButton | null>;
202
229
  execute(command: AXPExecuteCommand): void | Promise<void>;
230
+ /**
231
+ * Optional partial context to merge into the create/update wizard when leaving a page step.
232
+ * Override when the page keeps edits in local state instead of the shared form context.
233
+ */
234
+ getWizardStepContext(): Record<string, unknown> | null;
203
235
  startSideToggle(): void | Promise<void>;
204
236
  onBackButtonClick(): void | Promise<void>;
205
237
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageLayoutBaseComponent, never>;
@@ -236,6 +268,8 @@ declare class AXPPopupLayoutComponent {
236
268
  navigationLoadingTaskCount: _angular_core.Signal<number>;
237
269
  sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
238
270
  sideMenuWidth: _angular_core.Signal<number>;
271
+ sideMenuCompactWidth: _angular_core.Signal<number>;
272
+ menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
239
273
  menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
240
274
  isPrinting: _angular_core.Signal<boolean>;
241
275
  isDarkMode: _angular_core.Signal<boolean>;
@@ -245,10 +279,13 @@ declare class AXPPopupLayoutComponent {
245
279
  isOverlayLoading: _angular_core.Signal<boolean>;
246
280
  isNavigationLoading: _angular_core.Signal<boolean>;
247
281
  isMenuHorizontal: _angular_core.Signal<boolean>;
282
+ sideMenuDrawerWidth: _angular_core.Signal<number>;
248
283
  changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
249
284
  openSideMenu: () => void;
250
285
  closeSideMenu: () => void;
251
286
  setSideMenuWidth: (width: number) => void;
287
+ setSideMenuCompactWidth: (width: number) => void;
288
+ setSideMenuDrawerWidth: (width: number) => void;
252
289
  toggleSideMenu: () => void;
253
290
  setNavigationLoading: (value: boolean, delay?: number) => void;
254
291
  setOverlayLoading: (value: boolean, delay?: number) => void;
@@ -267,6 +304,8 @@ declare class AXPPopupLayoutComponent {
267
304
  navigationLoadingTaskCount: number;
268
305
  sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
269
306
  sideMenuWidth: number;
307
+ sideMenuCompactWidth: number;
308
+ menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
270
309
  menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
271
310
  isPrinting: boolean;
272
311
  }>;
@@ -295,6 +334,8 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
295
334
  navigationLoadingTaskCount: _angular_core.Signal<number>;
296
335
  sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
297
336
  sideMenuWidth: _angular_core.Signal<number>;
337
+ sideMenuCompactWidth: _angular_core.Signal<number>;
338
+ menuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
298
339
  menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
299
340
  isPrinting: _angular_core.Signal<boolean>;
300
341
  isDarkMode: _angular_core.Signal<boolean>;
@@ -304,10 +345,13 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
304
345
  isOverlayLoading: _angular_core.Signal<boolean>;
305
346
  isNavigationLoading: _angular_core.Signal<boolean>;
306
347
  isMenuHorizontal: _angular_core.Signal<boolean>;
348
+ sideMenuDrawerWidth: _angular_core.Signal<number>;
307
349
  changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
308
350
  openSideMenu: () => void;
309
351
  closeSideMenu: () => void;
310
352
  setSideMenuWidth: (width: number) => void;
353
+ setSideMenuCompactWidth: (width: number) => void;
354
+ setSideMenuDrawerWidth: (width: number) => void;
311
355
  toggleSideMenu: () => void;
312
356
  setNavigationLoading: (value: boolean, delay?: number) => void;
313
357
  setOverlayLoading: (value: boolean, delay?: number) => void;
@@ -326,6 +370,8 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
326
370
  navigationLoadingTaskCount: number;
327
371
  sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
328
372
  sideMenuWidth: number;
373
+ sideMenuCompactWidth: number;
374
+ menuVerticalMode: _acorex_platform_themes_shared.AXPMenuVerticalMode;
329
375
  menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
330
376
  isPrinting: boolean;
331
377
  }>;
@@ -360,7 +406,13 @@ declare abstract class AXPPopupLayoutBaseComponent extends AXBasePageComponent {
360
406
  interface AXPLayoutDetailsViewAction extends AXPActionMenuItem {
361
407
  zone: 'header' | 'footer';
362
408
  priority: 'primary' | 'secondary';
409
+ scope?: AXPEntityCommandScope;
363
410
  }
411
+ type AXPPageContentItem = AXPWidgetNode | {
412
+ type: 'component';
413
+ componentKey: string;
414
+ pageConfig?: Record<string, unknown>;
415
+ };
364
416
  interface AXPLayoutDetailsViewTabItem {
365
417
  id: string;
366
418
  title: string;
@@ -372,25 +424,37 @@ interface AXPLayoutDetailsViewTabItem {
372
424
  }
373
425
  interface AXPLayoutDetailsViewPage {
374
426
  id: string;
375
- title: string;
376
- label: string;
377
- description?: string;
427
+ title: AXPMultiLanguageString;
428
+ label: AXPMultiLanguageString;
429
+ description?: AXPMultiLanguageString;
378
430
  icon?: string;
379
- content?: AXPWidgetNode[];
431
+ /**
432
+ * Content can be either widget nodes or component references
433
+ */
434
+ content?: AXPPageContentItem[];
380
435
  tabs?: AXPLayoutDetailsViewTabItem[];
436
+ /**
437
+ * Static actions array (legacy, use getActions for reactive actions)
438
+ */
381
439
  actions?: AXPLayoutDetailsViewAction[];
440
+ /**
441
+ * Function to get actions dynamically (supports reactive updates from component instances)
442
+ */
443
+ getActions?: () => Promise<AXPLayoutDetailsViewAction[]>;
382
444
  isPrimary?: boolean;
383
445
  isReadonly?: boolean;
384
446
  settings?: {
385
447
  commands?: {
386
448
  accept?: {
387
449
  title: string;
450
+ icon?: string;
388
451
  color: string;
389
452
  visible?: string | boolean;
390
453
  command: AXPExecuteCommand;
391
454
  };
392
455
  reject?: {
393
456
  title: string;
457
+ icon?: string;
394
458
  color: string;
395
459
  visible?: string | boolean;
396
460
  command: AXPExecuteCommand;
@@ -402,16 +466,18 @@ interface AXPLayoutDetailsViewPage {
402
466
  }
403
467
  interface AXPLayoutDetailsViewAdapter {
404
468
  name: string;
405
- title?: string;
406
- label?: string;
407
- description?: string;
469
+ title?: AXPMultiLanguageString;
470
+ label?: AXPMultiLanguageString;
471
+ description?: AXPMultiLanguageString;
408
472
  icon?: string;
409
473
  actions?: AXPLayoutDetailsViewAction[];
410
474
  breadcrumbs?: AXPBreadcrumbItem[];
411
475
  pages: AXPLayoutDetailsViewPage[];
412
476
  execute?: (command: AXPExecuteCommand, context: {}) => Promise<AXPExecuteCommandResult>;
413
- load?: (params?: Record<string, any>) => Promise<AXPExecuteCommandResult>;
477
+ load?: (params?: Record<string, unknown>) => Promise<AXPExecuteCommandResult>;
414
478
  exitUrl?: string;
479
+ getPageBadge?: (context: Record<string, unknown>, isDirty: boolean) => Promise<AXPBadge | null>;
480
+ getPageStatus?: (context: Record<string, unknown>, currentPage: AXPLayoutDetailsViewPage | null) => Promise<AXPPageStatus | null>;
415
481
  }
416
482
 
417
483
  declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
@@ -420,7 +486,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
420
486
  previousContext: _angular_core.Signal<Record<string, any>>;
421
487
  context: _angular_core.Signal<Record<string, any>>;
422
488
  scope: _angular_core.Signal<AXPExpressionEvaluatorScope | null>;
423
- status: _angular_core.Signal<AXPPageStatus>;
489
+ status: _angular_core.Signal<AXPPageStatus$1>;
424
490
  currentPage: _angular_core.Signal<AXPLayoutDetailsViewPage | null>;
425
491
  currentTab: _angular_core.Signal<AXPLayoutDetailsViewTabItem | null>;
426
492
  pageSelectedRows: _angular_core.Signal<any[]>;
@@ -428,8 +494,10 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
428
494
  tabId: string;
429
495
  tab: AXPLayoutDetailsViewTabItem;
430
496
  }[]>>;
497
+ evaluatedPageContent: _angular_core.Signal<AXPWidgetNode[]>;
498
+ evaluatedTabContentsById: _angular_core.Signal<Record<string, AXPWidgetNode[]>>;
431
499
  icon: _angular_core.Signal<string | null>;
432
- content: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
500
+ content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
433
501
  showPages: _angular_core.Signal<boolean>;
434
502
  isLarge: _angular_core.Signal<boolean>;
435
503
  isBusy: _angular_core.Signal<boolean>;
@@ -447,24 +515,25 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
447
515
  load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
448
516
  updateContext: (context: any) => void;
449
517
  updatePageSelectedRows: (rows: any[]) => void;
450
- currentPageTitle: () => string | null;
451
- currentPageDescription: () => string | null;
452
518
  currentPagePrimaryActions: () => Promise<any>;
453
519
  currentPageSecondaryActions: () => Promise<any>;
454
- currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[] | undefined;
520
+ currentPageContent: () => AXPWidgetNode[];
455
521
  currentPageTabs: () => AXPLayoutDetailsViewTabItem[] | undefined;
456
522
  setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
457
523
  setCurrentTab: (tab: AXPLayoutDetailsViewTabItem) => void;
458
- getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
459
- getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
524
+ getCurrentTabContent: () => AXPWidgetNode[];
525
+ getRenderedTabContent: (tabId: string) => AXPWidgetNode[];
460
526
  clearPageTabCache: (pageId: string) => void;
461
- title: () => string | null;
462
- backButtonTitle: () => string | null;
463
- description: () => string | null;
527
+ backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
528
+ getPageTitle: () => Promise<AXPMultiLanguageString>;
529
+ getPageDescription: () => Promise<AXPMultiLanguageString | null>;
530
+ getBackButton: () => Promise<AXPBackButton | null>;
531
+ getPageBadge: () => Promise<AXPBadge | null>;
532
+ getPageStatus: () => Promise<AXPPageStatus | null>;
464
533
  primaryActions: () => Promise<any>;
465
534
  secondaryActions: () => Promise<any>;
466
535
  breadcrumbs: () => Promise<{
467
- title: string;
536
+ title: _acorex_core_translation.AXMultiLanguageString;
468
537
  name?: string;
469
538
  icon?: string;
470
539
  command?: AXPExecuteCommand;
@@ -478,7 +547,7 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
478
547
  previousContext: Record<string, any>;
479
548
  context: Record<string, any>;
480
549
  scope: AXPExpressionEvaluatorScope | null;
481
- status: AXPPageStatus;
550
+ status: AXPPageStatus$1;
482
551
  currentPage: AXPLayoutDetailsViewPage | null;
483
552
  currentTab: AXPLayoutDetailsViewTabItem | null;
484
553
  pageSelectedRows: any[];
@@ -486,6 +555,8 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
486
555
  tabId: string;
487
556
  tab: AXPLayoutDetailsViewTabItem;
488
557
  }>>;
558
+ evaluatedPageContent: AXPWidgetNode[];
559
+ evaluatedTabContentsById: Record<string, AXPWidgetNode[]>;
489
560
  }>>;
490
561
 
491
562
  declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
@@ -505,8 +576,10 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
505
576
  tabId: string;
506
577
  tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
507
578
  }[]>>;
579
+ evaluatedPageContent: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
580
+ evaluatedTabContentsById: _angular_core.Signal<Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>>;
508
581
  icon: _angular_core.Signal<string | null>;
509
- content: _angular_core.Signal<_acorex_platform_layout_widget_core.AXPWidgetNode[]>;
582
+ content: _angular_core.Signal<_acorex_platform_layout_views.AXPPageContentItem[]>;
510
583
  showPages: _angular_core.Signal<boolean>;
511
584
  isLarge: _angular_core.Signal<boolean>;
512
585
  isBusy: _angular_core.Signal<boolean>;
@@ -524,24 +597,25 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
524
597
  load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
525
598
  updateContext: (context: any) => void;
526
599
  updatePageSelectedRows: (rows: any[]) => void;
527
- currentPageTitle: () => string | null;
528
- currentPageDescription: () => string | null;
529
600
  currentPagePrimaryActions: () => Promise<any>;
530
601
  currentPageSecondaryActions: () => Promise<any>;
531
- currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[] | undefined;
602
+ currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
532
603
  currentPageTabs: () => _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem[] | undefined;
533
604
  setCurrentPage: (page: AXPLayoutDetailsViewPage | null) => void;
534
605
  setCurrentTab: (tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem) => void;
535
606
  getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
536
607
  getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
537
608
  clearPageTabCache: (pageId: string) => void;
538
- title: () => string | null;
539
- backButtonTitle: () => string | null;
540
- description: () => string | null;
609
+ backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
610
+ getPageTitle: () => Promise<AXPMultiLanguageString>;
611
+ getPageDescription: () => Promise<AXPMultiLanguageString | null>;
612
+ getBackButton: () => Promise<AXPBackButton | null>;
613
+ getPageBadge: () => Promise<AXPBadge | null>;
614
+ getPageStatus: () => Promise<AXPPageStatus | null>;
541
615
  primaryActions: () => Promise<any>;
542
616
  secondaryActions: () => Promise<any>;
543
617
  breadcrumbs: () => Promise<{
544
- title: string;
618
+ title: _acorex_core_translation.AXMultiLanguageString;
545
619
  name?: string;
546
620
  icon?: string;
547
621
  command?: AXPExecuteCommand;
@@ -563,6 +637,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
563
637
  tabId: string;
564
638
  tab: _acorex_platform_layout_views.AXPLayoutDetailsViewTabItem;
565
639
  }>>;
640
+ evaluatedPageContent: _acorex_platform_layout_widget_core.AXPWidgetNode[];
641
+ evaluatedTabContentsById: Record<string, _acorex_platform_layout_widget_core.AXPWidgetNode[]>;
566
642
  }>;
567
643
  protected router: Router;
568
644
  protected route: ActivatedRoute;
@@ -585,18 +661,24 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
585
661
  ngOnInit(): Promise<void>;
586
662
  ngAfterViewInit(): Promise<void>;
587
663
  ngOnDestroy(): void;
588
- protected handleOnContextChanged(e: AXPWidgetCoreContextChangeEvent): void;
664
+ protected handleOnContextChanged(e: AXPContextChangeEvent): void;
589
665
  protected handleSelectPage(page: AXPLayoutDetailsViewPage): void;
590
666
  protected getAllPrimaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
591
- protected getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
667
+ getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
592
668
  protected getFooterPrimaryActions(): Promise<AXPActionMenuItem[]>;
593
669
  protected getAllSecondaryActions(): Promise<AXPLayoutDetailsViewAction[]>;
594
- protected getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
670
+ getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
595
671
  protected getFooterSecondaryActions(): Promise<AXPActionMenuItem[]>;
596
672
  protected getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
597
- protected getPageTitle(): Promise<string>;
598
- getPageDescription(): Promise<string | null>;
673
+ protected getPageTitle(): Promise<AXPMultiLanguageString>;
674
+ getPageDescription(): Promise<AXPMultiLanguageString | null>;
599
675
  getBackButton(): Promise<AXPBackButton | null>;
676
+ getPageBadge(): Promise<AXPBadge | null>;
677
+ getPageStatus(): Promise<AXPPageStatus | null>;
678
+ /**
679
+ * Get entity data for status chip component
680
+ */
681
+ getEntityData(): Record<string, any> | null;
600
682
  onBackButtonClick(): Promise<void>;
601
683
  execute(command: AXPExecuteCommand): Promise<void>;
602
684
  protected handleKeyboardEvent(event: KeyboardEvent): Promise<void>;
@@ -604,5 +686,46 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
604
686
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDetailsViewComponent, "axp-layout-details-view", never, { "adapter": { "alias": "adapter"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
605
687
  }
606
688
 
607
- export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
608
- export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem };
689
+ /**
690
+ * Registry of rendered page component instances by component key.
691
+ * Used so page execute can delegate to the actual component instance in the view.
692
+ */
693
+ declare class AXPPageComponentInstanceRegistryService {
694
+ private readonly instances;
695
+ register(key: string, instance: AXPPageLayoutBaseComponent): void;
696
+ unregister(key: string): void;
697
+ get(key: string): AXPPageLayoutBaseComponent | null;
698
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageComponentInstanceRegistryService, never>;
699
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPageComponentInstanceRegistryService>;
700
+ }
701
+
702
+ /**
703
+ * Directive for rendering page components dynamically
704
+ * Similar to component-slot pattern but specifically for page components
705
+ */
706
+ declare class AXPPageComponentRendererDirective implements OnInit, OnDestroy {
707
+ #private;
708
+ componentKey: _angular_core.InputSignal<string>;
709
+ rootContext: _angular_core.InputSignal<Record<string, any>>;
710
+ pageConfig: _angular_core.InputSignal<Record<string, unknown> | undefined>;
711
+ options: _angular_core.InputSignal<Record<string, any>>;
712
+ /** Emitted when the component instance is registered and ready */
713
+ componentReady: _angular_core.OutputEmitterRef<string>;
714
+ /** Returns the dynamically mounted page component instance, if loaded. */
715
+ getMountedPageInstance(): unknown;
716
+ private viewContainerRef;
717
+ private pageComponentRegistry;
718
+ private instanceRegistry;
719
+ private contextStore;
720
+ private componentRef;
721
+ ngOnInit(): Promise<void>;
722
+ ngOnDestroy(): void;
723
+ /** Persists page edits into the shared form context before the step component is destroyed. */
724
+ private syncWizardStepContextBeforeTeardown;
725
+ private loadComponent;
726
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPPageComponentRendererDirective, never>;
727
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXPPageComponentRendererDirective, "[axp-page-component-renderer]", never, { "componentKey": { "alias": "componentKey"; "required": true; "isSignal": true; }; "rootContext": { "alias": "rootContext"; "required": false; "isSignal": true; }; "pageConfig": { "alias": "pageConfig"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "componentReady": "componentReady"; }, never, never, true, never>;
728
+ }
729
+
730
+ export { AXPLayoutDetailsViewComponent, AXPLayoutDetailsViewViewModel, AXPPageComponentInstanceRegistryService, AXPPageComponentRendererDirective, AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent };
731
+ export type { AXPLayoutDetailsViewAction, AXPLayoutDetailsViewAdapter, AXPLayoutDetailsViewPage, AXPLayoutDetailsViewTabItem, AXPPageContentItem };