@acorex/platform 21.0.0-next.39 → 21.0.0-next.40

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 (55) hide show
  1. package/fesm2022/acorex-platform-common.mjs +6 -2
  2. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-core.mjs +8 -1
  4. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-domain.mjs +3 -0
  6. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-builder.mjs +22 -5
  8. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-components.mjs +25 -13
  10. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-designer.mjs +203 -55
  12. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-entity.mjs +622 -121
  14. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-widget-core.mjs +169 -85
  16. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-widgets.mjs +643 -311
  18. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-runtime.mjs +120 -9
  20. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  21. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs → acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs} +3 -3
  22. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
  23. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs → acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs} +3 -3
  24. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
  25. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +3 -3
  26. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-themes-default.mjs +10 -10
  28. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs} +2 -2
  30. package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  32. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs} +38 -16
  34. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-themes-shared.mjs +183 -84
  36. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  37. package/fesm2022/acorex-platform-workflow.mjs +50 -10
  38. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  39. package/package.json +1 -1
  40. package/types/acorex-platform-core.d.ts +13 -2
  41. package/types/acorex-platform-domain.d.ts +28 -2
  42. package/types/acorex-platform-layout-builder.d.ts +41 -27
  43. package/types/acorex-platform-layout-designer.d.ts +55 -15
  44. package/types/acorex-platform-layout-entity.d.ts +145 -11
  45. package/types/acorex-platform-layout-widget-core.d.ts +81 -68
  46. package/types/acorex-platform-layout-widgets.d.ts +25 -5
  47. package/types/acorex-platform-runtime.d.ts +156 -61
  48. package/types/acorex-platform-workflow.d.ts +37 -2
  49. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +0 -1
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +0 -1
  51. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +0 -1
  52. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  53. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +0 -65
  54. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +0 -1
  55. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +0 -1
@@ -1,69 +1,89 @@
1
- import { AXPExecuteCommandResult, AXPViewDefinition, AXPMetaData } from '@acorex/platform/core';
1
+ import { AXPDefinitionCategory, AXPExecuteCommandResult, AXPViewDefinition, AXPMetaData } from '@acorex/platform/core';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, EnvironmentProviders, Type, Provider } from '@angular/core';
4
4
  import { AXComponent } from '@acorex/cdk/common';
5
5
 
6
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.
7
+ * Shared build-time catalog metadata for command, query, and widget definition sidecars
8
+ * (`defineCommand`, `defineQuery`, `defineWidget`).
9
+ * Lives under `shared/` so consumers import one module without a "command" prefix on generic shapes.
9
10
  */
10
- /** Command metadata validation: rule key + optional rule options only. */
11
- interface AXPCommandValidationRuleValue {
11
+
12
+ /** Catalog metadata validation: rule key + optional rule options only. */
13
+ interface AXPCatalogValidationRuleValue {
12
14
  rule: string;
13
15
  options?: Record<string, unknown>;
14
16
  }
15
17
  /**
16
18
  * Widget/interface reference for a schema property (name + optional widget options).
17
19
  */
18
- interface AXPCommandInterfaceDefinitionValue {
20
+ interface AXPCatalogInterfaceDefinitionValue {
19
21
  name: string;
20
22
  options?: Record<string, unknown>;
21
23
  }
22
24
  /**
23
- * One input/output property description (same structural role as AXPPropertyDefinition).
25
+ * Agent-facing hints when a single catalog row can be satisfied in several ways
26
+ * (inline list, registry-backed dataSource key, query + assign, tabular columns, context merge, etc.).
27
+ * Documentation only; tooling may surface this next to `description` and `interface`.
28
+ */
29
+ interface AXPCatalogPropertyBindingHints {
30
+ /** Named strategies the agent or author may use to supply this parameter. */
31
+ strategies?: readonly string[];
32
+ /** Short concrete examples (strings or JSON fragments as documentation, not executed). */
33
+ examples?: readonly string[];
34
+ /** Extra notes: merge rules, mode flags, registry keys, or when to prefer one strategy over another. */
35
+ notes?: string;
36
+ }
37
+ /**
38
+ * One input/output property description (same structural role as entity option definitions).
24
39
  */
25
- interface AXPCommandSchemaPropertyDefinition {
40
+ interface AXPCatalogSchemaPropertyDefinition {
26
41
  name: string;
27
42
  title: string;
28
43
  description?: string;
29
44
  icon?: string;
30
45
  defaultValue?: unknown;
31
46
  disabled?: boolean;
32
- interface: AXPCommandInterfaceDefinitionValue;
33
- validations?: AXPCommandValidationRuleValue[];
47
+ interface: AXPCatalogInterfaceDefinitionValue;
48
+ validations?: AXPCatalogValidationRuleValue[];
49
+ /**
50
+ * Optional multi-strategy binding documentation for AI and codegen (commands, queries, widget sidecars).
51
+ * Prefer this over inventing a non-form `interface.name` that is not part of the AI-facing widget catalog.
52
+ */
53
+ bindingHints?: AXPCatalogPropertyBindingHints;
34
54
  }
35
55
  /** Structured usage hints for planners and assistants (prefer over duplicating rules only in `description`). */
36
- interface AXPCommandAiUsageMetadata {
56
+ interface AXPCatalogAiUsageMetadata {
37
57
  whenToUse?: string[];
38
58
  avoidWhen?: string[];
39
- /** Registry keys or tool names that commonly follow this command/query. */
59
+ /** Registry keys or tool names that commonly follow this catalog entry. */
40
60
  followUpTools?: string[];
41
61
  }
42
- /** Declarative contracts: what the tool provides, who depends on it, and guarantees (not workflow `outcomes`). */
43
- interface AXPCommandAiContractsMetadata {
62
+ /** Declarative contracts: what the entry provides, who depends on it, and guarantees. */
63
+ interface AXPCatalogAiContractsMetadata {
44
64
  provides?: string[];
45
65
  requiredBy?: string[];
46
66
  guarantees?: string[];
47
67
  }
48
- type AXPCommandAiSafetyKind = 'read-only' | 'mutating';
49
- interface AXPCommandAiSafetyMetadata {
50
- kind?: AXPCommandAiSafetyKind;
68
+ type AXPCatalogAiSafetyKind = 'read-only' | 'mutating';
69
+ interface AXPCatalogAiSafetyMetadata {
70
+ kind?: AXPCatalogAiSafetyKind;
51
71
  sideEffects?: boolean;
52
72
  requiresConfirmation?: boolean;
53
73
  }
54
- type AXPCommandAiPerformanceCost = 'low' | 'medium' | 'high';
55
- interface AXPCommandAiPerformanceMetadata {
56
- cost?: AXPCommandAiPerformanceCost;
74
+ type AXPCatalogAiPerformanceCost = 'low' | 'medium' | 'high';
75
+ interface AXPCatalogAiPerformanceMetadata {
76
+ cost?: AXPCatalogAiPerformanceCost;
57
77
  cacheable?: boolean;
58
78
  }
59
- interface AXPCommandAiNextStepMetadata {
79
+ interface AXPCatalogAiNextStepMetadata {
60
80
  when: string;
61
81
  action: string;
62
82
  }
63
83
  /**
64
- * How to interpret a successful payload for agents (documentation only; not command workflow outcomes).
84
+ * How to interpret a successful payload for agents (documentation only; not live workflow step outcomes).
65
85
  */
66
- interface AXPCommandAiResultSemanticsMetadata {
86
+ interface AXPCatalogAiResultSemanticsMetadata {
67
87
  noMatch?: string;
68
88
  exactMatch?: string;
69
89
  multipleMatches?: string;
@@ -71,18 +91,23 @@ interface AXPCommandAiResultSemanticsMetadata {
71
91
  /** Full catalog listing (e.g. no entity filter). */
72
92
  catalog?: string;
73
93
  }
74
- interface AXPCommandAiMetadata {
94
+ interface AXPCatalogAiMetadata {
75
95
  shortDescription?: string;
96
+ /**
97
+ * Long-form guidance appended to LLM tool descriptions (not for short UI/registry copy).
98
+ * Keep root `description` concise for pickers and entity rows.
99
+ */
100
+ instruction?: string;
76
101
  tags?: string[];
77
- usage?: AXPCommandAiUsageMetadata;
78
- contracts?: AXPCommandAiContractsMetadata;
79
- safety?: AXPCommandAiSafetyMetadata;
80
- performance?: AXPCommandAiPerformanceMetadata;
81
- nextSteps?: AXPCommandAiNextStepMetadata[];
82
- resultSemantics?: AXPCommandAiResultSemanticsMetadata;
102
+ usage?: AXPCatalogAiUsageMetadata;
103
+ contracts?: AXPCatalogAiContractsMetadata;
104
+ safety?: AXPCatalogAiSafetyMetadata;
105
+ performance?: AXPCatalogAiPerformanceMetadata;
106
+ nextSteps?: AXPCatalogAiNextStepMetadata[];
107
+ resultSemantics?: AXPCatalogAiResultSemanticsMetadata;
83
108
  /**
84
109
  * 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).
110
+ * Runtime merge for a given entry is applied in the AI module (not the generic command executor).
86
111
  */
87
112
  toolInputDefaults?: Record<string, unknown>;
88
113
  /**
@@ -92,12 +117,21 @@ interface AXPCommandAiMetadata {
92
117
  */
93
118
  toolParametersSchema?: Record<string, unknown>;
94
119
  }
95
- type AXPCommandExecutionMode = 'frontend' | 'backend' | 'both';
120
+ type AXPCatalogExecutionMode = 'frontend' | 'backend' | 'both';
96
121
  /**
97
- * Where this command is intended to appear in product tooling (AI agents, workflow automation pickers, etc.).
122
+ * Where this catalog entry is intended to appear in product tooling (AI agents, workflow automation pickers, etc.).
98
123
  * Omitted = not declared here; runtimes may fall back to other metadata (e.g. `ai.tags`).
99
124
  */
100
- type AXPCommandCapability = 'ai' | 'workflow';
125
+ type AXPCatalogCapability = 'ai' | 'workflow';
126
+ interface AXPCatalogMetadataDefinitionBase {
127
+ title: string;
128
+ description: string;
129
+ inputs?: AXPCatalogSchemaPropertyDefinition[];
130
+ outputs?: AXPCatalogSchemaPropertyDefinition[];
131
+ ai?: AXPCatalogAiMetadata;
132
+ capabilities?: AXPCatalogCapability[];
133
+ categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
134
+ }
101
135
 
102
136
  /**
103
137
  * Build-time command metadata for AXPCommand implementations.
@@ -106,6 +140,7 @@ type AXPCommandCapability = 'ai' | 'workflow';
106
140
  * Do not import from Angular templates; sidecars may import `defineCommand` from `@acorex/platform/runtime`.
107
141
  *
108
142
  * Query metadata (fetch-only, no outcomes) is defined in `../queries/query-definition.types.ts` with `defineQuery`.
143
+ * Widget metadata sidecars use `../widgets/widget-definition.types.ts` with `defineWidget`.
109
144
  */
110
145
 
111
146
  type AXPCommandOutcomeDefinition = {
@@ -117,20 +152,11 @@ type AXPCommandOutcomeDefinition = {
117
152
  derivesFrom: string;
118
153
  examples?: string[];
119
154
  };
120
- interface AXPCommandMetadataDefinition {
155
+ interface AXPCommandMetadataDefinition extends AXPCatalogMetadataDefinitionBase {
121
156
  /** Runtime registration key (provideCommand / provideCommandSetups). */
122
157
  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[];
158
+ executionMode: AXPCatalogExecutionMode;
130
159
  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
160
  }
135
161
 
136
162
  /**
@@ -138,6 +164,24 @@ interface AXPCommandMetadataDefinition {
138
164
  */
139
165
  declare function defineCommand<T extends AXPCommandMetadataDefinition>(definition: T): T;
140
166
 
167
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_PLATFORM: AXPDefinitionCategory;
168
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_ENTITY: AXPDefinitionCategory;
169
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_STORAGE: AXPDefinitionCategory;
170
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_WIDGETS: AXPDefinitionCategory;
171
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_WORKFLOW: AXPDefinitionCategory;
172
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_UTILITY: AXPDefinitionCategory;
173
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_SETTINGS: AXPDefinitionCategory;
174
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_AI_TOOLS: AXPDefinitionCategory;
175
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_SECURITY: AXPDefinitionCategory;
176
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_DATA_MANAGEMENT: AXPDefinitionCategory;
177
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_ASSESSMENT: AXPDefinitionCategory;
178
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_REPORT: AXPDefinitionCategory;
179
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_ORGANIZATION: AXPDefinitionCategory;
180
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_TENANT: AXPDefinitionCategory;
181
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_HUMAN_CAPITAL: AXPDefinitionCategory;
182
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_PRODUCT: AXPDefinitionCategory;
183
+ declare const AXP_CATALOG_DEFINITION_CATEGORY_FILE_WIDGET: AXPDefinitionCategory;
184
+
141
185
  type AXPCommandExecutionStage = 'before' | 'after';
142
186
  interface AXPCommandExecutionEvent<TInput = unknown, TResult = unknown> {
143
187
  stage: AXPCommandExecutionStage;
@@ -235,24 +279,15 @@ declare function provideCommand(key: string, loader: () => Type<AXPCommand> | Pr
235
279
  /**
236
280
  * Build-time query metadata for AXPQuery implementations.
237
281
  * Mirrors command metadata shape except there are no `outcomes` (queries only `fetch`).
238
- * `inputs` / `outputs` are schema rows (same family as entity optionDefinitions).
282
+ * Shares {@link AXPCatalogMetadataDefinitionBase} with commands and widgets; `inputs` / `outputs` live on the base.
239
283
  */
240
284
 
241
- /** One input/output property description for query definitions (same as command schema rows). */
242
- type AXPQuerySchemaPropertyDefinition = AXPCommandSchemaPropertyDefinition;
243
- interface AXPQueryMetadataDefinition {
285
+ /** One input/output property description for query definitions (same as command / widget catalog rows). */
286
+ type AXPQuerySchemaPropertyDefinition = AXPCatalogSchemaPropertyDefinition;
287
+ interface AXPQueryMetadataDefinition extends AXPCatalogMetadataDefinitionBase {
244
288
  /** Runtime registration key (provideQuerySetups). */
245
289
  key: string;
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[];
290
+ executionMode: AXPCatalogExecutionMode;
256
291
  }
257
292
 
258
293
  /**
@@ -326,6 +361,66 @@ declare class AXPQueryService {
326
361
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPQueryService>;
327
362
  }
328
363
 
364
+ /**
365
+ * Build-time widget metadata sidecars (parallel to {@link AXPWidgetConfig} in layout/widget-core).
366
+ * Extends {@link AXPCatalogMetadataDefinitionBase}; `inputs` / `outputs` use the same schema rows as commands/queries.
367
+ * Sidecars may import `defineWidget` from `@acorex/platform/runtime`.
368
+ */
369
+
370
+ /** Same surface values as {@link AXPWidgetViewType} in layout/widget-core. */
371
+ type AXPWidgetMetadataViewType = 'container' | 'editor' | 'action' | 'view' | 'filter' | 'validation' | 'dashboard';
372
+ /** Same values as {@link AXPWidgetGroup} / {@link AXPWidgetGroupEnum} in layout/widget-core. */
373
+ type AXPWidgetMetadataGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
374
+ /**
375
+ * Built-in default filter widget names from {@link AXPWidgetConfig.defaultFilterWidgetName}.
376
+ * Other string values remain valid for custom filters.
377
+ */
378
+ type AXPWidgetMetadataDefaultFilterName = 'string-filter' | 'number-filter' | 'datetime-filter' | 'boolean-filter' | 'select-filter' | 'lookup-filter' | 'time-duration-filter';
379
+ /**
380
+ * Widget renderer surface aligned with {@link AXPWidgetConfig.components} keys in layout/widget-core.
381
+ */
382
+ type AXPWidgetAiRenderSurfaceMode = 'view' | 'edit' | 'column' | 'designer' | 'print' | 'filter';
383
+ /**
384
+ * One line of guidance for agents: which Angular component runs in this surface and how it relates to data.
385
+ */
386
+ interface AXPWidgetAiRenderSurface {
387
+ mode: AXPWidgetAiRenderSurfaceMode;
388
+ summary: string;
389
+ }
390
+ /**
391
+ * AI hints for layout/form agents beyond {@link AXPCatalogAiMetadata}.
392
+ * Prefer `outputs` on {@link AXPCatalogMetadataDefinitionBase} for structured bound-value shape;
393
+ * use `renderSurfaces` for per-mode behavior (e.g. grid uses `column`, not `edit`).
394
+ */
395
+ interface AXPWidgetAiMetadata extends AXPCatalogAiMetadata {
396
+ /** Per-surface rendering notes (view vs edit vs column vs designer). */
397
+ renderSurfaces?: readonly AXPWidgetAiRenderSurface[];
398
+ /** Other widget `name` values often used next to or instead of this one. */
399
+ relatedWidgetNames?: string[];
400
+ /**
401
+ * Short layout or options snippets for few-shot style documentation (not executed).
402
+ */
403
+ layoutExamples?: string[];
404
+ }
405
+ interface AXPWidgetMetadataDefinition extends Omit<AXPCatalogMetadataDefinitionBase, 'capabilities'> {
406
+ /** Runtime widget registry name (same role as `AXPWidgetConfig.name`). */
407
+ name: string;
408
+ icon?: string;
409
+ subCategory?: AXPDefinitionCategory;
410
+ groups?: readonly AXPWidgetMetadataGroup[];
411
+ defaultFilterWidgetName?: AXPWidgetMetadataDefaultFilterName | string;
412
+ type: AXPWidgetMetadataViewType;
413
+ /**
414
+ * Widget-specific AI block (subtype of base `ai`); omit to use plain {@link AXPCatalogAiMetadata} from base.
415
+ */
416
+ ai?: AXPWidgetAiMetadata;
417
+ }
418
+
419
+ /**
420
+ * Typed identity helper for widget metadata sidecars.
421
+ */
422
+ declare function defineWidget<T extends AXPWidgetMetadataDefinition>(definition: T): T;
423
+
329
424
  interface AXPViewProvider<TInput = any> {
330
425
  provide(input: TInput): Promise<AXPViewDefinition>;
331
426
  }
@@ -466,5 +561,5 @@ declare class AXPRuntimeModule {
466
561
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPRuntimeModule>;
467
562
  }
468
563
 
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 };
564
+ export { AXPCommandEventsService, AXPCommandExecutor, AXPCommandRegistry, AXPCommandService, AXPPolicyEngineContext, AXPPolicyEngineDirective, AXPPolicyEngineRegistry, AXPPolicyEngineService, AXPQueryExecutor, AXPQueryRegistry, AXPQueryService, AXPRuntimeModule, AXPViewExecutor, AXPViewRegistry, AXPViewService, AXP_CATALOG_DEFINITION_CATEGORY_AI_TOOLS as AXP_COMMAND_DEFINITION_CATEGORY_AI_TOOLS, AXP_CATALOG_DEFINITION_CATEGORY_ASSESSMENT as AXP_COMMAND_DEFINITION_CATEGORY_ASSESSMENT, AXP_CATALOG_DEFINITION_CATEGORY_DATA_MANAGEMENT as AXP_COMMAND_DEFINITION_CATEGORY_DATA_MANAGEMENT, AXP_CATALOG_DEFINITION_CATEGORY_ENTITY as AXP_COMMAND_DEFINITION_CATEGORY_ENTITY, AXP_CATALOG_DEFINITION_CATEGORY_FILE_WIDGET as AXP_COMMAND_DEFINITION_CATEGORY_FILE_WIDGET, AXP_CATALOG_DEFINITION_CATEGORY_HUMAN_CAPITAL as AXP_COMMAND_DEFINITION_CATEGORY_HUMAN_CAPITAL, AXP_CATALOG_DEFINITION_CATEGORY_ORGANIZATION as AXP_COMMAND_DEFINITION_CATEGORY_ORGANIZATION, AXP_CATALOG_DEFINITION_CATEGORY_PLATFORM as AXP_COMMAND_DEFINITION_CATEGORY_PLATFORM, AXP_CATALOG_DEFINITION_CATEGORY_PRODUCT as AXP_COMMAND_DEFINITION_CATEGORY_PRODUCT, AXP_CATALOG_DEFINITION_CATEGORY_REPORT as AXP_COMMAND_DEFINITION_CATEGORY_REPORT, AXP_CATALOG_DEFINITION_CATEGORY_SECURITY as AXP_COMMAND_DEFINITION_CATEGORY_SECURITY, AXP_CATALOG_DEFINITION_CATEGORY_SETTINGS as AXP_COMMAND_DEFINITION_CATEGORY_SETTINGS, AXP_CATALOG_DEFINITION_CATEGORY_STORAGE as AXP_COMMAND_DEFINITION_CATEGORY_STORAGE, AXP_CATALOG_DEFINITION_CATEGORY_TENANT as AXP_COMMAND_DEFINITION_CATEGORY_TENANT, AXP_CATALOG_DEFINITION_CATEGORY_UTILITY as AXP_COMMAND_DEFINITION_CATEGORY_UTILITY, AXP_CATALOG_DEFINITION_CATEGORY_WORKFLOW as AXP_COMMAND_DEFINITION_CATEGORY_WORKFLOW, AXP_COMMAND_EXTENSION, AXP_COMMAND_MIDDLEWARE_SETUP, AXP_COMMAND_SETUP, AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, AXP_POLICY_EXTENSION, AXP_CATALOG_DEFINITION_CATEGORY_ENTITY as AXP_QUERY_DEFINITION_CATEGORY_ENTITY, AXP_CATALOG_DEFINITION_CATEGORY_PLATFORM as AXP_QUERY_DEFINITION_CATEGORY_PLATFORM, AXP_CATALOG_DEFINITION_CATEGORY_STORAGE as AXP_QUERY_DEFINITION_CATEGORY_STORAGE, AXP_CATALOG_DEFINITION_CATEGORY_WIDGETS as AXP_QUERY_DEFINITION_CATEGORY_WIDGETS, AXP_QUERY_EXTENSION, AXP_QUERY_MIDDLEWARE_SETUP, AXP_QUERY_SETUP, AXP_VIEW_EXTENSION, AXP_VIEW_SETUP, composeCommandMiddlewares, composePolicyEngineMiddlewares, composeQueryMiddlewares, composeViewMiddlewares, defineCommand, defineQuery, defineWidget, provideCommand, provideCommandMiddleware, provideCommandSetups, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
565
+ export type { AXPCatalogAiContractsMetadata, AXPCatalogAiMetadata, AXPCatalogAiNextStepMetadata, AXPCatalogAiPerformanceCost, AXPCatalogAiPerformanceMetadata, AXPCatalogAiResultSemanticsMetadata, AXPCatalogAiSafetyKind, AXPCatalogAiSafetyMetadata, AXPCatalogAiUsageMetadata, AXPCatalogCapability, AXPCatalogExecutionMode, AXPCatalogInterfaceDefinitionValue, AXPCatalogMetadataDefinitionBase, AXPCatalogPropertyBindingHints, AXPCatalogSchemaPropertyDefinition, AXPCatalogValidationRuleValue, AXPCommand, AXPCommandExecutionEvent, AXPCommandExecutionStage, AXPCommandExtension, AXPCommandMetadataDefinition, AXPCommandMiddleware, AXPCommandOutcomeDefinition, AXPExecuteCommandResultPromise, AXPPolicy, AXPPolicyEngineMiddleware, AXPPolicyExtension, AXPQuery, AXPQueryExtension, AXPQueryMetadataDefinition, AXPQueryMiddleware, AXPQuerySchemaPropertyDefinition, AXPViewExtension, AXPViewMiddleware, AXPViewProvider, AXPWidgetAiMetadata, AXPWidgetAiRenderSurface, AXPWidgetAiRenderSurfaceMode, AXPWidgetMetadataDefaultFilterName, AXPWidgetMetadataDefinition, AXPWidgetMetadataGroup, AXPWidgetMetadataViewType };
@@ -1150,6 +1150,23 @@ interface AXPFrontActivityCompleteResponse {
1150
1150
  */
1151
1151
  state?: AXPWorkflowInstanceState;
1152
1152
  }
1153
+ /**
1154
+ * Activity types that use the task board (suspend until user acts via inbox), not inline interactive execution.
1155
+ */
1156
+ declare const AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES: readonly string[];
1157
+ declare function axpIsWorkflowTaskBoardActivityType(activityType: string | undefined | null): boolean;
1158
+ /**
1159
+ * Claim a pooled workflow task (updates bookmark assignee without resuming the workflow).
1160
+ */
1161
+ interface AXPClaimWorkflowTaskRequest {
1162
+ instanceId: string;
1163
+ bookmarkId: string;
1164
+ stepId: string;
1165
+ }
1166
+ interface AXPClaimWorkflowTaskResponse {
1167
+ success: boolean;
1168
+ error?: string;
1169
+ }
1153
1170
 
1154
1171
  /**
1155
1172
  * Interface for workflow engine operations.
@@ -1186,6 +1203,11 @@ interface AXPWorkflowEngine {
1186
1203
  */
1187
1204
  getState(request: AXPGetWorkflowStateRequest): Promise<AXPWorkflowInstanceState>;
1188
1205
  frontActivtyComplete(request: AXPFrontActivityCompleteRequest): Promise<AXPFrontActivityCompleteResponse>;
1206
+ /**
1207
+ * Optional: claim a pooled task (e.g. cartable) without consuming the bookmark.
1208
+ * Engines that do not support pooling should omit this method.
1209
+ */
1210
+ claimTask?(request: AXPClaimWorkflowTaskRequest): Promise<AXPClaimWorkflowTaskResponse>;
1189
1211
  }
1190
1212
  /**
1191
1213
  * Injection token for workflow engine.
@@ -1280,6 +1302,14 @@ interface WorkflowResumeResult {
1280
1302
  */
1281
1303
  error?: string;
1282
1304
  }
1305
+ /**
1306
+ * Result of claiming a pooled workflow task (cartable / candidate pool).
1307
+ */
1308
+ interface WorkflowClaimTaskResult {
1309
+ success: boolean;
1310
+ instanceId: string;
1311
+ error?: string;
1312
+ }
1283
1313
  /**
1284
1314
  * Workflow Manager - Facade for workflow lifecycle orchestration.
1285
1315
  *
@@ -1373,6 +1403,11 @@ declare class AXPWorkflowManager {
1373
1403
  * @returns Workflow instance state or null if not found
1374
1404
  */
1375
1405
  getState(instanceId: string): Promise<AXPWorkflowInstanceState | null>;
1406
+ /**
1407
+ * Claim a pooled workflow task (assign current user on the bookmark without advancing the workflow).
1408
+ * Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.claimTask}.
1409
+ */
1410
+ claimTask(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowClaimTaskResult>;
1376
1411
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowManager, never>;
1377
1412
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowManager>;
1378
1413
  }
@@ -1779,5 +1814,5 @@ declare class AXPWorkflowDefinitionService {
1779
1814
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowDefinitionService>;
1780
1815
  }
1781
1816
 
1782
- export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_PROVIDER, ActivityExecutor, WorkflowExpressionScopeService, createWorkFlowEvent, ofType };
1783
- export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputProperty, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowResumeResult, WorkflowStartResult };
1817
+ export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_PROVIDER, AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES, ActivityExecutor, WorkflowExpressionScopeService, axpIsWorkflowTaskBoardActivityType, createWorkFlowEvent, ofType };
1818
+ export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPClaimWorkflowTaskRequest, AXPClaimWorkflowTaskResponse, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputProperty, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowClaimTaskResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowResumeResult, WorkflowStartResult };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { AXValidationModule } from '@acorex/core/validation';\n\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPComponentSlotModule,\n AXPContextChangeEvent,\n AXPContextStore,\n AXPExpressionEvaluatorService,\n AXPGridLayoutDirective,\n} from '@acorex/platform/core';\nimport { AXPEntityMasterCreateViewModel } from '@acorex/platform/layout/entity';\nimport {\n AXPWidgetContainerComponent,\n AXPWidgetCoreModule,\n} from '@acorex/platform/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { get } from 'lodash-es';\n\n@Component({\n templateUrl: './entity-master-create-view.component.html',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n AXTranslationModule,\n //\n AXPWidgetCoreModule,\n AXPComponentSlotModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPContextStore],\n})\nexport class AXPEntityMasterCreateViewComponent extends AXBasePageComponent {\n protected vm!: AXPEntityMasterCreateViewModel;\n\n private container = viewChild(AXPWidgetContainerComponent);\n private evaluator = inject(AXPExpressionEvaluatorService);\n private toastService = inject(AXToastService);\n private translationService = inject(AXTranslationService);\n\n protected workflow = inject(AXPWorkflowService);\n\n ngAfterViewInit() {\n this.vm.builder = this.container()!.builderService;\n }\n protected hiddenProperties = signal<string[]>([]);\n\n #visibilityEffect = effect(async () => {\n const formContext = this.vm.context();\n const allElements = this.vm.sections().flatMap((section) => section.elements());\n const visibilityConfig = allElements.map((element) => ({\n name: element.name(),\n visible: element.isVisible(),\n }));\n\n const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {\n context: {\n eval: (path: string) => get(formContext, path),\n },\n });\n\n const hiddenElementNames = evaluatedElements\n .filter((element: { name: string; visible: boolean }) => element.visible == false)\n .map((element: { name: string; visible: boolean }) => element.name);\n this.hiddenProperties.set(hiddenElementNames);\n });\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected async handleBackClick() {\n //await this.vm.executeCommand('back');\n }\n\n protected async handleNextClick(form: AXFormComponent) {\n // const formResult = await form.validate();\n // if (formResult.result) {\n // await this.vm.executeCommand('next');\n // }\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n\n this.close({ save: true, recordId: record?.id, item: record, redirect: this.vm.redirect() });\n } catch (error: any) {\n const errorMessage =\n error?.message ||\n error?.toString() ||\n (await this.translationService.translateAsync('@general:messages.generic.error.description'));\n // this.toastService.show({\n // color: 'danger',\n // title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n // content: errorMessage,\n // location: 'bottom-center',\n // closeButton: true,\n // timeOut: 5000,\n // timeOutProgress: true,\n // });\n }\n }\n }\n\n protected async handleSaveAndNewClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n const record = await this.vm.save();\n this.close({ save: true, recordId: record?.id, item: record, redirect: false });\n await this.vm.createNewOne();\n } catch (error: any) {\n const errorMessage =\n error?.message ||\n error?.toString() ||\n (await this.translationService.translateAsync('@general:messages.generic.error.description'));\n // this.toastService.show({\n // color: 'danger',\n // title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n // content: errorMessage,\n // location: 'bottom-center',\n // closeButton: true,\n // timeOut: 5000,\n // timeOutProgress: true,\n // });\n }\n }\n }\n\n protected async handleContextChange(e: AXPContextChangeEvent) {\n this.vm.context.set(e.data);\n }\n}\n","<axp-component-slot name=\"entity-create-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form\n id=\"axp-entity-form-create\"\n class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\"\n #form\n [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\"\n >\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field\n [attr.id]=\"'axp-field-' + attr.name()\"\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\"\n >\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n &nbsp;\n }\n </ax-label>\n }\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n <ax-footer id=\"axp-entity-footer-create\">\n <ax-prefix>\n <axp-component-slot name=\"entity-create-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-button\n id=\"axp-btn-cancel\"\n look=\"solid\"\n [color]=\"'default'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCloseClick()\"\n >\n </ax-button>\n @if (vm.canCreateNewOne()) {\n <ax-dropdown-button\n id=\"axp-btn-save\"\n [disabled]=\"vm.isInProgress()\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n look=\"solid\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n <ax-button-item-list>\n <ax-button-item\n id=\"axp-btn-save-and-new\"\n [text]=\"('@general:actions.save-and-new.title' | translate | async) ?? ''\"\n (onClick)=\"handleSaveAndNewClick(form)\"\n >\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button\n id=\"axp-btn-save\"\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.save.title' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n >\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n <axp-component-slot name=\"entity-create-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n </ax-footer>\n}\n\n<axp-component-slot name=\"entity-create-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>\n"],"names":["i8","i9"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport {\n AXPComponentSlotModule,\n AXPContextChangeEvent,\n AXPContextStore,\n AXPExpressionEvaluatorService,\n AXPGridLayoutDirective,\n} from '@acorex/platform/core';\nimport { AXPEntityMasterUpdateViewModel } from '@acorex/platform/layout/entity';\nimport { AXPPageStatus, AXPWidgetContainerComponent, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { get } from 'lodash-es';\n\n@Component({\n templateUrl: './entity-master-modify-view.component.html',\n imports: [\n CommonModule,\n FormsModule,\n AXFormModule,\n AXDecoratorModule,\n CommonModule,\n AXButtonModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXTooltipModule,\n AXValidationModule,\n AXLabelModule,\n AXDropdownModule,\n AXDropdownButtonModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXTranslationModule,\n AXPComponentSlotModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXPContextStore],\n})\nexport class AXPEntityMasterModifyViewComponent extends AXBasePageComponent {\n protected vm!: AXPEntityMasterUpdateViewModel;\n\n protected workflow = inject(AXPWorkflowService);\n private evaluator = inject(AXPExpressionEvaluatorService);\n\n private container = viewChild(AXPWidgetContainerComponent);\n protected hiddenProperties = signal<string[]>([]);\n\n #visibilityEffect = effect(async () => {\n const formContext = this.vm.context();\n const allElements = this.vm.sections().flatMap((section) => section.elements());\n const visibilityConfig = allElements.map((element) => ({\n name: element.name(),\n visible: element.isVisible(),\n }));\n\n const evaluatedElements = await this.evaluator.evaluate(visibilityConfig, {\n context: {\n eval: (path: string) => get(formContext, path),\n },\n });\n\n const hiddenElementNames = evaluatedElements\n .filter((element: { name: string; visible: boolean }) => element.visible == false)\n .map((element: { name: string; visible: boolean }) => element.name);\n this.hiddenProperties.set(hiddenElementNames);\n });\n\n ngAfterViewInit() {\n this.vm.builder = this.container()!.builderService;\n }\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n if (formResult.result) {\n try {\n await this.vm.save();\n\n this.close({ result: true, context: this.vm.context() });\n } catch (error: any) {\n this.vm.builder.setStatus(AXPPageStatus.Error);\n }\n }\n }\n\n protected async handleSectionDiscard(form: AXFormComponent) {\n this.close({ result: false });\n }\n\n protected async handleSectionReset(form: AXFormComponent) {\n this.vm.reset();\n }\n\n protected async handleContextChange(e: AXPContextChangeEvent) {\n this.vm.context.set(e.data);\n }\n\n override ngOnDestroy(): void {}\n}\n","<axp-component-slot name=\"entity-modify-header\" [context]=\"vm.context()\"></axp-component-slot>\n<axp-widgets-container [context]=\"vm.context()\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form id=\"axp-entity-form-edit\" class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4 ax-pb-8\" #form [messageStyle]=\"'bottom'\"\n [updateOn]=\"'blur'\">\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-col-span-12\">\n <ax-form>\n @if (vm.sections().length > 1 && !section.description()) {\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold ax-text-xl\">{{ section.title() | translate | async }}</span>\n @if (section.description()) {\n <p class=\"ax-text-sm ax-text-gray-500\">{{ section.description() }}</p>\n }\n </div>\n }\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.elements(); track $index) {\n <ax-form-field [attr.id]=\"'axp-field-' + attr.name()\" class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\" [class.ax-hidden]=\"hiddenProperties().includes(attr.name())\">\n @if (attr.layout().label?.visible != false) {\n <ax-label class=\"ax-font-semibold ax-text-sm\" [required]=\"attr.isRequired()\">\n @if (attr.title()) {\n {{ attr.title() | translate | async }}\n } @else {\n &nbsp;\n }\n </ax-label>\n }\n <ng-container axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'edit'\"\n #widget=\"widgetRenderer\"></ng-container>\n </ax-form-field>\n }\n </div>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n </ax-form>\n</axp-widgets-container>\n@if (slot.isEmpty()) {\n<ax-footer id=\"axp-entity-footer-edit\">\n <ax-prefix>\n <axp-component-slot name=\"entity-modify-footer-prefix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button [mode]=\"'split'\" id=\"axp-btn-discard\"\n [text]=\"'@general:actions.discard.title' | translate | async\" (onClick)=\"handleSectionDiscard(form)\">\n <ax-button-item-list>\n <ax-button-item id=\"axp-btn-reset\" [text]=\"('@general:actions.reset.title' | translate | async) ?? ' '\"\n (onClick)=\"handleSectionReset(form)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n </ax-button-item-list>\n </ax-dropdown-button>\n\n <ax-button id=\"axp-btn-apply\" [disabled]=\"vm.isInProgress()\" color=\"primary\"\n [text]=\"'@general:actions.apply.title' | translate | async\" (onClick)=\"handleSaveClick(form)\">\n @if (vm.isInProgress()) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n <axp-component-slot name=\"entity-modify-footer-suffix\" [context]=\"vm.context()\"></axp-component-slot>\n </ax-suffix>\n</ax-footer>\n}\n<axp-component-slot name=\"entity-modify-footer\" #slot=\"slot\" [context]=\"vm.context()\"></axp-component-slot>"],"names":["i8","i9"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs","sources":["../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.html","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.ts","../../../../libs/platform/themes/default/src/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.html"],"sourcesContent":["import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetCoreModule, AXPWidgetContainerComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPEntityMasterSingleViewModel } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, viewChild } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { AXPEntityDetailListViewComponent } from '../../entity-detail-list-view/entity-detail-list-view.component';\nimport { AXPGridLayoutDirective } from '@acorex/platform/core';\n\n@Component({\n templateUrl: './entity-single-overview.component.html',\n selector: 'axp-entity-single-overview',\n imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n //\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPGridLayoutDirective,\n AXPEntityDetailListViewComponent,\n //\n AXTranslationModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPEntitySingleOverviewComponent {\n private activeRoute = inject(ActivatedRoute);\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n\n private widgetContainer = viewChild(AXPWidgetContainerComponent);\n\n protected selectedRelatedIEntityTabIndex = signal(0);\n\n handleActiveRelatedEntityChanged(e: AXTabStripChangedEvent) {\n this.selectedRelatedIEntityTabIndex.set(e.index);\n }\n\n #refresh = effect(() => {\n if (this.vm.updateTrigger()) {\n this.widgetContainer()?.refresh();\n }\n });\n}\n","<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n <axp-widgets-container [context]=\"vm.context()\">\n @for (section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-2\" [axp-grid-layout]=\"section.layout()\">\n <ax-form #form>\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() | translate | async }}</span>\n <br />\n @if (section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-opacity-75\">{{ section.description() }}</span>\n }\n </p>\n @if (section.editable()) {\n <ax-button\n class=\"ax-xs\"\n [color]=\"'default'\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for (attr of section.props(); track $index) {\n <div\n class=\"ax-flex ax-flex-col ax-gap-1\"\n [axp-grid-layout]=\"attr.layout()\"\n [class.ax-hidden]=\"widget.options()['visibility'] == false\"\n >\n <div>\n @if (attr.showLabel()) {\n <div class=\"ax-font-semibold ax-mb-1\">\n <span>{{ attr.title() | translate | async }}</span>\n </div>\n }\n </div>\n <div>\n <ng-container\n axp-widget-renderer\n [node]=\"attr.node()\"\n [mode]=\"'view'\"\n #widget=\"widgetRenderer\"\n ></ng-container>\n </div>\n </div>\n }\n </div>\n </ax-form>\n </div>\n }\n </axp-widgets-container>\n</div>\n\n@if ((vm.relatedEntities() | async)?.length) {\n <ax-tabs\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n >\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <ax-tab-item [text]=\"(e.title() | translate | async)!\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for (e of vm.relatedEntities() | async; track $index; let index = $index) {\n <div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n }\n}\n","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXPRefreshEvent, AXPReloadEvent } from '@acorex/platform/common';\nimport {\n AXPActionMenuItem,\n AXPBackButton,\n AXPBreadcrumbItem,\n AXPContextStore,\n AXPExecuteCommand,\n} from '@acorex/platform/core';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXPComponentSlotModule } from '@acorex/platform/core';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPEntityMasterSingleViewModel, AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPWidgetsModule } from '@acorex/platform/layout/widgets';\nimport { AXPWorkflowEventService, AXPWorkflowService, ofType } from '@acorex/platform/workflow';\n\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, untracked } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXPEntitySingleOverviewComponent } from './overview/entity-single-overview.component';\n\n@Component({\n templateUrl: './entity-master-single-view.component.html',\n imports: [\n RouterModule,\n AXDecoratorModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXActionSheetModule,\n AXPAuthModule,\n AXTranslationModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXButtonModule,\n AXBreadcrumbsModule,\n AXPWidgetCoreModule,\n AXPWidgetsModule,\n AXPEntitySingleOverviewComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPComponentSlotModule\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPEntityMasterSingleViewComponent,\n },\n ],\n})\nexport class AXPEntityMasterSingleViewComponent extends AXPPageLayoutBaseComponent {\n private activeRoute = inject(ActivatedRoute);\n private router = inject(Router);\n protected readonly vm = this.activeRoute.snapshot.data['vm'] as AXPEntityMasterSingleViewModel;\n protected store = inject(AXPLayoutThemeService);\n protected contextStore = inject(AXPContextStore);\n protected eventService = inject(AXPWorkflowEventService);\n protected workflow = inject(AXPWorkflowService);\n protected entityService = inject(AXPEntityService);\n\n private readonly destroyed = new Subject<void>();\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n this.workflow.events$\n .pipe(ofType(AXPReloadEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe(async (event) => {\n if (event.payload.entity == `${this.vm.entityDef.module}.${this.vm.entityDef.name}`) {\n const fn = this.vm.entityDef.queries?.byKey?.execute as Function;\n if (fn) {\n const data = await fn(this.vm.context().id);\n this.vm.context.set(data);\n }\n if (this.vm.entityDef.relatedEntities?.length) {\n for (const relatedEntity of this.vm.entityDef.relatedEntities) {\n this.eventService.dispatch(\n AXPRefreshEvent({ entity: relatedEntity.entity })\n )\n }\n }\n }\n });\n }\n\n #syncContext = effect(() => {\n // TODO: this is a hack to sync the context with the vm\n untracked(() => {\n this.contextStore.patch({\n entity: this.vm.context(),\n });\n });\n });\n\n\n\n override getPageTitle(): string {\n return this.vm.title();\n }\n\n override getPageDescription(): string {\n return this.vm.description() ?? '';\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] {\n return this.vm.beardcrumbs();\n }\n\n override getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.all(\n this.vm.primaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden as any, this.vm.context());\n if (hidden) return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled as any, this.vm.context());\n\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n }),\n ).then((items) => items.filter(Boolean) as AXPActionMenuItem[]);\n }\n\n override getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return Promise.all(\n this.vm.secondaryActions().map(async (tr) => {\n const hidden = await this.vm.evaluateExpressions(tr.hidden as any, this.vm.context());\n if (hidden) return null;\n const disabled = await this.vm.evaluateExpressions(tr.disabled as any, this.vm.context());\n\n return {\n name: tr.name,\n title: tr.title,\n icon: tr.icon,\n color: tr.color,\n disabled,\n separated: tr.separated,\n command: {\n name: tr.name,\n options: tr.options,\n metadata: tr.metadata,\n },\n };\n }),\n ).then((items) => items.filter(Boolean) as AXPActionMenuItem[]);\n }\n\n override execute(command: AXPExecuteCommand): void {\n if (command) {\n this.vm.execute(command);\n }\n }\n override async getBackButton(): Promise<AXPBackButton | null> {\n return {\n title: await this.translateService.translateAsync(this.vm.title()),\n };\n }\n override onBackButtonClick(): void {\n this.vm.navigateToUp();\n }\n\n ngOnDestroy(): void {\n this.vm.destroy();\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n","<axp-page-layout *translate=\"let t\">\n <axp-page-content>\n <axp-component-slot name=\"entity-detail-header\"></axp-component-slot>\n <axp-entity-single-overview></axp-entity-single-overview>\n <axp-component-slot name=\"entity-detail-footer\"></axp-component-slot>\n </axp-page-content>\n</axp-page-layout>"],"names":["i1","i2","i5","i6","i7"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs","sources":["../../../../libs/platform/themes/shared/src/lib/settings.provider.ts"],"sourcesContent":["import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPThemeLayoutSetting } from './settings.keys';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { AXPThemeMode } from './theme.types';\nimport { Injector } from '@angular/core';\nimport { AXPPlatformScope, objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nexport class AXPThemeSettingProvider implements AXPSettingDefinitionProvider {\n\n private readonly translateService = this.injector.get(AXTranslationService);\n\n constructor(private injector: Injector) {\n\n }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n\n const trans = async (key: string) => await this.translateService.translateAsync(`@layout:settings.appearance.${key}`);\n\n // Define the 'Appearance Settings' group\n context.addGroup('appearance', await trans('title'), await trans('description'), 'fa-light fa-palette')\n\n // Add the 'Brightness & Color' section\n .addSection('color', await trans('items.color.title'), await trans('items.color.description'))\n\n // Add the 'Theme Mode' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Mode,\n title: await trans('items.color.mode.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: AXPThemeMode.Light,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.themeModeChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('items.color.mode.description'),\n })\n\n .addSetting({\n key: AXPThemeLayoutSetting.Palette,\n title: await trans('items.color.palette.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'default',\n valueTransforms: objectKeyValueTransforms('name'),\n widget: {\n type: AXPWidgetsCatalog.themePaletteChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n xxl: {\n colSpan: 9,\n },\n },\n },\n },\n description: await trans('items.color.palette.description'),\n })\n\n // End the 'Brightness & Color' section\n .endSection()\n\n // Add the 'Root Menu' section\n .addSection('root-menu', await trans('items.root-menu.title'), await trans('items.root-menu.description'))\n\n // Add the 'Menu Orientation' setting\n .addSetting({\n key: AXPThemeLayoutSetting.MenuOrientation,\n title: await trans('items.root-menu.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'vertical',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.menuOrientationChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('items.root-menu.description'),\n })\n\n // Add the 'Menu Badge Visibility' setting\n .addSetting({\n key: AXPThemeLayoutSetting.MenuBadgeVisible,\n title: await trans('items.root-menu.badge.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('items.root-menu.badge.description'),\n })\n .endSection()\n\n // Add the 'Scale & Layout' section\n .addSection('layout', await trans('items.layout.title'), await trans('items.layout.description'))\n\n // Add the 'Font Style' setting\n .addSetting({\n key: AXPThemeLayoutSetting.Font,\n title: await trans('items.layout.font.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'system-ui',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.fontStyleChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('items.layout.font.description'),\n })\n\n // Add the 'Font Size' setting\n .addSetting({\n key: AXPThemeLayoutSetting.FontSize,\n title: await trans('items.layout.size.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'medium',\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.fontSizeChooser,\n layout: {\n positions: {\n sm: {\n colSpan: 12,\n },\n md: {\n colSpan: 6,\n },\n },\n },\n },\n description: await trans('items.layout.size.description'),\n })\n\n // End the 'Scale & Layout' section\n .endSection()\n\n // End the 'Appearance Settings' group\n .endGroup();\n\n\n }\n}\n"],"names":[],"mappings":"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"}