@acorex/platform 20.6.0-next.2 → 20.6.0-next.21

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 (107) hide show
  1. package/common/index.d.ts +7 -3
  2. package/core/index.d.ts +210 -56
  3. package/fesm2022/acorex-platform-auth.mjs +19 -19
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/{acorex-platform-common-common-settings.provider-CLb2KMfv.mjs → acorex-platform-common-common-settings.provider-zhqNP3xb.mjs} +28 -4
  6. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-common.mjs +104 -103
  8. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +279 -78
  10. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-domain.mjs +65 -20
  12. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-builder.mjs +56 -135
  14. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-components.mjs +1322 -409
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +73 -73
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +7736 -3813
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +58 -40
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +91 -82
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-lHfg4JFJ.mjs → acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs} +4 -4
  26. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-lHfg4JFJ.mjs.map → acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map} +1 -1
  27. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CMSnecnD.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-fhhZOWul.mjs} +4 -4
  28. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-CMSnecnD.mjs.map → acorex-platform-layout-widgets-extra-properties-schema-widget-edit.component-fhhZOWul.mjs.map} +1 -1
  29. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-DN-sIFYe.mjs → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-C3Qbs0fz.mjs} +4 -4
  30. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-DN-sIFYe.mjs.map → acorex-platform-layout-widgets-extra-properties-schema-widget-view.component-C3Qbs0fz.mjs.map} +1 -1
  31. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-Bn9w0SEz.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-CngQBUlN.mjs} +4 -4
  32. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-Bn9w0SEz.mjs.map → acorex-platform-layout-widgets-extra-properties-values-widget-edit.component-CngQBUlN.mjs.map} +1 -1
  33. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-view.component-B8mgcvoX.mjs → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-DSNo9e4W.mjs} +4 -4
  34. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-values-widget-view.component-B8mgcvoX.mjs.map → acorex-platform-layout-widgets-extra-properties-values-widget-view.component-DSNo9e4W.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-edit.component-Bhof2SY8.mjs → acorex-platform-layout-widgets-extra-properties-widget-edit.component-CL0CwEHX.mjs} +4 -4
  36. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-edit.component-Bhof2SY8.mjs.map → acorex-platform-layout-widgets-extra-properties-widget-edit.component-CL0CwEHX.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-view.component-CeQIvKVV.mjs → acorex-platform-layout-widgets-extra-properties-widget-view.component-B6Fi0xTw.mjs} +4 -4
  38. package/fesm2022/{acorex-platform-layout-widgets-extra-properties-widget-view.component-CeQIvKVV.mjs.map → acorex-platform-layout-widgets-extra-properties-widget-view.component-B6Fi0xTw.mjs.map} +1 -1
  39. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-BOP7jFp4.mjs → acorex-platform-layout-widgets-file-list-popup.component-D0y-9nE5.mjs} +6 -6
  40. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-BOP7jFp4.mjs.map → acorex-platform-layout-widgets-file-list-popup.component-D0y-9nE5.mjs.map} +1 -1
  41. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs +30 -0
  42. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-C57lyBs3.mjs → acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs} +4 -4
  44. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-C57lyBs3.mjs.map → acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map} +1 -1
  45. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-fr77M8Z0.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-m8rHZP8L.mjs} +6 -6
  46. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-m8rHZP8L.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-CvZTRhct.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs} +5 -5
  48. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +1 -0
  49. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-DHES_0ot.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs} +4 -4
  50. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-DHES_0ot.mjs.map → acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map} +1 -1
  51. package/fesm2022/acorex-platform-layout-widgets.mjs +3809 -2060
  52. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  53. package/fesm2022/acorex-platform-native.mjs +7 -7
  54. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  55. package/fesm2022/acorex-platform-runtime.mjs +119 -43
  56. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  57. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-C_XmJV7Y.mjs → acorex-platform-themes-default-entity-master-create-view.component-mARj77Mr.mjs} +30 -9
  58. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-mARj77Mr.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D5K0XUqM.mjs +1522 -0
  60. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D5K0XUqM.mjs.map +1 -0
  61. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DJPDil7w.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BTA6h7Xd.mjs} +4 -4
  62. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BTA6h7Xd.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-BArdGNfr.mjs → acorex-platform-themes-default-entity-master-single-view.component-B_P0a5KW.mjs} +7 -7
  64. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B_P0a5KW.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-themes-default-error-401.component-D7rEInHg.mjs → acorex-platform-themes-default-error-401.component-cfREo88K.mjs} +4 -4
  66. package/fesm2022/{acorex-platform-themes-default-error-401.component-D7rEInHg.mjs.map → acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map} +1 -1
  67. package/fesm2022/{acorex-platform-themes-default-error-404.component-BTZlVrd8.mjs → acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs} +4 -4
  68. package/fesm2022/{acorex-platform-themes-default-error-404.component-BTZlVrd8.mjs.map → acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map} +1 -1
  69. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BhvEi6nX.mjs → acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs} +4 -4
  70. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BhvEi6nX.mjs.map → acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map} +1 -1
  71. package/fesm2022/acorex-platform-themes-default.mjs +156 -53
  72. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  73. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs +55 -0
  74. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BXV40gay.mjs → acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs} +4 -4
  76. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-BXV40gay.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map} +1 -1
  77. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-BpIf4s53.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs} +4 -4
  78. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-BpIf4s53.mjs.map → acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map} +1 -1
  79. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-C9gvfQfX.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs} +4 -4
  80. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-C9gvfQfX.mjs.map → acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map} +1 -1
  81. package/fesm2022/acorex-platform-themes-shared.mjs +58 -153
  82. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  83. package/fesm2022/acorex-platform-workflow.mjs +327 -151
  84. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  85. package/layout/builder/index.d.ts +6 -33
  86. package/layout/components/index.d.ts +306 -61
  87. package/layout/designer/index.d.ts +1 -1
  88. package/layout/entity/index.d.ts +595 -94
  89. package/layout/views/index.d.ts +6 -58
  90. package/layout/widget-core/index.d.ts +31 -26
  91. package/layout/widgets/README.md +0 -1
  92. package/layout/widgets/index.d.ts +325 -99
  93. package/package.json +1 -1
  94. package/runtime/index.d.ts +36 -8
  95. package/themes/default/index.d.ts +32 -77
  96. package/themes/shared/index.d.ts +1 -39
  97. package/workflow/index.d.ts +909 -457
  98. package/fesm2022/acorex-platform-common-common-settings.provider-CLb2KMfv.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-entity-create-entity.command-BsLbiAdA.mjs +0 -52
  100. package/fesm2022/acorex-platform-layout-entity-create-entity.command-BsLbiAdA.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-fr77M8Z0.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-CvZTRhct.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-C_XmJV7Y.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BkY9HXcT.mjs +0 -782
  105. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BkY9HXcT.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DJPDil7w.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BArdGNfr.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "20.6.0-next.2",
3
+ "version": "20.6.0-next.21",
4
4
  "peerDependencies": {
5
5
  "@acorex/cdk": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
6
6
  "@acorex/core": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
@@ -1,14 +1,21 @@
1
+ import { AXPExecuteCommandResult, AXPViewDefinition, AXPMetaData } from '@acorex/platform/core';
1
2
  import * as i0 from '@angular/core';
2
3
  import { InjectionToken, Type, EnvironmentProviders, Provider } from '@angular/core';
3
- import { AXPViewDefinition, AXPMetaData } from '@acorex/platform/core';
4
4
  import { AXComponent } from '@acorex/cdk/common';
5
5
 
6
+ type AXPExecuteCommandResultPromise<TResult = any> = Promise<AXPExecuteCommandResult<TResult>>;
6
7
  interface AXPCommand<TInput = any, TResult = any> {
7
- execute(input: TInput): Promise<TResult>;
8
+ execute(input: TInput): AXPExecuteCommandResultPromise<TResult>;
8
9
  }
9
10
 
10
- type AXPCommandMiddleware<TInput = any, TResult = any> = (input: TInput, next: (input: TInput) => Promise<TResult>) => Promise<TResult>;
11
- declare function composeCommandMiddlewares<TInput, TResult>(middlewares: AXPCommandMiddleware<TInput, TResult>[]): (handler: (input: TInput) => Promise<TResult>) => (input: TInput) => Promise<TResult>;
11
+ /**
12
+ * Represents a middleware function in the command execution pipeline.
13
+ */
14
+ type AXPCommandMiddleware<TInput = any, TResult = any> = (input: TInput, next: (input: TInput) => Promise<AXPExecuteCommandResult<TResult>>) => Promise<AXPExecuteCommandResult<TResult>>;
15
+ /**
16
+ * Creates a composed handler by chaining the provided command middlewares.
17
+ */
18
+ declare function composeCommandMiddlewares<TInput, TResult>(middlewares: AXPCommandMiddleware<TInput, TResult>[]): (handler: (input: TInput) => Promise<AXPExecuteCommandResult<TResult>>) => (input: TInput) => Promise<AXPExecuteCommandResult<TResult>>;
12
19
 
13
20
  declare class AXPCommandRegistry {
14
21
  private registry;
@@ -29,7 +36,8 @@ declare class AXPCommandExecutor {
29
36
  private readonly injector;
30
37
  private readonly registry;
31
38
  private readonly extensions;
32
- execute<TInput = any, TResult = any>(key: string, input: TInput): Promise<TResult | null>;
39
+ private readonly commandEvents;
40
+ execute<TInput = any, TResult = any>(key: string, input: TInput): Promise<AXPExecuteCommandResult<TResult> | null>;
33
41
  private getPluginMiddlewares;
34
42
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommandExecutor, never>;
35
43
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandExecutor>;
@@ -44,7 +52,7 @@ declare class AXPCommandService {
44
52
  exists(key: string): boolean;
45
53
  getRegisteredKeys(): string[];
46
54
  clear(): void;
47
- execute<TInput = any, TResult = any>(key: string, input: TInput): Promise<TResult | null>;
55
+ execute<TInput = any, TResult = any>(key: string, input: TInput): Promise<AXPExecuteCommandResult<TResult> | null>;
48
56
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommandService, never>;
49
57
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPCommandService>;
50
58
  }
@@ -61,6 +69,7 @@ type AXPCommandLoader = {
61
69
  command: () => Type<AXPCommand> | Promise<Type<AXPCommand>>;
62
70
  };
63
71
  declare function provideCommandSetups(entries: AXPCommandLoader[]): EnvironmentProviders;
72
+ declare function provideCommand(key: string, loader: () => Type<AXPCommand> | Promise<Type<AXPCommand>>): EnvironmentProviders;
64
73
 
65
74
  declare const AXP_COMMAND_MIDDLEWARE_SETUP: InjectionToken<void>;
66
75
  type AXPCommandMiddlewareEntry = (AXPCommandMiddleware | {
@@ -69,6 +78,25 @@ type AXPCommandMiddlewareEntry = (AXPCommandMiddleware | {
69
78
  })[];
70
79
  declare function provideCommandMiddleware(entries: AXPCommandMiddlewareEntry): EnvironmentProviders;
71
80
 
81
+ type AXPCommandExecutionStage = 'before' | 'after';
82
+ interface AXPCommandExecutionEvent<TInput = unknown, TResult = unknown> {
83
+ stage: AXPCommandExecutionStage;
84
+ 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>;
98
+ }
99
+
72
100
  interface AXPQuery<TInput = any, TResult = any> {
73
101
  fetch(input: TInput): Promise<TResult>;
74
102
  }
@@ -275,5 +303,5 @@ declare class AXPRuntimeModule {
275
303
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPRuntimeModule>;
276
304
  }
277
305
 
278
- export { 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, provideCommandMiddleware, provideCommandSetups, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
279
- export type { AXPCommand, AXPCommandExtension, AXPCommandMiddleware, AXPPolicy, AXPPolicyEngineMiddleware, AXPPolicyExtension, AXPQuery, AXPQueryExtension, AXPQueryMiddleware, AXPViewExtension, AXPViewMiddleware, AXPViewProvider };
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 };
@@ -1,18 +1,18 @@
1
- import * as _acorex_components_button from '@acorex/components/button';
2
1
  import * as _ngrx_signals from '@ngrx/signals';
3
2
  import * as _angular_core from '@angular/core';
4
3
  import { Signal } from '@angular/core';
5
4
  import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
6
5
  import { AXValueChangedEvent } from '@acorex/cdk/common';
7
6
  import { AXActionSheetService } from '@acorex/components/action-sheet';
8
- import { AXDataTableComponent, AXDataTableRowDbClick, AXRowCommandItem, AXRowCommandItemClickEvent } from '@acorex/components/data-table';
7
+ import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent } from '@acorex/components/data-table';
9
8
  import { AXUnsubscriber } from '@acorex/core/utils';
10
- import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel } from '@acorex/platform/layout/entity';
11
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';
12
12
  import * as _acorex_platform_common from '@acorex/platform/common';
13
13
  import { AXPMenuItem, AXPSettingService } from '@acorex/platform/common';
14
14
  import { AXPTaskBadgeService } from '@acorex/platform/layout/components';
15
- import { Router } from '@angular/router';
15
+ import { Router, UrlTree } from '@angular/router';
16
16
  import { AXDrawerComponent } from '@acorex/components/drawer';
17
17
 
18
18
  declare class AXPEntityDetailListViewComponent {
@@ -27,9 +27,6 @@ declare class AXPEntityDetailListViewComponent {
27
27
  family: string;
28
28
  size: string;
29
29
  }>;
30
- screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
31
- deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
32
- isTouchDevice: _angular_core.Signal<boolean>;
33
30
  overlayLoading: _angular_core.Signal<boolean>;
34
31
  navigationLoading: _angular_core.Signal<boolean>;
35
32
  overlayLoadingTaskCount: _angular_core.Signal<number>;
@@ -42,14 +39,6 @@ declare class AXPEntityDetailListViewComponent {
42
39
  isLightMode: _angular_core.Signal<boolean>;
43
40
  isSystemMode: _angular_core.Signal<boolean>;
44
41
  isSideMenuOpen: _angular_core.Signal<boolean>;
45
- isSideMenuOverlay: _angular_core.Signal<boolean>;
46
- isSmall: _angular_core.Signal<boolean>;
47
- isMedium: _angular_core.Signal<boolean>;
48
- isLarge: _angular_core.Signal<boolean>;
49
- isMobileDevice: _angular_core.Signal<boolean>;
50
- isTabletDevice: _angular_core.Signal<boolean>;
51
- isDesktopDevice: _angular_core.Signal<boolean>;
52
- isTouchScreen: _angular_core.Signal<boolean>;
53
42
  isOverlayLoading: _angular_core.Signal<boolean>;
54
43
  isNavigationLoading: _angular_core.Signal<boolean>;
55
44
  isMenuHorizontal: _angular_core.Signal<boolean>;
@@ -69,9 +58,6 @@ declare class AXPEntityDetailListViewComponent {
69
58
  family: string;
70
59
  size: string;
71
60
  };
72
- screenSize: _acorex_platform_themes_shared.AXPScreenSize;
73
- deviceType: _acorex_platform_themes_shared.AXPDeviceType;
74
- isTouchDevice: boolean;
75
61
  overlayLoading: boolean;
76
62
  navigationLoading: boolean;
77
63
  overlayLoadingTaskCount: number;
@@ -81,6 +67,7 @@ declare class AXPEntityDetailListViewComponent {
81
67
  menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
82
68
  isPrinting: boolean;
83
69
  }>;
70
+ protected deviceService: AXPDeviceService;
84
71
  protected toolbarPrimaryActions: _angular_core.WritableSignal<AXPEntityCommandTriggerViewModel[]>;
85
72
  protected toolbarSecondaryActions: _angular_core.WritableSignal<AXPEntityCommandTriggerViewModel[]>;
86
73
  vm: AXPEntityDetailListViewModel;
@@ -91,8 +78,8 @@ declare class AXPEntityDetailListViewComponent {
91
78
  handleChangeSearchValue(e: AXValueChangedEvent): void;
92
79
  protected subscribeActionEvents(): void;
93
80
  ngAfterViewInit(): void;
94
- protected dropdownRowItems: _angular_core.Signal<_acorex_components_button.AXButtonItemListItem[]>;
95
- protected commandRowItems: _angular_core.Signal<_acorex_components_button.AXButtonItemListItem[]>;
81
+ protected dropdownRowItems: _angular_core.Signal<AXRowCommandItem[]>;
82
+ protected commandRowItems: _angular_core.Signal<AXRowCommandItem[]>;
96
83
  protected handleRowDbClick(e: AXDataTableRowDbClick): Promise<void>;
97
84
  protected getCommandRowItems: () => AXRowCommandItem[];
98
85
  protected getDropdownRowItems: (rowData: unknown) => Promise<AXRowCommandItem[]>;
@@ -120,9 +107,6 @@ declare class AXPRootLayoutHeaderComponent {
120
107
  family: string;
121
108
  size: string;
122
109
  }>;
123
- screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
124
- deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
125
- isTouchDevice: _angular_core.Signal<boolean>;
126
110
  overlayLoading: _angular_core.Signal<boolean>;
127
111
  navigationLoading: _angular_core.Signal<boolean>;
128
112
  overlayLoadingTaskCount: _angular_core.Signal<number>;
@@ -135,14 +119,6 @@ declare class AXPRootLayoutHeaderComponent {
135
119
  isLightMode: _angular_core.Signal<boolean>;
136
120
  isSystemMode: _angular_core.Signal<boolean>;
137
121
  isSideMenuOpen: _angular_core.Signal<boolean>;
138
- isSideMenuOverlay: _angular_core.Signal<boolean>;
139
- isSmall: _angular_core.Signal<boolean>;
140
- isMedium: _angular_core.Signal<boolean>;
141
- isLarge: _angular_core.Signal<boolean>;
142
- isMobileDevice: _angular_core.Signal<boolean>;
143
- isTabletDevice: _angular_core.Signal<boolean>;
144
- isDesktopDevice: _angular_core.Signal<boolean>;
145
- isTouchScreen: _angular_core.Signal<boolean>;
146
122
  isOverlayLoading: _angular_core.Signal<boolean>;
147
123
  isNavigationLoading: _angular_core.Signal<boolean>;
148
124
  isMenuHorizontal: _angular_core.Signal<boolean>;
@@ -162,9 +138,6 @@ declare class AXPRootLayoutHeaderComponent {
162
138
  family: string;
163
139
  size: string;
164
140
  };
165
- screenSize: _acorex_platform_themes_shared.AXPScreenSize;
166
- deviceType: _acorex_platform_themes_shared.AXPDeviceType;
167
- isTouchDevice: boolean;
168
141
  overlayLoading: boolean;
169
142
  navigationLoading: boolean;
170
143
  overlayLoadingTaskCount: number;
@@ -219,9 +192,32 @@ declare class AXPRootLayoutMenuComponent {
219
192
  protected badgeVisible: _angular_core.WritableSignal<boolean>;
220
193
  constructor();
221
194
  ngOnInit(): Promise<void>;
222
- onMenuItemClick(item: AXPMenuItem): void;
195
+ onMenuItemClick(item: AXPMenuItem, hasRouterLink?: boolean): void;
223
196
  protected sort(items: AXPMenuItem[]): AXPMenuItem[];
224
197
  protected getMenuBadge(item: AXPMenuItem): Signal<number>;
198
+ /**
199
+ * Builds a UrlTree that can be consumed by the routerLink directive when the menu item targets
200
+ * an internal route. When the item does not represent an internal route, null is returned so the
201
+ * command execution pipeline remains responsible for navigation.
202
+ */
203
+ protected getRouterLink(item: AXPMenuItem): UrlTree | null;
204
+ /**
205
+ * Extracts internal navigation data regardless of whether it is provided via the legacy `path`
206
+ * property, a direct navigate command, or the execution command wrapper.
207
+ */
208
+ private extractRouterNavigation;
209
+ /**
210
+ * Determines whether routerLink can safely be used based on the target path and navigation
211
+ * extras. If the navigation requires additional runtime behaviour (e.g., opening in a new tab),
212
+ * we fallback to the imperative command pipeline.
213
+ */
214
+ private isRouterLinkCompatible;
215
+ /**
216
+ * Ensures router links include a leading slash while preserving any query parameters or
217
+ * fragments present in the original path.
218
+ */
219
+ private normalizeRouterPath;
220
+ private isExternalNavigation;
225
221
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRootLayoutMenuComponent, never>;
226
222
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPRootLayoutMenuComponent, "axp-side-menu", never, {}, {}, never, never, true, never>;
227
223
  }
@@ -251,9 +247,6 @@ declare class AXPRootHorizontalLayoutComponent {
251
247
  family: string;
252
248
  size: string;
253
249
  }>;
254
- screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
255
- deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
256
- isTouchDevice: _angular_core.Signal<boolean>;
257
250
  overlayLoading: _angular_core.Signal<boolean>;
258
251
  navigationLoading: _angular_core.Signal<boolean>;
259
252
  overlayLoadingTaskCount: _angular_core.Signal<number>;
@@ -266,14 +259,6 @@ declare class AXPRootHorizontalLayoutComponent {
266
259
  isLightMode: _angular_core.Signal<boolean>;
267
260
  isSystemMode: _angular_core.Signal<boolean>;
268
261
  isSideMenuOpen: _angular_core.Signal<boolean>;
269
- isSideMenuOverlay: _angular_core.Signal<boolean>;
270
- isSmall: _angular_core.Signal<boolean>;
271
- isMedium: _angular_core.Signal<boolean>;
272
- isLarge: _angular_core.Signal<boolean>;
273
- isMobileDevice: _angular_core.Signal<boolean>;
274
- isTabletDevice: _angular_core.Signal<boolean>;
275
- isDesktopDevice: _angular_core.Signal<boolean>;
276
- isTouchScreen: _angular_core.Signal<boolean>;
277
262
  isOverlayLoading: _angular_core.Signal<boolean>;
278
263
  isNavigationLoading: _angular_core.Signal<boolean>;
279
264
  isMenuHorizontal: _angular_core.Signal<boolean>;
@@ -293,9 +278,6 @@ declare class AXPRootHorizontalLayoutComponent {
293
278
  family: string;
294
279
  size: string;
295
280
  };
296
- screenSize: _acorex_platform_themes_shared.AXPScreenSize;
297
- deviceType: _acorex_platform_themes_shared.AXPDeviceType;
298
- isTouchDevice: boolean;
299
281
  overlayLoading: boolean;
300
282
  navigationLoading: boolean;
301
283
  overlayLoadingTaskCount: number;
@@ -336,9 +318,6 @@ declare class AXPRootVerticalLayoutComponent {
336
318
  family: string;
337
319
  size: string;
338
320
  }>;
339
- screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
340
- deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
341
- isTouchDevice: _angular_core.Signal<boolean>;
342
321
  overlayLoading: _angular_core.Signal<boolean>;
343
322
  navigationLoading: _angular_core.Signal<boolean>;
344
323
  overlayLoadingTaskCount: _angular_core.Signal<number>;
@@ -351,14 +330,6 @@ declare class AXPRootVerticalLayoutComponent {
351
330
  isLightMode: _angular_core.Signal<boolean>;
352
331
  isSystemMode: _angular_core.Signal<boolean>;
353
332
  isSideMenuOpen: _angular_core.Signal<boolean>;
354
- isSideMenuOverlay: _angular_core.Signal<boolean>;
355
- isSmall: _angular_core.Signal<boolean>;
356
- isMedium: _angular_core.Signal<boolean>;
357
- isLarge: _angular_core.Signal<boolean>;
358
- isMobileDevice: _angular_core.Signal<boolean>;
359
- isTabletDevice: _angular_core.Signal<boolean>;
360
- isDesktopDevice: _angular_core.Signal<boolean>;
361
- isTouchScreen: _angular_core.Signal<boolean>;
362
333
  isOverlayLoading: _angular_core.Signal<boolean>;
363
334
  isNavigationLoading: _angular_core.Signal<boolean>;
364
335
  isMenuHorizontal: _angular_core.Signal<boolean>;
@@ -378,9 +349,6 @@ declare class AXPRootVerticalLayoutComponent {
378
349
  family: string;
379
350
  size: string;
380
351
  };
381
- screenSize: _acorex_platform_themes_shared.AXPScreenSize;
382
- deviceType: _acorex_platform_themes_shared.AXPDeviceType;
383
- isTouchDevice: boolean;
384
352
  overlayLoading: boolean;
385
353
  navigationLoading: boolean;
386
354
  overlayLoadingTaskCount: number;
@@ -390,6 +358,7 @@ declare class AXPRootVerticalLayoutComponent {
390
358
  menuOrientation: _acorex_platform_themes_shared.AXPMenuOrientation;
391
359
  isPrinting: boolean;
392
360
  }>;
361
+ protected deviceService: AXPDeviceService;
393
362
  protected router: Router;
394
363
  constructor();
395
364
  protected handleResizingEnded(e: AXValueChangedEvent<number>): void;
@@ -406,9 +375,6 @@ declare class AXPRootLayoutComponent {
406
375
  family: string;
407
376
  size: string;
408
377
  }>;
409
- screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
410
- deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
411
- isTouchDevice: _angular_core.Signal<boolean>;
412
378
  overlayLoading: _angular_core.Signal<boolean>;
413
379
  navigationLoading: _angular_core.Signal<boolean>;
414
380
  overlayLoadingTaskCount: _angular_core.Signal<number>;
@@ -421,14 +387,6 @@ declare class AXPRootLayoutComponent {
421
387
  isLightMode: _angular_core.Signal<boolean>;
422
388
  isSystemMode: _angular_core.Signal<boolean>;
423
389
  isSideMenuOpen: _angular_core.Signal<boolean>;
424
- isSideMenuOverlay: _angular_core.Signal<boolean>;
425
- isSmall: _angular_core.Signal<boolean>;
426
- isMedium: _angular_core.Signal<boolean>;
427
- isLarge: _angular_core.Signal<boolean>;
428
- isMobileDevice: _angular_core.Signal<boolean>;
429
- isTabletDevice: _angular_core.Signal<boolean>;
430
- isDesktopDevice: _angular_core.Signal<boolean>;
431
- isTouchScreen: _angular_core.Signal<boolean>;
432
390
  isOverlayLoading: _angular_core.Signal<boolean>;
433
391
  isNavigationLoading: _angular_core.Signal<boolean>;
434
392
  isMenuHorizontal: _angular_core.Signal<boolean>;
@@ -448,9 +406,6 @@ declare class AXPRootLayoutComponent {
448
406
  family: string;
449
407
  size: string;
450
408
  };
451
- screenSize: _acorex_platform_themes_shared.AXPScreenSize;
452
- deviceType: _acorex_platform_themes_shared.AXPDeviceType;
453
- isTouchDevice: boolean;
454
409
  overlayLoading: boolean;
455
410
  navigationLoading: boolean;
456
411
  overlayLoadingTaskCount: number;
@@ -26,16 +26,6 @@ declare enum AXPThemeMode {
26
26
  Dark = "dark",
27
27
  System = "system"
28
28
  }
29
- declare enum AXPScreenSize {
30
- Small = "small",
31
- Medium = "medium",
32
- Large = "large"
33
- }
34
- declare enum AXPDeviceType {
35
- Mobile = "mobile",
36
- Tablet = "tablet",
37
- Desktop = "desktop"
38
- }
39
29
  declare enum AXPSideMenuState {
40
30
  Opened = "opened",
41
31
  Closed = "closed"
@@ -54,9 +44,6 @@ declare class AXPThemeSlotComponent {
54
44
  family: string;
55
45
  size: string;
56
46
  }>;
57
- screenSize: _angular_core.Signal<_acorex_platform_themes_shared.AXPScreenSize>;
58
- deviceType: _angular_core.Signal<_acorex_platform_themes_shared.AXPDeviceType>;
59
- isTouchDevice: _angular_core.Signal<boolean>;
60
47
  overlayLoading: _angular_core.Signal<boolean>;
61
48
  navigationLoading: _angular_core.Signal<boolean>;
62
49
  overlayLoadingTaskCount: _angular_core.Signal<number>;
@@ -69,14 +56,6 @@ declare class AXPThemeSlotComponent {
69
56
  isLightMode: _angular_core.Signal<boolean>;
70
57
  isSystemMode: _angular_core.Signal<boolean>;
71
58
  isSideMenuOpen: _angular_core.Signal<boolean>;
72
- isSideMenuOverlay: _angular_core.Signal<boolean>;
73
- isSmall: _angular_core.Signal<boolean>;
74
- isMedium: _angular_core.Signal<boolean>;
75
- isLarge: _angular_core.Signal<boolean>;
76
- isMobileDevice: _angular_core.Signal<boolean>;
77
- isTabletDevice: _angular_core.Signal<boolean>;
78
- isDesktopDevice: _angular_core.Signal<boolean>;
79
- isTouchScreen: _angular_core.Signal<boolean>;
80
59
  isOverlayLoading: _angular_core.Signal<boolean>;
81
60
  isNavigationLoading: _angular_core.Signal<boolean>;
82
61
  isMenuHorizontal: _angular_core.Signal<boolean>;
@@ -96,9 +75,6 @@ declare class AXPThemeSlotComponent {
96
75
  family: string;
97
76
  size: string;
98
77
  };
99
- screenSize: _acorex_platform_themes_shared.AXPScreenSize;
100
- deviceType: _acorex_platform_themes_shared.AXPDeviceType;
101
- isTouchDevice: boolean;
102
78
  overlayLoading: boolean;
103
79
  navigationLoading: boolean;
104
80
  overlayLoadingTaskCount: number;
@@ -129,9 +105,6 @@ declare const AXPLayoutThemeService: _angular_core.Type<{
129
105
  family: string;
130
106
  size: string;
131
107
  }>;
132
- screenSize: _angular_core.Signal<AXPScreenSize>;
133
- deviceType: _angular_core.Signal<AXPDeviceType>;
134
- isTouchDevice: _angular_core.Signal<boolean>;
135
108
  overlayLoading: _angular_core.Signal<boolean>;
136
109
  navigationLoading: _angular_core.Signal<boolean>;
137
110
  overlayLoadingTaskCount: _angular_core.Signal<number>;
@@ -144,14 +117,6 @@ declare const AXPLayoutThemeService: _angular_core.Type<{
144
117
  isLightMode: _angular_core.Signal<boolean>;
145
118
  isSystemMode: _angular_core.Signal<boolean>;
146
119
  isSideMenuOpen: _angular_core.Signal<boolean>;
147
- isSideMenuOverlay: _angular_core.Signal<boolean>;
148
- isSmall: _angular_core.Signal<boolean>;
149
- isMedium: _angular_core.Signal<boolean>;
150
- isLarge: _angular_core.Signal<boolean>;
151
- isMobileDevice: _angular_core.Signal<boolean>;
152
- isTabletDevice: _angular_core.Signal<boolean>;
153
- isDesktopDevice: _angular_core.Signal<boolean>;
154
- isTouchScreen: _angular_core.Signal<boolean>;
155
120
  isOverlayLoading: _angular_core.Signal<boolean>;
156
121
  isNavigationLoading: _angular_core.Signal<boolean>;
157
122
  isMenuHorizontal: _angular_core.Signal<boolean>;
@@ -171,9 +136,6 @@ declare const AXPLayoutThemeService: _angular_core.Type<{
171
136
  family: string;
172
137
  size: string;
173
138
  };
174
- screenSize: AXPScreenSize;
175
- deviceType: AXPDeviceType;
176
- isTouchDevice: boolean;
177
139
  overlayLoading: boolean;
178
140
  navigationLoading: boolean;
179
141
  overlayLoadingTaskCount: number;
@@ -204,5 +166,5 @@ declare class AXPThemesSharedModule {
204
166
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPThemesSharedModule>;
205
167
  }
206
168
 
207
- export { AXPDeviceType, AXPLayoutThemeService, AXPMenuOrientation, AXPScreenSize, AXPSideMenuState, AXPThemeLayoutSetting, AXPThemeMode, AXPThemePaletteProviderDefault, AXPThemeSlotComponent, AXPThemesSharedModule, AXP_THEME_PALETTE_PROVIDER };
169
+ export { AXPLayoutThemeService, AXPMenuOrientation, AXPSideMenuState, AXPThemeLayoutSetting, AXPThemeMode, AXPThemePaletteProviderDefault, AXPThemeSlotComponent, AXPThemesSharedModule, AXP_THEME_PALETTE_PROVIDER };
208
170
  export type { AXPThemePalette, AXPThemePaletteColors, AXPThemePaletteProvider };