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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/fesm2022/acorex-platform-common.mjs +6 -2
  2. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-core.mjs +8 -1
  4. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-domain.mjs +3 -0
  6. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-builder.mjs +22 -5
  8. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-components.mjs +25 -13
  10. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-designer.mjs +203 -55
  12. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-entity.mjs +622 -121
  14. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-widget-core.mjs +169 -85
  16. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-widgets.mjs +643 -311
  18. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-runtime.mjs +120 -9
  20. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  21. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs → acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs} +3 -3
  22. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
  23. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs → acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs} +3 -3
  24. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
  25. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +3 -3
  26. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-themes-default.mjs +10 -10
  28. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  29. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs} +2 -2
  30. package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  32. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs} +38 -16
  34. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-themes-shared.mjs +183 -84
  36. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  37. package/fesm2022/acorex-platform-workflow.mjs +50 -10
  38. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  39. package/package.json +1 -1
  40. package/types/acorex-platform-core.d.ts +13 -2
  41. package/types/acorex-platform-domain.d.ts +28 -2
  42. package/types/acorex-platform-layout-builder.d.ts +41 -27
  43. package/types/acorex-platform-layout-designer.d.ts +55 -15
  44. package/types/acorex-platform-layout-entity.d.ts +145 -11
  45. package/types/acorex-platform-layout-widget-core.d.ts +81 -68
  46. package/types/acorex-platform-layout-widgets.d.ts +25 -5
  47. package/types/acorex-platform-runtime.d.ts +156 -61
  48. package/types/acorex-platform-workflow.d.ts +37 -2
  49. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +0 -1
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +0 -1
  51. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +0 -1
  52. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  53. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +0 -65
  54. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +0 -1
  55. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +0 -1
@@ -84,6 +84,7 @@ declare const axpCreateEntityCommandDefinition: {
84
84
  summary: string;
85
85
  derivesFrom: string;
86
86
  };
87
+ capabilities: "ai"[];
87
88
  ai: {
88
89
  shortDescription: string;
89
90
  usage: {
@@ -102,6 +103,7 @@ declare const axpCreateEntityCommandDefinition: {
102
103
  };
103
104
  };
104
105
  };
106
+ categories: _acorex_platform_core.AXPDefinitionCategory[];
105
107
  };
106
108
 
107
109
  declare class AXPUpdateEntityCommand implements AXPCommand<any, any> {
@@ -160,6 +162,15 @@ declare class AXPEntityDetailPopoverComponent {
160
162
  protected entityDetails: _angular_core.WritableSignal<any>;
161
163
  protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
162
164
  protected isDetailPopoverOpen: _angular_core.WritableSignal<boolean>;
165
+ /**
166
+ * Stable list of property widgets for the template. Must be a signal (computed), not a method:
167
+ * calling a method from the template rebuilds nodes every CD cycle and can make the widget renderer loop.
168
+ */
169
+ protected readonly entityPropertiesWithWidgets: _angular_core.Signal<{
170
+ name: string;
171
+ title: string;
172
+ node: AXPWidgetNode;
173
+ }[]>;
163
174
  /**
164
175
  * Show the entity detail popover
165
176
  */
@@ -185,11 +196,7 @@ declare class AXPEntityDetailPopoverComponent {
185
196
  * Name priority MUST come before widget-type priority.
186
197
  */
187
198
  private getNameImportanceScore;
188
- protected getEntityPropertiesWithWidgets(): Array<{
189
- name: string;
190
- title: string;
191
- node: AXPWidgetNode;
192
- }>;
199
+ private buildEntityPropertiesWithWidgets;
193
200
  /**
194
201
  * Resolves the data path for a property. For lookups with expose, returns the expanded path
195
202
  * when data has it (e.g. personTitle). Otherwise returns property name (e.g. personTitleId).
@@ -563,6 +570,11 @@ declare class AXPEntityMasterListViewModel {
563
570
  * pre-fills categoryIds and categories for the create form.
564
571
  */
565
572
  private mergeDefaultCategoryForCreate;
573
+ /**
574
+ * Seeds create payloads with fixed list-view conditions (e.g. scope=T on the tenant dashboards view)
575
+ * so new rows match the view context and downstream queries (such as home dashboard) can find them.
576
+ */
577
+ private mergeViewConditionsForCreate;
566
578
  private evaluateExpressions;
567
579
  execute(command: AXPExecuteCommand): Promise<void>;
568
580
  destroy(): void;
@@ -734,6 +746,15 @@ declare const AXPEntityPreloadFiltersViewModelResolver: ResolveFn<Promise<AXPEnt
734
746
 
735
747
  interface AXPEntityModifierContext {
736
748
  readonly entity: AXPEntity;
749
+ plugins: {
750
+ list(): NonNullable<AXPEntity['plugins']>;
751
+ add(...items: NonNullable<AXPEntity['plugins']>): AXPEntityModifierContext;
752
+ remove(predicate: (p: NonNullable<AXPEntity['plugins']>[number]) => boolean): AXPEntityModifierContext;
753
+ find(name: string): {
754
+ get(): NonNullable<AXPEntity['plugins']>[number] | undefined;
755
+ update(updater: (p: NonNullable<AXPEntity['plugins']>[number]) => NonNullable<AXPEntity['plugins']>[number]): AXPEntityModifierContext;
756
+ };
757
+ };
737
758
  title: {
738
759
  get(): string;
739
760
  set(newTitle: string): AXPEntityModifierContext;
@@ -959,28 +980,71 @@ declare class AXPEntityDefinitionRegistryService {
959
980
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDefinitionRegistryService>;
960
981
  }
961
982
 
983
+ /**
984
+ * One audit point in time for a record lifecycle event.
985
+ *
986
+ * Used inside {@link AXPRecordAuditInfo} (`created`, `updated`, `deleted`).
987
+ * Backends and mock middleware typically set `at` and `by`; `reason` and `source`
988
+ * (for example `api`, `system`, `import`) are optional diagnostic fields.
989
+ */
962
990
  interface AXPAuditEvent {
963
991
  at?: Date;
964
992
  by?: AXPUserReference;
993
+ /** Optional business or technical reason for the event. */
965
994
  reason?: string;
995
+ /** Optional origin of the change (for example `api`, `system`, `import`). */
966
996
  source?: string;
967
997
  }
998
+ /**
999
+ * Aggregated audit trail for a persisted row.
1000
+ *
1001
+ * Filled by APIs or connectivity mock middleware when creating, updating, or
1002
+ * soft-deleting records. UI surfaces may show these via the history plugin or
1003
+ * custom columns. Version snapshot pipelines often **omit** this object from
1004
+ * stored snapshots while still applying it to live payloads.
1005
+ *
1006
+ * @remarks Fields are optional today; callers should tolerate partial data.
1007
+ */
968
1008
  interface AXPRecordAuditInfo {
969
1009
  created?: AXPAuditEvent;
970
1010
  updated?: AXPAuditEvent;
971
1011
  deleted?: AXPAuditEvent;
972
1012
  }
1013
+ /**
1014
+ * Cross-cutting flags that are not part of the domain schema but affect how a
1015
+ * row is shown or edited (visibility, built-in/system rows, immutability).
1016
+ *
1017
+ * Module entity models sometimes expose only this slice (for example
1018
+ * `stateInfo` on business units) when the rest of the row uses a bespoke shape.
1019
+ *
1020
+ * @remarks Entity list/detail flows should honor these flags where applicable.
1021
+ */
973
1022
  interface AXPRecordStateInfo {
974
1023
  isHidden?: boolean;
975
1024
  isSystem?: boolean;
976
1025
  isImmutable?: boolean;
1026
+ /** @deprecated Prefer explicit domain modeling over this flag. */
977
1027
  isDistributed?: boolean;
978
1028
  }
1029
+ /**
1030
+ * Tenancy and actor scope for a row in a multi-tenant application.
1031
+ *
1032
+ * Used to associate a record with a tenant, application instance, or owning
1033
+ * user when the API returns ownership metadata alongside domain fields.
1034
+ */
979
1035
  interface AXPRecordOwnershipInfo {
980
1036
  tenantId?: string;
981
1037
  applicationId?: string;
982
1038
  userId?: string;
983
1039
  }
1040
+ /**
1041
+ * Base shape for **entity row** TypeScript models across modules: a stable
1042
+ * identifier plus optional platform metadata.
1043
+ *
1044
+ * Module-specific interfaces extend this with domain properties
1045
+ * (`extends AXPEntityModel<string>` / `AXPEntityModel<Id>`) while reusing
1046
+ * `auditInfo`, `stateInfo`, and `ownershipInfo` when the backend sends them.
1047
+ */
984
1048
  interface AXPEntityModel<Id> {
985
1049
  id: Id;
986
1050
  auditInfo?: AXPRecordAuditInfo;
@@ -2225,6 +2289,11 @@ declare class AXPEntityListTableService {
2225
2289
  * Handle execution of a row command (shared by double-click and command handlers)
2226
2290
  */
2227
2291
  private handleRowCommand;
2292
+ /**
2293
+ * When a related entity list declares `excludeProperties`, row commands bypass the details page
2294
+ * `execute()` merge — apply the same exclusions for embedded create/update commands.
2295
+ */
2296
+ private mergeRelatedListFormOptions;
2228
2297
  /**
2229
2298
  * Create default events
2230
2299
  */
@@ -2472,6 +2541,37 @@ declare abstract class LookupWidgetLookBase {
2472
2541
  }
2473
2542
 
2474
2543
  type AXPLookupWidgetLookType = 'select' | 'lookup';
2544
+ /**
2545
+ * How the lookup column resolves related items for display in entity lists.
2546
+ * - `hydrated`: titles (and optional ids) are already on the row; inline preview + overflow popover use row data only.
2547
+ * - `idsWithCount`: ids and optional count live on the row; the cell shows a count summary and loads titles via entity `byKey` when the popover opens.
2548
+ * - `countOnly`: only a count is on the row; the popover loads ids/titles via a registered `AXPQuery` when opened.
2549
+ */
2550
+ type AXPLookupColumnResolveStrategy = 'hydrated' | 'idsWithCount' | 'countOnly';
2551
+ /**
2552
+ * Column list only: controls how the lookup column loads and displays related items in grids.
2553
+ * Omitted or empty strategy defaults to `hydrated` at runtime.
2554
+ */
2555
+ interface AXPLookupColumnResolveOptions {
2556
+ /** Default `hydrated` when omitted. */
2557
+ strategy?: AXPLookupColumnResolveStrategy;
2558
+ /** Lodash-style path on `rowData` for the displayed count (e.g. `rolesCount`). */
2559
+ countFieldPath?: string;
2560
+ /** Lodash-style path on `rowData` for the related id list (`idsWithCount`). If omitted, the column `rawValue` is used. */
2561
+ idsPath?: string;
2562
+ /** Registered query key for `AXPQueryExecutor.fetch` when using `countOnly`. */
2563
+ queryKey?: string;
2564
+ /**
2565
+ * Maps query input property names to lodash-style paths on `rowData` (e.g. `{ "userId": "id" }`).
2566
+ * May be a JSON string when set from the layout designer text field.
2567
+ */
2568
+ queryParams?: Record<string, string> | string;
2569
+ /**
2570
+ * Dot path into the named query result for the items array. Defaults to `items` when the result is an object.
2571
+ * If the query returns an array directly, leave unset and handle at runtime.
2572
+ */
2573
+ queryResultItemsPath?: string;
2574
+ }
2475
2575
  interface AXPLookupWidgetOptions {
2476
2576
  disabled?: boolean | AXPExpression;
2477
2577
  readonly?: boolean | AXPExpression;
@@ -2480,6 +2580,8 @@ interface AXPLookupWidgetOptions {
2480
2580
  look?: AXPLookupWidgetLookType;
2481
2581
  allowClear?: boolean;
2482
2582
  displayFormat?: string;
2583
+ /** Column list: lazy resolve and summary behavior. */
2584
+ columnResolve?: AXPLookupColumnResolveOptions;
2483
2585
  }
2484
2586
 
2485
2587
  declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any> {
@@ -2535,9 +2637,12 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
2535
2637
 
2536
2638
  declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<any> {
2537
2639
  private readonly entityDetailPopoverService;
2538
- private readonly mlResolver;
2640
+ private readonly translation;
2539
2641
  private readonly formatService;
2642
+ private readonly entityService;
2643
+ private readonly queryExecutor;
2540
2644
  protected moreButton: _angular_core.Signal<ElementRef<any> | undefined>;
2645
+ protected lazyTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
2541
2646
  protected morePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
2542
2647
  protected host: ElementRef<any>;
2543
2648
  protected valueField: string;
@@ -2547,21 +2652,50 @@ declare class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent<an
2547
2652
  protected maxVisible: number;
2548
2653
  protected displayFormat: _angular_core.Signal<string | undefined>;
2549
2654
  protected displayField: _angular_core.Signal<string>;
2655
+ protected columnResolve: _angular_core.Signal<AXPLookupColumnResolveOptions | undefined>;
2656
+ protected resolveStrategy: _angular_core.Signal<AXPLookupColumnResolveStrategy>;
2657
+ protected isHydratedStrategy: _angular_core.Signal<boolean>;
2550
2658
  protected isMorePopoverOpen: _angular_core.WritableSignal<boolean>;
2551
2659
  protected selectedItemIndex: _angular_core.WritableSignal<number>;
2660
+ protected resolvedPopoverItems: _angular_core.WritableSignal<any[]>;
2661
+ protected resolveStatus: _angular_core.WritableSignal<"error" | "idle" | "loading" | "ready">;
2662
+ protected resolveError: _angular_core.WritableSignal<string | null>;
2663
+ protected summaryLabel: _angular_core.WritableSignal<string>;
2664
+ protected popoverHeader: _angular_core.WritableSignal<string>;
2552
2665
  protected displayItems: _angular_core.Signal<any[]>;
2553
2666
  protected allItems: _angular_core.Signal<any[]>;
2554
2667
  protected visibleItems: _angular_core.Signal<any[]>;
2555
2668
  protected hasMoreItems: _angular_core.Signal<boolean>;
2556
- protected remainingItemsCount: _angular_core.Signal<number>;
2669
+ protected idsFromRow: _angular_core.Signal<any[]>;
2670
+ protected displayCount: _angular_core.Signal<number>;
2671
+ protected popoverListItems: _angular_core.Signal<any[]>;
2672
+ /** Avoid resetting lazy cache on every CD when `rowData` is a new object reference for the same row. */
2673
+ private previousLazyRowId;
2674
+ constructor();
2557
2675
  protected showMoreItems(): void;
2558
- protected onMorePopoverOpenChange(event: any): void;
2676
+ protected openLazyPopover(): void;
2677
+ protected onPopoverOpenChange(event: unknown): void;
2559
2678
  protected showItemDetail(item: any, index: number): Promise<void>;
2560
2679
  protected handleItemClick(index: number): void;
2561
- private openMorePopover;
2680
+ protected handleResolvedItemClick(index: number): void;
2681
+ protected handlePopoverItemClick(index: number): void;
2682
+ protected getDisplayRaw(item: any): string;
2683
+ private refreshSummaryLabel;
2684
+ private refreshPopoverHeader;
2685
+ private resetLazyState;
2686
+ private openPopoverFromRef;
2562
2687
  private closeMorePopover;
2688
+ private ensureLazyItemsLoaded;
2689
+ /**
2690
+ * ax-popover may emit a boolean, CustomEvent with detail, or a DOM Event depending on version.
2691
+ */
2692
+ private coercePopoverOpenEvent;
2693
+ private loadByIds;
2694
+ private loadByNamedQuery;
2695
+ private buildNamedQueryInput;
2696
+ private parseQueryParamsMap;
2697
+ private extractItemsFromQueryResult;
2563
2698
  private extractItem;
2564
- protected getDisplayRaw(item: any): string;
2565
2699
  private resolveDisplayValue;
2566
2700
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetColumnComponent, never>;
2567
2701
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetColumnComponent, "ng-component", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
@@ -3193,4 +3327,4 @@ declare class AXPShowListViewAction extends AXPWorkflowAction {
3193
3327
  declare const AXPShowListViewWorkflow: AXPWorkflow;
3194
3328
 
3195
3329
  export { AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPCreateEntityCommand, AXPCreateEntityWorkflow, AXPDataSeederService, AXPDeleteEntityWorkflow, AXPEntitiesListDataSourceDefinition, AXPEntityApplyUpdatesAction, AXPEntityCategoryTreeSelectorComponent, AXPEntityCategoryWidget, AXPEntityCategoryWidgetColumnComponent, AXPEntityCategoryWidgetEditComponent, AXPEntityCategoryWidgetViewComponent, AXPEntityCommandTriggerViewModel, AXPEntityCreateEvent, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction, AXPEntityCreateViewElementViewModel, AXPEntityCreateViewModelFactory, AXPEntityCreateViewSectionViewModel, AXPEntityDataProvider, AXPEntityDataProviderImpl, AXPEntityDataSelectorService, AXPEntityDefinitionProviderWidget, AXPEntityDefinitionProviderWidgetEditComponent, AXPEntityDefinitionRegistryService, AXPEntityDeletedEvent, AXPEntityDetailListViewModel, AXPEntityDetailPopoverComponent, AXPEntityDetailPopoverService, AXPEntityDetailViewModelFactory, AXPEntityDetailViewModelResolver, AXPEntityEventDispatcherService, AXPEntityEventsKeys, AXPEntityFormBuilderService, AXPEntityListTableService, AXPEntityListToolbarService, AXPEntityListViewColumnViewModel, AXPEntityListViewModelFactory, AXPEntityListViewModelResolver, AXPEntityListWidget, AXPEntityListWidgetViewComponent, AXPEntityMasterCreateViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewQueryViewModel, AXPEntityMasterSingleElementViewModel, AXPEntityMasterSingleViewGroupViewModel, AXPEntityMasterSingleViewModel, AXPEntityMasterUpdateElementViewModel, AXPEntityMasterUpdateViewModel, AXPEntityMasterUpdateViewModelFactory, AXPEntityMiddleware, AXPEntityModifyConfirmedAction, AXPEntityModifyEvent, AXPEntityModifySectionPopupAction, AXPEntityModule, AXPEntityPerformDeleteAction, AXPEntityPreloadFiltersContainerComponent, AXPEntityPreloadFiltersViewModel, AXPEntityPreloadFiltersViewModelResolver, AXPEntityResolver, AXPEntityService, AXPEntityStorageService, AXPEntityUpdateViewSectionViewModel, AXPGetEntityDetailsQuery, AXPLayoutOrderingConfigService, AXPLookupWidget, AXPLookupWidgetColumnComponent, AXPLookupWidgetEditComponent, AXPLookupWidgetViewComponent, AXPMiddlewareAbortError, AXPMiddlewareEntityStorageService, AXPModifyEntitySectionWorkflow, AXPMultiSourceDefinitionProviderContext, AXPMultiSourceDefinitionProviderService, AXPMultiSourceFederatedSearchService, AXPMultiSourceSelectorComponent, AXPMultiSourceSelectorService, AXPMultiSourceSelectorWidget, AXPMultiSourceSelectorWidgetColumnComponent, AXPMultiSourceSelectorWidgetEditComponent, AXPMultiSourceSelectorWidgetViewComponent, AXPMultiSourceType, AXPOpenEntityDetailsCommand, AXPQuickEntityModifyPopupAction, AXPQuickModifyEntityWorkflow, AXPRelatedColumnEnrichmentService, AXPRelatedColumnMetadataResolver, AXPSelectorStructureWidget, AXPSelectorStructureWidgetColumnComponent, AXPSelectorStructureWidgetEditComponent, AXPSelectorStructureWidgetViewComponent, AXPShowDetailViewAction, AXPShowDetailsViewWorkflow, AXPShowListViewAction, AXPShowListViewWorkflow, AXPTruncatedBreadcrumbComponent, AXPUpdateEntityCommand, AXPViewEntityDetailsCommand, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY, AXP_DATA_SEEDER_TOKEN, AXP_ENTITY_ACTION_PLUGIN, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER, AXP_ENTITY_MODIFIER, AXP_ENTITY_STORAGE_BACKEND, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_MULTI_SOURCE_DEFINITION_PROVIDER, DEFAULT_COLUMN_ORDER, DEFAULT_PAIR_SPAN_RULES, DEFAULT_PROPERTY_ORDER, DEFAULT_SECTION_ORDER, EntityBuilder, EntityDataAccessor, actionExists, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, createColumnOrderingMiddlewareProvider, createLayoutOrderingMiddlewareProvider, createModifierContext, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityDetailsCreateActions, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, eventDispatchMiddleware, getMasterInterfacePropertySortKey, isAXPMiddlewareAbortError, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, provideEntity, resolveEntityPluginDetailPageOrder, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider };
3196
- export type { AXPAuditEvent, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, SectionOrderConfig, SkipEntityComponentPageRef };
3330
+ export type { AXPAuditEvent, AXPDataSeeder, AXPEntityActionPlugin, AXPEntityCategoryWidgetOptions, AXPEntityChangeSet, AXPEntityConfigs, AXPEntityCreateDto, AXPEntityDataSelectorOptions, AXPEntityDataSelectorResult, AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityDeleteOptions, AXPEntityDetailDto, AXPEntityDetailPopoverOptions, AXPEntityLayoutLike, AXPEntityLayoutPropertyLike, AXPEntityLayoutSectionLike, AXPEntityListEntry, AXPEntityListInput, AXPEntityListItemDto, AXPEntityListToolbarConvertOptions, AXPEntityMasterListViewSortPropViewModel, AXPEntityModel, AXPEntityModifier, AXPEntityModifierContext, AXPEntityModifierProvider, AXPEntityOutputDto, AXPEntityPreloadEntity, AXPEntityStorageContext, AXPEntityStorageMiddleware, AXPEntityUpdateDto, AXPGetEntityDetailsQueryInput, AXPGetEntityDetailsQueryResult, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy, AXPLookupWidgetLookType, AXPLookupWidgetOptions, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPRecordAuditInfo, AXPRecordOwnershipInfo, AXPRecordStateInfo, AXPRelatedColumnMetadata, AXPSelectorStructureFieldDef, AXPSelectorStructureIdentityDisplay, AXPSelectorStructurePresentationMode, AXPSelectorStructureSelectorMode, AXPSelectorStructureStructureMode, AXPSelectorStructureWidgetColumnOptions, AXPSelectorStructureWidgetDesignerOptions, AXPSelectorStructureWidgetEditOptions, AXPSelectorStructureWidgetOptions, AXPSelectorStructureWidgetPrintOptions, AXPSelectorStructureWidgetViewOptions, CategoryQueryEvent, CategoryQueryFunction, CategoryQueryResult, CategoryTreeConfig, CategoryTreeNodeData, EntityDetailPluginPageSlot, PairSpanRule, ResolveEntityPluginDetailPageOrderOptions, SectionOrderConfig, SkipEntityComponentPageRef };
@@ -3,7 +3,8 @@ import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef
3
3
  import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
4
4
  import * as _ngrx_signals from '@ngrx/signals';
5
5
  import * as _acorex_platform_core from '@acorex/platform/core';
6
- import { AXPMultiLanguageString, AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPContextChangeEvent, AXPExpressionEvaluatorService, AXPProperty } from '@acorex/platform/core';
6
+ import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
7
+ export { AXPDefinitionCategory, normalizeDefinitionCategories } from '@acorex/platform/core';
7
8
  import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
8
9
  import { Subject, BehaviorSubject } from 'rxjs';
9
10
  import { AXDataTableColumnComponent } from '@acorex/components/data-table';
@@ -91,22 +92,7 @@ declare class AXPWidgetCoreService {
91
92
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
92
93
  }
93
94
 
94
- interface AXPWidgetCategory {
95
- name: string;
96
- title: AXPMultiLanguageString;
97
- order: number;
98
- }
99
- /** Normalizes widget categories to an array for iteration and serialization. */
100
- declare function normalizeWidgetCategories(categories?: AXPWidgetCategory | AXPWidgetCategory[]): AXPWidgetCategory[];
101
- declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPWidgetCategory;
102
- declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPWidgetCategory;
103
- declare const AXP_WIDGETS_ACTION_CATEGORY: AXPWidgetCategory;
104
- declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPWidgetCategory;
105
- /** Widgets exposed to AI assistants for structured rendering (see Widgets:GetForAI). */
106
- declare const AXP_WIDGETS_AI_CATEGORY: AXPWidgetCategory;
107
- declare const AXP_WIDGETS_CATEGORIES: AXPWidgetCategory[];
108
-
109
- type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget';
95
+ type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
110
96
  declare enum AXPWidgetGroupEnum {
111
97
  FormElement = "form-element",
112
98
  DashboardWidget = "dashboard-widget",
@@ -115,7 +101,8 @@ declare enum AXPWidgetGroupEnum {
115
101
  MetaData = "meta-data",
116
102
  SettingWidget = "setting-widget",
117
103
  EntityWidget = "entity-widget",
118
- UtilityWidget = "utility-widget"
104
+ UtilityWidget = "utility-widget",
105
+ BaseWidget = "base-widget"
119
106
  }
120
107
 
121
108
  interface AXPWidgetTypesMap {
@@ -192,7 +179,6 @@ interface AXPWidgetTypesMap {
192
179
  metaData: 'meta-data-editor';
193
180
  templateEditor: 'template-box-editor';
194
181
  templateContentEditor: 'template-content-editor';
195
- themePaletteChooser: 'theme-palette-chooser';
196
182
  themeModeChooser: 'theme-mode-chooser';
197
183
  menuOrientationChooser: 'menu-orientation-chooser';
198
184
  fontStyleChooser: 'font-style-chooser';
@@ -216,8 +202,6 @@ interface AXPWidgetTypesMap {
216
202
  entityDefinitionProvider: 'entity-definition-provider-editor';
217
203
  }
218
204
 
219
- /** Inclusion mode for AI widget catalog queries (Widgets:GetForAI). */
220
- type AXPWidgetAiCatalogMode = 'include' | 'exclude' | 'inherit';
221
205
  interface AXPWidgetPropertyGroup {
222
206
  name: string;
223
207
  title: string;
@@ -313,6 +297,8 @@ interface AXPWidgetColumnNode {
313
297
  type: string;
314
298
  path: string;
315
299
  options?: AXPOptionsData;
300
+ /** Column header caption from data-table (`title || name`); often an i18n key. */
301
+ caption?: string;
316
302
  }
317
303
  interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
318
304
  config: AXPWidgetConfig;
@@ -359,7 +345,21 @@ interface AXPWidgetConfig<T = any> {
359
345
  * for structured output; unrelated to end-user UI copy.
360
346
  */
361
347
  aiDescription?: string | null;
362
- categories?: AXPWidgetCategory | AXPWidgetCategory[];
348
+ /**
349
+ * Picker tabs and section headings in the widget gallery (when the widget is included in the picker list).
350
+ */
351
+ categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
352
+ /**
353
+ * Optional sub-group within a parent category tab in the widget picker.
354
+ * Ignored on the "All" tab (widgets are grouped by parent category only).
355
+ */
356
+ subCategory?: AXPDefinitionCategory;
357
+ /**
358
+ * Which surfaces may offer this widget. The designer widget picker includes a widget only when this list
359
+ * intersects the requested groups (e.g. the layout designer requests `AXPWidgetGroupEnum.FormElement`).
360
+ * Use `AXPWidgetGroupEnum.BaseWidget` alone for types that must stay registered (filters, renderers, AI tools)
361
+ * but must not appear in form or dashboard pickers.
362
+ */
363
363
  groups?: AXPWidgetGroup[];
364
364
  properties?: AXPWidgetProperty[];
365
365
  components: AXPWidgetConfigComponents;
@@ -375,12 +375,6 @@ interface AXPWidgetConfig<T = any> {
375
375
  * If omitted, the default display is used.
376
376
  */
377
377
  historyLayout?: AXPWidgetNode;
378
- /**
379
- * Controls inclusion in AI-facing widget catalog queries (e.g. Widgets:GetForAI).
380
- * `inherit` (default): include only when `categories` contains the AI category (`AXP_WIDGETS_AI_CATEGORY`).
381
- * `include` / `exclude`: force include or exclude regardless of categories.
382
- */
383
- aiCatalog?: AXPWidgetAiCatalogMode;
384
378
  }
385
379
  interface AXPExtendedWidget {
386
380
  widget: AXPWidgetConfig;
@@ -511,6 +505,8 @@ declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
511
505
  private readonly token;
512
506
  protected readonly path: string;
513
507
  protected readonly options: Record<string, any>;
508
+ /** Column header caption when rendered inside `axp-widget-column-renderer`. */
509
+ protected readonly columnCaption: string | undefined;
514
510
  protected readonly rawValue: T;
515
511
  protected readonly rowData: any;
516
512
  protected readonly nullText: any;
@@ -537,6 +533,33 @@ declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayo
537
533
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
538
534
  }
539
535
 
536
+ /**
537
+ * Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
538
+ * Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
539
+ */
540
+ interface MapAXPPropertyToWidgetPropertyOptions {
541
+ group: AXPWidgetPropertyGroup;
542
+ order: number;
543
+ /**
544
+ * Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
545
+ * Example: `input` → `input.requestId`; `properties` → `properties.message`.
546
+ */
547
+ valuePathPrefix: string;
548
+ /**
549
+ * Resolves a display title (supports multi-language strings on the source property).
550
+ */
551
+ resolveTitle: (property: AXPProperty) => string;
552
+ /**
553
+ * Optional description line for the viewer row.
554
+ */
555
+ resolveDescription?: (property: AXPProperty) => string | undefined;
556
+ }
557
+ /**
558
+ * Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
559
+ * the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
560
+ */
561
+ declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
562
+
540
563
  type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
541
564
  type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
542
565
  type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
@@ -1059,44 +1082,34 @@ interface AXPMetaDataDefinition {
1059
1082
 
1060
1083
  declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
1061
1084
 
1062
- /**
1063
- * Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
1064
- * Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
1065
- */
1066
- interface MapAXPPropertyToWidgetPropertyOptions {
1067
- group: AXPWidgetPropertyGroup;
1068
- order: number;
1069
- /**
1070
- * Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
1071
- * Example: `input` → `input.requestId`; `properties` → `properties.message`.
1072
- */
1073
- valuePathPrefix: string;
1074
- /**
1075
- * Resolves a display title (supports multi-language strings on the source property).
1076
- */
1077
- resolveTitle: (property: AXPProperty) => string;
1078
- /**
1079
- * Optional description line for the viewer row.
1080
- */
1081
- resolveDescription?: (property: AXPProperty) => string | undefined;
1082
- }
1083
- /**
1084
- * Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
1085
- * the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
1086
- */
1087
- declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
1088
-
1089
- /**
1090
- * True when the widget declares the AI category (see {@link AXP_WIDGETS_AI_CATEGORY}).
1091
- */
1092
- declare function hasAiWidgetCategory(config: AXPWidgetConfig): boolean;
1093
- /**
1094
- * Resolves AI catalog visibility using {@link AXPWidgetConfig.aiCatalog} and the AI widget category.
1095
- * - `exclude`: never listed.
1096
- * - `include`: always listed (override when the widget cannot declare the AI category yet).
1097
- * - `inherit` / omitted: listed only if {@link hasAiWidgetCategory} is true.
1098
- */
1099
- declare function isWidgetAiCatalogIncluded(config: AXPWidgetConfig): boolean;
1085
+ declare const AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS: AXPDefinitionCategory;
1086
+ declare const AXP_WIDGETS_EDITOR_SUB_NUMERIC: AXPDefinitionCategory;
1087
+ declare const AXP_WIDGETS_EDITOR_SUB_DATETIME: AXPDefinitionCategory;
1088
+ declare const AXP_WIDGETS_EDITOR_SUB_CHOICE: AXPDefinitionCategory;
1089
+ declare const AXP_WIDGETS_EDITOR_SUB_RICH: AXPDefinitionCategory;
1090
+ declare const AXP_WIDGETS_EDITOR_SUB_VISUAL: AXPDefinitionCategory;
1091
+ declare const AXP_WIDGETS_EDITOR_SUB_COMPOSITE: AXPDefinitionCategory;
1092
+ declare const AXP_WIDGETS_EDITOR_SUB_CONFIG: AXPDefinitionCategory;
1093
+ declare const AXP_WIDGETS_LAYOUT_SUB_SHELL: AXPDefinitionCategory;
1094
+ declare const AXP_WIDGETS_LAYOUT_SUB_GRID: AXPDefinitionCategory;
1095
+ declare const AXP_WIDGETS_LAYOUT_SUB_SURFACES: AXPDefinitionCategory;
1096
+ declare const AXP_WIDGETS_LAYOUT_SUB_TABS: AXPDefinitionCategory;
1097
+ declare const AXP_WIDGETS_LAYOUT_SUB_LISTS: AXPDefinitionCategory;
1098
+ declare const AXP_WIDGETS_LAYOUT_SUB_UTILITY: AXPDefinitionCategory;
1099
+ declare const AXP_WIDGETS_ACTION_SUB_CONTROLS: AXPDefinitionCategory;
1100
+ declare const AXP_WIDGETS_ADVANCE_SUB_MEDIA: AXPDefinitionCategory;
1101
+ declare const AXP_WIDGETS_ADVANCE_SUB_INPUT: AXPDefinitionCategory;
1102
+ declare const AXP_WIDGETS_ADVANCE_SUB_DATA: AXPDefinitionCategory;
1103
+ declare const AXP_WIDGETS_ADVANCE_SUB_TOOLS: AXPDefinitionCategory;
1104
+ /** Normalizes widget categories to an array for iteration and serialization. */
1105
+ declare function normalizeWidgetCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
1106
+ declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPDefinitionCategory;
1107
+ declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPDefinitionCategory;
1108
+ declare const AXP_WIDGETS_ACTION_CATEGORY: AXPDefinitionCategory;
1109
+ declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPDefinitionCategory;
1110
+ /** AI category tab in the widget picker (metadata); unrelated to Widgets:GetForAI listing scope. */
1111
+ declare const AXP_WIDGETS_AI_CATEGORY: AXPDefinitionCategory;
1112
+ declare const AXP_WIDGETS_CATEGORIES: AXPDefinitionCategory[];
1100
1113
 
1101
- export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, hasAiWidgetCategory, isWidgetAiCatalogIncluded, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories };
1102
- export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetAiCatalogMode, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };
1114
+ export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ACTION_SUB_CONTROLS, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_ADVANCE_SUB_DATA, AXP_WIDGETS_ADVANCE_SUB_INPUT, AXP_WIDGETS_ADVANCE_SUB_MEDIA, AXP_WIDGETS_ADVANCE_SUB_TOOLS, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE, AXP_WIDGETS_EDITOR_SUB_COMPOSITE, AXP_WIDGETS_EDITOR_SUB_CONFIG, AXP_WIDGETS_EDITOR_SUB_DATETIME, AXP_WIDGETS_EDITOR_SUB_NUMERIC, AXP_WIDGETS_EDITOR_SUB_RICH, AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS, AXP_WIDGETS_EDITOR_SUB_VISUAL, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGETS_LAYOUT_SUB_GRID, AXP_WIDGETS_LAYOUT_SUB_LISTS, AXP_WIDGETS_LAYOUT_SUB_SHELL, AXP_WIDGETS_LAYOUT_SUB_SURFACES, AXP_WIDGETS_LAYOUT_SUB_TABS, AXP_WIDGETS_LAYOUT_SUB_UTILITY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories };
1115
+ export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };
@@ -1567,6 +1567,11 @@ declare class AXPRichTextWidgetColumnComponent extends AXPColumnWidgetComponent<
1567
1567
  private platform;
1568
1568
  private readonly layoutBuilder;
1569
1569
  private readonly mlResolver;
1570
+ /** Plain-text length threshold: above this, cell is clamped and clickable for full preview. */
1571
+ protected previewMaxChars(): number;
1572
+ /** Whether resolved HTML is long enough to warrant truncation + popup. */
1573
+ protected isTruncatedPreview(resolvedHtml: string): boolean;
1574
+ protected onExpandClick(event: AXClickEvent): void;
1570
1575
  protected openPopup(): Promise<void>;
1571
1576
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRichTextWidgetColumnComponent, never>;
1572
1577
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPRichTextWidgetColumnComponent, "axp-rich-text-widget-column", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
@@ -1594,8 +1599,12 @@ declare class AXPRichTextWidgetViewComponent extends AXPValueWidgetComponent<str
1594
1599
  private platform;
1595
1600
  private readonly layoutBuilder;
1596
1601
  private readonly mlResolver;
1597
- /** Resolved HTML for the preview dialog (same rules as the inline snippet). */
1602
+ private readonly currentLanguage;
1603
+ /** Resolved HTML for inline snippet and preview dialog. */
1598
1604
  protected displayHtml: _angular_core.Signal<string>;
1605
+ /** Full-body preview (dialogs) vs truncated grid snippet. */
1606
+ protected showFullContent: _angular_core.Signal<boolean>;
1607
+ protected previewMaxHeightPx: _angular_core.Signal<number>;
1599
1608
  protected openPopup(): Promise<void>;
1600
1609
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRichTextWidgetViewComponent, never>;
1601
1610
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPRichTextWidgetViewComponent, "axp-rich-text-widget-view", never, {}, {}, never, never, true, never>;
@@ -1617,6 +1626,10 @@ interface AXPRichTextWidgetDesignerOptions {
1617
1626
  fitLineCount?: boolean;
1618
1627
  }
1619
1628
  interface AXPRichTextWidgetViewOptions {
1629
+ /** Scrollable full HTML in view mode (e.g. layout-builder preview dialogs). */
1630
+ showFullContent?: boolean;
1631
+ /** Max height in px when `showFullContent` is true; defaults to 400. */
1632
+ height?: number;
1620
1633
  }
1621
1634
  interface AXPRichTextWidgetEditOptions {
1622
1635
  placeholder?: string;
@@ -1628,6 +1641,11 @@ interface AXPRichTextWidgetEditOptions {
1628
1641
  fitLineCount?: boolean;
1629
1642
  }
1630
1643
  interface AXPRichTextWidgetColumnOptions {
1644
+ /**
1645
+ * Plain-text length above which the grid cell is line-clamped and opens the preview dialog on click.
1646
+ * @default 100
1647
+ */
1648
+ previewMaxChars?: number;
1631
1649
  }
1632
1650
  interface AXPRichTextWidgetPrintOptions {
1633
1651
  }
@@ -3234,6 +3252,8 @@ declare class AXPStatusChipComponent {
3234
3252
  protected isPopoverOpen: _angular_core.WritableSignal<boolean>;
3235
3253
  protected isUpdating: _angular_core.WritableSignal<boolean>;
3236
3254
  protected providerSignal: _angular_core.WritableSignal<AXPStatusProvider | undefined>;
3255
+ /** Native tooltip from translated `AXPStatusDefinition.description` (i18n key). */
3256
+ protected chipTooltip: _angular_core.WritableSignal<string | null>;
3237
3257
  protected statuses: _angular_core.Signal<AXPStatusDefinition[]>;
3238
3258
  protected transitions: _angular_core.Signal<AXPStatusTransition[]>;
3239
3259
  /**
@@ -3248,6 +3268,7 @@ declare class AXPStatusChipComponent {
3248
3268
  * Load status provider when definitionKey changes
3249
3269
  */
3250
3270
  private loadProvider;
3271
+ private syncDescriptionTooltip;
3251
3272
  /**
3252
3273
  * Open the popover
3253
3274
  */
@@ -3327,7 +3348,7 @@ declare class AXPStatusWidgetEditComponent extends AXPValueWidgetComponent<any |
3327
3348
  protected onTransitionExecuted(transition: AXPStatusTransitionWithTarget): void;
3328
3349
  protected onTransitionError(error: Error): void;
3329
3350
  /**
3330
- * Get entity data for command execution context
3351
+ * Build context for default `Entity:UpdateStatus` (entity key, record id, status field path).
3331
3352
  */
3332
3353
  protected getEntityData(): Record<string, any> | null;
3333
3354
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStatusWidgetEditComponent, never>;
@@ -5388,7 +5409,7 @@ declare class AXPWidgetsModule {
5388
5409
  }
5389
5410
 
5390
5411
  interface AXPGetWidgetsForAIQueryInput {
5391
- /** When set, returns full serializable metadata for that widget; otherwise returns the AI catalog list. */
5412
+ /** When set, returns full serializable metadata for that widget; otherwise returns the full registry list (no filtering). */
5392
5413
  name?: string;
5393
5414
  }
5394
5415
  interface AXPGetWidgetsForAIQueryListItem {
@@ -5425,7 +5446,6 @@ interface AXPGetWidgetsForAIQuerySerializableWidget {
5425
5446
  designer?: AXPWidgetConfig['designer'];
5426
5447
  options?: AXPWidgetConfig['options'];
5427
5448
  defaultFilterWidgetName?: AXPWidgetConfig['defaultFilterWidgetName'];
5428
- aiCatalog?: AXPWidgetConfig['aiCatalog'];
5429
5449
  }
5430
5450
  interface AXPGetWidgetsForAIQuerySerializableComponents {
5431
5451
  designer?: {
@@ -5472,7 +5492,7 @@ type AXPGetWidgetsForAIQueryResult = {
5472
5492
  error: string;
5473
5493
  };
5474
5494
  /**
5475
- * Read-only catalog of widgets suitable for AI structured rendering (Widgets:GetForAI).
5495
+ * Read-only full widget registry (Widgets:GetForAI). Lists every registered widget.
5476
5496
  */
5477
5497
  declare class AXPGetWidgetsForAIQuery implements AXPQuery<AXPGetWidgetsForAIQueryInput | undefined, AXPGetWidgetsForAIQueryResult> {
5478
5498
  private readonly registry;