@acorex-platform/framework-client 2.0.0-next.3 → 2.0.0-next.31

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 (81) hide show
  1. package/fesm2022/acorex-platform-framework-client-auth.mjs +8 -9
  2. package/fesm2022/acorex-platform-framework-client-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs → acorex-platform-framework-client-common-common-settings.provider-Biu0_ryw.mjs} +35 -2
  4. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-Biu0_ryw.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-framework-client-common.mjs +1387 -538
  6. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-framework-client-core.mjs +7 -2
  8. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +20 -0
  10. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +520 -142
  12. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  13. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-DaOvPoNI.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-DmkFxSuJ.mjs} +1084 -223
  14. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-DmkFxSuJ.mjs.map +1 -0
  15. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-BU7KEfyF.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-BV5WLQVo.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-BU7KEfyF.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-BV5WLQVo.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-Boq0MUFK.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-O8zdiHRH.mjs} +2 -2
  18. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-Boq0MUFK.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-O8zdiHRH.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-CMoFkzhf.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-B3-0gJTQ.mjs} +4 -4
  20. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-CMoFkzhf.mjs.map → acorex-platform-framework-client-layout-entity-file-list-popup.component-B3-0gJTQ.mjs.map} +1 -1
  21. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Bre8friL.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-CjfLUBPZ.mjs} +2 -2
  22. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Bre8friL.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-CjfLUBPZ.mjs.map} +1 -1
  23. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  24. package/fesm2022/acorex-platform-framework-client-layout-views.mjs +94 -17
  25. package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
  26. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +285 -184
  27. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  28. package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-1UJh0Qj4.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CpmGqDUE.mjs} +1167 -265
  29. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CpmGqDUE.mjs.map +1 -0
  30. package/fesm2022/acorex-platform-framework-client-layout-widgets-filter-default-operators-widget-edit.component-DOEn58--.mjs +103 -0
  31. package/fesm2022/acorex-platform-framework-client-layout-widgets-filter-default-operators-widget-edit.component-DOEn58--.mjs.map +1 -0
  32. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-SHCgo4UC.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-XgjDH9Oc.mjs} +3 -3
  33. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-SHCgo4UC.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-XgjDH9Oc.mjs.map} +1 -1
  34. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BYsrp8LT.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DDczHmAA.mjs} +2 -2
  35. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BYsrp8LT.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DDczHmAA.mjs.map} +1 -1
  36. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
  37. package/fesm2022/acorex-platform-framework-client-realtime.mjs +49 -7
  38. package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
  39. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-create-view.component-DwCoz2Du.mjs → acorex-platform-framework-client-themes-default-entity-master-create-view.component-DPU6jTDk.mjs} +8 -2
  40. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DPU6jTDk.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BCyFK60f.mjs → acorex-platform-framework-client-themes-default-entity-master-modify-view.component-CLdQJ8e8.mjs} +8 -2
  42. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-CLdQJ8e8.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-framework-client-themes-default-error-401.component-1lfBpY_d.mjs → acorex-platform-framework-client-themes-default-error-401.component-DszlyIaw.mjs} +5 -11
  44. package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-DszlyIaw.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-framework-client-themes-default-error-404.component-BeWyRCJr.mjs → acorex-platform-framework-client-themes-default-error-404.component-BusKNAit.mjs} +5 -11
  46. package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-BusKNAit.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-framework-client-themes-default-error-offline.component-PvveUj5c.mjs → acorex-platform-framework-client-themes-default-error-offline.component-Abf14p44.mjs} +15 -4
  48. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-Abf14p44.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-framework-client-themes-default-error-page-go-home-B9VmB9Vt.mjs +19 -0
  50. package/fesm2022/acorex-platform-framework-client-themes-default-error-page-go-home-B9VmB9Vt.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +306 -129
  52. package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
  53. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +11 -5
  54. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
  55. package/i18n/en-AU/general.json +32 -4
  56. package/i18n/en-AU/layout.json +2 -1
  57. package/i18n/en-AU/platform-layout-widgets.json +7 -1
  58. package/i18n/en-US/general.json +32 -4
  59. package/i18n/en-US/layout.json +2 -1
  60. package/i18n/en-US/platform-layout-widgets.json +7 -1
  61. package/i18n/fa-IR/general.json +32 -4
  62. package/i18n/fa-IR/layout.json +2 -1
  63. package/i18n/fa-IR/platform-layout-widgets.json +7 -1
  64. package/package.json +6 -6
  65. package/types/acorex-platform-framework-client-auth.d.ts +21 -11
  66. package/types/acorex-platform-framework-client-common.d.ts +230 -14
  67. package/types/acorex-platform-framework-client-layout-components.d.ts +47 -6
  68. package/types/acorex-platform-framework-client-layout-entity.d.ts +187 -35
  69. package/types/acorex-platform-framework-client-layout-views.d.ts +15 -0
  70. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +64 -14
  71. package/types/acorex-platform-framework-client-layout-widgets.d.ts +145 -9
  72. package/types/acorex-platform-framework-client-realtime.d.ts +5 -0
  73. package/types/acorex-platform-framework-client-themes-default.d.ts +16 -5
  74. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs.map +0 -1
  75. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-DaOvPoNI.mjs.map +0 -1
  76. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-1UJh0Qj4.mjs.map +0 -1
  77. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DwCoz2Du.mjs.map +0 -1
  78. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BCyFK60f.mjs.map +0 -1
  79. package/fesm2022/acorex-platform-framework-client-themes-default-error-401.component-1lfBpY_d.mjs.map +0 -1
  80. package/fesm2022/acorex-platform-framework-client-themes-default-error-404.component-BeWyRCJr.mjs.map +0 -1
  81. package/fesm2022/acorex-platform-framework-client-themes-default-error-offline.component-PvveUj5c.mjs.map +0 -1
@@ -20,7 +20,7 @@ export { AXPEntityDefinitionCrudService, AXP_ENTITY_DEFINITION_CRUD_SERVICE } fr
20
20
  import * as i4 from '@acorex-platform/framework-client/layout/widget-core';
21
21
  import { AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetCoreElementAPI, AXPWidgetCoreService, AXPWidgetRendererDirective } from '@acorex-platform/framework-client/layout/widget-core';
22
22
  import * as _acorex_platform_framework_client_layout_widgets from '@acorex-platform/framework-client/layout/widgets';
23
- import { AXPProviderSelectWidgetEditBase, AXPDataListWidgetComponentOptions } from '@acorex-platform/framework-client/layout/widgets';
23
+ import { AXPDataListWidgetComponentOptions } from '@acorex-platform/framework-client/layout/widgets';
24
24
  import { ParamMap, ResolveFn, RedirectCommand } from '@angular/router';
25
25
  import * as rxjs from 'rxjs';
26
26
  import { Subject } from 'rxjs';
@@ -410,6 +410,8 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
410
410
  private readonly chooserService;
411
411
  private readonly settingsService;
412
412
  private readonly commandExecutor;
413
+ private readonly queryExecutor;
414
+ private readonly debug;
413
415
  private readonly toastService;
414
416
  private readonly translateService;
415
417
  private readonly dirtyChangeSubject;
@@ -422,8 +424,15 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
422
424
  /** Status before soft-delete; used for restore when baseline was not synced (section layout). */
423
425
  private readonly statusBeforeDelete;
424
426
  private readonly autoBaselineSynced;
427
+ private entityFilesHydrateGeneration;
428
+ private hydratedScopeKey;
425
429
  /** Sync baseline from context when not wired by a deferred-save page (section layout). */
426
430
  private readonly baselineInitEffect;
431
+ /**
432
+ * Storage refs (including `reference:edms-lazy`) are not file rows.
433
+ * Load them through FileUploader:LoadFiles without marking the form dirty.
434
+ */
435
+ private readonly entityFilesHydrateEffect;
427
436
  protected multiple: _angular_core.Signal<boolean>;
428
437
  private readonly acceptOverride;
429
438
  protected accept: _angular_core.Signal<string>;
@@ -447,6 +456,7 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
447
456
  protected readonly chooserContext: _angular_core.Signal<AXPFileChooserContext>;
448
457
  ngOnInit(): void;
449
458
  private applyChooserPlatformSettings;
459
+ private hydrateEntityFiles;
450
460
  setValue(value: AXPFileListItem[] | null | undefined): void;
451
461
  /** Align dirty baseline with persisted attachments (call when record loads or after discard remount). */
452
462
  syncBaseline(saved: AXPFileListItem[] | undefined): void;
@@ -763,6 +773,7 @@ declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDet
763
773
  private readonly router;
764
774
  private readonly sessionService;
765
775
  private readonly detailsAccess;
776
+ private readonly excludeSession;
766
777
  /**
767
778
  * Execute the command to navigate to entity details
768
779
  * @param input - Command input containing entity and data information
@@ -1022,6 +1033,10 @@ declare class AXPEntityDetailPopoverComponent {
1022
1033
  entityId: _angular_core.InputSignal<string | number>;
1023
1034
  requestClose: _angular_core.InputSignal<(() => void) | undefined>;
1024
1035
  breadcrumb: _angular_core.InputSignal<string | null>;
1036
+ /** When set, replaces the entity card field list for this popover only. */
1037
+ popoverFields: _angular_core.InputSignal<readonly string[] | null>;
1038
+ /** Names removed from this popover after `popoverFields` is applied. */
1039
+ popoverExclude: _angular_core.InputSignal<readonly string[] | null>;
1025
1040
  protected entityDefinition: _angular_core.WritableSignal<AXPEntity | null>;
1026
1041
  protected entityData: _angular_core.WritableSignal<Record<string, unknown> | null>;
1027
1042
  protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
@@ -1042,7 +1057,7 @@ declare class AXPEntityDetailPopoverComponent {
1042
1057
  loadDetails(): Promise<void>;
1043
1058
  protected navigateToDetails(): Promise<void>;
1044
1059
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
1045
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "requestClose": { "alias": "requestClose"; "required": false; "isSignal": true; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1060
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDetailPopoverComponent, "axp-entity-detail-popover", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": true; "isSignal": true; }; "requestClose": { "alias": "requestClose"; "required": false; "isSignal": true; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; "isSignal": true; }; "popoverFields": { "alias": "popoverFields"; "required": false; "isSignal": true; }; "popoverExclude": { "alias": "popoverExclude"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1046
1061
  }
1047
1062
 
1048
1063
  interface AXPEntityDetailPopoverOptions {
@@ -1056,6 +1071,13 @@ interface AXPEntityDetailPopoverOptions {
1056
1071
  /** @deprecated Unused; the shared entity card resolves the title from the card layout. */
1057
1072
  displayTitle?: string;
1058
1073
  breadcrumb?: string;
1074
+ /**
1075
+ * When set, the popover shows only these card fields, in this order.
1076
+ * Omit to keep the entity card. Does not change list cards.
1077
+ */
1078
+ fields?: readonly string[];
1079
+ /** Card field or property names removed from this popover after `fields` is applied. */
1080
+ exclude?: readonly string[];
1059
1081
  }
1060
1082
  declare class AXPEntityDetailPopoverService {
1061
1083
  private readonly overlayService;
@@ -1201,6 +1223,28 @@ declare function ensureHierarchicalRootFilter(filter: AXDataSourceFilterOption |
1201
1223
  */
1202
1224
  declare function applyDataSourcePagingWithoutLoad(dataSource: AXDataSource, paging: AXPEntityListPagingState): void;
1203
1225
  declare function getDataSourcePageIndex(dataSource: AXDataSource): number;
1226
+ interface AXPDataSourceLoadWatch {
1227
+ isLoading: boolean;
1228
+ onChanged: {
1229
+ subscribe: (handler: () => void) => {
1230
+ unsubscribe: () => void;
1231
+ };
1232
+ };
1233
+ onLoadingChanged: {
1234
+ subscribe: (handler: (isLoading: boolean) => void) => {
1235
+ unsubscribe: () => void;
1236
+ };
1237
+ };
1238
+ }
1239
+ /**
1240
+ * Resolves when the next load cycle finishes.
1241
+ * A `loading=false` from an older cycle is ignored until this watch sees `loading=true`.
1242
+ * `stop` settles immediately (cache no-op, or a newer view switch owns the list).
1243
+ */
1244
+ declare function watchNextDataSourceLoad(dataSource: AXPDataSourceLoadWatch, isCurrent?: () => boolean): {
1245
+ promise: Promise<void>;
1246
+ stop: () => void;
1247
+ };
1204
1248
  declare function normalizeListPaging(paging: Partial<AXPEntityListPagingState> | undefined, defaultTake: number): AXPEntityListPagingState;
1205
1249
 
1206
1250
  /** Shared contract for master and detail lists that host the identity-card grid. */
@@ -1208,6 +1252,10 @@ interface AXPEntityCardListHost {
1208
1252
  readonly entityDef: AXPEntity;
1209
1253
  readonly dataSource: AXDataSource;
1210
1254
  readonly selectedItems: WritableSignal<any[]>;
1255
+ /** Master list sets this while a view-tab switch has dropped the previous rows. */
1256
+ readonly listTransitionLoading?: WritableSignal<boolean>;
1257
+ /** Epoch of the latest master-list view-tab switch. Detail lists omit it. */
1258
+ viewSwitchEpoch?(): number;
1211
1259
  cardLayout(): AXPEntityCardLayout | undefined;
1212
1260
  cardFields(): AXPEntityListViewCardFieldViewModel[];
1213
1261
  activeListLayout(): AXPEntityMasterListLayoutType;
@@ -1408,6 +1456,10 @@ declare class AXPEntityCreateViewElementViewModel {
1408
1456
  description: _angular_core.WritableSignal<string | undefined>;
1409
1457
  editable: _angular_core.Signal<boolean>;
1410
1458
  isVisible: _angular_core.Signal<string | boolean>;
1459
+ private readonly liveRequired;
1460
+ /** `disabled` values of `required` rules, so the page label can follow the same expression as the editor. */
1461
+ requiredDisabledSources(): Array<boolean | string | undefined>;
1462
+ setLiveRequired(value: boolean): void;
1411
1463
  isRequired: _angular_core.Signal<boolean>;
1412
1464
  layout: _angular_core.Signal<AXPEntityPropertyLayoutConfig>;
1413
1465
  node: _angular_core.Signal<AXPWidgetNode>;
@@ -1483,6 +1535,7 @@ declare class AXPEntityMasterListViewModel {
1483
1535
  private readonly commandService;
1484
1536
  private readonly queryExecutor;
1485
1537
  private readonly filterOperatorMiddleware;
1538
+ private readonly filterDefaultOperators;
1486
1539
  private readonly entityDefinitionRegistry;
1487
1540
  private readonly cardFieldsResolver;
1488
1541
  private readonly columnFooterLoader;
@@ -1492,6 +1545,13 @@ declare class AXPEntityMasterListViewModel {
1492
1545
  private readonly destroyed;
1493
1546
  private lastAppliedSortKey;
1494
1547
  private lastAppliedFilterKey;
1548
+ /** Latest view-tab switch. Older `setView` / refresh continuations must not load. */
1549
+ private viewSwitchEpochValue;
1550
+ /** `reset()` dropped the in-flight rows; the next criteria apply must refresh even if the keys match. */
1551
+ private listResultDiscarded;
1552
+ private setViewChain;
1553
+ /** True after a view switch discards rows, until that switch's own load finishes. */
1554
+ readonly listTransitionLoading: _angular_core.WritableSignal<boolean>;
1495
1555
  private hasQueryParamsFilters;
1496
1556
  private routeQueryContextKey;
1497
1557
  readonly listInstanceId: _angular_core.WritableSignal<string>;
@@ -1587,7 +1647,24 @@ declare class AXPEntityMasterListViewModel {
1587
1647
  */
1588
1648
  resolveFieldStylingClass(rowData: unknown, fieldName: string): Promise<string | undefined>;
1589
1649
  private resolveTriggerName;
1590
- setView(viewName?: string | null): Promise<void>;
1650
+ /**
1651
+ * Marks every in-flight view switch as stale. Call only when the selected view name changes.
1652
+ * Does not clear rows or start a request; {@link setView} does that once this epoch is still current.
1653
+ */
1654
+ beginViewSwitch(): number;
1655
+ viewSwitchEpoch(): number;
1656
+ isViewSwitchCurrent(epoch: number): boolean;
1657
+ /** Clears the switch skeleton only for the load that still belongs to `epoch`. */
1658
+ finishListTransition(epoch: number): void;
1659
+ setView(viewName?: string | null, viewSwitchEpoch?: number): Promise<void>;
1660
+ private isStaleViewSwitch;
1661
+ /**
1662
+ * Drops an in-flight list result so it cannot paint on the new view.
1663
+ * Restores the current filter/sort because `AXDataSource.reset()` clears them.
1664
+ * The replacement request starts later, after columns and filters for this view are ready.
1665
+ */
1666
+ private discardInFlightListPresentation;
1667
+ private applySetView;
1591
1668
  dataSource: AXDataSource<any>;
1592
1669
  constructor(injector: Injector, config: AXPEntity);
1593
1670
  private syncShowRowIndexColumnSetting;
@@ -1752,6 +1829,8 @@ declare class AXPEntityMasterListViewModel {
1752
1829
  resetFilters(): void;
1753
1830
  applyFilterAndSort(options?: {
1754
1831
  resetPagination?: boolean;
1832
+ viewSwitchEpoch?: number;
1833
+ forceReload?: boolean;
1755
1834
  }): Promise<void>;
1756
1835
  /**
1757
1836
  * Toolbar filters stay in `filterQueries`. Category sidebar filters are applied
@@ -1984,6 +2063,10 @@ declare class AXPEntityMasterUpdateElementViewModel {
1984
2063
  description: _angular_core.WritableSignal<string | undefined>;
1985
2064
  editable: _angular_core.Signal<boolean>;
1986
2065
  isVisible: _angular_core.Signal<string | boolean>;
2066
+ private readonly liveRequired;
2067
+ /** `disabled` values of `required` rules, so the page label can follow the same expression as the editor. */
2068
+ requiredDisabledSources(): Array<boolean | string | undefined>;
2069
+ setLiveRequired(value: boolean): void;
1987
2070
  isRequired: _angular_core.Signal<boolean>;
1988
2071
  layout: _angular_core.Signal<AXPEntityPropertyLayoutConfig>;
1989
2072
  node: _angular_core.Signal<AXPWidgetNode>;
@@ -2407,6 +2490,7 @@ declare class AXPEntityPreloadFiltersViewModel {
2407
2490
  private config;
2408
2491
  readonly entityDef: AXPEntity;
2409
2492
  private readonly widgetResolver;
2493
+ private readonly filterDefaultOperators;
2410
2494
  private readonly entityRegistry;
2411
2495
  filterDefinitions: _angular_core.WritableSignal<AXPEntityListFilterDefinition[]>;
2412
2496
  constructor(injector: Injector, config: AXPEntity);
@@ -2988,6 +3072,23 @@ interface PairSpanRule {
2988
3072
  secondSpan: number;
2989
3073
  breakpoints?: readonly ('sm' | 'md' | 'lg')[];
2990
3074
  }
3075
+ /**
3076
+ * Col spans for a priority list of properties in one section.
3077
+ * Only names that are actually present are laid out, in {@link GroupSpanRule.names} order.
3078
+ * The span comes from how many of those names are in the section.
3079
+ */
3080
+ interface GroupSpanRule {
3081
+ /** Priority order. Missing names are skipped. */
3082
+ names: readonly string[];
3083
+ /**
3084
+ * Col span for each present name, keyed by how many of {@link names} are in the section.
3085
+ * Example: `{ 1: 6, 2: 6, 3: 4 }`.
3086
+ */
3087
+ spanByCount: Readonly<Record<number, number>>;
3088
+ /** Layout order for each name, same length as {@link names}. */
3089
+ orders?: readonly number[];
3090
+ breakpoints?: readonly ('sm' | 'md' | 'lg')[];
3091
+ }
2991
3092
  interface SectionOrderConfig {
2992
3093
  sections: Record<string, number>;
2993
3094
  properties: Record<string, number>;
@@ -2998,15 +3099,29 @@ interface SectionOrderConfig {
2998
3099
  * - `[...]` + spread `DEFAULT_PAIR_SPAN_RULES` when you want to append custom pairs
2999
3100
  */
3000
3101
  pairSpanRules?: PairSpanRule[] | false;
3102
+ /**
3103
+ * Width for a priority list of fields in one section, based on how many are present.
3104
+ * - `undefined`: use {@link DEFAULT_GROUP_SPAN_RULES}
3105
+ * - `false`: do not apply group spans
3106
+ * - `[...]`: replace the defaults
3107
+ */
3108
+ groupSpanRules?: GroupSpanRule[] | false;
3001
3109
  }
3002
3110
  /**
3003
- * Default shipped rules: narrow identifier + wider title on `md` / `lg`.
3111
+ * Classification row: scope, then category, then tags.
3112
+ * One field is 6 columns, two fields are 6 + 6, three fields are 4 + 4 + 4.
3004
3113
  */
3114
+ declare const DEFAULT_GROUP_SPAN_RULES: readonly GroupSpanRule[];
3115
+ /** Default shipped rules: narrow identifier + wider title on `md` / `lg`. */
3005
3116
  declare const DEFAULT_PAIR_SPAN_RULES: readonly PairSpanRule[];
3006
3117
  declare const DEFAULT_SECTION_ORDER: Record<string, number>;
3007
3118
  declare const DEFAULT_PROPERTY_ORDER: Record<string, number>;
3008
3119
  declare const layoutOrderingMiddlewareFactory: (config: SectionOrderConfig) => AXPEntityModifier;
3009
3120
  declare const createLayoutOrderingMiddlewareProvider: (config?: Partial<SectionOrderConfig>, entityName?: string | RegExp) => AXPEntityModifierProvider;
3121
+ /**
3122
+ * Runs after entity plugins (tags, category, catalog-scope) so their layout
3123
+ * views exist before default spans and section order are applied.
3124
+ */
3010
3125
  declare const layoutOrderingMiddlewareProvider: AXPEntityModifierProvider;
3011
3126
 
3012
3127
  /**
@@ -3789,34 +3904,38 @@ declare module '@acorex-platform/framework-shared/widget-core' {
3789
3904
  }
3790
3905
  }
3791
3906
 
3792
- declare class AXPEntityDefinitionProviderWidgetEditComponent extends AXPProviderSelectWidgetEditBase {
3907
+ interface EntityKeyRow {
3908
+ value: string;
3909
+ /** Original title or i18n key. The row template translates it. */
3910
+ title: string;
3911
+ /** Translated label plus key, used for search and sort. */
3912
+ searchText: string;
3913
+ }
3914
+ /**
3915
+ * Picks a registered entity key (`module.name`).
3916
+ * Does not use the data-list widget base: that base writes `options.dataSource`
3917
+ * while the property dialog is opening and remounts the dialog until the browser hangs.
3918
+ */
3919
+ declare class AXPEntityDefinitionProviderWidgetEditComponent extends AXPValueWidgetComponent<string> {
3793
3920
  private readonly entityRegistry;
3921
+ private readonly entityResolver;
3922
+ private readonly translationService;
3794
3923
  /**
3795
- * Last applied module filter (from context) to avoid redundant reloads.
3796
- */
3797
- private readonly lastModuleFilterKey;
3798
- /**
3799
- * Reloads entity options when `filterModuleField` changes in form context (not only via `widget.refresh()`).
3800
- */
3801
- private readonly reloadWhenModuleContextChanges;
3802
- /**
3803
- * Options:
3804
- * - `filterModuleField`: sibling context field name (e.g. `entityListModule`); when set, only entities in that module are listed.
3805
- * - `valueFormat`: `fullKey` (`module.name`, default) or `entityName` (short name only, for menus that store `entityListRef.entity`).
3806
- */
3807
- protected loadDataSourceRows(): Promise<Array<{
3808
- value: string;
3809
- title: string;
3810
- }>>;
3811
- refresh(): void;
3812
- /**
3813
- * Reads sibling field from context store data (same shape as `lodash/get` paths).
3814
- */
3815
- private readModuleFromContext;
3816
- /**
3817
- * Resolves a sibling field path relative to the current widget's parent path.
3818
- */
3819
- private resolveSiblingContextPath;
3924
+ * Replaced after {@link AXPEntityResolver.listAll}. `getAll()` only has entities
3925
+ * already opened in this session, so the dropdown would hide the rest.
3926
+ */
3927
+ private rows;
3928
+ /** Bumped when {@link rows} is replaced so the selected label can resolve. */
3929
+ private readonly rowsVersion;
3930
+ /** Drops the lookup's initial value echo so the property dialog is not rebuilt. */
3931
+ private acceptSelection;
3932
+ protected readonly rowHeight = 40;
3933
+ protected readonly dataSource: AXDataSource<EntityKeyRow>;
3934
+ protected readonly selectedKey: _angular_core.Signal<string | null>;
3935
+ protected readonly selectedItems: _angular_core.Signal<EntityKeyRow[]>;
3936
+ ngOnInit(): Promise<void>;
3937
+ protected onLookupValueChanged(event: AXValueChangedEvent): void;
3938
+ private toRows;
3820
3939
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDefinitionProviderWidgetEditComponent, never>;
3821
3940
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityDefinitionProviderWidgetEditComponent, "axp-entity-definition-provider-widget-edit", never, {}, {}, never, never, true, never>;
3822
3941
  }
@@ -3864,8 +3983,8 @@ declare class AXPEntityListTableService {
3864
3983
  */
3865
3984
  private handleRowCommand;
3866
3985
  /**
3867
- * When a related entity list declares `excludeProperties`, row commands bypass the details page
3868
- * `execute()` merge — apply the same exclusions for embedded create/update commands.
3986
+ * Related-list `excludeProperties` are not on the row action itself.
3987
+ * Merge them into create, edit, view, and details commands. Values stay in the form context.
3869
3988
  */
3870
3989
  private mergeRelatedListFormOptions;
3871
3990
  /**
@@ -3885,6 +4004,7 @@ interface AXPEntityListToolbarConvertOptions {
3885
4004
  }
3886
4005
  declare class AXPEntityListToolbarService {
3887
4006
  private readonly widgetResolver;
4007
+ private readonly filterDefaultOperators;
3888
4008
  private readonly entityRegistry;
3889
4009
  /**
3890
4010
  * Convert Entity to Toolbar Options
@@ -4311,6 +4431,8 @@ interface AXPEntityDataSelectorCreateOptions {
4311
4431
  * When set, replaces the default `Create {entity title}` header.
4312
4432
  */
4313
4433
  title?: string;
4434
+ /** Command to run instead of `Entity:Create`, when set. */
4435
+ command?: string;
4314
4436
  }
4315
4437
  /** Nested options for {@link AXPEntityDataSelectorService.open}. */
4316
4438
  interface AXPEntityDataSelectorOpenOptions {
@@ -4414,7 +4536,7 @@ declare class AXPEntityDataSelectorService {
4414
4536
  * Execute Entity:Create and return created item.
4415
4537
  * Used by lookup widget and data selector for inline create.
4416
4538
  */
4417
- executeEntityCreate(entity: AXPEntity, mode: 'full' | 'quick', initialData?: Record<string, unknown>, title?: string): Promise<any | null>;
4539
+ executeEntityCreate(entity: AXPEntity, mode: 'full' | 'quick', initialData?: Record<string, unknown>, title?: string, commandName?: string): Promise<any | null>;
4418
4540
  /**
4419
4541
  * Normalize item's phones/emails for expose/display.
4420
4542
  * Call this when receiving items from any source (create, API, selector).
@@ -4454,6 +4576,11 @@ declare class AXPEntityDataSelectorService {
4454
4576
  * Execute Entity:Create and return created item
4455
4577
  */
4456
4578
  private executeCreate;
4579
+ /**
4580
+ * Runs a named create command (for example Create New Location) and returns the created row.
4581
+ * `initialData` is sent as both `data` and `options.process.data` so party/owner seeds resolve.
4582
+ */
4583
+ private executeNamedCreate;
4457
4584
  /**
4458
4585
  * Normalize phones/emails from repeater form to plain arrays of { value: string }.
4459
4586
  * Repeater/ContactBox can return nested structure: { value: { label: "", value: "101010" } }
@@ -4555,6 +4682,14 @@ declare class AXPLookupWidgetTableHostComponent extends NXValueComponent {
4555
4682
  protected handleTableItemClick(event: LookupWidgetTableItemClickEvent): void;
4556
4683
  /** Closes the inline lookup dropdown. */
4557
4684
  close(): void;
4685
+ /**
4686
+ * Reload multi-column / tree grid rows (e.g. after cascade filter context is ready).
4687
+ * When the popover is closed, defers the network load until the user opens the lookup.
4688
+ */
4689
+ refreshTableData(options?: {
4690
+ immediate?: boolean;
4691
+ }): void;
4692
+ isPanelExpanded(): boolean;
4558
4693
  /** Clears the selection. Used by projected `ax-clear-button`. */
4559
4694
  reset(_isUserInteraction?: boolean): void;
4560
4695
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetTableHostComponent, never>;
@@ -4569,6 +4704,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4569
4704
  protected readonly entityDataSelectorService: AXPEntityDataSelectorService;
4570
4705
  private readonly mlsResolver;
4571
4706
  private readonly filterOperatorMiddleware;
4707
+ private readonly filterDefaults;
4572
4708
  private readonly formatService;
4573
4709
  private readonly expressionEvaluator;
4574
4710
  private readonly contextEvalFactory;
@@ -4589,8 +4725,12 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4589
4725
  private readonly shouldFocus;
4590
4726
  /** Skips one {@link findByValue} pass after inline create when selection is already hydrated. */
4591
4727
  private skipFindByValueOnce;
4728
+ /** Ignores host `valueChange` echoes while open-form hydration is writing context. */
4729
+ private hostValueCommitSuppressDepth;
4592
4730
  /** Latest {@link findByValue} run; older in-flight runs must not overwrite its result. */
4593
4731
  private findByValueRequestId;
4732
+ /** Allows explicit {@link refresh} to load list data while the popover is closed. */
4733
+ private forceLookupListQueryDepth;
4594
4734
  private lastEditorLocaleKey;
4595
4735
  protected expose: _angular_core.Signal<string | any[] | undefined>;
4596
4736
  protected entity: _angular_core.Signal<string>;
@@ -4600,6 +4740,10 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4600
4740
  protected textField: _angular_core.Signal<string>;
4601
4741
  protected hasClearButton: _angular_core.Signal<boolean>;
4602
4742
  protected customFilter: _angular_core.Signal<AXDataSourceFilterOption | null>;
4743
+ /** When false, an empty cascade filter does not lock the editor. Explicit `disabled` is independent. */
4744
+ protected waitForCascade: _angular_core.Signal<boolean>;
4745
+ /** ax-tree-view only lazy-loads nodes with `childrenCount > 0`, so non-table tree modes always prefetch. */
4746
+ protected prefetchChildrenCount: _angular_core.Signal<boolean>;
4603
4747
  /** Parent cascade with an empty value. Structurally empty filters and top-level not-in stay enabled. */
4604
4748
  protected hasPendingCascadeFilter: _angular_core.Signal<boolean>;
4605
4749
  protected isLookupDisabled: _angular_core.Signal<boolean>;
@@ -4629,6 +4773,7 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4629
4773
  */
4630
4774
  protected lookupTreeSearchFields: _angular_core.Signal<string[]>;
4631
4775
  protected entityDataSource: _angular_core.Signal<AXDataSource<AXLookupItem> | null>;
4776
+ /** New identity per filter so the table host drops its per-loader node cache. */
4632
4777
  protected entityTreeDataSource: _angular_core.Signal<AXTreeViewDataSource>;
4633
4778
  protected effectiveDataSource: _angular_core.Signal<AXDataSource<AXLookupItem> | null>;
4634
4779
  protected selectFilterDisplayValue: _angular_core.Signal<any>;
@@ -4645,6 +4790,8 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4645
4790
  /** Rows picked in the open popup; used to resolve keys before datasource cache is queried. */
4646
4791
  private readonly pickedItems;
4647
4792
  private readonly editorLocaleChanged;
4793
+ /** Multi-column-tree loads only while the lookup popover is open. */
4794
+ private shouldRunLookupListQuery;
4648
4795
  protected handleItemRowAction(event: AXClickEvent, commandName: string, item: AXLookupItem): Promise<void>;
4649
4796
  protected handleLookupItemRowActionMouseDown(event: Event): void;
4650
4797
  protected handleLookupItemSelected(e: AXItemSelectedEvent<AXLookupItem>): void;
@@ -4659,6 +4806,9 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4659
4806
  protected openPopupSelector(): Promise<void>;
4660
4807
  private hasValue;
4661
4808
  private findByValue;
4809
+ /** Ignores the editor echo while context is applied from outside the control. */
4810
+ private holdHostValueCommit;
4811
+ private resolveLookupSelection;
4662
4812
  private getHydrationOptions;
4663
4813
  private resolveEditorLocaleKey;
4664
4814
  private rerenderEditor;
@@ -4666,6 +4816,8 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4666
4816
  private executeCreate;
4667
4817
  /** @param syncContext When false, only updates UI (hydration/revert); skips context writes. */
4668
4818
  protected setItems: (items: any[], syncContext?: boolean) => void;
4819
+ /** Fills empty expose targets from the resolved row without running triggers. */
4820
+ private exposeHydratedSelection;
4669
4821
  /**
4670
4822
  * Writes expose targets into context using per-path updates.
4671
4823
  * Avoids `contextService.patch()` with nested objects: patch shallow-merges top-level keys only,
@@ -5315,5 +5467,5 @@ declare function dispatchEntityModifiedSideEffects(entityEvents: AXPEntityBroadc
5315
5467
  */
5316
5468
  declare function provideEntityRealtimeHandlers(): Provider[];
5317
5469
 
5318
- export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPClientLocalPluginModule, AXPCreateEntityCommand, AXPDataSeederService, AXPDeleteEntityCommand, AXPDomainQueryEntityDefinitionLoader, AXPEditFileUploaderCommand, AXPEntityBulkPatchPerformService, AXPEntityCardComponent, AXPEntityCardFieldsResolver, AXPEntityCardSelectActionName, AXPEntityCardSkeletonComponent, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorRowActionsService, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletePerformService, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityFormBuilderService, AXPEntityLifecycleHookKeys, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewCardFieldViewModel, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListCardSelectActionName, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddlewareSkipContext, AXPEntityModule, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityRuntimeAccessorService, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPFileListComponent, AXPFileUploaderLoadFilesQuery, AXPFileUploaderSaveFilesCommand, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupByKeyCacheService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService as AXPMiddlewareEntityService, AXPMiddlewareEntityStorageService, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPOpenEntityListCommand, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowFileUploaderPopupCommand, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPUpdateEntityStatusCommand, AXPViewEntityDetailsCommand, AXP_APPEARANCE_SECTION_ORDER, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_CLASSIFICATION_SECTION_ORDER, AXP_CLIENT_LOCAL_DEFAULT_MAX_ITEMS, AXP_CLIENT_LOCAL_PLUGIN_NAME, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MIDDLEWARE, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_LOOKUP_FILTER_DEFAULT_OPERATOR, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_FORM_ACTION_FIRST_STEP_CONTINUE, ENTITY_LIST_LAYOUT_META, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, ENTITY_MASTER_LIST_TRACE_NS, EntityBuilder, EntityDataAccessor, GALLERY_PAGE_COMPONENT_KEY, TREE_CHILDREN_QUERY_TAKE, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentNeedsHydration, attachmentsPlugin, attachmentsSemanticallyEqual, axpBuildEntityListPageContextSnapshot, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, axpDeleteEntityCommandDefinition, axpOpenEntityListCommandDefinition, axpRunEntityListPageContextAction, axpShowFileUploaderPopupCommandDefinition, axpUpdateEntityStatusCommandDefinition, buildDataSourceTraceSnapshot, canPersistEntityListState, clientLocalPlugin, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, committedAttachments, composeEntityMiddlewares, composeEntityStorageMiddlewares, computeEntityAggregates, configureEntityListColumnsSettingsMigrateDrop, configureEntityListColumnsSettingsVersion, createColumnOrderingMiddlewareProvider, createEntityCardDisplayScope, createEntityCardLogicScope, createEntityMiddlewareContext, createEntityStorageContext, createLayoutOrderingMiddlewareProvider, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, defaultSortPresetsMiddleware, defaultSortPresetsMiddlewareProvider, detectEntityChanges, dispatchEntityModifiedSideEffects, ensureHierarchicalRootFilter, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityCreateBridgeMiddleware, entityDeleteBridgeMiddleware, entityGetOneBridgeMiddleware, entityListInstanceCurrentViewPath, entityListInstanceFilterPath, entityListStylingRulesPath, entityQueryBridgeMiddleware, entityStorageCreateBridgeMiddleware, entityStorageDeleteBridgeMiddleware, entityStorageGetOneBridgeMiddleware, entityStorageQueryBridgeMiddleware, entityStorageUpdateBridgeMiddleware, entityUpdateBridgeMiddleware, eventDispatchMiddleware, filterEntityMiddlewares, filterEntityStorageMiddlewares, filterSortEntityRows, filterTouchesParentKey, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, fireEntityLifecycleHook, formatLookupItemDisplay, formatLookupItemDisplayAsync, galleryPlugin, getDataSourcePageIndex, getEntityListColumnsSettingsMigrateDrop, getEntityListColumnsSettingsVersion, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, mergeEntityListViewAndPersistedFilters, normalizeEntityCardHeaderDisplayValue, normalizeEntityDataSelectorColumnSpecs, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, prefetchClientLocalRelated, provideEntity, provideEntityMiddlewareBridge, provideEntityRealtimeHandlers, provideEntityStorageMiddlewareBridge, provideLocalEntityCatalog, readLiveAttachmentValue, readPersistedEntityListInstanceCurrentView, readPersistedEntityListInstanceFilters, readPersistedEntityListStylingRules, resetPagingForTreeChildrenLoad, resolveAttachmentFieldPath, resolveEntityCardBadgeColorValue, resolveEntityCardHeaderValue, resolveEntityMasterFieldStylingClass, resolveEntityMasterRecordStylingClass, resolveEntityMasterStylingClass, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, resolveLookupEntityCacheKey, resolveLookupEntityKey, resolveMasterInterfacePropertyOrder, restoreEntityListExpandedRows, runEntityMiddlewarePipeline, runEntityQuery, runEntityStorageMiddlewarePipeline, saveAttachmentsThroughEntityUpdate, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry, traceEntityMasterList };
5319
- export type { AXPClientLocalPluginOptions, AXPDataSeeder, AXPDeleteEntityCommandInput, AXPEntityAccessPort, AXPEntityActionPlugin, AXPEntityBulkPatchPerformInput, AXPEntityCardListHost, AXPEntityCardSecondaryActionItem, AXPEntityCardVariant, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityDataSelectorCategoryFilterOptions, AXPEntityDataSelectorCategoryOptions, AXPEntityDataSelectorCreateOptions, AXPEntityDataSelectorFilterOptions, AXPEntityDataSelectorGridOptions, AXPEntityDataSelectorOpenInput, AXPEntityDataSelectorOpenOptions, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDataSelectorRowActionsConfig, AXPEntityDataSelectorSearchOptions, AXPEntityDataSelectorSelectionOptions, AXPEntityDataSelectorSortOptions, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDeletePerformInput, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListCardLayout, AXPEntityMasterListCardSecondaryActionItem, AXPEntityMasterListViewSortPropViewModel, AXPEntityMiddleware, AXPEntityMiddlewareContext, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityPreloadEntity, AXPEntityStorageBackend, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPFileListLook, AXPFileUploaderEditDialogFieldOptions, AXPFileUploaderEditDialogMode, AXPFileUploaderEditDialogOptions, AXPFileUploaderEntityFilesScope, AXPFileUploaderLoadFilesQueryInput, AXPFileUploaderLoadFilesQueryResult, AXPFileUploaderSaveFilesCommandInput, AXPFileUploaderSaveFilesCommandResult, AXPFileUploaderShowFileListEntityContext, AXPFileUploaderShowFileListOptions, AXPFileUploaderUploadActionDescriptor, AXPFileUploaderWidgetColumnOptions, AXPFileUploaderWidgetDesignerOptions, AXPFileUploaderWidgetEditOptions, AXPFileUploaderWidgetOptions, AXPFileUploaderWidgetPrintOptions, AXPFileUploaderWidgetViewOptions, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupDisplayEvalDeps, AXPMasterListColumnTreeNode, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPOpenEntityListCommandInput, AXPOpenEntityListCondition, AXPPageContextTitleResolver, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowFileUploaderPopupCommandInput, AXPUpdateEntityStatusCommandInput, AttachmentsDisplayMode, AttachmentsPluginOptions, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, EntityMasterListTraceArea, GalleryDisplayMode, GalleryPluginOptions, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
5470
+ export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPClientLocalPluginModule, AXPCreateEntityCommand, AXPDataSeederService, AXPDeleteEntityCommand, AXPDomainQueryEntityDefinitionLoader, AXPEditFileUploaderCommand, AXPEntityBulkPatchPerformService, AXPEntityCardComponent, AXPEntityCardFieldsResolver, AXPEntityCardSelectActionName, AXPEntityCardSkeletonComponent, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorRowActionsService, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletePerformService, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityFormBuilderService, AXPEntityLifecycleHookKeys, AXPEntityListPersistenceModeDefault, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewCardFieldViewModel, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListCardSelectActionName, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddlewareSkipContext, AXPEntityModule, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityRuntimeAccessorService, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPFileListComponent, AXPFileUploaderLoadFilesQuery, AXPFileUploaderSaveFilesCommand, AXPFileUploaderWidget, AXPFileUploaderWidgetColumnComponent, AXPFileUploaderWidgetEditComponent, AXPFileUploaderWidgetService, AXPFileUploaderWidgetViewComponent, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupByKeyCacheService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService as AXPMiddlewareEntityService, AXPMiddlewareEntityStorageService, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPOpenEntityListCommand, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowFileUploaderPopupCommand, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPUpdateEntityStatusCommand, AXPViewEntityDetailsCommand, AXP_APPEARANCE_SECTION_ORDER, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_CLASSIFICATION_SECTION_ORDER, AXP_CLIENT_LOCAL_DEFAULT_MAX_ITEMS, AXP_CLIENT_LOCAL_PLUGIN_NAME, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MIDDLEWARE, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_LOOKUP_FILTER_DEFAULT_OPERATOR, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_COLUMN_ORDER, DEFAULT_GROUP_SPAN_RULES, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, ENTITY_FORM_ACTION_FIRST_STEP_CONTINUE, ENTITY_LIST_LAYOUT_META, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY, ENTITY_MASTER_LIST_TRACE_NS, EntityBuilder, EntityDataAccessor, GALLERY_PAGE_COMPONENT_KEY, TREE_CHILDREN_QUERY_TAKE, actionExists, applyDataSourcePagingWithoutLoad, attachmentFieldCount, attachmentNeedsHydration, attachmentsPlugin, attachmentsSemanticallyEqual, axpBuildEntityListPageContextSnapshot, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, axpDeleteEntityCommandDefinition, axpOpenEntityListCommandDefinition, axpRunEntityListPageContextAction, axpShowFileUploaderPopupCommandDefinition, axpUpdateEntityStatusCommandDefinition, buildDataSourceTraceSnapshot, canPersistEntityListState, clientLocalPlugin, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, committedAttachments, composeEntityMiddlewares, composeEntityStorageMiddlewares, computeEntityAggregates, configureEntityListColumnsSettingsMigrateDrop, configureEntityListColumnsSettingsVersion, createColumnOrderingMiddlewareProvider, createEntityCardDisplayScope, createEntityCardLogicScope, createEntityMiddlewareContext, createEntityStorageContext, createLayoutOrderingMiddlewareProvider, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, defaultSortPresetsMiddleware, defaultSortPresetsMiddlewareProvider, detectEntityChanges, dispatchEntityModifiedSideEffects, ensureHierarchicalRootFilter, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityCreateBridgeMiddleware, entityDeleteBridgeMiddleware, entityGetOneBridgeMiddleware, entityListInstanceCurrentViewPath, entityListInstanceFilterPath, entityListStylingRulesPath, entityQueryBridgeMiddleware, entityStorageCreateBridgeMiddleware, entityStorageDeleteBridgeMiddleware, entityStorageGetOneBridgeMiddleware, entityStorageQueryBridgeMiddleware, entityStorageUpdateBridgeMiddleware, entityUpdateBridgeMiddleware, eventDispatchMiddleware, filterEntityMiddlewares, filterEntityStorageMiddlewares, filterSortEntityRows, filterTouchesParentKey, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, fireEntityLifecycleHook, formatLookupItemDisplay, formatLookupItemDisplayAsync, galleryPlugin, getDataSourcePageIndex, getEntityListColumnsSettingsMigrateDrop, getEntityListColumnsSettingsVersion, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, mergeEntityListViewAndPersistedFilters, normalizeEntityCardHeaderDisplayValue, normalizeEntityDataSelectorColumnSpecs, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, prefetchClientLocalRelated, provideEntity, provideEntityMiddlewareBridge, provideEntityRealtimeHandlers, provideEntityStorageMiddlewareBridge, provideLocalEntityCatalog, readLiveAttachmentValue, readPersistedEntityListInstanceCurrentView, readPersistedEntityListInstanceFilters, readPersistedEntityListStylingRules, resetPagingForTreeChildrenLoad, resolveAttachmentFieldPath, resolveEntityCardBadgeColorValue, resolveEntityCardHeaderValue, resolveEntityMasterFieldStylingClass, resolveEntityMasterRecordStylingClass, resolveEntityMasterStylingClass, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, resolveLookupEntityCacheKey, resolveLookupEntityKey, resolveMasterInterfacePropertyOrder, restoreEntityListExpandedRows, runEntityMiddlewarePipeline, runEntityQuery, runEntityStorageMiddlewarePipeline, saveAttachmentsThroughEntityUpdate, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry, traceEntityMasterList, watchNextDataSourceLoad };
5471
+ export type { AXPClientLocalPluginOptions, AXPDataSeeder, AXPDeleteEntityCommandInput, AXPEntityAccessPort, AXPEntityActionPlugin, AXPEntityBulkPatchPerformInput, AXPEntityCardListHost, AXPEntityCardSecondaryActionItem, AXPEntityCardVariant, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityDataSelectorCategoryFilterOptions, AXPEntityDataSelectorCategoryOptions, AXPEntityDataSelectorCreateOptions, AXPEntityDataSelectorFilterOptions, AXPEntityDataSelectorGridOptions, AXPEntityDataSelectorOpenInput, AXPEntityDataSelectorOpenOptions, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDataSelectorRowActionsConfig, AXPEntityDataSelectorSearchOptions, AXPEntityDataSelectorSelectionOptions, AXPEntityDataSelectorSortOptions, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDeletePerformInput, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListExpandRowRef, AXPEntityListInput, AXPEntityListPagingState, AXPEntityListPersistenceMode, AXPEntityListToolbarConvertOptions, AXPEntityMasterListCardLayout, AXPEntityMasterListCardSecondaryActionItem, AXPEntityMasterListViewSortPropViewModel, AXPEntityMiddleware, AXPEntityMiddlewareContext, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityPreloadEntity, AXPEntityStorageBackend, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPFileListLook, AXPFileUploaderEditDialogFieldOptions, AXPFileUploaderEditDialogMode, AXPFileUploaderEditDialogOptions, AXPFileUploaderEntityFilesScope, AXPFileUploaderLoadFilesQueryInput, AXPFileUploaderLoadFilesQueryResult, AXPFileUploaderSaveFilesCommandInput, AXPFileUploaderSaveFilesCommandResult, AXPFileUploaderShowFileListEntityContext, AXPFileUploaderShowFileListOptions, AXPFileUploaderUploadActionDescriptor, AXPFileUploaderWidgetColumnOptions, AXPFileUploaderWidgetDesignerOptions, AXPFileUploaderWidgetEditOptions, AXPFileUploaderWidgetOptions, AXPFileUploaderWidgetPrintOptions, AXPFileUploaderWidgetViewOptions, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupDisplayEvalDeps, AXPMasterListColumnTreeNode, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPOpenEntityListCommandInput, AXPOpenEntityListCondition, AXPPageContextTitleResolver, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, AXPShowFileUploaderPopupCommandInput, AXPUpdateEntityStatusCommandInput, AttachmentsDisplayMode, AttachmentsPluginOptions, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, EntityMasterListTraceArea, GalleryDisplayMode, GalleryPluginOptions, GroupSpanRule, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, RunEntityQueryAdapters, SectionOrderConfig, SkipEntityComponentPageRef };
@@ -253,6 +253,7 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
253
253
  protected readonly unsavedChangesConfirm: AXPUnsavedChangesConfirmService;
254
254
  protected readonly browserTitleService: AXPBrowserTitleService;
255
255
  protected readonly router: Router;
256
+ private readonly pageLayoutRoute;
256
257
  private readonly navTrailService;
257
258
  private readonly pageLayoutDestroyRef;
258
259
  private _updateTrigger;
@@ -261,6 +262,15 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
261
262
  protected updateTrigger: _angular_core.Signal<number>;
262
263
  protected recompute(): void;
263
264
  ngOnInit(): Promise<void>;
265
+ /**
266
+ * Follows the scoped tab when this instance is the active route (settings scope changes).
267
+ * Cached background pages keep the key captured at init.
268
+ */
269
+ private syncOwnedPageTabKey;
270
+ /** True when this page's route snapshot is in the active router tree. */
271
+ private isOwningActiveRoute;
272
+ /** True when this page may publish chrome onto its route tab. */
273
+ private canPublishActiveTabChrome;
264
274
  /** Maps the home-page route to the pinned home tab key instead of a path-based key. */
265
275
  private resolvePageTabKey;
266
276
  /** Stable tab key for this cached page instance (tabular mode). */
@@ -294,6 +304,11 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
294
304
  /** True when this cached page should publish crumbs for details-to-details wayfinding. */
295
305
  private isActivePageForNavTrail;
296
306
  protected getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]>;
307
+ /**
308
+ * Route-tab label for this page. Return a scope title when child routes are internal
309
+ * (settings groups). Null keeps the breadcrumb / page-title fallback.
310
+ */
311
+ protected getRouteTabTitle(): string | string[] | null | Promise<string | string[] | null>;
297
312
  /** Collects resolved breadcrumb labels (Home excluded upstream) for tab chrome. */
298
313
  protected resolveBreadcrumbTabTitleSegments(pageBreadcrumbs: AXPBreadcrumbItem[]): Promise<string[]>;
299
314
  /** Joins breadcrumb segments as the stored tab title string. */