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

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 (52) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +8 -2
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-VfmZct9H.mjs → acorex-platform-common-common-settings.provider-DilV4dql.mjs} +15 -42
  4. package/fesm2022/acorex-platform-common-common-settings.provider-DilV4dql.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +3299 -3200
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +621 -26
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-builder.mjs +98 -189
  10. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  11. package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-RttFwaw9.mjs} +17 -4
  12. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-RttFwaw9.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-layout-components.mjs +125 -26
  14. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +4 -4
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity-contracts.mjs +106 -12
  18. package/fesm2022/acorex-platform-layout-entity-contracts.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +419 -147
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +851 -162
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +378 -103
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-D4MOHEpI.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs} +2 -2
  26. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-D4MOHEpI.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-CZc2zFlg.mjs.map} +1 -1
  27. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs} +2 -2
  28. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-XWRUVoL4.mjs.map} +1 -1
  29. package/fesm2022/acorex-platform-layout-widgets.mjs +575 -239
  30. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-themes-default.mjs +221 -24
  32. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  33. package/fesm2022/{acorex-platform-themes-shared-settings.provider-BUwPqwUS.mjs → acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs} +48 -1
  34. package/fesm2022/acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-themes-shared.mjs +103 -24
  36. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  37. package/package.json +1 -1
  38. package/types/acorex-platform-auth.d.ts +1 -0
  39. package/types/acorex-platform-common.d.ts +202 -151
  40. package/types/acorex-platform-core.d.ts +161 -6
  41. package/types/acorex-platform-layout-builder.d.ts +10 -20
  42. package/types/acorex-platform-layout-components.d.ts +14 -1
  43. package/types/acorex-platform-layout-entity-contracts.d.ts +27 -2
  44. package/types/acorex-platform-layout-entity.d.ts +61 -12
  45. package/types/acorex-platform-layout-views.d.ts +101 -19
  46. package/types/acorex-platform-layout-widget-core.d.ts +65 -9
  47. package/types/acorex-platform-layout-widgets.d.ts +48 -26
  48. package/types/acorex-platform-themes-default.d.ts +56 -5
  49. package/types/acorex-platform-themes-shared.d.ts +4 -0
  50. package/fesm2022/acorex-platform-common-common-settings.provider-VfmZct9H.mjs.map +0 -1
  51. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +0 -1
  52. package/fesm2022/acorex-platform-themes-shared-settings.provider-BUwPqwUS.mjs.map +0 -1
@@ -68,7 +68,8 @@ interface AXPCatalogScopeDefinition {
68
68
  title: string | AXPMultiLanguageString;
69
69
  description?: string | AXPMultiLanguageString;
70
70
  /**
71
- * Entity refs this scope may label, e.g. `AssessmentManagement.Questionnaire`.
71
+ * Entity refs filtered by this scope elsewhere (lookups, workflow selectors, etc.).
72
+ * Does not restrict which scopes appear on the owning entity's catalog-scope picker.
72
73
  */
73
74
  targets: string[];
74
75
  icon?: string;
@@ -466,12 +467,14 @@ declare const AXPContextStore: i0.Type<{
466
467
  state: i0.Signal<AXPContextState>;
467
468
  savedSnapshot: i0.Signal<AXPContextData>;
468
469
  previousSnapshot: i0.Signal<AXPContextData>;
470
+ userEditedSinceCommit: i0.Signal<boolean>;
469
471
  lastChange: _ngrx_signals.DeepSignal<AXPContextChangeEvent>;
470
472
  isChanged: i0.Signal<boolean>;
471
473
  isReset: i0.Signal<boolean>;
472
474
  isInitiated: i0.Signal<boolean>;
473
475
  isEmpty: i0.Signal<boolean>;
474
476
  isSavedCommitted: i0.Signal<boolean>;
477
+ hasUserEditedSinceCommit: i0.Signal<boolean>;
475
478
  isDirty: i0.Signal<boolean>;
476
479
  snapshot: i0.Signal<AXPContextData>;
477
480
  saved: i0.Signal<AXPContextData>;
@@ -480,6 +483,7 @@ declare const AXPContextStore: i0.Type<{
480
483
  changeEvent: i0.Signal<AXPContextChangeEvent>;
481
484
  update: (path: string, value: any, options?: AXPContextUpdateOptions) => void;
482
485
  applyObjectPaths: (obj: Record<string, unknown>, options?: AXPContextUpdateOptions, prefix?: string) => void;
486
+ syncPathToSavedBaseline: (path: string, options?: AXPContextUpdateOptions) => void;
483
487
  patch: (context: Record<string, any>, options?: AXPContextPatchOptions) => void;
484
488
  revertToSaved: () => void;
485
489
  reset: () => void;
@@ -494,6 +498,7 @@ declare const AXPContextStore: i0.Type<{
494
498
  state: AXPContextState;
495
499
  savedSnapshot: AXPContextData;
496
500
  previousSnapshot: AXPContextData;
501
+ userEditedSinceCommit: boolean;
497
502
  lastChange: AXPContextChangeEvent;
498
503
  }>>;
499
504
 
@@ -529,12 +534,14 @@ declare class AXPComponentSlotDirective implements OnInit {
529
534
  state: i0.Signal<_acorex_platform_core.AXPContextState>;
530
535
  savedSnapshot: i0.Signal<AXPContextData>;
531
536
  previousSnapshot: i0.Signal<AXPContextData>;
537
+ userEditedSinceCommit: i0.Signal<boolean>;
532
538
  lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
533
539
  isChanged: i0.Signal<boolean>;
534
540
  isReset: i0.Signal<boolean>;
535
541
  isInitiated: i0.Signal<boolean>;
536
542
  isEmpty: i0.Signal<boolean>;
537
543
  isSavedCommitted: i0.Signal<boolean>;
544
+ hasUserEditedSinceCommit: i0.Signal<boolean>;
538
545
  isDirty: i0.Signal<boolean>;
539
546
  snapshot: i0.Signal<AXPContextData>;
540
547
  saved: i0.Signal<AXPContextData>;
@@ -543,6 +550,7 @@ declare class AXPComponentSlotDirective implements OnInit {
543
550
  changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
544
551
  update: (path: string, value: any, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
545
552
  applyObjectPaths: (obj: Record<string, unknown>, options?: _acorex_platform_core.AXPContextUpdateOptions, prefix?: string) => void;
553
+ syncPathToSavedBaseline: (path: string, options?: _acorex_platform_core.AXPContextUpdateOptions) => void;
546
554
  patch: (context: Record<string, any>, options?: _acorex_platform_core.AXPContextPatchOptions) => void;
547
555
  revertToSaved: () => void;
548
556
  reset: () => void;
@@ -557,6 +565,7 @@ declare class AXPComponentSlotDirective implements OnInit {
557
565
  state: _acorex_platform_core.AXPContextState;
558
566
  savedSnapshot: AXPContextData;
559
567
  previousSnapshot: AXPContextData;
568
+ userEditedSinceCommit: boolean;
560
569
  lastChange: _acorex_platform_core.AXPContextChangeEvent;
561
570
  }>;
562
571
  isEmpty: i0.Signal<boolean>;
@@ -591,6 +600,9 @@ declare class AXPComponentSlotModule {
591
600
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
592
601
  }
593
602
 
603
+ /** Trace namespace for form dirty-state diagnostics (lookup/select revert, discard, baseline). */
604
+ declare const FORM_DIRTY_TRACE_NS = "FORM STATE";
605
+
594
606
  /**
595
607
  * Compact hints for assembling platform context into LLM system prompts.
596
608
  * Mirrors fields used by {@link AXPAiPlatformRuntimeContext} and the mock engine runtime prompt
@@ -652,6 +664,44 @@ declare class AXPContextDefinitionProviderService implements AXPContextDefinitio
652
664
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPContextDefinitionProviderService>;
653
665
  }
654
666
 
667
+ type AXPDebugData = Record<string, unknown>;
668
+ /** Lazy factory — evaluated only when the log method actually emits. */
669
+ type AXPDebugDataFactory = () => AXPDebugData;
670
+ type AXPDebugDataInput = AXPDebugData | AXPDebugDataFactory;
671
+ /**
672
+ * Platform debug and trace logging.
673
+ * Call `trace` / `traceGroup` for diagnostics (gated by tenant Debug Mode).
674
+ * Call `warn` / `error` for always-on console output.
675
+ *
676
+ * Debug Mode is applied via `setDebugMode()` (wired from settings in platform common).
677
+ */
678
+ declare class AXPDebugService {
679
+ /** Root instance for call sites outside injection context (e.g. middleware). */
680
+ static instance: AXPDebugService | undefined;
681
+ private debugModeEnabled;
682
+ constructor();
683
+ isDebugMode(): boolean;
684
+ setDebugMode(enabled: boolean): void;
685
+ /**
686
+ * @param namespace Module/feature namespace (kebab-case). Filter console with `[AXP:<namespace>]`.
687
+ * @param title Short area name (component, service, middleware).
688
+ * @param message What happened.
689
+ * @param data Optional structured payload, or a factory evaluated only when Debug Mode is on.
690
+ */
691
+ trace(namespace: string, title: string, message: string, data?: AXPDebugDataInput): void;
692
+ /**
693
+ * Same as {@link trace} but emits a collapsible console group (useful for multi-field payloads).
694
+ */
695
+ traceGroup(namespace: string, title: string, message: string, data?: AXPDebugDataInput): void;
696
+ warn(namespace: string, title: string, message: string, data?: AXPDebugDataInput): void;
697
+ error(namespace: string, title: string, message: string, data?: AXPDebugDataInput): void;
698
+ private formatPrefix;
699
+ private resolveData;
700
+ private log;
701
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDebugService, never>;
702
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPDebugService>;
703
+ }
704
+
655
705
  declare class AXPDataGenerator {
656
706
  static uuid(): string;
657
707
  static number(max: number): number;
@@ -1078,7 +1128,7 @@ declare function resolveEffectiveDirectionBehavior(chord: AXPKeyboardShortcutCho
1078
1128
  declare function resolveSemanticDirectionalKey(storedKey: string, rtl: boolean): string;
1079
1129
  /** Chord string with directional key mirrored for RTL display/matching when semantic. */
1080
1130
  declare function resolveDisplayShortcutChord(chord: AXPKeyboardShortcutChord, isRtl: boolean, explicitDirectionBehavior?: AXPKeyboardShortcutDirectionBehavior): string;
1081
- interface ParsedShortcut {
1131
+ interface ParsedShortcut$1 {
1082
1132
  ctrl: boolean;
1083
1133
  shift: boolean;
1084
1134
  alt: boolean;
@@ -1088,7 +1138,7 @@ interface ParsedShortcut {
1088
1138
  /**
1089
1139
  * Parses a shortcut chord such as `Enter`, `Escape`, or `ctrl+shift+s`.
1090
1140
  */
1091
- declare function parseKeyboardShortcutChord(chord: AXPKeyboardShortcutChord): ParsedShortcut;
1141
+ declare function parseKeyboardShortcutChord(chord: AXPKeyboardShortcutChord): ParsedShortcut$1;
1092
1142
  /**
1093
1143
  * Returns true when the keyboard event matches the given chord.
1094
1144
  * On macOS, `ctrl+*` chords also match `meta+*` for common platform shortcuts.
@@ -1164,6 +1214,97 @@ declare class AXPKeyboardShortcutRegistry {
1164
1214
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPKeyboardShortcutRegistry>;
1165
1215
  }
1166
1216
 
1217
+ /** Resolved chord string used by dialog footer shortcut matching. */
1218
+ type AXPDialogActionShortcut = AXPKeyboardShortcutChord;
1219
+ declare const DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
1220
+ declare const DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
1221
+ interface AXPDialogActionOptions {
1222
+ /**
1223
+ * Additional keyboard shortcuts for this action (e.g. `'ctrl+s'` or `{ keys: 'ctrl+s' }`).
1224
+ * Merged with built-in defaults for `cancel` / `submit`. Pass `[]` to disable all shortcuts.
1225
+ */
1226
+ shortcuts?: AXPKeyboardShortcut[];
1227
+ }
1228
+ interface ParsedShortcut {
1229
+ ctrl: boolean;
1230
+ shift: boolean;
1231
+ alt: boolean;
1232
+ meta: boolean;
1233
+ key: string;
1234
+ }
1235
+ /**
1236
+ * Parses a shortcut string such as `Enter`, `Escape`, or `ctrl+shift+s`.
1237
+ */
1238
+ declare function parseDialogActionShortcut(shortcut: string): ParsedShortcut;
1239
+ /**
1240
+ * Returns true when the keyboard event matches the given shortcut definition.
1241
+ */
1242
+ declare function matchesDialogActionShortcut(event: KeyboardEvent, shortcut: string): boolean;
1243
+ /**
1244
+ * Resolves footer action shortcuts: defaults when omitted, merge when extras are provided, none when `[]`.
1245
+ */
1246
+ declare function resolveDialogActionShortcuts(defaults: readonly AXPKeyboardShortcut[], overrides?: readonly AXPKeyboardShortcut[]): AXPDialogActionShortcut[] | undefined;
1247
+ /**
1248
+ * Applies built-in footer shortcuts when actions are declared without `shortcuts`
1249
+ * (e.g. workflow `show-layout-popup` raw action config).
1250
+ */
1251
+ declare function resolveConfiguredFooterActionShortcuts(command: string | undefined, explicit?: readonly AXPKeyboardShortcut[]): AXPDialogActionShortcut[] | undefined;
1252
+ /**
1253
+ * Whether a dialog footer shortcut may fire while focus is inside an editable field.
1254
+ */
1255
+ declare function isDialogShortcutAllowedInEditableField(shortcut: string): boolean;
1256
+ /**
1257
+ * Normalizes dialog footer chord strings for {@link AXPKeyboardShortcutRegistry} (`Esc` → `escape`).
1258
+ */
1259
+ declare function normalizeDialogActionShortcutChord(shortcut: string): string;
1260
+ /**
1261
+ * Whether a shortcut should fire given the current focus target.
1262
+ * Enter without modifiers is suppressed in multiline / rich-text fields.
1263
+ */
1264
+ declare function shouldTriggerDialogActionShortcut(event: KeyboardEvent, shortcut: string): boolean;
1265
+
1266
+ interface AXPPopupFooterShortcutAction {
1267
+ /** i18n key or plain label for the help dialog. */
1268
+ title: string;
1269
+ /** Used to resolve default chords (`cancel` → Esc, `submit`/`save`/`select` → Enter/Ctrl+S). */
1270
+ command: string;
1271
+ shortcuts?: readonly AXPKeyboardShortcut[];
1272
+ disabled?: () => boolean;
1273
+ hidden?: () => boolean;
1274
+ handler: () => void | Promise<void>;
1275
+ }
1276
+ interface AXPPopupFooterKeyboardShortcutsOptions {
1277
+ registry: AXPKeyboardShortcutRegistry;
1278
+ owner: DestroyRef;
1279
+ elementRef: ElementRef<HTMLElement>;
1280
+ id: string;
1281
+ scope?: string;
1282
+ when?: () => boolean;
1283
+ actions: readonly AXPPopupFooterShortcutAction[];
1284
+ }
1285
+ /**
1286
+ * Registers popup footer shortcuts at modal priority so they win over page bindings and stop bubbling.
1287
+ */
1288
+ declare function registerPopupFooterKeyboardShortcuts(options: AXPPopupFooterKeyboardShortcutsOptions): void;
1289
+ interface AXPPopupFooterKeyboardShortcutsSetupConfig {
1290
+ id?: string;
1291
+ scope?: string;
1292
+ when?: () => boolean;
1293
+ }
1294
+ /**
1295
+ * Binds footer shortcuts for AXPopupService-hosted components. Call from the popup constructor.
1296
+ */
1297
+ declare function setupPopupFooterKeyboardShortcuts(getActions: () => AXPPopupFooterShortcutAction[], config?: AXPPopupFooterKeyboardShortcutsSetupConfig): void;
1298
+
1299
+ /** Global overlay flag + task count ({@link AXPLayoutThemeService}). */
1300
+ declare const OVERLAY_LAYOUT_TRACE_NS = "OVERLAY-LAYOUT";
1301
+ /** Root shell loading dialog sync ({@link AXPRootLayoutComponent}). */
1302
+ declare const OVERLAY_ROOT_LAYOUT_TRACE_NS = "OVERLAY-ROOT-LAYOUT";
1303
+ /** Details view page load and overlay release orchestration. */
1304
+ declare const OVERLAY_DETAILS_VIEW_TRACE_NS = "OVERLAY-DETAILS-VIEW";
1305
+ /** Widget tree mount / settle polling ({@link AXPWidgetContainerComponent}). */
1306
+ declare const OVERLAY_WIDGET_SETTLE_TRACE_NS = "OVERLAY-WIDGET-SETTLE";
1307
+
1167
1308
  /**
1168
1309
  * Feature definition in module manifest.
1169
1310
  * Defines available features with default values.
@@ -1506,7 +1647,6 @@ declare class AXPIdleSchedulerService {
1506
1647
  /** Enqueues async work processed sequentially during idle slices. */
1507
1648
  enqueue(task: () => Promise<void>, options?: AXPIdleSchedulerEnqueueOptions): void;
1508
1649
  private drainQueue;
1509
- private delay;
1510
1650
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPIdleSchedulerService, never>;
1511
1651
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPIdleSchedulerService>;
1512
1652
  }
@@ -2553,6 +2693,11 @@ declare function getEnumValues(enumType: any): {
2553
2693
  id: string;
2554
2694
  title: string;
2555
2695
  }[];
2696
+ /**
2697
+ * Lookup/select expose may write a resolved MLS string while the baseline keeps the locale map.
2698
+ * Restore baseline shape when the string matches any locale entry.
2699
+ */
2700
+ declare function shouldRestoreSavedMultiLanguageShape(value: unknown, savedAtPath: unknown): boolean;
2556
2701
  /**
2557
2702
  * Semantic equality for lookup/select values when restoring saved baseline shape.
2558
2703
  * Compares by selection identity (id), including two full items with the same id.
@@ -2569,6 +2714,16 @@ declare function isFormValueEqual(a: unknown, b: unknown): boolean;
2569
2714
  * Returns whether `current` differs from the saved/clean `baseline` snapshot.
2570
2715
  */
2571
2716
  declare function isFormContextDirty(current: Record<string, unknown>, baseline: Record<string, unknown>): boolean;
2717
+ interface FormContextDirtyDiffEntry {
2718
+ path: string;
2719
+ current: unknown;
2720
+ baseline: unknown;
2721
+ selectionEqual: boolean;
2722
+ }
2723
+ /**
2724
+ * Lists paths where live context differs from baseline (for dirty-state trace logs).
2725
+ */
2726
+ declare function summarizeFormContextDirtyDiff(current: Record<string, unknown>, baseline: Record<string, unknown>, maxEntries?: number): FormContextDirtyDiffEntry[];
2572
2727
  /**
2573
2728
  * Clones a context object for use as a dirty-tracking baseline.
2574
2729
  */
@@ -2644,5 +2799,5 @@ declare function containsHtmlMarkup(value: string | null | undefined): boolean;
2644
2799
  */
2645
2800
  declare function generateKebabCase(title: string): string;
2646
2801
 
2647
- export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPCatalogScopeDefinitionProviderService, AXPCatalogScopeDefinitionsDataSourceDefinition, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextDefinitionProviderService, AXPContextEvalFactory, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPIdleSchedulerService, AXPImageUrlLogoConfig, AXPKeyboardShortcutPriority, AXPKeyboardShortcutRegistry, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, AXPScreenSize, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_CATALOG_SCOPE_DEFINITION_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_CONTEXT_DEFINITION_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, AX_OVERLAY_CONTAINER_SELECTOR, AX_OVERLAY_PANE_SELECTOR, applyContextEvalPipes, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, buildLocaleTextMapValue, captureFormContextBaseline, chordToKbdItemKeys, cleanDeep, coerceUnknownToBoolean, coerceUnknownToDate, coerceUnknownToFiniteNumber, coerceUnknownToTrimmedString, compareMultiLanguageStrings, containsHtmlMarkup, contextEvalWithPipes, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, findOverlayContainerAncestor, formatKeyboardShortcutChord, formatKeyboardShortcutChords, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedVisibleOverlayPanes, getPrimaryKeyboardShortcutChord, getSmart, getSystemActions, getTopVisibleOverlayContainer, getVisibleAnchoredOverlayPanes, getVisibleOverlayContainers, hasForegroundOverlayLayer, isFormContextDirty, isFormValueEqual, isHorizontalDirectionalShortcutKey, isKeyboardTargetInsideEditableField, isLocaleStringMap, isMacPlatform, isSelectionValueEqual, isVisibleOverlayElement, matchesKeyboardShortcutChord, mirrorHorizontalDirectionalKey, normalizeContextEvalPipes, normalizeExpressionTemplate, normalizeKeyboardShortcut, normalizeKeyboardShortcuts, objectKeyValueTransforms, parseKeyboardShortcutChord, provideLazyProvider, resolveActionLook, resolveDisplayShortcutChord, resolveEffectiveDirectionBehavior, resolveSemanticDirectionalKey, searchInMultiLanguageString, setSmart, shouldDeferEscapeToOpenOverlay, shouldUseLocaleMapShape, sortByMultiLanguageString, unwrapValueProperty };
2648
- export type { AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPCatalogScopeDefinition, AXPCatalogScopeDefinitionProvider, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnWidthMatcher, AXPColumnWidthProvider, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPContextData, AXPContextDefinition, AXPContextDefinitionAiHints, AXPContextDefinitionProvider, AXPContextEvalFn, AXPContextEvalOptions, AXPContextEvalPipe, AXPContextEvalPipeName, AXPContextEvalPipeSpec, AXPContextPatchOptions, AXPContextState, AXPContextUpdateOptions, AXPContextUpdateOrigin, AXPDataSource, AXPDataSourceArray, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataSourceSample, AXPDataSourceType, AXPDataSourceValue, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPISessionService, AXPIdleSchedulerEnqueueOptions, AXPIdleSchedulerWaitOptions, AXPKeyboardShortcut, AXPKeyboardShortcutBinding, AXPKeyboardShortcutChord, AXPKeyboardShortcutConfig, AXPKeyboardShortcutDirectionBehavior, AXPKeyboardShortcutFormatOptions, AXPKeyboardShortcutHelpEntry, AXPKeyboardShortcutRegisterOptions, AXPKeyboardShortcutRegistration, AXPLazyDataSource, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPQueryRequest, AXPResolvedKeyboardShortcut, AXPStartUpTask, AXPTag, AXPTagFilterOptions, AXPValueTransformerFunction, AXPValueTransformerFunctions, ColumnNameMatcher, ColumnWidthValue, IColumnWithWidth, WidgetTypeMatcher };
2802
+ export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPCatalogScopeDefinitionProviderService, AXPCatalogScopeDefinitionsDataSourceDefinition, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextDefinitionProviderService, AXPContextEvalFactory, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDebugService, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPIdleSchedulerService, AXPImageUrlLogoConfig, AXPKeyboardShortcutPriority, AXPKeyboardShortcutRegistry, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, AXPScreenSize, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_CATALOG_SCOPE_DEFINITION_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_CONTEXT_DEFINITION_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, AX_OVERLAY_CONTAINER_SELECTOR, AX_OVERLAY_PANE_SELECTOR, DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS, DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS, FORM_DIRTY_TRACE_NS, OVERLAY_DETAILS_VIEW_TRACE_NS, OVERLAY_LAYOUT_TRACE_NS, OVERLAY_ROOT_LAYOUT_TRACE_NS, OVERLAY_WIDGET_SETTLE_TRACE_NS, applyContextEvalPipes, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, buildLocaleTextMapValue, captureFormContextBaseline, chordToKbdItemKeys, cleanDeep, coerceUnknownToBoolean, coerceUnknownToDate, coerceUnknownToFiniteNumber, coerceUnknownToTrimmedString, compareMultiLanguageStrings, containsHtmlMarkup, contextEvalWithPipes, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, findOverlayContainerAncestor, formatKeyboardShortcutChord, formatKeyboardShortcutChords, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedVisibleOverlayPanes, getPrimaryKeyboardShortcutChord, getSmart, getSystemActions, getTopVisibleOverlayContainer, getVisibleAnchoredOverlayPanes, getVisibleOverlayContainers, hasForegroundOverlayLayer, isDialogShortcutAllowedInEditableField, isFormContextDirty, isFormValueEqual, isHorizontalDirectionalShortcutKey, isKeyboardTargetInsideEditableField, isLocaleStringMap, isMacPlatform, isSelectionValueEqual, isVisibleOverlayElement, matchesDialogActionShortcut, matchesKeyboardShortcutChord, mirrorHorizontalDirectionalKey, normalizeContextEvalPipes, normalizeDialogActionShortcutChord, normalizeExpressionTemplate, normalizeKeyboardShortcut, normalizeKeyboardShortcuts, objectKeyValueTransforms, parseDialogActionShortcut, parseKeyboardShortcutChord, provideLazyProvider, registerPopupFooterKeyboardShortcuts, resolveActionLook, resolveConfiguredFooterActionShortcuts, resolveDialogActionShortcuts, resolveDisplayShortcutChord, resolveEffectiveDirectionBehavior, resolveSemanticDirectionalKey, searchInMultiLanguageString, setSmart, setupPopupFooterKeyboardShortcuts, shouldDeferEscapeToOpenOverlay, shouldRestoreSavedMultiLanguageShape, shouldTriggerDialogActionShortcut, shouldUseLocaleMapShape, sortByMultiLanguageString, summarizeFormContextDirtyDiff, unwrapValueProperty };
2803
+ export type { AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPCatalogScopeDefinition, AXPCatalogScopeDefinitionProvider, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnWidthMatcher, AXPColumnWidthProvider, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPContextData, AXPContextDefinition, AXPContextDefinitionAiHints, AXPContextDefinitionProvider, AXPContextEvalFn, AXPContextEvalOptions, AXPContextEvalPipe, AXPContextEvalPipeName, AXPContextEvalPipeSpec, AXPContextPatchOptions, AXPContextState, AXPContextUpdateOptions, AXPContextUpdateOrigin, AXPDataSource, AXPDataSourceArray, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataSourceSample, AXPDataSourceType, AXPDataSourceValue, AXPDebugData, AXPDebugDataFactory, AXPDebugDataInput, AXPDialogActionOptions, AXPDialogActionShortcut, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPISessionService, AXPIdleSchedulerEnqueueOptions, AXPIdleSchedulerWaitOptions, AXPKeyboardShortcut, AXPKeyboardShortcutBinding, AXPKeyboardShortcutChord, AXPKeyboardShortcutConfig, AXPKeyboardShortcutDirectionBehavior, AXPKeyboardShortcutFormatOptions, AXPKeyboardShortcutHelpEntry, AXPKeyboardShortcutRegisterOptions, AXPKeyboardShortcutRegistration, AXPLazyDataSource, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPPopupFooterKeyboardShortcutsOptions, AXPPopupFooterKeyboardShortcutsSetupConfig, AXPPopupFooterShortcutAction, AXPQueryRequest, AXPResolvedKeyboardShortcut, AXPStartUpTask, AXPTag, AXPTagFilterOptions, AXPValueTransformerFunction, AXPValueTransformerFunctions, ColumnNameMatcher, ColumnWidthValue, FormContextDirtyDiffEntry, IColumnWithWidth, WidgetTypeMatcher };
@@ -8,22 +8,11 @@ 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
10
  import { AXPMultiLanguageString, AXPMetaData, AXPGridLayoutOptions, AXPExpression, AXPValidationRules, AXPOptionsData, AXPExecuteCommandResult } from '@acorex/platform/contracts';
11
- import { AXPKeyboardShortcut, AXPKeyboardShortcutChord, AXPActionMenuItem, AXPContextChangeEvent } from '@acorex/platform/core';
11
+ import { AXPActionMenuItem, AXPDialogActionOptions, AXPContextChangeEvent } from '@acorex/platform/core';
12
+ export { AXPDialogActionOptions, AXPDialogActionShortcut, DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS, DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS } from '@acorex/platform/core';
12
13
  import { AXBasePageComponent } from '@acorex/components/page';
13
14
  import { AXPCommand } from '@acorex/platform/runtime';
14
15
 
15
- /** Resolved chord string used by dialog footer shortcut matching. */
16
- type AXPDialogActionShortcut = AXPKeyboardShortcutChord;
17
- declare const DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
18
- declare const DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS: readonly AXPDialogActionShortcut[];
19
- interface AXPDialogActionOptions {
20
- /**
21
- * Additional keyboard shortcuts for this action (e.g. `'ctrl+s'` or `{ keys: 'ctrl+s' }`).
22
- * Merged with built-in defaults for `cancel` / `submit`. Pass `[]` to disable all shortcuts.
23
- */
24
- shortcuts?: AXPKeyboardShortcut[];
25
- }
26
-
27
16
  /**
28
17
  * Extended widget node properties (excluding type, path, name, options, children)
29
18
  * These properties can be passed as a third parameter to customWidget method
@@ -741,7 +730,7 @@ declare class AXPLayoutRendererComponent implements OnInit {
741
730
  * Prefer explicit {@link AXPWidgetNode.mode} on the root node (e.g. dialog flex `mode('view')`)
742
731
  * so nested widgets resolve view vs edit correctly; fall back to the layout `mode` input.
743
732
  */
744
- protected effectiveRenderMode: _angular_core.Signal<"filter" | "view" | "edit" | "column" | "designer" | "print">;
733
+ protected effectiveRenderMode: _angular_core.Signal<"view" | "edit" | "column" | "designer" | "print" | "filter">;
745
734
  /**
746
735
  * Convert layout data to widget tree when inputs change
747
736
  */
@@ -949,6 +938,7 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
949
938
  private readonly translationService;
950
939
  private readonly document;
951
940
  private readonly host;
941
+ private readonly shortcutRegistry;
952
942
  private dialogResult?;
953
943
  /** Ensures `show()` resolves once when the dialog closes (footer action or header close). */
954
944
  private callbackInvoked;
@@ -969,11 +959,11 @@ declare class AXPDialogRendererComponent extends AXBasePageComponent implements
969
959
  * Correlate layout context snapshots for distributed hooks (`layout-builder.dialog.context-changed`).
970
960
  */
971
961
  private readonly contextChangedHooksSessionKey;
972
- /**
973
- * Capture-phase footer shortcuts — runs before widget editors (select, date, text) that stop keydown bubbling.
974
- */
975
- private readonly onDialogShortcutCapture;
976
962
  ngOnInit(): void;
963
+ private refreshDialogKeyboardShortcuts;
964
+ private isDialogShortcutRegistrationActive;
965
+ private buildDialogFooterShortcutBindings;
966
+ private isDialogFooterShortcutActive;
977
967
  /**
978
968
  * Popup shell hook — handles header **X** and **Esc** (when `closeButton` is enabled).
979
969
  * This is the only place that prompts for unsaved changes.
@@ -1064,5 +1054,5 @@ declare class AXPPreviewWidgetFieldCommand implements AXPCommand<AXPPreviewWidge
1064
1054
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPPreviewWidgetFieldCommand>;
1065
1055
  }
1066
1056
 
1067
- export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, AXPPreviewWidgetFieldCommand, AXP_LAYOUT_BUILDER_DIALOG_BEFORE_OPEN_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONFIG_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONTEXT_CHANGED_HOOK_KEY, DEFAULT_CANCEL_DIALOG_ACTION_SHORTCUTS, DEFAULT_SUBMIT_DIALOG_ACTION_SHORTCUTS, LayoutBuilderModule, createDismissedDialogRef };
1068
- export type { AXPDialogActionMenuItem, AXPDialogActionOptions, AXPDialogActionShortcut, AXPDialogCloseConfirmationOptions, AXPDialogContainerOptions, AXPDialogRef, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldHintDisplayMode, AXPFormFieldOptions, AXPGridContainerOptions, AXPLayoutBuilderDialogBeforeOpenPayload, AXPLayoutBuilderDialogConfig, AXPLayoutBuilderDialogContextChangedPayload, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPPreviewWidgetFieldCommandInput, AXPStepDefinition, AXPStepWizardContainerOptions, AXPStepWizardDefinition, AXPStepWizardGuardPayload, AXPStepWizardStatus, AXPTabsetContainerOptions, AXPWidgetConfiguration, AXPWidgetNodeExtendedProperties, AXPWizardActionDefinition, AXPWizardActions, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, DialogRendererConfig, DialogRendererResult, FormFieldBuilderState, IActionBuilder, IBaseContainerBuilder, IChildContainerBuilder, IDialogBuilder, IFieldsetContainerBuilder, IFlexContainerBuilder, IFormFieldBuilder, IGridContainerBuilder, ILayoutBuilder, ILayoutContainerBuilder, IListWidgetBuilder, IPageContainerBuilder, IPanelContainerBuilder, IStepBuilder, IStepWizardBuilder, ITabsetContainerBuilder, IWidgetBuilder, IWidgetContainerBuilder, InheritanceContext, InheritedProperties, LargeTextBoxOptions, LayoutBuilderState, LayoutWidgetOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions, ValueWidgetOptions, WidgetBuilderState };
1057
+ export { AXPDialogRendererComponent, AXPLayoutBuilderService, AXPLayoutConversionService, AXPLayoutRendererComponent, AXPPreviewWidgetFieldCommand, AXP_LAYOUT_BUILDER_DIALOG_BEFORE_OPEN_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONFIG_HOOK_KEY, AXP_LAYOUT_BUILDER_DIALOG_CONTEXT_CHANGED_HOOK_KEY, LayoutBuilderModule, createDismissedDialogRef };
1058
+ export type { AXPDialogActionMenuItem, AXPDialogCloseConfirmationOptions, AXPDialogContainerOptions, AXPDialogRef, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLook, AXPDynamicFormMode, AXPFieldsetContainerOptions, AXPFlexContainerOptions, AXPFormFieldHintDisplayMode, AXPFormFieldOptions, AXPGridContainerOptions, AXPLayoutBuilderDialogBeforeOpenPayload, AXPLayoutBuilderDialogConfig, AXPLayoutBuilderDialogContextChangedPayload, AXPListWidgetColumn, AXPListWidgetOptions, AXPListWidgetRowCommand, AXPPageContainerOptions, AXPPanelContainerOptions, AXPPreviewWidgetFieldCommandInput, AXPStepDefinition, AXPStepWizardContainerOptions, AXPStepWizardDefinition, AXPStepWizardGuardPayload, AXPStepWizardStatus, AXPTabsetContainerOptions, AXPWidgetConfiguration, AXPWidgetNodeExtendedProperties, AXPWizardActionDefinition, AXPWizardActions, ColorBoxOptions, DateTimeBoxOptions, DialogBuilderState, DialogRendererConfig, DialogRendererResult, FormFieldBuilderState, IActionBuilder, IBaseContainerBuilder, IChildContainerBuilder, IDialogBuilder, IFieldsetContainerBuilder, IFlexContainerBuilder, IFormFieldBuilder, IGridContainerBuilder, ILayoutBuilder, ILayoutContainerBuilder, IListWidgetBuilder, IPageContainerBuilder, IPanelContainerBuilder, IStepBuilder, IStepWizardBuilder, ITabsetContainerBuilder, IWidgetBuilder, IWidgetContainerBuilder, InheritanceContext, InheritedProperties, LargeTextBoxOptions, LayoutBuilderState, LayoutWidgetOptions, LookupBoxOptions, NumberBoxOptions, PasswordBoxOptions, RichTextOptions, SelectBoxOptions, SelectionListOptions, TextBoxOptions, ToggleSwitchOptions, ValueWidgetOptions, WidgetBuilderState };
@@ -166,6 +166,7 @@ declare class AXPTaskBadgeDirective {
166
166
  isSystemMode: _angular_core.Signal<boolean>;
167
167
  isSideMenuOpen: _angular_core.Signal<boolean>;
168
168
  isOverlayLoading: _angular_core.Signal<boolean>;
169
+ overlayTaskCount: _angular_core.Signal<number>;
169
170
  isNavigationLoading: _angular_core.Signal<boolean>;
170
171
  isMenuHorizontal: _angular_core.Signal<boolean>;
171
172
  effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_themes_shared.AXPMenuVerticalMode>;
@@ -179,6 +180,7 @@ declare class AXPTaskBadgeDirective {
179
180
  toggleSideMenu: () => void;
180
181
  setNavigationLoading: (value: boolean, delay?: number) => void;
181
182
  setOverlayLoading: (value: boolean, delay?: number) => void;
183
+ clearOverlayLoading: () => void;
182
184
  loadSettings: () => Promise<void>;
183
185
  } & _ngrx_signals.StateSource<{
184
186
  currentMode: _acorex_platform_themes_shared.AXPThemeMode;
@@ -368,6 +370,9 @@ declare class AXPCategoryTreeComponent {
368
370
  protected treeItems: _angular_core.WritableSignal<AXPCategoryTreeNode[]>;
369
371
  protected emptyStateTitle: _angular_core.Signal<string>;
370
372
  protected emptyStateDescription: _angular_core.Signal<string>;
373
+ protected emptyStateTitleParams: _angular_core.Signal<{
374
+ term: string;
375
+ }>;
371
376
  ngOnInit(): Promise<void>;
372
377
  loadRootNodes(): Promise<void>;
373
378
  loadChildNodes(parentId: string): Promise<void>;
@@ -1073,6 +1078,7 @@ declare class AXPImageEditorPopupComponent extends AXBasePageComponent {
1073
1078
  protected context: _angular_core.WritableSignal<{
1074
1079
  image: Blob | null;
1075
1080
  }>;
1081
+ constructor();
1076
1082
  ngOnInit(): Promise<void>;
1077
1083
  handleValueChanged(e: any): void;
1078
1084
  handleSave(): void;
@@ -2010,6 +2016,8 @@ declare class AXPPropertyViewerPopupComponent extends AXBasePageComponent {
2010
2016
  * Return a value (not `undefined`) to use as the `close()` payload; otherwise `{ values, mode }` is used.
2011
2017
  */
2012
2018
  onApply?: (result: AXPPropertyViewerResult) => void | Promise<unknown>;
2019
+ /** Optional hook from `data.onChange`; fires on each user edit while the dialog is open. */
2020
+ onChange?: (event: AXPPropertyViewerChangedEvent) => void;
2013
2021
  protected readonly propertyViewer: _angular_core.Signal<AXPPropertyViewerComponent | undefined>;
2014
2022
  protected readonly currentValues: _angular_core.WritableSignal<Record<string, unknown>>;
2015
2023
  protected readonly isApplying: _angular_core.WritableSignal<boolean>;
@@ -2038,6 +2046,8 @@ interface IAXPPropertyViewerDialogBuilder<T = unknown> {
2038
2046
  * Return a value to resolve `show()`; omit return (or return void) to resolve with `{ values, mode }`.
2039
2047
  */
2040
2048
  onAction(handler: (dialogRef: AXPPropertyViewerActionRef) => T | Promise<T> | void | Promise<void>): IAXPPropertyViewerDialogBuilder<T>;
2049
+ /** Fires on each property edit while the dialog is open (not on init). */
2050
+ onChange(handler: (event: AXPPropertyViewerChangedEvent) => void): IAXPPropertyViewerDialogBuilder<T>;
2041
2051
  show(): Promise<T | AXPPropertyViewerResult | null>;
2042
2052
  }
2043
2053
  interface AXPPropertyViewerConfig {
@@ -2802,9 +2812,11 @@ declare class AXPStateMessageComponent {
2802
2812
  icon: _angular_core.InputSignal<string>;
2803
2813
  title: _angular_core.InputSignal<string>;
2804
2814
  description: _angular_core.InputSignal<string>;
2815
+ titleParams: _angular_core.InputSignal<Record<string, unknown>>;
2816
+ descriptionParams: _angular_core.InputSignal<Record<string, unknown>>;
2805
2817
  look: _angular_core.InputSignal<"default" | "compact" | "minimal">;
2806
2818
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStateMessageComponent, never>;
2807
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
2819
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPStateMessageComponent, "axp-state-message", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "titleParams": { "alias": "titleParams"; "required": false; "isSignal": true; }; "descriptionParams": { "alias": "descriptionParams"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=actions]"], true, never>;
2808
2820
  }
2809
2821
 
2810
2822
  declare class AXPStopwatchComponent implements OnDestroy {
@@ -3236,6 +3248,7 @@ declare class AXPWidgetPropertyViewerPopupComponent extends AXBasePageComponent
3236
3248
  widget: _angular_core.InputSignal<AXPWidgetNode>;
3237
3249
  mode: _angular_core.InputSignal<"simple" | "advanced">;
3238
3250
  protected currentValues: _angular_core.WritableSignal<any>;
3251
+ constructor();
3239
3252
  protected handlePropertyChanged(event: {
3240
3253
  values: any;
3241
3254
  mode: 'init' | 'update';
@@ -821,6 +821,31 @@ interface AXPBuildEntityListFilterDefinitionsDeps {
821
821
  */
822
822
  declare function collectEntityListFilterDefinitions(entity: AXPEntity | null | undefined, resolveRelatedDefinition: AXPCollectEntityQuickSearchPathsResolver, deps?: AXPBuildEntityListFilterDefinitionsDeps): Promise<AXPEntityListFilterDefinition[]>;
823
823
 
824
+ interface AXPEntityListSortableField {
825
+ name: string;
826
+ title: string;
827
+ }
828
+ /**
829
+ * Builds master-list sortable fields from host properties and merge-detail related entities.
830
+ * Related sorts use `{dataPath}.{property}` query fields (e.g. `person.firstName`).
831
+ */
832
+ declare function collectEntityListSortableFields(entity: AXPEntity | null | undefined, resolveRelatedDefinition: AXPCollectEntityQuickSearchPathsResolver): Promise<AXPEntityListSortableField[]>;
833
+ declare function isEntityPropertySortEnabled(property: AXPEntityProperty | null | undefined): boolean;
834
+
835
+ declare function parseRelatedEntityFullName(fullName: string): {
836
+ moduleName: string;
837
+ entityName: string;
838
+ } | null;
839
+ declare function parseDottedFieldPath(fieldPath: string): {
840
+ dataPath: string;
841
+ propertyName: string;
842
+ } | null;
843
+ /**
844
+ * Resolves related property names eligible for host list columns/filters/sorts:
845
+ * host columns under `dataPath`, optional `related.properties` allowlist, minus `excludeProperties`.
846
+ */
847
+ declare function collectMergeDetailListPropertyNames(hostEntity: AXPEntity, dataPath: string, relatedEntity: AXPRelatedEntity): Set<string>;
848
+
824
849
  /** Entity query filter field for {@link AXPRecordWorkflowInfo.instanceId}. */
825
850
  declare const AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD: "workflowInfo.instanceId";
826
851
  /** Entity query filter field for {@link AXPRecordWorkflowInfo.correlationId}. */
@@ -860,5 +885,5 @@ declare const AXPEntityEventsKeys: {
860
885
  readonly REFRESH_DATA: "entity:refresh-data";
861
886
  };
862
887
 
863
- export { AXPEntityCommandScope, AXPEntityDataSourceKeys, AXPEntityEventsKeys, AXPEntityQueryType, AXPEntityType, AXPRelationshipCardinality, AXPRelationshipKind, AXP_RECORD_WORKFLOW_INFO_CORRELATION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_DEFINITION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD, ENTITY_LAYOUT_SINGLE_TITLE_PATH, ENTITY_ROW_POPUP_TITLE_OPTION, ENTITY_ROW_TITLE_TEMPLATE_OPTION, buildAXPRecordWorkflowInfo, buildEntitySearchTitleContext, collectEntityListFilterDefinitions, collectEntityQuickSearchFieldPaths, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectPropertyExposeTargetPaths, collectQuickSearchPathsFromSingleEntityDefinition, createAllQueryView, createQueryView, encodeEntityListFilterContextField, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, getEntityInfo, getRecordWorkflowCorrelationId, getRecordWorkflowInstanceId, isCardFieldBadgeDisplay, isMeaningfulEntityDisplayTitle, isRowBoundEntityDisplayTemplate, isUnresolvedEntityDisplayTemplate, mergeForeignKeyFieldIntoCreateActions, normalizeEntityDisplayTemplate, normalizeExpressionTemplate, parsePropertyExposeEntries, resolveCardFieldBadgeColor, resolveDefaultMasterListLayout, resolveEnabledMasterListLayouts, resolveEntityColumnDataPath, resolveEntityListFilterContextField, resolveEntityListFilterQueryField, resolveEntityModifyRecordTitleTemplate, resolveEntityPropertyInlineFilterField, resolveEntityRowTitleTemplate, resolvePropertyExposeDisplayTarget, sanitizeResolvedEntityDisplayTitle };
864
- export type { AXEntityPropertyWidget, AXPAggregate, AXPApplication, AXPAuditEvent, AXPBuildEntityListFilterDefinitionsDeps, AXPCardBadgeColor, AXPCardBadgeDisplay, AXPCardBadgeDisplayOptions, AXPCardField, AXPCardFieldDisplay, AXPCardFieldDisplayConfig, AXPCollectEntityQuickSearchPathsResolver, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPEntity, AXPEntityAction, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryPlugin, AXPEntityCommand, AXPEntityCreateDto, AXPEntityDetailDto, AXPEntityDetailListView, AXPEntityDisplayField, AXPEntityFormats, AXPEntityListFilterDefinition, AXPEntityListItemDto, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityMasterListLayoutType, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityModel, AXPEntityOutputDto, AXPEntityPage, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyExposeEntry, AXPEntityPropertyFilterOptions, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyLike, AXPEntityPropertyListOptions, AXPEntityPropertySortOptions, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityQuickCreate, AXPEntitySearchResultFormat, AXPEntitySearchTitleContext, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityUpdateDto, AXPEntityV2, AXPEntityVersionHistory, AXPMockDto, AXPModule, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRecordWorkflowInfo, AXPRelatedEntity, AXPRelatedEntityLayout, AXPRelatedEntityPersistence, AXPRelationship };
888
+ export { AXPEntityCommandScope, AXPEntityDataSourceKeys, AXPEntityEventsKeys, AXPEntityQueryType, AXPEntityType, AXPRelationshipCardinality, AXPRelationshipKind, AXP_RECORD_WORKFLOW_INFO_CORRELATION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_DEFINITION_ID_FIELD, AXP_RECORD_WORKFLOW_INFO_INSTANCE_ID_FIELD, ENTITY_LAYOUT_SINGLE_TITLE_PATH, ENTITY_ROW_POPUP_TITLE_OPTION, ENTITY_ROW_TITLE_TEMPLATE_OPTION, buildAXPRecordWorkflowInfo, buildEntitySearchTitleContext, collectEntityListFilterDefinitions, collectEntityListSortableFields, collectEntityQuickSearchFieldPaths, collectMergeDetailListPropertyNames, collectNestedCreateHiddenProperties, collectNestedFieldPathsFromEntityColumns, collectPropertyExposeTargetPaths, collectQuickSearchPathsFromSingleEntityDefinition, createAllQueryView, createQueryView, encodeEntityListFilterContextField, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, getEntityInfo, getRecordWorkflowCorrelationId, getRecordWorkflowInstanceId, isCardFieldBadgeDisplay, isEntityPropertySortEnabled, isMeaningfulEntityDisplayTitle, isRowBoundEntityDisplayTemplate, isUnresolvedEntityDisplayTemplate, mergeForeignKeyFieldIntoCreateActions, normalizeEntityDisplayTemplate, normalizeExpressionTemplate, parseDottedFieldPath, parsePropertyExposeEntries, parseRelatedEntityFullName, resolveCardFieldBadgeColor, resolveDefaultMasterListLayout, resolveEnabledMasterListLayouts, resolveEntityColumnDataPath, resolveEntityListFilterContextField, resolveEntityListFilterQueryField, resolveEntityModifyRecordTitleTemplate, resolveEntityPropertyInlineFilterField, resolveEntityRowTitleTemplate, resolvePropertyExposeDisplayTarget, sanitizeResolvedEntityDisplayTitle };
889
+ export type { AXEntityPropertyWidget, AXPAggregate, AXPApplication, AXPAuditEvent, AXPBuildEntityListFilterDefinitionsDeps, AXPCardBadgeColor, AXPCardBadgeDisplay, AXPCardBadgeDisplayOptions, AXPCardField, AXPCardFieldDisplay, AXPCardFieldDisplayConfig, AXPCollectEntityQuickSearchPathsResolver, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPEntity, AXPEntityAction, AXPEntityAggregateMeasure, AXPEntityAggregateOptions, AXPEntityAggregateReducerType, AXPEntityAggregateRequest, AXPEntityAggregateResult, AXPEntityCategoryPlugin, AXPEntityCommand, AXPEntityCreateDto, AXPEntityDetailDto, AXPEntityDetailListView, AXPEntityDisplayField, AXPEntityFormats, AXPEntityListFilterDefinition, AXPEntityListItemDto, AXPEntityListSortableField, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityMasterListLayoutType, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityModel, AXPEntityOutputDto, AXPEntityPage, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyExposeEntry, AXPEntityPropertyFilterOptions, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyLike, AXPEntityPropertyListOptions, AXPEntityPropertySortOptions, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityQuickCreate, AXPEntitySearchResultFormat, AXPEntitySearchTitleContext, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityUpdateDto, AXPEntityV2, AXPEntityVersionHistory, AXPMockDto, AXPModule, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRecordWorkflowInfo, AXPRelatedEntity, AXPRelatedEntityLayout, AXPRelatedEntityPersistence, AXPRelationship };