@acorex/platform 21.0.0-next.85 → 21.0.0-next.88

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 (74) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +1 -1
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-Ytey9uhY.mjs → acorex-platform-common-common-settings.provider-VfmZct9H.mjs} +43 -3
  4. package/fesm2022/acorex-platform-common-common-settings.provider-VfmZct9H.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +1709 -870
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-contracts.mjs +1160 -9
  8. package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-core.mjs +210 -131
  10. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-domain-contracts.mjs +58 -0
  12. package/fesm2022/acorex-platform-domain-contracts.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-domain.mjs +2 -50
  14. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  16. package/fesm2022/acorex-platform-layout-components.mjs +59 -23
  17. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-layout-designer.mjs +3 -2
  19. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  20. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-entity-contracts.mjs +1114 -0
  22. package/fesm2022/acorex-platform-layout-entity-contracts.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -1
  24. package/fesm2022/acorex-platform-layout-entity.mjs +661 -742
  25. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-layout-views.mjs +333 -119
  27. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  28. package/fesm2022/acorex-platform-layout-widget-core.mjs +11 -105
  29. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs +513 -0
  31. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs.map +1 -0
  32. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-D4MOHEpI.mjs} +4 -4
  33. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-D4MOHEpI.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-layout-widgets.mjs +868 -57
  35. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  36. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  37. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs → acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs} +2 -3
  38. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-themes-default.mjs +740 -96
  40. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  41. package/fesm2022/{acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs → acorex-platform-themes-shared-settings.provider-BUwPqwUS.mjs} +3 -3
  42. package/fesm2022/acorex-platform-themes-shared-settings.provider-BUwPqwUS.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-themes-shared.mjs +4 -3
  44. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-workflow.mjs +6 -8
  46. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  47. package/package.json +9 -5
  48. package/types/acorex-platform-auth.d.ts +2 -1
  49. package/types/acorex-platform-common.d.ts +419 -1083
  50. package/types/acorex-platform-contracts.d.ts +1791 -260
  51. package/types/acorex-platform-core.d.ts +2153 -2806
  52. package/types/acorex-platform-domain-contracts.d.ts +416 -0
  53. package/types/acorex-platform-domain.d.ts +4 -415
  54. package/types/acorex-platform-layout-builder.d.ts +2 -1
  55. package/types/acorex-platform-layout-components.d.ts +15 -4
  56. package/types/acorex-platform-layout-designer.d.ts +2 -1
  57. package/types/acorex-platform-layout-entity-contracts.d.ts +864 -0
  58. package/types/acorex-platform-layout-entity.d.ts +88 -269
  59. package/types/acorex-platform-layout-views.d.ts +48 -14
  60. package/types/acorex-platform-layout-widget-core.d.ts +9 -5
  61. package/types/acorex-platform-layout-widgets.d.ts +89 -13
  62. package/types/acorex-platform-runtime.d.ts +1 -1
  63. package/types/acorex-platform-themes-default.d.ts +173 -70
  64. package/types/acorex-platform-workflow.d.ts +5 -18
  65. package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +0 -1
  66. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs +0 -116
  67. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-J0zcGKBX.mjs.map +0 -1
  68. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map +0 -1
  69. package/fesm2022/acorex-platform-native.mjs +0 -155
  70. package/fesm2022/acorex-platform-native.mjs.map +0 -1
  71. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Br9p5aXT.mjs.map +0 -1
  72. package/fesm2022/acorex-platform-themes-shared-settings.provider-BjuzSe0T.mjs.map +0 -1
  73. package/native/README.md +0 -4
  74. package/types/acorex-platform-native.d.ts +0 -28
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Type, EnvironmentProviders } from '@angular/core';
3
- import { AXPExpression, AXPMetaData, AXPDataType, AXPOptionsData, AXPDefinitionCategory, AXPValidationRules } from '@acorex/platform/core';
3
+ import { AXPInterfaceDefinition, AXPPluginDefinition, AXPValidationRuleDefinition, AXPRelationDefinition, AXPMenuDefinitionRecord, AXPPermissionGroupDefinitionRecord, AXPCommandRegistryRecord, AXPQueryRegistryRecord, AXPWidgetCatalogRecord, AXPDomainAction, AXPAggregateDefinition, AXPModuleDefinition, AXPInterfaceDefinitionValue, AXPPropertyFeatures, AXPPropertyDefinition, AXPEntityPropertyFeatures, AXPEntityPropertyDefinition, AXPEntityType, AXPEntityDefinition, AXPRelationshipCardinality, AXPRelationshipKind } from '@acorex/platform/domain-contracts';
4
4
  import * as i1 from '@acorex/platform/runtime';
5
+ import { AXPValidationRules, AXPMetaData, AXPDataType, AXPOptionsData } from '@acorex/platform/contracts';
5
6
 
6
7
  /**
7
8
  * Token for entity CRUD setup. Consumed by AXPDomainModule.
@@ -10,350 +11,6 @@ import * as i1 from '@acorex/platform/runtime';
10
11
  */
11
12
  declare const AXP_ENTITY_CRUD_SETUP: InjectionToken<void>;
12
13
 
13
- declare enum AXPDomainActionSide {
14
- Client = "client",
15
- Server = "server",
16
- Both = "both"
17
- }
18
- /**
19
- * Interface for defining actions
20
- */
21
- interface AXPDomainAction {
22
- event: string;
23
- side: 'client' | 'server' | 'both';
24
- condition?: AXPExpression;
25
- expression: AXPExpression;
26
- }
27
- declare enum AXPEntityCommandScope {
28
- TypeLevel = "typeLevel",
29
- Selected = "selected",
30
- Individual = "individual",
31
- Section = "section"
32
- }
33
- interface AXPDomainRealtedModuleEntity {
34
- moduleId?: string;
35
- module?: {
36
- id?: string;
37
- name?: string;
38
- title?: string;
39
- };
40
- entityId?: string;
41
- entity?: {
42
- id?: string;
43
- name?: string;
44
- title?: string;
45
- };
46
- }
47
-
48
- /**
49
- * Where the validation rule runs: client-side only, server-side only, or both.
50
- */
51
- type AXPValidationRunAt = 'client' | 'server' | 'both';
52
- /**
53
- * Validation rule definition (catalog model): metadata for available validation rules.
54
- * Used in UI to list validation rules: name (rule key), title, description, and runAt.
55
- * The actual rule usage on properties uses AXPValidationRule from @acorex/platform/core.
56
- */
57
- interface AXPValidationRuleDefinition extends AXPDomainRealtedModuleEntity {
58
- rule: string;
59
- title: string;
60
- description?: string;
61
- icon?: string;
62
- /** Where the validation runs: client-side, server-side, or both. Default: 'client' */
63
- runAt?: AXPValidationRunAt;
64
- message?: string;
65
- options?: AXPPropertyDefinition[];
66
- }
67
- interface AXPValidationRuleValue {
68
- rule: string;
69
- title?: string;
70
- message?: string;
71
- options?: AXPMetaData;
72
- }
73
-
74
- interface AXPPropertyFeatures {
75
- searchable?: {
76
- enabled: boolean;
77
- fullText: boolean;
78
- };
79
- filterable?: {
80
- enabled: boolean;
81
- inline: boolean;
82
- };
83
- sortable?: {
84
- enabled: boolean;
85
- };
86
- auditable?: {
87
- enabled: boolean;
88
- };
89
- }
90
- interface AXPPropertyDefinition {
91
- name: string;
92
- title: string;
93
- description?: string;
94
- icon?: string;
95
- defaultValue?: unknown;
96
- disabled?: boolean;
97
- dataType?: AXPDataType;
98
- interface: AXPInterfaceDefinitionValue;
99
- validations?: AXPValidationRuleValue[];
100
- features?: AXPPropertyFeatures;
101
- metadata?: AXPMetaData;
102
- }
103
-
104
- /** Widget category for interface grouping (e.g. Editors, Layout, Action). */
105
- interface AXPInterfaceCategory {
106
- name: string;
107
- title: string;
108
- order?: number;
109
- }
110
- /** Widget interface definition stored in DB (display metadata + option definitions). Values are stored in schema. */
111
- interface AXPInterfaceDefinition {
112
- name: string;
113
- title?: string;
114
- description?: string;
115
- icon?: string;
116
- dataType?: AXPDataType;
117
- /** Widget categories (e.g. Editors, Layout). */
118
- categories?: AXPInterfaceCategory | AXPInterfaceCategory[];
119
- /** Widget groups (e.g. form-element, entity-widget). */
120
- groups?: string[];
121
- /** Widget type: editor, view, filter, container, action, etc. */
122
- type?: string;
123
- /** Default filter widget name when used as filter (e.g. string-filter, number-filter). */
124
- defaultFilterWidgetName?: string;
125
- optionDefinitions?: AXPPropertyDefinition[];
126
- }
127
- interface AXPInterfaceDefinitionValue {
128
- name: string;
129
- title: string;
130
- options?: AXPOptionsData;
131
- }
132
-
133
- /**
134
- * Plugin definition (catalog model): metadata for available plugins.
135
- * Used in UI to list plugins: name, title, optional icon, description, and options schema.
136
- */
137
- interface AXPPluginDefinition extends AXPDomainRealtedModuleEntity {
138
- name: string;
139
- title: string;
140
- description?: string;
141
- icon?: string;
142
- options?: AXPPropertyDefinition[];
143
- }
144
- /**
145
- * Plugin value in entity: name + optional options (key-value).
146
- * Fills the definition when used on an entity.
147
- */
148
- interface AXPPluginDefinitionValue {
149
- name: string;
150
- options?: AXPMetaData;
151
- }
152
-
153
- declare enum AXPRelationshipKind {
154
- Association = 0,
155
- Composition = 1,
156
- Aggregation = 2
157
- }
158
- declare enum AXPRelationshipCardinality {
159
- OneToOne = 0,
160
- OneToMany = 1,
161
- ManyToMany = 2
162
- }
163
- /**
164
- * Standalone relation definition with full source and target.
165
- * Relations live in their own collection, independent of aggregates.
166
- */
167
- interface AXPRelationDefinition {
168
- id?: string;
169
- type: AXPRelationshipCardinality;
170
- kind: AXPRelationshipKind;
171
- source: {
172
- aggregate: string;
173
- entity: string;
174
- key: string;
175
- };
176
- target: {
177
- aggregate: string;
178
- entity: string;
179
- key: string;
180
- };
181
- isRequired: boolean;
182
- }
183
-
184
- /**
185
- * Discriminated JSON for `AXPMenuDefinitionRecord.command`.
186
- * Modal navigation is omitted (Angular `Type` is not JSON-serializable).
187
- */
188
- type AXPMenuDefinitionStoredCommand = {
189
- kind: 'navigate';
190
- navigateType: 'router';
191
- path: string;
192
- extras?: Record<string, unknown>;
193
- } | {
194
- kind: 'execute';
195
- name: string;
196
- options?: Record<string, unknown>;
197
- };
198
- /**
199
- * Optional reference to an entity list route: resolved at runtime via `AXPEntityService.createPath`.
200
- */
201
- interface AXPMenuDefinitionEntityListRef {
202
- module: string;
203
- entity: string;
204
- }
205
- /**
206
- * Serializable menu definition for definition stores (Dexie/Firestore in mock today).
207
- * Mirrors persisted shape for `AXPEntityDefinitionCrudService` menu APIs — not identical to shell `AXPMenuItem`.
208
- */
209
- interface AXPMenuDefinitionRecord {
210
- /** Same as `AXPMenuItem.name` (unique key). */
211
- name: string;
212
- text: string;
213
- description?: string;
214
- icon?: string;
215
- priority?: number;
216
- type?: 'menu' | 'group' | 'break';
217
- /**
218
- * Parent menu `name` for `context.find(attachParentName).addItems(...)`.
219
- * Empty omits attachment (provider may add to root — see implementation).
220
- */
221
- attachParentName?: string;
222
- /** Literal router path; if both this and `entityListRef` are set, implementations may prefer this. */
223
- path?: string;
224
- entityListRef?: AXPMenuDefinitionEntityListRef;
225
- policyFeatures?: string[];
226
- policyPermissions?: string[];
227
- badgeKey?: string;
228
- command?: AXPMenuDefinitionStoredCommand;
229
- /**
230
- * Optional module classification (references `PlatformManagement.ModuleDefinitions` when using the category plugin).
231
- */
232
- categoryIds?: string[];
233
- /** Denormalized labels for list/display (mirrors product category pattern). */
234
- categories?: Array<{
235
- id: string;
236
- title?: string;
237
- }>;
238
- meta?: Record<string, unknown>;
239
- }
240
-
241
- /**
242
- * One level of child permissions under a root permission (fluent `addChild` only).
243
- * Nested `children` under leaves are not part of the storage contract.
244
- */
245
- interface AXPPermissionLeafRecord {
246
- name: string;
247
- title: string;
248
- description?: string;
249
- requiredFeatures?: string[];
250
- }
251
- /**
252
- * Root permission row: one `addPermission` … `endPermission` chain, with optional sibling `addChild` entries.
253
- */
254
- interface AXPPermissionDefinitionRecord {
255
- name: string;
256
- title: string;
257
- description?: string;
258
- requiredFeatures?: string[];
259
- /** At most one level — matches `AXPPermissionDefinitionProviderContext` fluent API. */
260
- children?: AXPPermissionLeafRecord[];
261
- }
262
- /**
263
- * Serializable permission group for definition stores (Dexie/Firestore).
264
- * Aligns with `AXPPermissionGroupDefinition` / fluent providers; one row per group.
265
- */
266
- interface AXPPermissionGroupDefinitionRecord {
267
- name: string;
268
- title: string;
269
- description?: string;
270
- permissions: AXPPermissionDefinitionRecord[];
271
- /**
272
- * Optional module classification (references `PlatformManagement.ModuleDefinitions` when using the category plugin).
273
- */
274
- categoryIds?: string[];
275
- /** Denormalized labels for list/display (mirrors product category pattern). */
276
- categories?: Array<{
277
- id: string;
278
- title?: string;
279
- }>;
280
- }
281
-
282
- /** Surfaces where a command may be exposed (tooling / automation). Build-time: optional on `defineCommand`. */
283
- type AXPCommandCapability = 'ai' | 'workflow';
284
- /**
285
- * Persisted command registry row (e.g. Dexie/Firestore via AXPEntityDefinitionCrudService).
286
- * `name` is the runtime command key; `active` is the toggle stored for mock/admin UIs.
287
- */
288
- interface AXPCommandRegistryRecord {
289
- name: string;
290
- active: boolean;
291
- /** Human / AI-oriented description of what the command does. */
292
- description?: string;
293
- /** Input parameters as schema rows (same shape as interface `optionDefinitions`). */
294
- inputOptionDefinitions?: AXPPropertyDefinition[];
295
- /** Output shape as schema rows (same shape as interface `optionDefinitions`). */
296
- outputOptionDefinitions?: AXPPropertyDefinition[];
297
- /** Display title from build-time command metadata (`*.definition.ts`). */
298
- catalogTitle?: string;
299
- /** Where the command runs (metadata). */
300
- executionMode?: 'frontend' | 'backend' | 'both';
301
- /** Pretty-printed JSON of the outcomes definition from metadata (readonly display). */
302
- outcomesDefinitionJson?: string;
303
- /** Pretty-printed JSON of AI hints from metadata (readonly display). */
304
- aiMetadataJson?: string;
305
- /**
306
- * Optional capability flags (from build-time `capabilities` on command metadata).
307
- * Omitted or empty means no declared surface; consumers may still apply legacy rules (e.g. AI `ai-tool` tag).
308
- */
309
- capabilities?: AXPCommandCapability[];
310
- /** Optional grouping from build-time command metadata (`categories` on `defineCommand`). */
311
- categories?: AXPDefinitionCategory[];
312
- }
313
-
314
- /**
315
- * Persisted query registry row (e.g. Dexie/Firestore via AXPEntityDefinitionCrudService).
316
- * `name` is the runtime query key; `active` is the toggle stored for mock/admin UIs.
317
- * Queries expose `fetch(input)` only — no command outcomes.
318
- */
319
- interface AXPQueryRegistryRecord {
320
- name: string;
321
- active: boolean;
322
- /** Human / AI-oriented description of what the query returns. */
323
- description?: string;
324
- /** Input parameters (filter / criteria) as property definition rows. */
325
- inputOptionDefinitions?: AXPPropertyDefinition[];
326
- /** Result shape as property definition rows (documentation / tooling). */
327
- outputOptionDefinitions?: AXPPropertyDefinition[];
328
- /** Display title from build-time query metadata (`*.query.definition.ts`). */
329
- catalogTitle?: string;
330
- /** Where the query runs (metadata). */
331
- executionMode?: 'frontend' | 'backend' | 'both';
332
- /** Pretty-printed JSON of AI hints from metadata (readonly display). */
333
- aiMetadataJson?: string;
334
- /**
335
- * Optional capability flags (from build-time `capabilities` on query metadata).
336
- * Omitted or empty means no declared surface; consumers may still apply legacy rules (e.g. AI `ai-tool` tag).
337
- */
338
- capabilities?: AXPCommandCapability[];
339
- /** Optional grouping from build-time query metadata (`categories` on `defineQuery`). */
340
- categories?: AXPDefinitionCategory[];
341
- }
342
-
343
- /**
344
- * Persisted layout-widget catalog row (Dexie/Firestore via AXPEntityDefinitionCrudService).
345
- * `name` is the widget registry name from build-time `defineWidget` metadata; `metadataJson` holds the full payload.
346
- */
347
- interface AXPWidgetCatalogRecord {
348
- name: string;
349
- active: boolean;
350
- description?: string;
351
- /** Localized / catalog title from metadata `title`. */
352
- catalogTitle?: string;
353
- /** Pretty-printed JSON of full widget metadata (`defineWidget` sidecar). */
354
- metadataJson?: string;
355
- }
356
-
357
14
  /**
358
15
  * Service interface for CRUD operations on entity and related definition records stored in Dexie/Firestore.
359
16
  * Provided by connectivity mock when using Dexie or Firestore as entity definition source.
@@ -489,74 +146,6 @@ declare class AXPDomainModule {
489
146
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPDomainModule>;
490
147
  }
491
148
 
492
- declare enum AXPEntityType {
493
- Entity = 0,
494
- AggregateRoot = 1,
495
- ValueObject = 2
496
- }
497
- interface AXPEntityDefinition {
498
- name: string;
499
- title: string;
500
- fields: AXPEntityPropertyDefinition[];
501
- type: AXPEntityType;
502
- /** Entity plugins (e.g. common.history, common.lock). Name + optional options only. */
503
- plugins?: AXPPluginDefinitionValue[];
504
- /** Property groups for layout */
505
- groups?: Array<{
506
- id: string;
507
- title: string;
508
- }>;
509
- /** List/table columns */
510
- columns?: Array<{
511
- name: string;
512
- }>;
513
- /** Display formats */
514
- formats?: {
515
- individual?: string;
516
- plural?: string;
517
- };
518
- /** Layout interfaces (master create/update/single/list). Pass-through for converter. */
519
- interfaces?: Record<string, unknown>;
520
- /** Module name (e.g. ContentManagement). Derived from path or explicit. */
521
- module?: string;
522
- /** Entity icon. */
523
- icon?: string;
524
- }
525
- interface AXPEntityPropertyFeatures {
526
- nullable: boolean;
527
- readOnly: boolean;
528
- }
529
- /**
530
- * Entity field: flattened embedded property definition (interface, validations, features) plus entity-only metadata.
531
- * Top-level name/title are the entity property name/title.
532
- */
533
- interface AXPEntityPropertyDefinition extends AXPPropertyDefinition {
534
- actions?: AXPDomainAction[];
535
- /** Nullable/readOnly for entity binding; distinct from property.features (searchable, filterable, etc.). */
536
- fieldFeatures?: AXPEntityPropertyFeatures;
537
- }
538
-
539
- type AXPAggregateEntityList = {
540
- [key: string]: () => Promise<AXPEntityDefinition>;
541
- };
542
- /**
543
- * Aggregate definition. Relations are stored in a separate collection (like MySQL join table).
544
- * Join when needed via relations collection.
545
- */
546
- interface AXPAggregateDefinition {
547
- name: string;
548
- title: string;
549
- entities: AXPEntityDefinition[] | AXPAggregateEntityList | Record<string, string>;
550
- validations: AXPValidationRules;
551
- actions: AXPDomainAction[];
552
- }
553
-
554
- interface AXPModuleDefinition {
555
- name: string;
556
- title: string;
557
- aggregates: AXPAggregateDefinition[];
558
- }
559
-
560
149
  /**
561
150
  * Simple runtime model for aggregate definitions with parent references and navigation helpers.
562
151
  * Relations are stored in a separate collection; join when needed.
@@ -2375,5 +1964,5 @@ declare function provideDomainMiddleware(config: {
2375
1964
  entities?: AXPDomainMiddleware[];
2376
1965
  }): EnvironmentProviders;
2377
1966
 
2378
- export { AXPAggregateModel, AXPDomainActionSide, AXPDomainMiddlewareContext, AXPDomainModule, AXPDomainRegistry, AXPDomainService, AXPEntityCommandScope, AXPEntityFieldModel, AXPEntityModel, AXPEntityType, AXPModuleHelper, AXPModuleModel, AXPPropertyMiddlewareContext, AXPPropertyModel, AXPPropertyRegistry, AXPPropertyService, AXPRelationModel, AXPRelationshipCardinality, AXPRelationshipKind, AXP_AGGREGATE_MIDDLEWARE_SETUP, AXP_ENTITY_CRUD_SETUP, AXP_ENTITY_DEFINITION_CRUD_SERVICE, AXP_ENTITY_MIDDLEWARE_SETUP, AXP_MODULE_MIDDLEWARE_SETUP, AXP_PROPERTY_EXTENSION, AXP_PROPERTY_LOADER_SETUP, AXP_PROPERTY_MIDDLEWARE_SETUP, AXP_PROPERTY_SETUP, provideAggregateMiddleware, provideDomainLoader, provideDomainLoaders, provideDomainMiddleware, provideEntityMiddleware, provideModuleMiddleware, providePropertiesFromFactory, provideProperty, providePropertyLoaders, providePropertyMiddleware, providePropertySetups, toPropertyDefinition };
2379
- export type { AXPAggregateDefinition, AXPAggregateEntityList, AXPCommandCapability, AXPCommandRegistryRecord, AXPDomainAction, AXPDomainDefinition, AXPDomainLoader, AXPDomainLoaderConfig, AXPDomainMiddleware, AXPDomainPathInfo, AXPDomainRealtedModuleEntity, AXPEntityDefinition, AXPEntityDefinitionCrudService, AXPEntityPropertyDefinition, AXPEntityPropertyFeatures, AXPInterfaceCategory, AXPInterfaceDefinition, AXPInterfaceDefinitionValue, AXPMenuDefinitionEntityListRef, AXPMenuDefinitionRecord, AXPMenuDefinitionStoredCommand, AXPModuleDefinition, AXPPermissionDefinitionRecord, AXPPermissionGroupDefinitionRecord, AXPPermissionLeafRecord, AXPPluginDefinition, AXPPluginDefinitionValue, AXPPropertyDefinition, AXPPropertyEntry, AXPPropertyFeatures, AXPPropertyLoader, AXPPropertyLoaderConfig, AXPPropertyMiddleware, AXPPropertyMiddlewareEntry, AXPPropertyRegistrationOptions, AXPQueryRegistryRecord, AXPRegisteredProperty, AXPRelationDefinition, AXPValidationRuleDefinition, AXPValidationRuleValue, AXPValidationRunAt, AXPWidgetCatalogRecord };
1967
+ export { AXPAggregateModel, AXPDomainMiddlewareContext, AXPDomainModule, AXPDomainRegistry, AXPDomainService, AXPEntityFieldModel, AXPEntityModel, AXPModuleHelper, AXPModuleModel, AXPPropertyMiddlewareContext, AXPPropertyModel, AXPPropertyRegistry, AXPPropertyService, AXPRelationModel, AXP_AGGREGATE_MIDDLEWARE_SETUP, AXP_ENTITY_CRUD_SETUP, AXP_ENTITY_DEFINITION_CRUD_SERVICE, AXP_ENTITY_MIDDLEWARE_SETUP, AXP_MODULE_MIDDLEWARE_SETUP, AXP_PROPERTY_EXTENSION, AXP_PROPERTY_LOADER_SETUP, AXP_PROPERTY_MIDDLEWARE_SETUP, AXP_PROPERTY_SETUP, provideAggregateMiddleware, provideDomainLoader, provideDomainLoaders, provideDomainMiddleware, provideEntityMiddleware, provideModuleMiddleware, providePropertiesFromFactory, provideProperty, providePropertyLoaders, providePropertyMiddleware, providePropertySetups, toPropertyDefinition };
1968
+ export type { AXPDomainDefinition, AXPDomainLoader, AXPDomainLoaderConfig, AXPDomainMiddleware, AXPDomainPathInfo, AXPEntityDefinitionCrudService, AXPPropertyEntry, AXPPropertyLoader, AXPPropertyLoaderConfig, AXPPropertyMiddleware, AXPPropertyMiddlewareEntry, AXPPropertyRegistrationOptions, AXPRegisteredProperty };
@@ -7,7 +7,8 @@ import { AXPWidgetNode, AXPWidgetRenderMode, AXPWidgetContainerComponent, AXPWid
7
7
  import { AXDataSource, AXComponentClosing } from '@acorex/cdk/common';
8
8
  import { AXPopupSizeType } from '@acorex/components/popup';
9
9
  import { AXStepWizardLook } from '@acorex/components/step-wizard';
10
- import { AXPKeyboardShortcut, AXPKeyboardShortcutChord, AXPActionMenuItem, AXPMultiLanguageString, AXPMetaData, AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPOptionsData, AXPContextChangeEvent, AXPExecuteCommandResult } from '@acorex/platform/core';
10
+ import { AXPMultiLanguageString, AXPMetaData, AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPOptionsData, AXPExecuteCommandResult } from '@acorex/platform/contracts';
11
+ import { AXPKeyboardShortcut, AXPKeyboardShortcutChord, AXPActionMenuItem, AXPContextChangeEvent } from '@acorex/platform/core';
11
12
  import { AXBasePageComponent } from '@acorex/components/page';
12
13
  import { AXPCommand } from '@acorex/platform/runtime';
13
14
 
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnDestroy, OnInit, QueryList, Type, EventEmitter, WritableSignal } from '@angular/core';
3
- import { AXPActivityLog, AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPContextData, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPContextChangeEvent, AXPMultiLanguageString, AXPActionMenuItem, AXPExecuteCommand, AXPExecuteCommandResult, containsHtmlMarkup, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
3
+ import { AXPSystemActionType, AXPCategoryEntity, AXPColumnQuery, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPMultiLanguageString, AXPExecuteCommand, AXPExecuteCommandResult, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/contracts';
4
+ import { AXPActivityLog, AXPContextData, AXPContextChangeEvent, AXPActionMenuItem, containsHtmlMarkup } from '@acorex/platform/core';
4
5
  import { AXHtmlEvent, AXValueChangedEvent, AXClickEvent, AXDataSource, AXDataSourceFilterOption, AXDataSourceOperator, AXFilterLogic, AXEvent, AXRange } from '@acorex/cdk/common';
5
6
  import * as _ngrx_signals from '@ngrx/signals';
6
7
  import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
@@ -15,7 +16,6 @@ import { AXBasePageComponent } from '@acorex/components/page';
15
16
  import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
16
17
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
17
18
  import { AXCalendarService } from '@acorex/core/date-time';
18
- import * as _acorex_core_translation from '@acorex/core/translation';
19
19
  import { AXTranslationService } from '@acorex/core/translation';
20
20
  import { AXFormComponent } from '@acorex/components/form';
21
21
  import { AXSelectBoxComponent } from '@acorex/components/select-box';
@@ -978,6 +978,17 @@ declare class AXPQueryFiltersComponent {
978
978
  onEnterKeyPressed(e: Event): void;
979
979
  handleTagClick(item: any): void;
980
980
  handleRemoveTag(e: Event, index: number): void;
981
+ /**
982
+ * Maps filter definition to the storage query field.
983
+ * Inline `contains` filters on lookup/select use `inlineQueryField` (display text path).
984
+ */
985
+ private resolveFilterQueryField;
986
+ /**
987
+ * Flat context key for widget binding (avoids lodash nested paths when `field` contains dots).
988
+ */
989
+ protected resolveFilterContextField(filter: Pick<AXPFilterDefinition, 'field'> & {
990
+ contextField?: string;
991
+ }): string;
981
992
  handleSelectFilters(e: AXValueChangedEvent): void;
982
993
  handleAddAllInlineFilters(): void;
983
994
  protected getActiveOperator(filter: AXPFilterDefinition | null): string | undefined;
@@ -1154,7 +1165,7 @@ declare class AXPItemConfiguratorComponent {
1154
1165
  protected resolvedPropertyDefinitions: _angular_core.Signal<AXPWidgetProperty[]>;
1155
1166
  protected currentItemConfig: _angular_core.Signal<{
1156
1167
  title: string;
1157
- description: _acorex_core_translation.AXMultiLanguageString | undefined;
1168
+ description: AXPMultiLanguageString | undefined;
1158
1169
  icon: string | undefined;
1159
1170
  hasProperties: boolean;
1160
1171
  } | null>;
@@ -3112,7 +3123,7 @@ declare class AXPWidgetFieldConfiguratorComponent {
3112
3123
  widget: _angular_core.ModelSignal<AXPWidgetNode>;
3113
3124
  label: _angular_core.InputSignal<string>;
3114
3125
  fieldName: _angular_core.InputSignal<string>;
3115
- fieldTitle: _angular_core.InputSignal<_acorex_core_translation.AXMultiLanguageString>;
3126
+ fieldTitle: _angular_core.InputSignal<AXPMultiLanguageString>;
3116
3127
  readonly: _angular_core.InputSignal<boolean>;
3117
3128
  private readonly widgetRegistry;
3118
3129
  private readonly translation;
@@ -3,12 +3,13 @@ import * as _angular_core from '@angular/core';
3
3
  import { EventEmitter, OnChanges, OnDestroy, WritableSignal, NgZone, ComponentRef, SimpleChanges } from '@angular/core';
4
4
  import { AXBasePageComponent } from '@acorex/components/page';
5
5
  import { AXTabStripChangedEvent } from '@acorex/components/tabs';
6
- import { AXPMultiLanguageString, AXPDefinitionCategory, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
6
+ import { AXPMultiLanguageString, AXPDefinitionCategory } from '@acorex/platform/contracts';
7
7
  import { AXPWidgetItemData, AXPWidgetItemClickEvent } from '@acorex/platform/layout/components';
8
8
  import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
9
9
  import { AXPWidgetConfig, AXPWidgetGroupEnum, AXPWidgetNode, AXPBaseWidgetComponent, AXPWidgetRegistryService, AXPLayoutBaseWidgetComponent } from '@acorex/platform/layout/widget-core';
10
10
  import { AXMenuItem } from '@acorex/components/menu';
11
11
  import { Subject } from 'rxjs';
12
+ import { AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
12
13
  import { AXUnsubscriber } from '@acorex/core/utils';
13
14
  import { AXPClipBoardService, AXPSettingsService } from '@acorex/platform/common';
14
15