@acorex/platform 21.0.0-next.3 → 21.0.0-next.33

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 (117) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +295 -45
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-zhqNP3xb.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +60 -4
  4. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +960 -319
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1352 -832
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +554 -826
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +530 -154
  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 +5969 -2347
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +169 -154
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +15380 -9274
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +393 -110
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +511 -450
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
  26. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs → acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs} +39 -16
  28. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  30. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  32. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs +111 -0
  34. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +6 -6
  36. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
  40. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-layout-widgets.mjs +7865 -4026
  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 +220 -169
  46. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
  48. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs} +18 -25
  52. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
  54. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
  56. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  58. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default.mjs +1717 -66
  60. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  61. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  62. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  64. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -1
  66. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs} +11 -11
  67. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
  68. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs} +9 -9
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
  70. package/fesm2022/acorex-platform-themes-shared.mjs +563 -561
  71. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  72. package/fesm2022/acorex-platform-workflow.mjs +1735 -1750
  73. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  74. package/fesm2022/acorex-platform.mjs.map +1 -1
  75. package/package.json +31 -31
  76. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +247 -10
  77. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +492 -31
  78. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +606 -392
  79. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +719 -413
  80. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +128 -56
  81. package/types/acorex-platform-layout-components.d.ts +2927 -0
  82. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +9 -3
  83. package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +1133 -237
  84. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +90 -31
  85. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +206 -102
  86. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +942 -137
  87. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  88. package/{runtime/index.d.ts → types/acorex-platform-runtime.d.ts} +237 -74
  89. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +113 -5
  90. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
  91. package/types/acorex-platform-workflow.d.ts +1806 -0
  92. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  93. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  94. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  101. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
  103. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  105. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  110. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  115. package/layout/components/index.d.ts +0 -1669
  116. package/workflow/index.d.ts +0 -2443
  117. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -6,13 +6,6 @@ declare class AXPNativeModule {
6
6
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPNativeModule>;
7
7
  }
8
8
 
9
- declare global {
10
- interface Window {
11
- FlutterChannel?: {
12
- postMessage: (message: string) => void;
13
- };
14
- }
15
- }
16
9
  declare class AXPNativeService {
17
10
  private isDark;
18
11
  constructor();
@@ -1,11 +1,171 @@
1
1
  import { AXPExecuteCommandResult, AXPViewDefinition, AXPMetaData } from '@acorex/platform/core';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Type, EnvironmentProviders, Provider } from '@angular/core';
3
+ import { InjectionToken, EnvironmentProviders, Type, Provider } from '@angular/core';
4
4
  import { AXComponent } from '@acorex/cdk/common';
5
5
 
6
- type AXPExecuteCommandResultPromise<TResult = any> = Promise<AXPExecuteCommandResult<TResult>>;
7
- interface AXPCommand<TInput = any, TResult = any> {
8
- execute(input: TInput): AXPExecuteCommandResultPromise<TResult>;
6
+ /**
7
+ * Shared build-time metadata shapes for command and query catalog definitions.
8
+ * Lives under `shared/` so secondary ng-packagr entries under `commands/` or `queries/` share a common `src/lib` compilation root.
9
+ */
10
+ /** Command metadata validation: rule key + optional rule options only. */
11
+ interface AXPCommandValidationRuleValue {
12
+ rule: string;
13
+ options?: Record<string, unknown>;
14
+ }
15
+ /**
16
+ * Widget/interface reference for a schema property (name + optional widget options).
17
+ */
18
+ interface AXPCommandInterfaceDefinitionValue {
19
+ name: string;
20
+ options?: Record<string, unknown>;
21
+ }
22
+ /**
23
+ * One input/output property description (same structural role as AXPPropertyDefinition).
24
+ */
25
+ interface AXPCommandSchemaPropertyDefinition {
26
+ name: string;
27
+ title: string;
28
+ description?: string;
29
+ icon?: string;
30
+ defaultValue?: unknown;
31
+ disabled?: boolean;
32
+ interface: AXPCommandInterfaceDefinitionValue;
33
+ validations?: AXPCommandValidationRuleValue[];
34
+ }
35
+ /** Structured usage hints for planners and assistants (prefer over duplicating rules only in `description`). */
36
+ interface AXPCommandAiUsageMetadata {
37
+ whenToUse?: string[];
38
+ avoidWhen?: string[];
39
+ /** Registry keys or tool names that commonly follow this command/query. */
40
+ followUpTools?: string[];
41
+ }
42
+ /** Declarative contracts: what the tool provides, who depends on it, and guarantees (not workflow `outcomes`). */
43
+ interface AXPCommandAiContractsMetadata {
44
+ provides?: string[];
45
+ requiredBy?: string[];
46
+ guarantees?: string[];
47
+ }
48
+ type AXPCommandAiSafetyKind = 'read-only' | 'mutating';
49
+ interface AXPCommandAiSafetyMetadata {
50
+ kind?: AXPCommandAiSafetyKind;
51
+ sideEffects?: boolean;
52
+ requiresConfirmation?: boolean;
53
+ }
54
+ type AXPCommandAiPerformanceCost = 'low' | 'medium' | 'high';
55
+ interface AXPCommandAiPerformanceMetadata {
56
+ cost?: AXPCommandAiPerformanceCost;
57
+ cacheable?: boolean;
58
+ }
59
+ interface AXPCommandAiNextStepMetadata {
60
+ when: string;
61
+ action: string;
62
+ }
63
+ /**
64
+ * How to interpret a successful payload for agents (documentation only; not command workflow outcomes).
65
+ */
66
+ interface AXPCommandAiResultSemanticsMetadata {
67
+ noMatch?: string;
68
+ exactMatch?: string;
69
+ multipleMatches?: string;
70
+ failed?: string;
71
+ /** Full catalog listing (e.g. no entity filter). */
72
+ catalog?: string;
73
+ }
74
+ interface AXPCommandAiMetadata {
75
+ shortDescription?: string;
76
+ tags?: string[];
77
+ usage?: AXPCommandAiUsageMetadata;
78
+ contracts?: AXPCommandAiContractsMetadata;
79
+ safety?: AXPCommandAiSafetyMetadata;
80
+ performance?: AXPCommandAiPerformanceMetadata;
81
+ nextSteps?: AXPCommandAiNextStepMetadata[];
82
+ resultSemantics?: AXPCommandAiResultSemanticsMetadata;
83
+ /**
84
+ * Default input fragment merged for AI/tool invocations (catalog & tooling).
85
+ * Runtime merge for a given command is applied in the AI module (not the generic command executor).
86
+ */
87
+ toolInputDefaults?: Record<string, unknown>;
88
+ /**
89
+ * Optional JSON Schema fragment for LLM tool `parameters` (OpenAI-style function calling).
90
+ * Merged over the auto-generated schema from catalog `inputs` (`properties` / `required` deep-merged).
91
+ * Use when widget-to-type inference is insufficient (e.g. `object`, `array`, `enum`, `format`).
92
+ */
93
+ toolParametersSchema?: Record<string, unknown>;
94
+ }
95
+ type AXPCommandExecutionMode = 'frontend' | 'backend' | 'both';
96
+ /**
97
+ * Where this command is intended to appear in product tooling (AI agents, workflow automation pickers, etc.).
98
+ * Omitted = not declared here; runtimes may fall back to other metadata (e.g. `ai.tags`).
99
+ */
100
+ type AXPCommandCapability = 'ai' | 'workflow';
101
+
102
+ /**
103
+ * Build-time command metadata for AXPCommand implementations.
104
+ * `inputs` / `outputs` are schema rows (same family as entity optionDefinitions).
105
+ * Validation entries: only `rule` name and optional `options` (no title/message on rules).
106
+ * Do not import from Angular templates; sidecars may import `defineCommand` from `@acorex/platform/runtime`.
107
+ *
108
+ * Query metadata (fetch-only, no outcomes) is defined in `../queries/query-definition.types.ts` with `defineQuery`.
109
+ */
110
+
111
+ type AXPCommandOutcomeDefinition = {
112
+ mode: 'static';
113
+ values: string[];
114
+ } | {
115
+ mode: 'dynamic';
116
+ summary: string;
117
+ derivesFrom: string;
118
+ examples?: string[];
119
+ };
120
+ interface AXPCommandMetadataDefinition {
121
+ /** Runtime registration key (provideCommand / provideCommandSetups). */
122
+ key: string;
123
+ title: string;
124
+ description: string;
125
+ executionMode: AXPCommandExecutionMode;
126
+ /** Input parameters as schema rows. */
127
+ inputs?: AXPCommandSchemaPropertyDefinition[];
128
+ /** Output shape as schema rows. */
129
+ outputs?: AXPCommandSchemaPropertyDefinition[];
130
+ outcomes: AXPCommandOutcomeDefinition;
131
+ ai?: AXPCommandAiMetadata;
132
+ /** Optional list of surfaces that may list or invoke this command as a tool/activity. */
133
+ capabilities?: AXPCommandCapability[];
134
+ }
135
+
136
+ /**
137
+ * Typed identity helper for command metadata sidecars.
138
+ */
139
+ declare function defineCommand<T extends AXPCommandMetadataDefinition>(definition: T): T;
140
+
141
+ type AXPCommandExecutionStage = 'before' | 'after';
142
+ interface AXPCommandExecutionEvent<TInput = unknown, TResult = unknown> {
143
+ stage: AXPCommandExecutionStage;
144
+ key: string;
145
+ input: TInput;
146
+ success?: boolean;
147
+ result?: AXPExecuteCommandResult<TResult> | null;
148
+ error?: unknown;
149
+ }
150
+ type CommandExecutionHandler<TInput, TResult> = (event: AXPCommandExecutionEvent<TInput, TResult>) => void;
151
+ declare class AXPCommandEventsService {
152
+ private readonly broadcast;
153
+ private readonly distributedEvents;
154
+ listen<TInput = unknown, TResult = unknown>(handler: CommandExecutionHandler<TInput, TResult>): () => void;
155
+ emit<TInput = unknown, TResult = unknown>(event: AXPCommandExecutionEvent<TInput, TResult>): Promise<void>;
156
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommandEventsService, never>;
157
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandEventsService>;
158
+ }
159
+
160
+ declare class AXPCommandExecutor {
161
+ private readonly injector;
162
+ private readonly registry;
163
+ private readonly extensions;
164
+ private readonly commandEvents;
165
+ execute<TInput = any, TResult = any>(key: string, input: TInput): Promise<AXPExecuteCommandResult<TResult> | null>;
166
+ private getPluginMiddlewares;
167
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommandExecutor, never>;
168
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandExecutor>;
9
169
  }
10
170
 
11
171
  /**
@@ -17,6 +177,17 @@ type AXPCommandMiddleware<TInput = any, TResult = any> = (input: TInput, next: (
17
177
  */
18
178
  declare function composeCommandMiddlewares<TInput, TResult>(middlewares: AXPCommandMiddleware<TInput, TResult>[]): (handler: (input: TInput) => Promise<AXPExecuteCommandResult<TResult>>) => (input: TInput) => Promise<AXPExecuteCommandResult<TResult>>;
19
179
 
180
+ interface AXPCommandExtension {
181
+ target: string | RegExp;
182
+ middleware: AXPCommandMiddleware;
183
+ }
184
+ declare const AXP_COMMAND_EXTENSION: InjectionToken<AXPCommandExtension[]>;
185
+
186
+ type AXPExecuteCommandResultPromise<TResult = any> = Promise<AXPExecuteCommandResult<TResult>>;
187
+ interface AXPCommand<TInput = any, TResult = any> {
188
+ execute(input: TInput): AXPExecuteCommandResultPromise<TResult>;
189
+ }
190
+
20
191
  declare class AXPCommandRegistry {
21
192
  private registry;
22
193
  private middlewares;
@@ -32,17 +203,6 @@ declare class AXPCommandRegistry {
32
203
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandRegistry>;
33
204
  }
34
205
 
35
- declare class AXPCommandExecutor {
36
- private readonly injector;
37
- private readonly registry;
38
- private readonly extensions;
39
- private readonly commandEvents;
40
- execute<TInput = any, TResult = any>(key: string, input: TInput): Promise<AXPExecuteCommandResult<TResult> | null>;
41
- private getPluginMiddlewares;
42
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommandExecutor, never>;
43
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandExecutor>;
44
- }
45
-
46
206
  declare class AXPCommandService {
47
207
  private readonly registry;
48
208
  private readonly executor;
@@ -57,11 +217,12 @@ declare class AXPCommandService {
57
217
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandService>;
58
218
  }
59
219
 
60
- interface AXPCommandExtension {
220
+ declare const AXP_COMMAND_MIDDLEWARE_SETUP: InjectionToken<void>;
221
+ type AXPCommandMiddlewareEntry = (AXPCommandMiddleware | {
61
222
  target: string | RegExp;
62
223
  middleware: AXPCommandMiddleware;
63
- }
64
- declare const AXP_COMMAND_EXTENSION: InjectionToken<AXPCommandExtension[]>;
224
+ })[];
225
+ declare function provideCommandMiddleware(entries: AXPCommandMiddlewareEntry): EnvironmentProviders;
65
226
 
66
227
  declare const AXP_COMMAND_SETUP: InjectionToken<void>;
67
228
  type AXPCommandLoader = {
@@ -71,38 +232,70 @@ type AXPCommandLoader = {
71
232
  declare function provideCommandSetups(entries: AXPCommandLoader[]): EnvironmentProviders;
72
233
  declare function provideCommand(key: string, loader: () => Type<AXPCommand> | Promise<Type<AXPCommand>>): EnvironmentProviders;
73
234
 
74
- declare const AXP_COMMAND_MIDDLEWARE_SETUP: InjectionToken<void>;
75
- type AXPCommandMiddlewareEntry = (AXPCommandMiddleware | {
76
- target: string | RegExp;
77
- middleware: AXPCommandMiddleware;
78
- })[];
79
- declare function provideCommandMiddleware(entries: AXPCommandMiddlewareEntry): EnvironmentProviders;
235
+ /**
236
+ * Build-time query metadata for AXPQuery implementations.
237
+ * Mirrors command metadata shape except there are no `outcomes` (queries only `fetch`).
238
+ * `inputs` / `outputs` are schema rows (same family as entity optionDefinitions).
239
+ */
80
240
 
81
- type AXPCommandExecutionStage = 'before' | 'after';
82
- interface AXPCommandExecutionEvent<TInput = unknown, TResult = unknown> {
83
- stage: AXPCommandExecutionStage;
241
+ /** One input/output property description for query definitions (same as command schema rows). */
242
+ type AXPQuerySchemaPropertyDefinition = AXPCommandSchemaPropertyDefinition;
243
+ interface AXPQueryMetadataDefinition {
244
+ /** Runtime registration key (provideQuerySetups). */
84
245
  key: string;
85
- input: TInput;
86
- success?: boolean;
87
- result?: AXPExecuteCommandResult<TResult> | null;
88
- error?: unknown;
89
- }
90
- type CommandExecutionHandler<TInput, TResult> = (event: AXPCommandExecutionEvent<TInput, TResult>) => void;
91
- declare class AXPCommandEventsService {
92
- private readonly broadcast;
93
- private readonly distributedEvents;
94
- listen<TInput = unknown, TResult = unknown>(handler: CommandExecutionHandler<TInput, TResult>): () => void;
95
- emit<TInput = unknown, TResult = unknown>(event: AXPCommandExecutionEvent<TInput, TResult>): Promise<void>;
96
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommandEventsService, never>;
97
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandEventsService>;
246
+ title: string;
247
+ description: string;
248
+ executionMode: AXPCommandExecutionMode;
249
+ /** Query input / filter parameters as schema rows. */
250
+ inputs?: AXPQuerySchemaPropertyDefinition[];
251
+ /** Documented result shape as schema rows. */
252
+ outputs?: AXPQuerySchemaPropertyDefinition[];
253
+ ai?: AXPCommandAiMetadata;
254
+ /** Optional list of surfaces that may list or invoke this query as a tool (e.g. AI assistants). */
255
+ capabilities?: AXPCommandCapability[];
98
256
  }
99
257
 
258
+ /**
259
+ * Typed identity helper for query metadata sidecars.
260
+ */
261
+ declare function defineQuery<T extends AXPQueryMetadataDefinition>(definition: T): T;
262
+
263
+ type AXPQueryMiddleware<TInput = any, TResult = any> = (input: TInput, next: (input: TInput) => Promise<TResult>) => Promise<TResult>;
264
+ declare function composeQueryMiddlewares<TInput, TResult>(middlewares: AXPQueryMiddleware<TInput, TResult>[]): (handler: (input: TInput) => Promise<TResult>) => (input: TInput) => Promise<TResult>;
265
+
266
+ declare const AXP_QUERY_MIDDLEWARE_SETUP: InjectionToken<void>;
267
+ type AXPQueryMiddlewareEntry = (AXPQueryMiddleware | {
268
+ key: string;
269
+ middleware: AXPQueryMiddleware;
270
+ })[];
271
+ declare function provideQueryMiddleware(entries: AXPQueryMiddlewareEntry): EnvironmentProviders;
272
+
100
273
  interface AXPQuery<TInput = any, TResult = any> {
101
274
  fetch(input: TInput): Promise<TResult>;
102
275
  }
103
276
 
104
- type AXPQueryMiddleware<TInput = any, TResult = any> = (input: TInput, next: (input: TInput) => Promise<TResult>) => Promise<TResult>;
105
- declare function composeQueryMiddlewares<TInput, TResult>(middlewares: AXPQueryMiddleware<TInput, TResult>[]): (handler: (input: TInput) => Promise<TResult>) => (input: TInput) => Promise<TResult>;
277
+ declare const AXP_QUERY_SETUP: InjectionToken<void>;
278
+ type AXPQueryLoaderEntry = {
279
+ key: string;
280
+ loader: () => Type<AXPQuery> | Promise<Type<AXPQuery>>;
281
+ };
282
+ declare function provideQuerySetups(entries: AXPQueryLoaderEntry[]): EnvironmentProviders;
283
+
284
+ declare class AXPQueryExecutor {
285
+ private readonly injector;
286
+ private readonly registry;
287
+ private readonly extensions;
288
+ fetch<TInput = any, TResult = any>(key: string, input: TInput): Promise<TResult | null>;
289
+ private getPluginMiddlewares;
290
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPQueryExecutor, never>;
291
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPQueryExecutor>;
292
+ }
293
+
294
+ interface AXPQueryExtension {
295
+ target: string | RegExp;
296
+ middleware: AXPQueryMiddleware;
297
+ }
298
+ declare const AXP_QUERY_EXTENSION: InjectionToken<AXPQueryExtension[]>;
106
299
 
107
300
  declare class AXPQueryRegistry {
108
301
  private registry;
@@ -119,16 +312,6 @@ declare class AXPQueryRegistry {
119
312
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPQueryRegistry>;
120
313
  }
121
314
 
122
- declare class AXPQueryExecutor {
123
- private readonly injector;
124
- private readonly registry;
125
- private readonly extensions;
126
- fetch<TInput = any, TResult = any>(key: string, input: TInput): Promise<TResult | null>;
127
- private getPluginMiddlewares;
128
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPQueryExecutor, never>;
129
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPQueryExecutor>;
130
- }
131
-
132
315
  declare class AXPQueryService {
133
316
  private readonly registry;
134
317
  private readonly executor;
@@ -143,26 +326,6 @@ declare class AXPQueryService {
143
326
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPQueryService>;
144
327
  }
145
328
 
146
- interface AXPQueryExtension {
147
- target: string | RegExp;
148
- middleware: AXPQueryMiddleware;
149
- }
150
- declare const AXP_QUERY_EXTENSION: InjectionToken<AXPQueryExtension[]>;
151
-
152
- declare const AXP_QUERY_SETUP: InjectionToken<void>;
153
- type AXPQueryLoaderEntry = {
154
- key: string;
155
- loader: () => Type<AXPQuery> | Promise<Type<AXPQuery>>;
156
- };
157
- declare function provideQuerySetups(entries: AXPQueryLoaderEntry[]): EnvironmentProviders;
158
-
159
- declare const AXP_QUERY_MIDDLEWARE_SETUP: InjectionToken<void>;
160
- type AXPQueryMiddlewareEntry = (AXPQueryMiddleware | {
161
- key: string;
162
- middleware: AXPQueryMiddleware;
163
- })[];
164
- declare function provideQueryMiddleware(entries: AXPQueryMiddlewareEntry): EnvironmentProviders;
165
-
166
329
  interface AXPViewProvider<TInput = any> {
167
330
  provide(input: TInput): Promise<AXPViewDefinition>;
168
331
  }
@@ -303,5 +466,5 @@ declare class AXPRuntimeModule {
303
466
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPRuntimeModule>;
304
467
  }
305
468
 
306
- export { AXPCommandEventsService, AXPCommandExecutor, AXPCommandRegistry, AXPCommandService, AXPPolicyEngineContext, AXPPolicyEngineDirective, AXPPolicyEngineRegistry, AXPPolicyEngineService, AXPQueryExecutor, AXPQueryRegistry, AXPQueryService, AXPRuntimeModule, AXPViewExecutor, AXPViewRegistry, AXPViewService, AXP_COMMAND_EXTENSION, AXP_COMMAND_MIDDLEWARE_SETUP, AXP_COMMAND_SETUP, AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, AXP_POLICY_EXTENSION, AXP_QUERY_EXTENSION, AXP_QUERY_MIDDLEWARE_SETUP, AXP_QUERY_SETUP, AXP_VIEW_EXTENSION, AXP_VIEW_SETUP, composeCommandMiddlewares, composePolicyEngineMiddlewares, composeQueryMiddlewares, composeViewMiddlewares, provideCommand, provideCommandMiddleware, provideCommandSetups, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
307
- export type { AXPCommand, AXPCommandExecutionEvent, AXPCommandExecutionStage, AXPCommandExtension, AXPCommandMiddleware, AXPExecuteCommandResultPromise, AXPPolicy, AXPPolicyEngineMiddleware, AXPPolicyExtension, AXPQuery, AXPQueryExtension, AXPQueryMiddleware, AXPViewExtension, AXPViewMiddleware, AXPViewProvider };
469
+ export { AXPCommandEventsService, AXPCommandExecutor, AXPCommandRegistry, AXPCommandService, AXPPolicyEngineContext, AXPPolicyEngineDirective, AXPPolicyEngineRegistry, AXPPolicyEngineService, AXPQueryExecutor, AXPQueryRegistry, AXPQueryService, AXPRuntimeModule, AXPViewExecutor, AXPViewRegistry, AXPViewService, AXP_COMMAND_EXTENSION, AXP_COMMAND_MIDDLEWARE_SETUP, AXP_COMMAND_SETUP, AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, AXP_POLICY_EXTENSION, AXP_QUERY_EXTENSION, AXP_QUERY_MIDDLEWARE_SETUP, AXP_QUERY_SETUP, AXP_VIEW_EXTENSION, AXP_VIEW_SETUP, composeCommandMiddlewares, composePolicyEngineMiddlewares, composeQueryMiddlewares, composeViewMiddlewares, defineCommand, defineQuery, provideCommand, provideCommandMiddleware, provideCommandSetups, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
470
+ export type { AXPCommand, AXPCommandAiContractsMetadata, AXPCommandAiMetadata, AXPCommandAiNextStepMetadata, AXPCommandAiPerformanceCost, AXPCommandAiPerformanceMetadata, AXPCommandAiResultSemanticsMetadata, AXPCommandAiSafetyKind, AXPCommandAiSafetyMetadata, AXPCommandAiUsageMetadata, AXPCommandCapability, AXPCommandExecutionEvent, AXPCommandExecutionMode, AXPCommandExecutionStage, AXPCommandExtension, AXPCommandInterfaceDefinitionValue, AXPCommandMetadataDefinition, AXPCommandMiddleware, AXPCommandOutcomeDefinition, AXPCommandSchemaPropertyDefinition, AXPCommandValidationRuleValue, AXPExecuteCommandResultPromise, AXPPolicy, AXPPolicyEngineMiddleware, AXPPolicyExtension, AXPQuery, AXPQueryExtension, AXPQueryMetadataDefinition, AXPQueryMiddleware, AXPQuerySchemaPropertyDefinition, AXPViewExtension, AXPViewMiddleware, AXPViewProvider };
@@ -4,11 +4,14 @@ import { Signal } from '@angular/core';
4
4
  import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
5
5
  import { AXValueChangedEvent } from '@acorex/cdk/common';
6
6
  import { AXActionSheetService } from '@acorex/components/action-sheet';
7
- import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent } from '@acorex/components/data-table';
7
+ import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent, onColumnSizeChangedEvent, AXColumnsOrderChangedEvent } from '@acorex/components/data-table';
8
8
  import { AXUnsubscriber } from '@acorex/core/utils';
9
9
  import * as _acorex_platform_core from '@acorex/platform/core';
10
- import { AXPDeviceService } from '@acorex/platform/core';
11
- import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel } from '@acorex/platform/layout/entity';
10
+ import { AXPDeviceService, AXPBreadcrumbItem, AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';
11
+ import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel, AXPEntityMasterListViewModel } from '@acorex/platform/layout/entity';
12
+ import { AXPlatform } from '@acorex/core/platform';
13
+ import { AXDataPagerChangedEvent } from '@acorex/components/data-pager';
14
+ import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
12
15
  import * as _acorex_platform_common from '@acorex/platform/common';
13
16
  import { AXPMenuItem, AXPSettingsService, AXPMenuVisibilityService } from '@acorex/platform/common';
14
17
  import { AXPTaskBadgeService } from '@acorex/platform/layout/components';
@@ -92,6 +95,103 @@ declare class AXPEntityDetailListViewComponent {
92
95
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailListViewComponent, "axp-entity-detail-list-view", never, { "vm": { "alias": "viewModel"; "required": false; }; }, {}, never, never, true, never>;
93
96
  }
94
97
 
98
+ declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponent {
99
+ protected platform: AXPlatform;
100
+ private activeRoute;
101
+ private router;
102
+ protected readonly vm: AXPEntityMasterListViewModel;
103
+ protected store: {
104
+ currentMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
105
+ currentPalette: _angular_core.Signal<string>;
106
+ systemThemeMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPThemeMode>;
107
+ font: _ngrx_signals.DeepSignal<{
108
+ family: string;
109
+ size: string;
110
+ }>;
111
+ overlayLoading: _angular_core.Signal<boolean>;
112
+ navigationLoading: _angular_core.Signal<boolean>;
113
+ overlayLoadingTaskCount: _angular_core.Signal<number>;
114
+ navigationLoadingTaskCount: _angular_core.Signal<number>;
115
+ sideMenuState: _angular_core.Signal<_acorex_platform_themes_shared.AXPSideMenuState>;
116
+ sideMenuWidth: _angular_core.Signal<number>;
117
+ menuOrientation: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuOrientation>;
118
+ isPrinting: _angular_core.Signal<boolean>;
119
+ isDarkMode: _angular_core.Signal<boolean>;
120
+ isLightMode: _angular_core.Signal<boolean>;
121
+ isSystemMode: _angular_core.Signal<boolean>;
122
+ isSideMenuOpen: _angular_core.Signal<boolean>;
123
+ isOverlayLoading: _angular_core.Signal<boolean>;
124
+ isNavigationLoading: _angular_core.Signal<boolean>;
125
+ isMenuHorizontal: _angular_core.Signal<boolean>;
126
+ changeThemeMode: (theme: _acorex_platform_themes_shared.AXPThemeMode) => void;
127
+ openSideMenu: () => void;
128
+ closeSideMenu: () => void;
129
+ setSideMenuWidth: (width: number) => void;
130
+ toggleSideMenu: () => void;
131
+ setNavigationLoading: (value: boolean, delay?: number) => void;
132
+ setOverlayLoading: (value: boolean, delay?: number) => void;
133
+ loadSettings: () => Promise<void>;
134
+ } & _ngrx_signals.StateSource<{
135
+ currentMode: _acorex_platform_themes_shared.AXPThemeMode;
136
+ currentPalette: string;
137
+ systemThemeMode: _acorex_platform_themes_shared.AXPThemeMode;
138
+ font: {
139
+ family: string;
140
+ size: string;
141
+ };
142
+ overlayLoading: boolean;
143
+ navigationLoading: boolean;
144
+ overlayLoadingTaskCount: number;
145
+ navigationLoadingTaskCount: number;
146
+ sideMenuState: _acorex_platform_themes_shared.AXPSideMenuState;
147
+ sideMenuWidth: number;
148
+ menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
149
+ isPrinting: boolean;
150
+ }>;
151
+ protected searchBarShown: _angular_core.WritableSignal<boolean>;
152
+ protected activeEndSideView: _angular_core.WritableSignal<"sort" | "filter" | "column">;
153
+ protected categorySearchValue: _angular_core.WritableSignal<string>;
154
+ protected grid: _angular_core.Signal<AXDataTableComponent | undefined>;
155
+ private queryParamSub?;
156
+ private initializedFromRoute;
157
+ constructor(platform: AXPlatform);
158
+ ngOnInit(): Promise<void>;
159
+ ngAfterViewInit(): Promise<void>;
160
+ protected onColumnSizeChanged(e: onColumnSizeChangedEvent): void;
161
+ protected onPageChanged(e: AXDataPagerChangedEvent): void;
162
+ protected onColumnsOrderChanged(e: AXColumnsOrderChangedEvent): void;
163
+ protected dropdownRowItems(rowData: any): Promise<AXRowCommandItem[]>;
164
+ private commandRowItems;
165
+ protected handleRowDbClick(e: AXDataTableRowDbClick): Promise<void>;
166
+ protected getDropdownRowItems: (rowData: unknown) => Promise<AXRowCommandItem[]>;
167
+ protected getCommandRowItems: () => AXRowCommandItem[];
168
+ protected handleRowCommandClick(e: AXRowCommandItemClickEvent): Promise<void>;
169
+ protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
170
+ /**
171
+ * After refreshing a row's children (e.g. when a new child was created), update the parent row's
172
+ * hasChild so the expand icon is shown. The list query sets hasChild from childrenCount only on
173
+ * initial load; refreshItemChildren does not re-fetch the parent, so we patch it here.
174
+ */
175
+ private updateParentHasChildAfterRefresh;
176
+ private findItemById;
177
+ protected makeResponsive<t>(value: t): t | string;
178
+ protected toggleSideBar(sideBar?: 'column' | 'filter' | 'sort'): void;
179
+ protected toggleSearchBar(): void;
180
+ protected handleResetClick(sideBar: 'filter' | 'sort' | 'column'): void;
181
+ protected handleApplyClick(sideBar: 'filter' | 'sort' | 'column'): void;
182
+ ngOnDestroy(): void;
183
+ toggleCategoryDrawer(): void;
184
+ getPageTitle(): string;
185
+ getPageDescription(): Promise<string>;
186
+ getPageBreadcrumbs(): AXPBreadcrumbItem[];
187
+ getPrimaryMenuItems(): Promise<AXPActionMenuItem[]>;
188
+ getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
189
+ execute(command: AXPExecuteCommand): Promise<void>;
190
+ protected handleUnselectAll(): void;
191
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityMasterListViewComponent, never>;
192
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityMasterListViewComponent, "axp-entity-master-list", never, {}, {}, never, never, true, never>;
193
+ }
194
+
95
195
  declare class AXPRootLayoutFooterComponent {
96
196
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRootLayoutFooterComponent, never>;
97
197
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPRootLayoutFooterComponent, "axp-dashboard-admin-footer", never, {}, {}, never, never, true, never>;
@@ -208,6 +308,15 @@ declare class AXPRootLayoutMenuComponent {
208
308
  * 3. It has a command (for non-router navigation)
209
309
  */
210
310
  protected shouldRenderMenuItem(item: AXPMenuItem): boolean;
311
+ /**
312
+ * Checks if an item takes up visual space in the menu (group title or rendered menu item).
313
+ */
314
+ protected isItemRendered(item: AXPMenuItem): boolean;
315
+ /**
316
+ * Determines if a divider should be shown. A divider is only shown when there is
317
+ * visible content on both sides; if before or after is blank, the divider is hidden.
318
+ */
319
+ protected shouldShowDivider(item: AXPMenuItem, items: AXPMenuItem[], index: number): boolean;
211
320
  /**
212
321
  * Builds a UrlTree that can be consumed by the routerLink directive when the menu item targets
213
322
  * an internal route. When the item does not represent an internal route, null is returned so the
@@ -449,7 +558,6 @@ declare class AXPRootLayoutComponent {
449
558
  private eventService;
450
559
  private sessionService;
451
560
  private unsubscriber;
452
- private workflowService;
453
561
  private contextStore;
454
562
  ngOnInit(): void;
455
563
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRootLayoutComponent, never>;
@@ -462,4 +570,4 @@ declare class AXPDefaultThemeModule {
462
570
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPDefaultThemeModule>;
463
571
  }
464
572
 
465
- export { AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPRootHorizontalLayoutComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPRootVerticalLayoutComponent };
573
+ export { AXPDefaultThemeModule, AXPEntityDetailListViewComponent, AXPEntityMasterListViewComponent, AXPRootHorizontalLayoutComponent, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent, AXPRootLayoutMenuComponent, AXPRootVerticalLayoutComponent };
@@ -2,8 +2,8 @@ import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared'
2
2
  import * as _ngrx_signals from '@ngrx/signals';
3
3
  import * as _angular_core from '@angular/core';
4
4
  import { InjectionToken, Injector } from '@angular/core';
5
+ import * as i1 from '@acorex/platform/core';
5
6
  import { AXPAppStartUpService } from '@acorex/platform/core';
6
- import * as i1 from '@acorex/platform/layout/components';
7
7
  import * as i2 from '@acorex/platform/layout/widget-core';
8
8
 
9
9
  interface AXPThemePaletteColors {