@acorex-platform/framework-client 0.0.28 → 0.0.32

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 (60) hide show
  1. package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-CLm2BVk-.mjs → acorex-platform-framework-client-common-common-settings.provider-CzBr0cRi.mjs} +23 -2
  2. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CzBr0cRi.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-framework-client-common.mjs +678 -112
  4. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-framework-client-core.mjs +85 -9
  6. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +3 -6
  8. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +469 -73
  10. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  11. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BXOMs6oD.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Bu8LLCVa.mjs} +3324 -2169
  12. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Bu8LLCVa.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-DCK-qb-F.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-EU1dgVH_.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-DCK-qb-F.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-EU1dgVH_.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-Cs3agnpF.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-DNBhGkO8.mjs} +43 -15
  16. package/fesm2022/acorex-platform-framework-client-layout-entity-bulk-entity.command-DNBhGkO8.mjs.map +1 -0
  17. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-p0hxDb0W.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-B3__csKW.mjs} +3 -3
  18. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-p0hxDb0W.mjs.map → acorex-platform-framework-client-layout-entity-file-list-popup.component-B3__csKW.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-DYV9YPyw.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-DtNSVjeF.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-DYV9YPyw.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-DtNSVjeF.mjs.map} +1 -1
  21. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  22. package/fesm2022/acorex-platform-framework-client-layout-views.mjs +37 -6
  23. package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
  24. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +148 -130
  25. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  26. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-3CO4xJB3.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-4mX8aYzA.mjs} +3 -3
  27. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-3CO4xJB3.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-4mX8aYzA.mjs.map} +1 -1
  28. package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-CRST84ou.mjs → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-D3pnOGmB.mjs} +3 -3
  29. package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-CRST84ou.mjs.map → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-D3pnOGmB.mjs.map} +1 -1
  30. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1127 -717
  31. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-framework-client-realtime.mjs +70 -5
  33. package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
  34. package/fesm2022/acorex-platform-framework-client-runtime.mjs +121 -6
  35. package/fesm2022/acorex-platform-framework-client-runtime.mjs.map +1 -1
  36. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-C2Abf7Lb.mjs → acorex-platform-framework-client-themes-default-entity-master-single-view.component-DCpl6AXq.mjs} +51 -12
  37. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-DCpl6AXq.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +770 -679
  39. package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
  40. package/fesm2022/{acorex-platform-framework-client-themes-shared-settings.provider-D2XPkc71.mjs → acorex-platform-framework-client-themes-shared-settings.provider-CpsAIsxj.mjs} +76 -1
  41. package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-CpsAIsxj.mjs.map +1 -0
  42. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +320 -32
  43. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
  44. package/package.json +7 -7
  45. package/types/acorex-platform-framework-client-common.d.ts +137 -9
  46. package/types/acorex-platform-framework-client-core.d.ts +4 -1
  47. package/types/acorex-platform-framework-client-layout-components.d.ts +139 -20
  48. package/types/acorex-platform-framework-client-layout-entity.d.ts +518 -256
  49. package/types/acorex-platform-framework-client-layout-views.d.ts +48 -0
  50. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +2 -2
  51. package/types/acorex-platform-framework-client-layout-widgets.d.ts +130 -80
  52. package/types/acorex-platform-framework-client-realtime.d.ts +39 -2
  53. package/types/acorex-platform-framework-client-runtime.d.ts +56 -5
  54. package/types/acorex-platform-framework-client-themes-default.d.ts +144 -14
  55. package/types/acorex-platform-framework-client-themes-shared.d.ts +36 -3
  56. package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CLm2BVk-.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BXOMs6oD.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-framework-client-layout-entity-bulk-entity.command-Cs3agnpF.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-C2Abf7Lb.mjs.map +0 -1
  60. package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-D2XPkc71.mjs.map +0 -1
@@ -1,32 +1,33 @@
1
1
  import * as _acorex_platform_framework_shared_entity from '@acorex-platform/framework-shared/entity';
2
- import { AXPRelatedEntity, AXPEntityPage, AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityProperty, AXPEntityTableColumn, AXPCardField, AXPEntityPropertyLayoutConfig, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPQueryView, AXPEntityMasterListLayoutType, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityListFilterDefinition, AXPEntityListSortableField, AXPEntityPropertyView, AXPEntityUpdateDto, AXPEntityCreateDto, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityAggregateRequest, AXPEntityAggregateOptions, AXPEntityAggregateResult, AXPEntityDetailDto, AXPEntityListItemDto, AXPEntityModel, AXPEntityCategoryPlugin, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPLookupDisplayOptions, AXPEntitySelectorColumnInput, AXPLookupWidgetLookType, AXPLookupSelectorRowActionsConfig, AXPQueryFilter, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy } from '@acorex-platform/framework-shared/entity';
2
+ import { AXPEntityProperty, AXPCardField, AXPEntityCommandScope, AXPEntity, AXPEntityAction, AXPEntityTableColumn, AXPEntityCardLayout, AXPCardBadgeColor, AXPRelatedEntity, AXPEntityPage, AXPEntityMasterListLayoutType, AXPEntityMasterListLayoutOption, AXPEntityMasterListDisplayMode, AXPEntityPropertyLayoutConfig, AXPEntitySectionView, AXPEntityPropertyCreateView, AXPQueryView, AXPEntityListFilterDefinition, AXPEntityListSortableField, AXPEntityPropertyView, AXPEntityUpdateDto, AXPEntityCreateDto, AXPEntityQueryAllOptions, AXPEntityQueryAllResult, AXPEntityAggregateRequest, AXPEntityAggregateOptions, AXPEntityAggregateResult, AXPEntityDetailDto, AXPEntityListItemDto, AXPEntityModel, AXPEntityCategoryPlugin, AXPEntityPropertyGroup, AXPEntityMasterCreateLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityMasterSingleLayoutView, AXPEntityMasterListView, AXPEntityDetailListView, AXPLookupDisplayOptions, AXPEntitySelectorColumnInput, AXPLookupWidgetLookType, AXPLookupColumnResolveOptions, AXPLookupColumnResolveStrategy } from '@acorex-platform/framework-shared/entity';
3
3
  export * from '@acorex-platform/framework-shared/entity';
4
4
  export { collectNestedCreateHiddenProperties, entityDetailsCreateActions, entityDetailsCreateActionsDeferredParent, entityDetailsCrudActions, entityDetailsEditAction, entityDetailsNewEditAction, entityDetailsReferenceCondition, entityDetailsReferenceCreateActions, entityDetailsSimpleCondition, entityMasterBulkDeleteAction, entityMasterCreateAction, entityMasterCrudActions, entityMasterDeleteAction, entityMasterEditAction, entityMasterRecordActions, entityMasterViewAction, entityOverrideDetailsViewAction, mergeForeignKeyFieldIntoCreateActions } from '@acorex-platform/framework-shared/entity';
5
5
  import { AXPCommand, AXPEntityActionCommandInput, AXPCommandExecuteResultPromise, AXPQuery, AXPQueryFetchResultPromise, AXPBulkCommandResultData } from '@acorex-platform/framework-shared/runtime';
6
6
  import * as _angular_core from '@angular/core';
7
- import { OnInit, OnDestroy, ElementRef, InjectionToken, Injector, EnvironmentInjector, Type, EnvironmentProviders, ChangeDetectorRef, Provider } from '@angular/core';
7
+ import { OnInit, OnDestroy, ElementRef, InjectionToken, WritableSignal, Injector, EnvironmentInjector, Type, EnvironmentProviders, ChangeDetectorRef, TemplateRef, Provider } from '@angular/core';
8
8
  import * as _acorex_platform_framework_shared_core from '@acorex-platform/framework-shared/core';
9
- import { AXPFileListItem, AXPMultiLanguageString, AXPMetaData, AXPWidgetNode, AXPGridLayoutOptions, AXPExpression, AXPFilterQuery, AXPBreadcrumbItem, AXPExecuteCommand, AXPQueryRequest, AXPPagedListResult, AXPEntityOp, AXPMiddlewareErrorResponse, AXPCategoryEntity, AXPFilterDefinition, AXPRuntimeCommandResult, AXPColumnQuery, AXPSortDefinition, AXPActionMenuItem, AXPContextData, AXPContextChangeEvent } from '@acorex-platform/framework-shared/core';
9
+ import { AXPFileListItem, AXPMultiLanguageString, AXPMetaData, AXPExpressionEvaluatorScope, AXPGridLayoutOptions, AXPWidgetNode, AXPFilterQuery, AXPBreadcrumbItem, AXPExecuteCommand, AXPExpression, AXPQueryRequest, AXPPagedListResult, AXPEntityOp, AXPMiddlewareErrorResponse, AXPCategoryEntity, AXPFilterDefinition, AXPRuntimeCommandResult, AXPColumnQuery, AXPSortDefinition, AXPActionMenuItem, AXPContextData, AXPContextChangeEvent } from '@acorex-platform/framework-shared/core';
10
10
  import { AXPWidgetConfig, AXPWidgetColumnNode } from '@acorex-platform/framework-shared/widget-core';
11
+ import { AXClickEvent, AXStyleColorType, AXValueChangedEvent, AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption, AXFocusEvent, AXHtmlEvent, NXValueComponent, AXItemSelectedEvent } from '@acorex/cdk/common';
12
+ import { AXPContextEvalFactory, AXPExpressionEvaluatorService, AXPHookService, AXHighlightService, AXPEntityBroadcastService, AXPDeviceService, AXPContextStore } from '@acorex-platform/framework-client/core';
13
+ import * as _acorex_core_translation from '@acorex/core/translation';
14
+ import { AXTranslationService } from '@acorex/core/translation';
11
15
  import * as _acorex_platform_framework_client_layout_components from '@acorex-platform/framework-client/layout/components';
12
16
  import { AXPFileChooserContext, AXPPreloadFiltersApplyEvent, AXPColumnItemListItem, AXPDataSelectorRowActionsHandler, AXPCategoryTreeDataSource, AXPDataSelectorAllowCreate, AXPDataSelectorFooterPrefixAction } from '@acorex-platform/framework-client/layout/components';
13
17
  import { AXPPageLayoutBaseComponent } from '@acorex-platform/framework-client/layout/views';
14
18
  export { AXPEntityDefinitionCrudService, AXP_ENTITY_DEFINITION_CRUD_SERVICE } from '@acorex-platform/framework-client/domain';
15
- import { AXClickEvent, AXStyleColorType, AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption, AXValueChangedEvent, AXFocusEvent, AXHtmlEvent } from '@acorex/cdk/common';
16
- import { AXPHookService, AXHighlightService, AXPEntityBroadcastService, AXPDeviceService, AXPExpressionEvaluatorService, AXPContextEvalFactory, AXPContextStore } from '@acorex-platform/framework-client/core';
17
- import * as i5 from '@acorex-platform/framework-client/layout/widget-core';
19
+ import * as i4 from '@acorex-platform/framework-client/layout/widget-core';
18
20
  import { AXPColumnWidgetComponent, AXPValueWidgetComponent, AXPWidgetCoreElementAPI, AXPWidgetCoreService, AXPWidgetRendererDirective } from '@acorex-platform/framework-client/layout/widget-core';
19
- import * as i1 from '@angular/router';
20
21
  import { ParamMap, ResolveFn, RedirectCommand } from '@angular/router';
21
22
  import * as rxjs from 'rxjs';
22
23
  import { Subject } from 'rxjs';
23
- import * as i6 from '@acorex-platform/framework-client/layout/builder';
24
+ import * as i5 from '@acorex-platform/framework-client/layout/builder';
24
25
  import { IActionBuilder, AXPDialogRef, IFormFieldBuilder } from '@acorex-platform/framework-client/layout/builder';
25
26
  import { AXPSessionService } from '@acorex-platform/framework-client/auth';
26
27
  import { AXPQueryExecutor, AXPCommandService, AXPCommandMiddleware, AXPQueryMiddleware } from '@acorex-platform/framework-client/runtime';
27
28
  import { AXCFileUploaderCapabilities, AXPFileStorageService, AXPLocalEntityPolicy, AXPLocalEntityRelatedOption, AXPLocalEntityEngine } from '@acorex-platform/framework-client/common';
28
29
  export { commandMessageTextForError } from '@acorex-platform/framework-client/common';
29
- import { AXTreeViewNode, AXTreeViewComponent, AXTreeViewNodeSelectEvent } from '@acorex/components/tree-view';
30
+ import { AXTreeViewNode, AXTreeViewComponent, AXTreeViewNodeSelectEvent, AXTreeViewDataSource } from '@acorex/components/tree-view';
30
31
  import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
31
32
  import { AXBasePageComponent } from '@acorex/components/page';
32
33
  import { AXFormatService } from '@acorex/core/format';
@@ -34,8 +35,7 @@ import { AXTagBoxComponent } from '@acorex/components/tag-box';
34
35
  import { AXPProviderSelectWidgetEditBase, AXPDataListWidgetComponentOptions } from '@acorex-platform/framework-client/layout/widgets';
35
36
  import * as _acorex_platform_framework_client_layout_entity from '@acorex-platform/framework-client/layout/entity';
36
37
  import { AXPopoverComponent } from '@acorex/components/popover';
37
- import * as _acorex_core_translation from '@acorex/core/translation';
38
- import { AXTranslationService } from '@acorex/core/translation';
38
+ import { AXLookupItem, AXLookupComponent, AXLookupMode } from '@acorex/components/lookup';
39
39
 
40
40
  declare class AXPCreateEntityCommand implements AXPCommand<any, any> {
41
41
  private entityForm;
@@ -816,74 +816,267 @@ declare class AXPOpenEntityDetailsCommand implements AXPCommand<AXPOpenEntityDet
816
816
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPOpenEntityDetailsCommand>;
817
817
  }
818
818
 
819
- declare class AXPEntityDetailPopoverComponent {
820
- private readonly commandService;
821
- private readonly queryService;
822
- private readonly formatService;
819
+ declare class AXPEntityCommandTriggerViewModel {
820
+ priority: 'primary' | 'secondary' | 'none';
821
+ order: number;
822
+ color: AXStyleColorType;
823
+ icon: string;
824
+ title: string;
825
+ name: string;
826
+ key?: string;
827
+ separated: boolean;
828
+ scope: AXPEntityCommandScope;
829
+ disabled: boolean | string;
830
+ hidden: boolean | string;
831
+ options: any;
832
+ metadata?: AXPMetaData;
833
+ default?: boolean;
834
+ shortcuts?: string[];
835
+ items?: AXPEntityCommandTriggerViewModel[];
836
+ isChild?: boolean;
837
+ constructor(entity: AXPEntity, action: AXPEntityAction, isChild?: boolean);
838
+ /** Stable trigger id for command lookup and list tracking when {@link AXPEntityAction.name} is omitted. */
839
+ private static buildTriggerName;
840
+ }
841
+ declare class AXPEntityListViewColumnViewModel {
842
+ readonly property: AXPEntityProperty;
843
+ readonly column: AXPEntityTableColumn;
844
+ constructor(property: AXPEntityProperty, column: AXPEntityTableColumn);
845
+ name: string;
846
+ title: string;
847
+ visible: string | boolean;
848
+ sortEnabled: boolean | undefined;
849
+ width: string | undefined;
850
+ node: _angular_core.Signal<AXPWidgetColumnNode>;
851
+ }
852
+ declare class AXPEntityListViewCardFieldViewModel {
853
+ readonly property: AXPEntityProperty;
854
+ readonly field: AXPCardField;
855
+ constructor(property: AXPEntityProperty, field: AXPCardField);
856
+ name: string;
857
+ title: string;
858
+ visible: string | boolean;
859
+ layout: _acorex_platform_framework_shared_entity.AXPEntityPropertyLayoutConfig | undefined;
860
+ display: string;
861
+ isBadgeDisplay: boolean;
862
+ isMetaDisplay: boolean;
863
+ isSimpleDisplay: boolean;
864
+ isMoreDisplay: boolean;
865
+ badgeColor: string | undefined;
866
+ isStatusWidget: boolean;
867
+ node: _angular_core.Signal<AXPWidgetColumnNode>;
868
+ /** Readonly column node for status fields shown as header badges. */
869
+ headerBadgeNode: _angular_core.Signal<AXPWidgetColumnNode>;
870
+ }
871
+
872
+ declare class AXPEntityCardFieldsResolver {
873
+ private readonly widgetResolver;
874
+ private readonly entityDefinitionRegistry;
875
+ resolve(entity: AXPEntity, layout?: AXPEntityCardLayout): AXPEntityListViewCardFieldViewModel[];
876
+ private resolveCardField;
877
+ private mergeDisplayFieldWithColumn;
878
+ private resolveDisplayFieldProperty;
879
+ private buildVirtualDisplayProperty;
880
+ private resolveMergeDetailProperty;
881
+ private normalizeRelatedColumnNames;
882
+ private findRelatedEntityForField;
883
+ private getRegisteredEntity;
884
+ private resolveRelatedEntityProperty;
885
+ private resolveRelatedEntityColumnDataPath;
886
+ private deriveDataPathFromLookupProperty;
887
+ private resolveParentDataPathForRelatedField;
888
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCardFieldsResolver, never>;
889
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityCardFieldsResolver>;
890
+ }
891
+
892
+ declare function createEntityCardDisplayScope(contextEvalFactory: AXPContextEvalFactory, data: unknown): AXPExpressionEvaluatorScope;
893
+ declare function createEntityCardLogicScope(data: unknown): AXPExpressionEvaluatorScope;
894
+ declare function normalizeEntityCardHeaderDisplayValue(value: unknown, translation: AXTranslationService): AXPMultiLanguageString;
895
+ declare function resolveEntityCardHeaderValue(value: string | undefined, rowData: unknown, expressionEvaluator: AXPExpressionEvaluatorService, contextEvalFactory: AXPContextEvalFactory, translation: AXTranslationService): Promise<AXPMultiLanguageString>;
896
+ declare function resolveEntityCardBadgeColorValue(color: AXPCardBadgeColor | undefined, rowData: unknown, expressionEvaluator: AXPExpressionEvaluatorService): Promise<AXStyleColorType>;
897
+
898
+ declare class AXPEntityCardSkeletonComponent {
899
+ fieldCount: _angular_core.InputSignal<number>;
900
+ badgeCount: _angular_core.InputSignal<number>;
901
+ showFooter: _angular_core.InputSignal<boolean>;
902
+ showHeaderMenu: _angular_core.InputSignal<boolean>;
903
+ showContent: _angular_core.InputSignal<boolean>;
904
+ rowLayout: _angular_core.InputSignal<boolean>;
905
+ showAvatar: _angular_core.InputSignal<boolean>;
906
+ fillHost: _angular_core.InputSignal<boolean>;
907
+ embedded: _angular_core.InputSignal<boolean>;
908
+ elevated: _angular_core.InputSignal<boolean>;
909
+ protected fieldPlaceholders: _angular_core.Signal<number[]>;
910
+ protected badgePlaceholders: _angular_core.Signal<number[]>;
911
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCardSkeletonComponent, never>;
912
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCardSkeletonComponent, "axp-entity-card-skeleton", never, { "fieldCount": { "alias": "fieldCount"; "required": false; "isSignal": true; }; "badgeCount": { "alias": "badgeCount"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "showHeaderMenu": { "alias": "showHeaderMenu"; "required": false; "isSignal": true; }; "showContent": { "alias": "showContent"; "required": false; "isSignal": true; }; "rowLayout": { "alias": "rowLayout"; "required": false; "isSignal": true; }; "showAvatar": { "alias": "showAvatar"; "required": false; "isSignal": true; }; "fillHost": { "alias": "fillHost"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "elevated": { "alias": "elevated"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
913
+ }
914
+
915
+ /** How the entity card is framed in the host. */
916
+ type AXPEntityCardVariant = 'card' | 'row' | 'compact';
917
+ /** Overflow / secondary action shown in the card header menu. */
918
+ interface AXPEntityCardSecondaryActionItem {
919
+ name: string;
920
+ title: string;
921
+ icon?: string;
922
+ color?: AXStyleColorType | string;
923
+ disabled?: boolean | string;
924
+ divided?: boolean;
925
+ isCardSelect?: boolean;
926
+ }
927
+ /** Built-in card action that toggles multi-select on list hosts. */
928
+ declare const AXPEntityCardSelectActionName = "axp-entity-card:select";
929
+
930
+ declare class AXPEntityCardComponent {
823
931
  private readonly translation;
932
+ private readonly fileStorage;
933
+ private readonly widgetRegistry;
934
+ private readonly entityRegistry;
824
935
  private readonly expressionEvaluator;
825
936
  private readonly contextEvalFactory;
826
- private readonly changeDetectorRef;
937
+ entity: _angular_core.InputSignal<AXPEntity>;
938
+ layout: _angular_core.InputSignal<AXPEntityCardLayout | undefined>;
939
+ row: _angular_core.InputSignal<Record<string, unknown>>;
940
+ fields: _angular_core.InputSignal<AXPEntityListViewCardFieldViewModel[]>;
941
+ variant: _angular_core.InputSignal<AXPEntityCardVariant>;
942
+ interactive: _angular_core.InputSignal<boolean>;
943
+ embedded: _angular_core.InputSignal<boolean>;
944
+ /** Stronger chrome when the card floats over other cards (entity detail popover). */
945
+ elevated: _angular_core.InputSignal<boolean>;
946
+ /**
947
+ * When true, lookup / category column widgets do not open a nested entity popover.
948
+ * Uses the existing lookup `popover.enabled` and category `disableDetailPopover` options.
949
+ */
950
+ disableLookupPopover: _angular_core.InputSignal<boolean>;
951
+ fillHost: _angular_core.InputSignal<boolean>;
952
+ /** When bound by a list, More/Less can be synced across a visual row. */
953
+ extraExpanded: _angular_core.ModelSignal<boolean>;
954
+ selected: _angular_core.InputSignal<boolean>;
955
+ showNewBadge: _angular_core.InputSignal<boolean>;
956
+ showSelection: _angular_core.InputSignal<boolean>;
957
+ /** Header dismiss control for floating hosts such as the lookup detail popover. */
958
+ showClose: _angular_core.InputSignal<boolean>;
959
+ primaryActions: _angular_core.InputSignal<AXPEntityCommandTriggerViewModel[]>;
960
+ primaryActionLook: _angular_core.InputSignal<"solid" | "outline" | "blank">;
961
+ secondaryActionLoader: _angular_core.InputSignal<((row: Record<string, unknown>) => Promise<AXPEntityCardSecondaryActionItem[]>) | undefined>;
962
+ selectionChange: _angular_core.OutputEmitterRef<boolean>;
963
+ commandClick: _angular_core.OutputEmitterRef<string>;
964
+ closeClick: _angular_core.OutputEmitterRef<void>;
965
+ protected badgeColorByField: _angular_core.WritableSignal<Record<string, AXStyleColorType>>;
966
+ protected titleText: _angular_core.WritableSignal<AXPMultiLanguageString>;
967
+ protected descriptionText: _angular_core.WritableSignal<AXPMultiLanguageString>;
968
+ protected iconClass: _angular_core.WritableSignal<string | null>;
969
+ protected avatarSrc: _angular_core.WritableSignal<string>;
970
+ protected secondaryActions: _angular_core.WritableSignal<AXPEntityCardSecondaryActionItem[]>;
971
+ protected recordStylingClass: _angular_core.WritableSignal<string | undefined>;
972
+ protected fieldStylingClassByName: _angular_core.WritableSignal<Record<string, string>>;
973
+ protected header: _angular_core.Signal<_acorex_platform_framework_shared_entity.AXPEntityCardHeader | undefined>;
974
+ protected isRowLayout: _angular_core.Signal<boolean>;
975
+ protected avatarPath: _angular_core.Signal<string | undefined>;
976
+ protected identityKind: _angular_core.Signal<_acorex_platform_framework_shared_entity.AXPEntityCardIdentityKind>;
977
+ protected showUserAvatar: _angular_core.Signal<boolean>;
978
+ protected showIdentityImage: _angular_core.Signal<boolean>;
979
+ protected identityQrField: _angular_core.Signal<AXPEntityListViewCardFieldViewModel | undefined>;
980
+ protected avatarSize: _angular_core.Signal<40 | 48>;
981
+ protected userAvatarId: _angular_core.Signal<string>;
982
+ protected headerBadgeFields: _angular_core.Signal<AXPEntityListViewCardFieldViewModel[]>;
983
+ protected headerTitleColumnName: _angular_core.Signal<string | undefined>;
984
+ protected allFactFields: _angular_core.Signal<AXPEntityListViewCardFieldViewModel[]>;
985
+ protected headerMetaFields: _angular_core.Signal<AXPEntityListViewCardFieldViewModel[]>;
986
+ protected factPartition: _angular_core.Signal<{
987
+ preview: AXPEntityListViewCardFieldViewModel[];
988
+ extra: AXPEntityListViewCardFieldViewModel[];
989
+ }>;
990
+ protected previewFields: _angular_core.Signal<AXPEntityListViewCardFieldViewModel[]>;
991
+ protected extraFields: _angular_core.Signal<AXPEntityListViewCardFieldViewModel[]>;
992
+ protected canShowMore: _angular_core.Signal<boolean>;
993
+ protected hasLabeledBody: _angular_core.Signal<boolean>;
994
+ protected hasCardBody: _angular_core.Signal<boolean>;
995
+ protected hasCardFooter: _angular_core.Signal<boolean>;
996
+ protected showInlineMore: _angular_core.Signal<boolean>;
997
+ protected showFooterMore: _angular_core.Signal<boolean>;
998
+ protected hasIdentityActions: _angular_core.Signal<boolean>;
999
+ /** Stable column nodes. Template must not allocate new node objects each CD (crashes widget-column-cell). */
1000
+ protected readonly columnNodes: _angular_core.Signal<Record<string, {
1001
+ node: AXPWidgetColumnNode;
1002
+ headerBadgeNode: AXPWidgetColumnNode;
1003
+ }>>;
1004
+ constructor();
1005
+ protected onCardClick(event: MouseEvent): void;
1006
+ protected onCardDblClick(event: MouseEvent): void;
1007
+ protected onCardKeydown(event: KeyboardEvent): void;
1008
+ protected onPrimaryActionClick(actionName: string, event: AXClickEvent): void;
1009
+ protected onSecondaryActionClick(item: AXPEntityCardSecondaryActionItem, event: AXClickEvent): void;
1010
+ protected onSelectionCheckboxChange(event: AXValueChangedEvent<boolean>): void;
1011
+ protected onSelectionCheckboxClick(event: MouseEvent): void;
1012
+ protected stopClickPropagation(event: AXClickEvent): void;
1013
+ protected onCloseClick(event: AXClickEvent): void;
1014
+ protected onToggleExtra(event: MouseEvent): void;
1015
+ protected fieldStylingClass(name: string): string | undefined;
1016
+ protected isStatusBadgeField(field: AXPEntityListViewCardFieldViewModel): boolean;
1017
+ protected resolveBadgeText(field: AXPEntityListViewCardFieldViewModel): string;
1018
+ protected resolveBadgeColor(field: AXPEntityListViewCardFieldViewModel): AXStyleColorType;
1019
+ protected isUnlabeledHeaderField(field: AXPEntityListViewCardFieldViewModel): boolean;
1020
+ protected resolveFieldIcon(field: AXPEntityListViewCardFieldViewModel): string | undefined;
1021
+ protected fieldColumnNode(field: AXPEntityListViewCardFieldViewModel): AXPWidgetColumnNode;
1022
+ protected fieldHeaderBadgeNode(field: AXPEntityListViewCardFieldViewModel): AXPWidgetColumnNode;
1023
+ protected isQrIdentityField(field: AXPEntityListViewCardFieldViewModel): boolean;
1024
+ protected hasMetaValue(field: AXPEntityListViewCardFieldViewModel): boolean;
1025
+ protected toDisplayName(value: AXPMultiLanguageString): string;
1026
+ private resolveStylingClasses;
1027
+ private withLookupPopoverDisabled;
1028
+ private partitionFactFields;
1029
+ private resolveContactTypeIcon;
1030
+ private hasRowValue;
1031
+ private loadSecondaryActions;
1032
+ private resolveBadgeColors;
1033
+ private resolveHeaderFields;
1034
+ private resolveIdentityQrField;
1035
+ private resolveAvatarPath;
1036
+ private resolveAvatarSrc;
1037
+ private toIconString;
1038
+ private toIconClass;
1039
+ private runDefaultAction;
1040
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityCardComponent, never>;
1041
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityCardComponent, "axp-entity-card", never, { "entity": { "alias": "entity"; "required": true; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "row": { "alias": "row"; "required": true; "isSignal": true; }; "fields": { "alias": "fields"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "elevated": { "alias": "elevated"; "required": false; "isSignal": true; }; "disableLookupPopover": { "alias": "disableLookupPopover"; "required": false; "isSignal": true; }; "fillHost": { "alias": "fillHost"; "required": false; "isSignal": true; }; "extraExpanded": { "alias": "extraExpanded"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "showNewBadge": { "alias": "showNewBadge"; "required": false; "isSignal": true; }; "showSelection": { "alias": "showSelection"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "primaryActions": { "alias": "primaryActions"; "required": false; "isSignal": true; }; "primaryActionLook": { "alias": "primaryActionLook"; "required": false; "isSignal": true; }; "secondaryActionLoader": { "alias": "secondaryActionLoader"; "required": false; "isSignal": true; }; }, { "extraExpanded": "extraExpandedChange"; "selectionChange": "selectionChange"; "commandClick": "commandClick"; "closeClick": "closeClick"; }, never, never, true, never>;
1042
+ }
1043
+
1044
+ declare class AXPEntityDetailPopoverComponent {
1045
+ private readonly commandService;
1046
+ private readonly queryService;
1047
+ private readonly cardFieldsResolver;
827
1048
  entity: _angular_core.InputSignal<string>;
828
1049
  entityId: _angular_core.InputSignal<string | number>;
829
- textField: _angular_core.InputSignal<string>;
830
- valueField: _angular_core.InputSignal<string>;
831
- displayTitle: _angular_core.InputSignal<string>;
832
- item: _angular_core.InputSignal<AXPMetaData | undefined>;
833
- breadcrumb: _angular_core.InputSignal<string | null>;
834
1050
  requestClose: _angular_core.InputSignal<(() => void) | undefined>;
835
- protected entityDetails: _angular_core.WritableSignal<any>;
1051
+ breadcrumb: _angular_core.InputSignal<string | null>;
1052
+ protected entityDefinition: _angular_core.WritableSignal<AXPEntity | null>;
1053
+ protected entityData: _angular_core.WritableSignal<Record<string, unknown> | null>;
836
1054
  protected isLoadingDetails: _angular_core.WritableSignal<boolean>;
837
- private headerTitleVersion;
838
- /** Placeholder rows for the loading skeleton (matches typical property count). */
839
- protected readonly loadingSkeletonRows: readonly [1, 2, 3, 4, 5];
840
- protected readonly headerTitle: _angular_core.WritableSignal<string>;
841
- constructor();
842
- /**
843
- * Stable list of property widgets for the template. Must be a signal (computed), not a method:
844
- * calling a method from the template rebuilds nodes every CD cycle and can make the widget renderer loop.
845
- */
846
- protected readonly entityPropertiesWithWidgets: _angular_core.Signal<{
847
- name: string;
848
- title: string;
849
- node: AXPWidgetNode;
850
- }[]>;
851
- /** Loads entity details after the overlay panel is created. */
1055
+ protected readonly cardLayout: _angular_core.Signal<AXPEntityCardLayout | undefined>;
1056
+ protected readonly cardFields: _angular_core.Signal<AXPEntityListViewCardFieldViewModel[]>;
1057
+ protected readonly showSkeletonAvatar: _angular_core.Signal<boolean>;
1058
+ protected readonly skeletonFieldCount: _angular_core.Signal<number>;
1059
+ protected readonly skeletonBadgeCount: _angular_core.Signal<number>;
1060
+ protected readonly canClose: _angular_core.Signal<boolean>;
1061
+ /** Same footer slot the master-list card uses for primary row actions. */
1062
+ protected readonly openDetailsActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
1063
+ protected onCardCommandClick(actionName: string): void;
1064
+ protected onClose(): void;
852
1065
  loadDetails(): Promise<void>;
853
1066
  protected navigateToDetails(): Promise<void>;
854
- private resolveHeaderTitle;
855
- private resolveLookupDisplayLabelAsync;
856
- /**
857
- * Returns true if a value is meaningful for display (non-empty/non-null).
858
- */
859
- private hasMeaningfulValue;
860
- /**
861
- * Calculates an importance score for a property based on its widget type,
862
- * whether it currently has a meaningful value, and metadata like title.
863
- */
864
- private getPropertyImportanceScore;
865
- /**
866
- * Calculates a name-based importance score to prioritize common key fields
867
- * like title, description, status, and important dates.
868
- * Name priority MUST come before widget-type priority.
869
- */
870
- private getNameImportanceScore;
871
- private buildEntityPropertiesWithWidgets;
872
- /**
873
- * Resolves the data path for a property. For lookups with expose, returns the expanded path
874
- * when data has it (e.g. personTitle). Otherwise returns property name (e.g. personTitleId).
875
- */
876
- private resolveDataPath;
877
1067
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDetailPopoverComponent, never>;
878
- 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; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "displayTitle": { "alias": "displayTitle"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; "isSignal": true; }; "requestClose": { "alias": "requestClose"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1068
+ 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>;
879
1069
  }
880
1070
 
881
1071
  interface AXPEntityDetailPopoverOptions {
882
1072
  entity: string;
883
1073
  id: string | number;
884
1074
  item: AXPMetaData;
1075
+ /** @deprecated Unused; the shared entity card resolves the title from the card layout. */
885
1076
  textField?: string;
1077
+ /** @deprecated Unused; the shared entity card uses the loaded row id. */
886
1078
  valueField?: string;
1079
+ /** @deprecated Unused; the shared entity card resolves the title from the card layout. */
887
1080
  displayTitle?: string;
888
1081
  breadcrumb?: string;
889
1082
  }
@@ -907,6 +1100,8 @@ declare class AXPEntityDetailPopoverService {
907
1100
  hide(): void;
908
1101
  /** Whether a popover is currently active */
909
1102
  get isActive(): boolean;
1103
+ /** Overlay pane keeps its own border/shadow; strip it so only the entity card has chrome. */
1104
+ private clearOverlayChrome;
910
1105
  private resolveAnchorElement;
911
1106
  /** Mirror popover placement for RTL so the panel aligns with the anchor's inline-start edge. */
912
1107
  private resolveOverlayPlacement;
@@ -997,55 +1192,57 @@ declare class AXPDataSeederService {
997
1192
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDataSeederService>;
998
1193
  }
999
1194
 
1000
- declare class AXPEntityCommandTriggerViewModel {
1001
- priority: 'primary' | 'secondary' | 'none';
1002
- order: number;
1003
- color: AXStyleColorType;
1004
- icon: string;
1005
- title: string;
1006
- name: string;
1007
- key?: string;
1008
- separated: boolean;
1009
- scope: AXPEntityCommandScope;
1010
- disabled: boolean | string;
1011
- hidden: boolean | string;
1012
- options: any;
1013
- metadata?: AXPMetaData;
1014
- default?: boolean;
1015
- shortcuts?: string[];
1016
- items?: AXPEntityCommandTriggerViewModel[];
1017
- isChild?: boolean;
1018
- constructor(entity: AXPEntity, action: AXPEntityAction, isChild?: boolean);
1019
- /** Stable trigger id for command lookup and list tracking when {@link AXPEntityAction.name} is omitted. */
1020
- private static buildTriggerName;
1195
+ interface AXPEntityListPagingState {
1196
+ take: number;
1197
+ skip: number;
1021
1198
  }
1022
- declare class AXPEntityListViewColumnViewModel {
1023
- readonly property: AXPEntityProperty;
1024
- readonly column: AXPEntityTableColumn;
1025
- constructor(property: AXPEntityProperty, column: AXPEntityTableColumn);
1026
- name: string;
1027
- title: string;
1028
- visible: string | boolean;
1029
- sortEnabled: boolean | undefined;
1030
- width: string | undefined;
1031
- node: _angular_core.Signal<AXPWidgetColumnNode>;
1199
+ /** Default take used when loading hierarchical children via data-table expand. */
1200
+ declare const TREE_CHILDREN_QUERY_TAKE = 1000;
1201
+ /**
1202
+ * AXDataSource.getItemsByFilter reuses the current grid page skip/take.
1203
+ * When data-table expands a hierarchical row it sends a direct parentKey=equal filter;
1204
+ * reset paging so children are not clipped by the parent grid page.
1205
+ */
1206
+ declare function resetPagingForTreeChildrenLoad(request: {
1207
+ skip?: number;
1208
+ take?: number;
1209
+ filter?: AXDataSourceFilterOption | null;
1210
+ }, parentKey: string | undefined | null, take?: number): void;
1211
+ /**
1212
+ * Returns true when the filter tree already constrains `parentKey`
1213
+ * (root `isEmpty`, children `equal`, or nested equivalents).
1214
+ */
1215
+ declare function filterTouchesParentKey(filter: AXDataSourceFilterOption, parentKey: string): boolean;
1216
+ /**
1217
+ * Ensures hierarchical root loads keep `parentKey isEmpty` while preserving custom filters.
1218
+ * Call this in lookup/list loaders before query so storage does not replace custom filters.
1219
+ * Skips when the request already targets `parentKey` (e.g. children expand).
1220
+ */
1221
+ declare function ensureHierarchicalRootFilter(filter: AXDataSourceFilterOption | null | undefined, parentKey: string | undefined | null): AXDataSourceFilterOption | undefined;
1222
+ /**
1223
+ * Applies take/skip to the data source without triggering {@link AXDataSource.load}.
1224
+ */
1225
+ declare function applyDataSourcePagingWithoutLoad(dataSource: AXDataSource, paging: AXPEntityListPagingState): void;
1226
+ declare function getDataSourcePageIndex(dataSource: AXDataSource): number;
1227
+ declare function normalizeListPaging(paging: Partial<AXPEntityListPagingState> | undefined, defaultTake: number): AXPEntityListPagingState;
1228
+
1229
+ /** Shared contract for master and detail lists that host the identity-card grid. */
1230
+ interface AXPEntityCardListHost {
1231
+ readonly entityDef: AXPEntity;
1232
+ readonly dataSource: AXDataSource;
1233
+ readonly selectedItems: WritableSignal<any[]>;
1234
+ cardLayout(): AXPEntityCardLayout | undefined;
1235
+ cardFields(): AXPEntityListViewCardFieldViewModel[];
1236
+ activeListLayout(): AXPEntityMasterListLayoutType;
1237
+ primaryRowActions(): AXPEntityCommandTriggerViewModel[];
1238
+ cardSecondaryRowActions(row: Record<string, unknown>): Promise<AXPEntityCardSecondaryActionItem[]>;
1239
+ getResolvedListPaging(): AXPEntityListPagingState;
1240
+ executeCommand(name: string, row?: Record<string, unknown> | null): Promise<void> | void;
1032
1241
  }
1033
- declare class AXPEntityListViewCardFieldViewModel {
1034
- readonly property: AXPEntityProperty;
1035
- readonly field: AXPCardField;
1036
- constructor(property: AXPEntityProperty, field: AXPCardField);
1037
- name: string;
1242
+ declare const ENTITY_LIST_LAYOUT_META: Record<AXPEntityMasterListLayoutType, {
1038
1243
  title: string;
1039
- visible: string | boolean;
1040
- layout: _acorex_platform_framework_shared_entity.AXPEntityPropertyLayoutConfig | undefined;
1041
- display: string;
1042
- isBadgeDisplay: boolean;
1043
- badgeColor: string | undefined;
1044
- isStatusWidget: boolean;
1045
- node: _angular_core.Signal<AXPWidgetColumnNode>;
1046
- /** Readonly column node for status fields shown as header badges. */
1047
- headerBadgeNode: _angular_core.Signal<AXPWidgetColumnNode>;
1048
- }
1244
+ icon: string;
1245
+ }>;
1049
1246
 
1050
1247
  declare class AXPEntityDetailListViewModel {
1051
1248
  private injector;
@@ -1058,6 +1255,7 @@ declare class AXPEntityDetailListViewModel {
1058
1255
  private expressionEvaluator;
1059
1256
  private queryExecutor;
1060
1257
  private readonly settingsService;
1258
+ private readonly cardFieldsResolver;
1061
1259
  private readonly destroyed;
1062
1260
  private readonly showRowIndexColumnEnabled;
1063
1261
  private lastAppliedFilterKey;
@@ -1072,6 +1270,7 @@ declare class AXPEntityDetailListViewModel {
1072
1270
  private syncShowRowIndexColumnSetting;
1073
1271
  destroy(): void;
1074
1272
  initialize(): Promise<void>;
1273
+ get entityDef(): AXPEntity;
1075
1274
  selectedItems: _angular_core.WritableSignal<any[]>;
1076
1275
  hasSelectedItems: _angular_core.Signal<boolean>;
1077
1276
  clearSelection(): void;
@@ -1085,6 +1284,20 @@ declare class AXPEntityDetailListViewModel {
1085
1284
  secondaryActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
1086
1285
  primaryRowActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
1087
1286
  secondaryRowActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
1287
+ enabledListLayouts: _angular_core.Signal<AXPEntityMasterListLayoutType[]>;
1288
+ canSwitchListLayout: _angular_core.Signal<boolean>;
1289
+ activeListLayout: _angular_core.WritableSignal<AXPEntityMasterListLayoutType>;
1290
+ cardLayout: _angular_core.Signal<_acorex_platform_framework_shared_entity.AXPEntityCardLayout | undefined>;
1291
+ listDisplayMode: _angular_core.Signal<AXPEntityMasterListLayoutType>;
1292
+ isCardHostLayout: _angular_core.Signal<boolean>;
1293
+ cardFields: _angular_core.WritableSignal<AXPEntityListViewCardFieldViewModel[]>;
1294
+ availableListLayouts: _angular_core.Signal<AXPEntityMasterListLayoutOption[]>;
1295
+ setListDisplayMode(mode: AXPEntityMasterListDisplayMode): void;
1296
+ setListLayout(layout: AXPEntityMasterListLayoutType): void;
1297
+ getResolvedListPaging(): AXPEntityListPagingState;
1298
+ cardSecondaryRowActions(_rowData: Record<string, unknown>): Promise<AXPEntityCardSecondaryActionItem[]>;
1299
+ private resolveActiveListLayout;
1300
+ private applyGlobalListDisplayMode;
1088
1301
  private inlineFilters;
1089
1302
  applyInlineFilter(value: string): void;
1090
1303
  applyFilterAndSort(): Promise<void>;
@@ -1164,41 +1377,9 @@ declare function restoreEntityListExpandedRows(options: {
1164
1377
  expandRow: (row: AXPEntityListExpandRowRef) => Promise<void>;
1165
1378
  }): Promise<void>;
1166
1379
 
1167
- interface AXPEntityListPagingState {
1168
- take: number;
1169
- skip: number;
1170
- }
1171
- /** Default take used when loading hierarchical children via data-table expand. */
1172
- declare const TREE_CHILDREN_QUERY_TAKE = 1000;
1173
- /**
1174
- * AXDataSource.getItemsByFilter reuses the current grid page skip/take.
1175
- * When data-table expands a hierarchical row it sends a direct parentKey=equal filter;
1176
- * reset paging so children are not clipped by the parent grid page.
1380
+ /** How entity list UI state (columns, filters, paging, etc.) is persisted for the user.
1381
+ * List display (table / cards) is a separate user-level setting and is not included.
1177
1382
  */
1178
- declare function resetPagingForTreeChildrenLoad(request: {
1179
- skip?: number;
1180
- take?: number;
1181
- filter?: AXDataSourceFilterOption | null;
1182
- }, parentKey: string | undefined | null, take?: number): void;
1183
- /**
1184
- * Returns true when the filter tree already constrains `parentKey`
1185
- * (root `isEmpty`, children `equal`, or nested equivalents).
1186
- */
1187
- declare function filterTouchesParentKey(filter: AXDataSourceFilterOption, parentKey: string): boolean;
1188
- /**
1189
- * Ensures hierarchical root loads keep `parentKey isEmpty` while preserving custom filters.
1190
- * Call this in lookup/list loaders before query so storage does not replace custom filters.
1191
- * Skips when the request already targets `parentKey` (e.g. children expand).
1192
- */
1193
- declare function ensureHierarchicalRootFilter(filter: AXDataSourceFilterOption | null | undefined, parentKey: string | undefined | null): AXDataSourceFilterOption | undefined;
1194
- /**
1195
- * Applies take/skip to the data source without triggering {@link AXDataSource.load}.
1196
- */
1197
- declare function applyDataSourcePagingWithoutLoad(dataSource: AXDataSource, paging: AXPEntityListPagingState): void;
1198
- declare function getDataSourcePageIndex(dataSource: AXDataSource): number;
1199
- declare function normalizeListPaging(paging: Partial<AXPEntityListPagingState> | undefined, defaultTake: number): AXPEntityListPagingState;
1200
-
1201
- /** How entity list UI state (columns, filters, paging, etc.) is persisted for the user. */
1202
1383
  type AXPEntityListPersistenceMode = 'none' | 'persistent' | 'route';
1203
1384
  declare const AXPEntityListPersistenceModeDefault: AXPEntityListPersistenceMode;
1204
1385
  declare function normalizeEntityListPersistenceMode(value: unknown): AXPEntityListPersistenceMode;
@@ -1279,17 +1460,10 @@ interface AXPEntityMasterListViewSortPropViewModel {
1279
1460
  title: string;
1280
1461
  dir?: string;
1281
1462
  }
1282
- /** Built-in card list row action that toggles multi-select mode via {@link AXPEntityMasterListViewModel.selectedItems}. */
1463
+ /** @deprecated Use {@link AXPEntityCardSelectActionName}. */
1283
1464
  declare const AXPEntityMasterListCardSelectActionName = "axp-entity-card:select";
1284
- interface AXPEntityMasterListCardSecondaryActionItem {
1285
- name: string;
1286
- title: string;
1287
- icon?: string;
1288
- color?: string;
1289
- disabled?: boolean | string;
1290
- divided?: boolean;
1291
- isCardSelect?: boolean;
1292
- }
1465
+ /** @deprecated Use {@link AXPEntityCardSecondaryActionItem}. */
1466
+ type AXPEntityMasterListCardSecondaryActionItem = AXPEntityCardSecondaryActionItem;
1293
1467
  declare class AXPEntityMasterListViewQueryViewModel {
1294
1468
  private entity;
1295
1469
  private section;
@@ -1316,11 +1490,11 @@ declare class AXPEntityMasterListViewModel {
1316
1490
  private readonly widgetResolver;
1317
1491
  private readonly expressionEvaluator;
1318
1492
  private readonly contextEvalFactory;
1319
- private readonly translation;
1320
1493
  private readonly commandService;
1321
1494
  private readonly queryExecutor;
1322
1495
  private readonly filterOperatorMiddleware;
1323
1496
  private readonly entityDefinitionRegistry;
1497
+ private readonly cardFieldsResolver;
1324
1498
  private settingEntityKey;
1325
1499
  private readonly destroyed;
1326
1500
  private lastAppliedSortKey;
@@ -1352,39 +1526,19 @@ declare class AXPEntityMasterListViewModel {
1352
1526
  * if `indexCol` is omitted, visibility follows {@link AXPCommonSettings.ShowRowIndexColumn}.
1353
1527
  */
1354
1528
  showIndexColumn: _angular_core.Signal<boolean>;
1355
- /** Layouts enabled via `interfaces.master.list.layouts.*.enabled`. */
1529
+ /** Layouts enabled via table (always) and `interfaces.master.card.enabled`. */
1356
1530
  enabledListLayouts: _angular_core.Signal<AXPEntityMasterListLayoutType[]>;
1357
1531
  /** True when the user can switch between multiple enabled layouts. */
1358
1532
  canSwitchListLayout: _angular_core.Signal<boolean>;
1359
1533
  /** Active list layout for the current view. */
1360
1534
  activeListLayout: _angular_core.WritableSignal<AXPEntityMasterListLayoutType>;
1361
- tableLayout: _angular_core.Signal<{
1362
- enabled?: boolean;
1363
- columns: AXPEntityTableColumn[];
1364
- cssClass?: {
1365
- row?: AXPExpression;
1366
- cell?: AXPExpression;
1367
- };
1368
- } | undefined>;
1369
- cardLayout: _angular_core.Signal<{
1370
- enabled?: boolean;
1371
- header: {
1372
- title?: string;
1373
- description?: string;
1374
- icon?: string;
1375
- };
1376
- fields: AXPCardField[];
1377
- } | undefined>;
1378
- /** Global expanded state for all card bodies in card layout. */
1379
- cardContentExpanded: _angular_core.WritableSignal<boolean>;
1380
- /** Current presentation mode (table, compact cards, or expanded cards). */
1381
- listDisplayMode: _angular_core.Signal<AXPEntityMasterListDisplayMode>;
1535
+ cardLayout: _angular_core.Signal<_acorex_platform_framework_shared_entity.AXPEntityCardLayout | undefined>;
1536
+ /** Current presentation mode (table or card grid). */
1537
+ listDisplayMode: _angular_core.Signal<AXPEntityMasterListLayoutType>;
1538
+ /** Card grid uses the identity-card host. */
1539
+ isCardHostLayout: _angular_core.Signal<boolean>;
1382
1540
  /**
1383
- * Sets global card body visibility for card layout.
1384
- */
1385
- setCardContentExpanded(expanded: boolean): void;
1386
- /**
1387
- * Switches table vs compact/expanded card presentation.
1541
+ * Switches table or card-grid presentation.
1388
1542
  */
1389
1543
  setListDisplayMode(mode: AXPEntityMasterListDisplayMode): void;
1390
1544
  /** Enabled layouts with display metadata for the title layout switcher. */
@@ -1394,7 +1548,7 @@ declare class AXPEntityMasterListViewModel {
1394
1548
  private static readonly LAYOUT_META;
1395
1549
  /**
1396
1550
  * Switches to the given layout when it is enabled.
1397
- * Persists the choice at entity list level (shared across all views).
1551
+ * Persists the choice as a user-level default for all entity lists.
1398
1552
  */
1399
1553
  setListLayout(layout: AXPEntityMasterListLayoutType): void;
1400
1554
  /**
@@ -1403,7 +1557,12 @@ declare class AXPEntityMasterListViewModel {
1403
1557
  */
1404
1558
  switchListLayout(): AXPEntityMasterListLayoutType;
1405
1559
  private resolveActiveListLayout;
1406
- private applyListLayoutFromSettings;
1560
+ /**
1561
+ * Applies {@link AXPCommonSettings.EntityListDisplayMode} when that layout is enabled
1562
+ * for this entity; otherwise falls back to the entity's first enabled layout.
1563
+ */
1564
+ private applyGlobalListDisplayMode;
1565
+ private persistListDisplayMode;
1407
1566
  private createLogicExpressionScope;
1408
1567
  private createDisplayExpressionScope;
1409
1568
  /**
@@ -1413,31 +1572,13 @@ declare class AXPEntityMasterListViewModel {
1413
1572
  private resolveCommandNameExpression;
1414
1573
  private resolveTitleExpression;
1415
1574
  /**
1416
- * Resolves a card header value (title, description, icon) from a property path, expression, or literal.
1417
- * Supports multiple `{{ ... }}` segments in one string (e.g. `{{context.eval("a")}} - {{context.eval("b")}}`).
1418
- * Multi-language maps (e.g. `{ "en-US": "...", "fa-IR": "..." }`) are returned as-is for the translate pipe.
1419
- */
1420
- resolveCardHeaderValue(value: string | undefined, rowData: unknown): Promise<AXPMultiLanguageString>;
1421
- /**
1422
- * Keeps i18n payloads intact for `translate`; coerces only plain scalars to string.
1423
- */
1424
- private normalizeCardHeaderDisplayValue;
1425
- /**
1426
- * Resolves badge color for a card header field (semantic token or expression per row).
1575
+ * Resolves the record CSS class from `interfaces.master.styling.record`.
1427
1576
  */
1428
- resolveCardBadgeColor(field: AXPEntityListViewCardFieldViewModel, rowData: unknown): Promise<AXStyleColorType>;
1429
- private resolveCardBadgeColorValue;
1577
+ resolveRecordStylingClass(rowData: unknown): Promise<string | undefined>;
1430
1578
  /**
1431
- * Resolves table row CSS classes from `layouts.table.cssClass.row` for the given row.
1579
+ * Resolves the field CSS class from `interfaces.master.styling.fields`.
1432
1580
  */
1433
- resolveTableRowCssClass(rowData: unknown): Promise<string | undefined>;
1434
- /**
1435
- * Resolves table cell CSS classes from `layouts.table.cssClass.cell` for the given row and column.
1436
- */
1437
- resolveTableCellCssClass(rowData: unknown, columnName: string): Promise<string | undefined>;
1438
- private createTableCssClassExpressionScope;
1439
- private resolveTableCssClassValue;
1440
- private normalizeTableCssClassValue;
1581
+ resolveFieldStylingClass(rowData: unknown, fieldName: string): Promise<string | undefined>;
1441
1582
  private resolveTriggerName;
1442
1583
  setView(viewName?: string | null): Promise<void>;
1443
1584
  dataSource: AXDataSource<any>;
@@ -1470,7 +1611,7 @@ declare class AXPEntityMasterListViewModel {
1470
1611
  */
1471
1612
  getPersistableFilterQueries(queries?: AXPFilterQuery[]): AXPFilterQuery[];
1472
1613
  private enqueueSettingsUpdate;
1473
- saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize' | 'listPaging' | 'filters' | 'sorts' | 'expandedRows' | 'listLayout' | 'cardContentExpanded', data?: unknown): Promise<void>;
1614
+ saveSettings(changesType: 'columnSizes' | 'columnOrders' | 'view' | 'pageSize' | 'listPaging' | 'filters' | 'sorts' | 'expandedRows', data?: unknown): Promise<void>;
1474
1615
  selectedItems: _angular_core.WritableSignal<any[]>;
1475
1616
  /**
1476
1617
  * Selected category from the category sidebar (left panel).
@@ -1569,6 +1710,7 @@ declare class AXPEntityMasterListViewModel {
1569
1710
  private resolveMergeDetailProperty;
1570
1711
  private allAvailableColumns;
1571
1712
  visibleColumnCount: () => number;
1713
+ private collectCardLayoutQueryFields;
1572
1714
  /**
1573
1715
  * Builds path-based `fields` for entity list queries from all configured columns.
1574
1716
  * Visibility is client-only and does not change which fields are requested.
@@ -1595,10 +1737,10 @@ declare class AXPEntityMasterListViewModel {
1595
1737
  private getRegisteredEntity;
1596
1738
  private resolveRelatedEntityProperty;
1597
1739
  private resolveRelatedEntityColumnDataPath;
1740
+ private collectLookupExposeQueryFields;
1598
1741
  private deriveDataPathFromLookupProperty;
1599
1742
  private resolveParentDataPathForRelatedField;
1600
1743
  private resolveDisplayFieldProperty;
1601
- private resolveCardField;
1602
1744
  private allAvailableCardFields;
1603
1745
  cardFields: _angular_core.WritableSignal<AXPEntityListViewCardFieldViewModel[]>;
1604
1746
  applyCardFields(): void;
@@ -1718,6 +1860,8 @@ declare class AXPEntityMasterSingleViewModel {
1718
1860
  evaluateExpressions: (options: {
1719
1861
  [key: string]: string;
1720
1862
  }, data: any) => Promise<any>;
1863
+ resolveRecordStylingClass(data?: unknown): Promise<string | undefined>;
1864
+ resolveFieldStylingClass(fieldName: string, data?: unknown): Promise<string | undefined>;
1721
1865
  relatedEntities: _angular_core.Signal<Promise<AXPEntityDetailListViewModel[]>>;
1722
1866
  executeCommand(commandName: string, data?: any): Promise<void>;
1723
1867
  execute(command: AXPExecuteCommand): Promise<void>;
@@ -1734,6 +1878,13 @@ declare class AXPEntityDetailViewModelFactory {
1734
1878
  }
1735
1879
  declare const AXPEntityDetailViewModelResolver: ResolveFn<Promise<AXPEntityMasterSingleViewModel>>;
1736
1880
 
1881
+ /** Evaluates a compiled master-styling class expression against record (and optional field) data. */
1882
+ declare function resolveEntityMasterStylingClass(evaluator: AXPExpressionEvaluatorService, expression: AXPExpression | undefined, data: unknown, fieldName?: string): Promise<string | undefined>;
1883
+ /** Resolves `interfaces.master.styling.record` (compiled rules or `class` shortcut). */
1884
+ declare function resolveEntityMasterRecordStylingClass(evaluator: AXPExpressionEvaluatorService, entity: AXPEntity, data: unknown): Promise<string | undefined>;
1885
+ /** Resolves `interfaces.master.styling.fields[name]` for one property. Skips evaluate when no rule targets the field. */
1886
+ declare function resolveEntityMasterFieldStylingClass(evaluator: AXPExpressionEvaluatorService, entity: AXPEntity, data: unknown, fieldName: string): Promise<string | undefined>;
1887
+
1737
1888
  declare class AXPEntityUpdateViewSectionViewModel {
1738
1889
  private entity;
1739
1890
  private section;
@@ -2047,7 +2198,7 @@ declare class AXPMiddlewareEntityStorageService<TKey = unknown, TDetailDto exten
2047
2198
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPMiddlewareEntityStorageService<any, any, any, any, any>>;
2048
2199
  }
2049
2200
 
2050
- type AXPEntityMasterListCardLayout = NonNullable<NonNullable<AXPEntityMasterListView['layouts']>['card']>;
2201
+ type AXPEntityMasterListCardLayout = AXPEntityCardLayout;
2051
2202
  interface AXPEntityModifierContext {
2052
2203
  readonly entity: AXPEntity;
2053
2204
  plugins: {
@@ -2144,12 +2295,12 @@ interface AXPEntityModifierContext {
2144
2295
  list: {
2145
2296
  get(): AXPEntityMasterListView | undefined;
2146
2297
  update(updater: (c: AXPEntityMasterListView | undefined) => AXPEntityMasterListView): AXPEntityModifierContext;
2147
- card: {
2148
- get(): AXPEntityMasterListCardLayout | undefined;
2149
- set(layout: AXPEntityMasterListCardLayout): AXPEntityModifierContext;
2150
- update(updater: (layout: AXPEntityMasterListCardLayout | undefined) => AXPEntityMasterListCardLayout | undefined): AXPEntityModifierContext;
2151
- remove(): AXPEntityModifierContext;
2152
- };
2298
+ };
2299
+ card: {
2300
+ get(): AXPEntityMasterListCardLayout | undefined;
2301
+ set(layout: AXPEntityMasterListCardLayout): AXPEntityModifierContext;
2302
+ update(updater: (layout: AXPEntityMasterListCardLayout | undefined) => AXPEntityMasterListCardLayout | undefined): AXPEntityModifierContext;
2303
+ remove(): AXPEntityModifierContext;
2153
2304
  };
2154
2305
  };
2155
2306
  detail: {
@@ -2327,13 +2478,16 @@ interface AXPEntityBulkPatchPerformInput {
2327
2478
  * (`Entity:Update:Default` + `input.entity`), with the same richer failure UX as delete.
2328
2479
  */
2329
2480
  declare class AXPEntityBulkPatchPerformService {
2330
- private readonly dialogService;
2331
2481
  private readonly loadingDialog;
2482
+ private readonly toastService;
2332
2483
  private readonly translationService;
2333
2484
  private readonly settingsService;
2334
2485
  private readonly bulkCommands;
2486
+ private readonly bulkProgress;
2487
+ private readonly realtime;
2335
2488
  perform(input: AXPEntityBulkPatchPerformInput): AXPCommandExecuteResultPromise<AXPBulkCommandResultData>;
2336
2489
  private presentResult;
2490
+ private showResultToast;
2337
2491
  private resolveFailureContent;
2338
2492
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityBulkPatchPerformService, never>;
2339
2493
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityBulkPatchPerformService>;
@@ -2354,15 +2508,18 @@ interface AXPEntityDeletePerformInput {
2354
2508
  */
2355
2509
  declare class AXPEntityDeletePerformService {
2356
2510
  private readonly entityRegistry;
2357
- private readonly dialogService;
2358
2511
  private readonly loadingDialog;
2512
+ private readonly toastService;
2359
2513
  private readonly translationService;
2360
2514
  private readonly settingsService;
2361
2515
  private readonly entityEvents;
2362
2516
  private readonly bulkCommands;
2517
+ private readonly bulkProgress;
2518
+ private readonly realtime;
2363
2519
  perform(input: AXPEntityDeletePerformInput): Promise<{
2364
2520
  success: boolean;
2365
2521
  }>;
2522
+ private showResultToast;
2366
2523
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityDeletePerformService, never>;
2367
2524
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDeletePerformService>;
2368
2525
  }
@@ -2449,7 +2606,7 @@ declare class AXPGalleryPluginModule {
2449
2606
  declare class AXPEntityModule {
2450
2607
  constructor();
2451
2608
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityModule, never>;
2452
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof i1.RouterModule, typeof AXPAttachmentsPluginModule, typeof AXPClientLocalPluginModule, typeof AXPGalleryPluginModule, typeof i5.AXPWidgetCoreModule, typeof i6.LayoutBuilderModule], never>;
2609
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXPEntityModule, never, [typeof AXPAttachmentsPluginModule, typeof AXPClientLocalPluginModule, typeof AXPGalleryPluginModule, typeof i4.AXPWidgetCoreModule, typeof i5.LayoutBuilderModule], never>;
2453
2610
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPEntityModule>;
2454
2611
  }
2455
2612
 
@@ -2803,8 +2960,9 @@ declare const defaultMultiLanguageMiddleware: AXPEntityModifier;
2803
2960
  declare const defaultMultiLanguageMiddlewareProvider: AXPEntityModifierProvider;
2804
2961
 
2805
2962
  /**
2806
- * When an entity has no `interfaces.master.list.layouts.card`, creates a sensible default
2807
- * from list columns and property names (title, description, remaining columns as card fields).
2963
+ * When an entity has no `interfaces.master.card`, creates an identity-first
2964
+ * default (title, avatar, status badge, density-aware header extra) from list columns and formats.
2965
+ * The same layout is reused by the entity lookup popover.
2808
2966
  */
2809
2967
  declare const defaultCardLayoutMiddleware: AXPEntityModifier;
2810
2968
  declare const defaultCardLayoutMiddlewareProvider: AXPEntityModifierProvider;
@@ -3671,6 +3829,8 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
3671
3829
  private readonly expressionEvaluator;
3672
3830
  private readonly columnWidthService;
3673
3831
  private readonly route;
3832
+ private readonly settingsService;
3833
+ private readonly cardFieldsResolver;
3674
3834
  protected isMounted: _angular_core.WritableSignal<boolean>;
3675
3835
  readonly entity: _angular_core.WritableSignal<AXPEntity | null>;
3676
3836
  protected listNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
@@ -3679,6 +3839,14 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
3679
3839
  protected listWidget: _angular_core.WritableSignal<AXPWidgetRendererDirective | undefined>;
3680
3840
  protected toolbarWidget: _angular_core.Signal<AXPWidgetRendererDirective | undefined>;
3681
3841
  protected selectedItems: _angular_core.WritableSignal<any[]>;
3842
+ protected listDisplayMode: _angular_core.WritableSignal<AXPEntityMasterListLayoutType>;
3843
+ protected isCardHostLayout: _angular_core.Signal<boolean>;
3844
+ protected isRowLayout: _angular_core.Signal<boolean>;
3845
+ protected cardLayout: _angular_core.Signal<AXPEntityCardLayout | undefined>;
3846
+ protected cardFields: _angular_core.WritableSignal<AXPEntityListViewCardFieldViewModel[]>;
3847
+ protected cardItems: _angular_core.WritableSignal<Record<string, unknown>[]>;
3848
+ private readonly listDataSource;
3849
+ protected primaryRowActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
3682
3850
  protected toolbarNode: _angular_core.WritableSignal<AXPWidgetNode | null>;
3683
3851
  protected destroyed: Subject<void>;
3684
3852
  /** Invalidates in-flight filter/refresh work on remount, rapid page switches, or destroy. */
@@ -3699,6 +3867,13 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
3699
3867
  protected allActions: _angular_core.Signal<AXPEntityCommandTriggerViewModel[]>;
3700
3868
  protected primaryActions: _angular_core.Signal<AXPActionMenuItem[]>;
3701
3869
  protected handleUnselectAll(): void;
3870
+ private resolveListDataSource;
3871
+ private readWidgetDataSource;
3872
+ private readDataSourceRows;
3873
+ protected trackCardRow(row: Record<string, unknown>): string;
3874
+ protected isCardSelected(row: Record<string, unknown>): boolean;
3875
+ protected onCardSelectionChange(row: Record<string, unknown>, selected: boolean): void;
3876
+ protected onCardCommandClick(name: string, row: Record<string, unknown>): void;
3702
3877
  protected secondaryActions: _angular_core.Signal<AXPActionMenuItem[]>;
3703
3878
  protected handleActionClick(item: AXPActionMenuItem): void;
3704
3879
  protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
@@ -3819,6 +3994,7 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
3819
3994
  */
3820
3995
  private handleColumnChanges;
3821
3996
  protected context: {};
3997
+ private applyGlobalListDisplayMode;
3822
3998
  protected previousQueries: any;
3823
3999
  ngOnInit(): Promise<void>;
3824
4000
  ngAfterViewInit(): Promise<void>;
@@ -3889,6 +4065,16 @@ declare class AXPLookupWidgetViewComponent extends AXPValueWidgetComponent<any>
3889
4065
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetViewComponent, "axp-lookup-widget-view", never, {}, {}, never, never, true, never>;
3890
4066
  }
3891
4067
 
4068
+ interface LookupWidgetTableColumnView {
4069
+ name: string;
4070
+ title: string;
4071
+ visible: boolean;
4072
+ width?: string;
4073
+ dataPath?: string;
4074
+ expandHandler?: boolean;
4075
+ node: AXPWidgetColumnNode;
4076
+ }
4077
+
3892
4078
  type AXPContextStoreInstance = InstanceType<typeof AXPContextStore>;
3893
4079
  type AXPLookupCreateContextStore = AXPContextStoreInstance;
3894
4080
 
@@ -4148,66 +4334,137 @@ declare class AXPEntityDataSelectorService {
4148
4334
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPEntityDataSelectorService>;
4149
4335
  }
4150
4336
 
4151
- /**
4152
- * Base interface for lookup widget look components
4153
- * All look components should implement this interface to ensure consistency
4154
- */
4155
- declare abstract class LookupWidgetLookBase {
4156
- abstract refresh(): void;
4157
- abstract focus(): void;
4158
- abstract clear(): void;
4337
+ interface LookupWidgetTableItemClickEvent {
4338
+ item: AXLookupItem;
4339
+ value: unknown;
4159
4340
  }
4160
4341
 
4342
+ declare class AXPLookupWidgetTableHostComponent extends NXValueComponent {
4343
+ #private;
4344
+ name: _angular_core.InputSignal<string>;
4345
+ placeholder: _angular_core.InputSignal<string>;
4346
+ caption: _angular_core.InputSignal<string>;
4347
+ searchPlaceholder: _angular_core.InputSignal<string>;
4348
+ dataSource: _angular_core.InputSignal<AXDataSource<AXLookupItem>>;
4349
+ columns: _angular_core.InputSignal<LookupWidgetTableColumnView[]>;
4350
+ valueField: _angular_core.InputSignal<string>;
4351
+ textField: _angular_core.InputSignal<string>;
4352
+ disabledField: _angular_core.InputSignal<string>;
4353
+ parentField: _angular_core.InputSignal<string | undefined>;
4354
+ value: _angular_core.ModelSignal<unknown>;
4355
+ valueItems: _angular_core.InputSignal<AXLookupItem[]>;
4356
+ disabled: _angular_core.InputSignal<boolean>;
4357
+ readonly: _angular_core.InputSignal<boolean>;
4358
+ searchable: _angular_core.InputSignal<boolean>;
4359
+ selectedTemplate: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
4360
+ onItemSelected: _angular_core.OutputEmitterRef<AXItemSelectedEvent<AXLookupItem>>;
4361
+ protected readonly triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
4362
+ protected readonly popoverRef: _angular_core.Signal<AXPopoverComponent | undefined>;
4363
+ protected readonly expanded: _angular_core.WritableSignal<boolean>;
4364
+ protected readonly selectedValues: _angular_core.Signal<any[]>;
4365
+ protected readonly displayText: _angular_core.Signal<string>;
4366
+ /** Syncs from the selected display text; typing updates via trigger input. */
4367
+ protected readonly searchText: _angular_core.WritableSignal<string>;
4368
+ /**
4369
+ * Renders `selectedTemplate` while the popup is closed and the trigger text still matches
4370
+ * the selection (same as ax-lookup).
4371
+ */
4372
+ protected readonly showSelectedTemplate: _angular_core.Signal<boolean>;
4373
+ /** Empty while the selected template is painted so the label is not shown twice. */
4374
+ protected readonly triggerInputValue: _angular_core.Signal<string>;
4375
+ protected readonly triggerSearchPlaceholder: _angular_core.Signal<string>;
4376
+ constructor();
4377
+ protected onTriggerClick(): void;
4378
+ protected onPopoverClosed(): void;
4379
+ protected onTriggerSearchInput(value: string): void;
4380
+ protected onTriggerKeydown(event: KeyboardEvent): void;
4381
+ protected handleTableItemClick(event: LookupWidgetTableItemClickEvent): void;
4382
+ /** Clears the selection. Used by projected `ax-clear-button`. */
4383
+ reset(_isUserInteraction?: boolean): void;
4384
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetTableHostComponent, never>;
4385
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLookupWidgetTableHostComponent, "axp-lookup-widget-table-host", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "parentField": { "alias": "parentField"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueItems": { "alias": "valueItems"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onItemSelected": "onItemSelected"; }, never, ["ax-clear-button", "ax-validation-rule"], true, never>;
4386
+ }
4387
+
4388
+ type LookupEditorValue = unknown | unknown[] | null;
4161
4389
  declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any> {
4162
4390
  #private;
4163
- protected readonly injector: Injector;
4164
4391
  protected readonly entityResolver: AXPEntityDefinitionRegistryService;
4165
4392
  protected readonly entityService: AXPEntityService;
4166
4393
  protected readonly entityDataSelectorService: AXPEntityDataSelectorService;
4167
4394
  private readonly mlsResolver;
4168
- protected componentLook: _angular_core.Signal<LookupWidgetLookBase | undefined>;
4395
+ private readonly filterOperatorMiddleware;
4396
+ private readonly formatService;
4397
+ private readonly expressionEvaluator;
4398
+ private readonly contextEvalFactory;
4399
+ private readonly localeService;
4400
+ private readonly destroyRef;
4401
+ protected lookup: _angular_core.Signal<AXLookupComponent | undefined>;
4402
+ protected tableLookupHost: _angular_core.Signal<AXPLookupWidgetTableHostComponent | undefined>;
4403
+ /** Toggled to remount ax-lookup after locale / language changes. */
4404
+ protected readonly editorKey: _angular_core.WritableSignal<boolean>;
4405
+ private readonly localeEpoch;
4406
+ protected entityDef: _angular_core.WritableSignal<AXPEntity | null>;
4407
+ protected selectedItems: _angular_core.WritableSignal<any[]>;
4408
+ protected initialized: _angular_core.WritableSignal<boolean>;
4409
+ protected previousValue: _angular_core.WritableSignal<any>;
4410
+ protected isLoading: _angular_core.WritableSignal<boolean>;
4411
+ private readonly shouldFocus;
4412
+ /** Skips one {@link findByValue} pass after inline create when selection is already hydrated. */
4413
+ private skipFindByValueOnce;
4169
4414
  protected expose: _angular_core.Signal<string | any[] | undefined>;
4170
4415
  protected entity: _angular_core.Signal<string>;
4171
- protected disabled: _angular_core.Signal<string | boolean>;
4416
+ protected isDisabled: _angular_core.Signal<boolean>;
4417
+ protected isReadonly: _angular_core.Signal<boolean>;
4172
4418
  protected columns: _angular_core.Signal<AXPEntitySelectorColumnInput[]>;
4173
4419
  protected textField: _angular_core.Signal<string>;
4174
- /**
4175
- * Template for select look (`ax-select-box`). Uses `textTemplate` when set, otherwise
4176
- * falls back to `displayFormat` (same as tagbox). Single braces are expanded to `{{ }}`
4177
- * for the select box template engine (see `AXPDataListWidgetComponent.textTemplate`).
4178
- */
4179
- protected textTemplate: _angular_core.Signal<string | null>;
4180
4420
  protected hasClearButton: _angular_core.Signal<boolean>;
4181
- protected showItemTooltip: _angular_core.Signal<boolean>;
4182
- protected isItemTruncated: _angular_core.Signal<boolean>;
4183
- protected customFilter: _angular_core.Signal<AXDataSourceFilterOption>;
4421
+ protected customFilter: _angular_core.Signal<AXDataSourceFilterOption | null>;
4422
+ protected hasPendingCascadeFilter: _angular_core.Signal<boolean>;
4423
+ protected isLookupDisabled: _angular_core.Signal<boolean>;
4184
4424
  protected placeholder: _angular_core.Signal<string>;
4425
+ protected placeholderText: _angular_core.Signal<string>;
4185
4426
  protected filterMode: _angular_core.Signal<boolean>;
4186
4427
  protected multiple: _angular_core.Signal<boolean>;
4187
- protected allowUnselect: _angular_core.Signal<boolean>;
4188
4428
  protected look: _angular_core.Signal<AXPLookupWidgetLookType>;
4429
+ protected lookupMode: _angular_core.Signal<AXLookupMode>;
4430
+ protected isTableLookupMode: _angular_core.Signal<boolean>;
4431
+ protected treeParentField: _angular_core.Signal<string>;
4189
4432
  protected displayField: _angular_core.Signal<string>;
4190
4433
  protected resolvedCreate: _angular_core.Signal<_acorex_platform_framework_shared_entity.ResolvedLookupCreateOptions>;
4191
- protected rowActions: _angular_core.Signal<AXPLookupSelectorRowActionsConfig | undefined>;
4192
4434
  protected valueField: _angular_core.Signal<string>;
4193
- protected displayFormat: _angular_core.Signal<string | undefined>;
4194
- protected conditions?: AXPQueryFilter[];
4195
- protected filter: AXDataSourceFilterOption | null;
4196
- protected entityDef: _angular_core.WritableSignal<AXPEntity | null>;
4197
- protected selectedItems: _angular_core.WritableSignal<any[]>;
4198
- protected initialItems: _angular_core.WritableSignal<boolean>;
4199
- protected initialized: _angular_core.WritableSignal<boolean>;
4200
- protected previousValue: _angular_core.WritableSignal<any>;
4201
- protected isLoading: _angular_core.WritableSignal<boolean>;
4202
- /** Skips one {@link findByValue} pass after inline create when selection is already hydrated. */
4203
- private skipFindByValueOnce;
4435
+ protected lookupWidgetTableColumns: _angular_core.Signal<LookupWidgetTableColumnView[]>;
4436
+ protected lookupQueryFields: _angular_core.Signal<string[] | undefined>;
4437
+ protected entityDataSource: _angular_core.Signal<AXDataSource<AXLookupItem> | null>;
4438
+ protected entityTreeDataSource: _angular_core.Signal<AXTreeViewDataSource>;
4439
+ protected effectiveDataSource: _angular_core.Signal<AXDataSource<AXLookupItem> | null>;
4440
+ protected selectFilterDisplayValue: _angular_core.Signal<any>;
4441
+ /**
4442
+ * Primitive key(s) bound to ax-lookup. Full row objects are resolved on change.
4443
+ */
4444
+ protected editorValue: _angular_core.Signal<unknown>;
4445
+ /**
4446
+ * Writable copy of {@link editorValue}. Must not be a linkedSignal: ax-lookup emits
4447
+ * `valueChange` on click before context is written, and a linked source of `null`
4448
+ * would write `[value]` back over the pick during the same CD cycle.
4449
+ */
4450
+ protected boundValue: _angular_core.WritableSignal<unknown>;
4451
+ /** Rows picked in the open popup; used to resolve keys before datasource cache is queried. */
4452
+ private readonly pickedItems;
4453
+ private readonly editorLocaleChanged;
4454
+ protected handleLookupItemSelected(e: AXItemSelectedEvent<AXLookupItem>): void;
4455
+ /**
4456
+ * Commits from the model output (same tick as the click). `onValueChanged` is effect-based
4457
+ * and runs after CD, which lets a stale `[value]` binding wipe the pick.
4458
+ */
4459
+ protected handleLookupModelChange(value: LookupEditorValue): void;
4460
+ private commitLookupSelection;
4461
+ protected handleCreateClick(_e: AXClickEvent): Promise<void>;
4204
4462
  private hasValue;
4205
4463
  private findByValue;
4206
4464
  private getHydrationOptions;
4465
+ private rerenderEditor;
4207
4466
  protected handleComponentValueChanged(items: any[] | null): void;
4208
- protected handleCreateClick(_e: AXClickEvent): Promise<void>;
4209
4467
  private executeCreate;
4210
- protected setLoading: (loading: boolean) => void;
4211
4468
  /** @param syncContext When false, only updates UI (hydration/revert); skips context writes. */
4212
4469
  protected setItems: (items: any[], syncContext?: boolean) => void;
4213
4470
  /**
@@ -4222,9 +4479,14 @@ declare class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent<any>
4222
4479
  [name: string]: unknown;
4223
4480
  })[];
4224
4481
  private singleOrMultiple;
4482
+ protected getLookupItemLabel(item: AXLookupItem | null | undefined): string | Record<string, string>;
4483
+ private decorateLookupItem;
4484
+ private resolveLookupRows;
4485
+ /**
4486
+ * Hosts may emit a placeholder item whose title equals the raw id before byKey hydration.
4487
+ */
4488
+ private isStaleFallbackSelection;
4225
4489
  refresh(): Promise<void>;
4226
- /** Re-applies hydrated row objects to ax-select-box after refresh (avoids stale loading placeholders). */
4227
- private rebindSelectLook;
4228
4490
  clear(): void;
4229
4491
  focus(): void;
4230
4492
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLookupWidgetEditComponent, never>;
@@ -4845,5 +5107,5 @@ declare function dispatchEntityModifiedSideEffects(entityEvents: AXPEntityBroadc
4845
5107
  */
4846
5108
  declare function provideEntityRealtimeHandlers(): Provider[];
4847
5109
 
4848
- export { ATTACHMENTS_PAGE_COMPONENT_KEY, AXMEntityCrudService, AXMEntityCrudServiceImpl, AXPCategoryTreeService, AXPClientLocalPluginModule, AXPCreateEntityCommand, AXPDataSeederService, AXPDeleteEntityCommand, AXPDomainQueryEntityDefinitionLoader, AXPEditFileUploaderCommand, AXPEntityBulkPatchPerformService, 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, 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_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_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, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, axpDeleteEntityCommandDefinition, axpOpenEntityListCommandDefinition, axpShowFileUploaderPopupCommandDefinition, axpUpdateEntityStatusCommandDefinition, buildDataSourceTraceSnapshot, canPersistEntityListState, clientLocalPlugin, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, committedAttachments, composeEntityMiddlewares, composeEntityStorageMiddlewares, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createEntityMiddlewareContext, createEntityStorageContext, createLayoutOrderingMiddlewareProvider, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, dispatchEntityModifiedSideEffects, ensureHierarchicalRootFilter, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityCreateBridgeMiddleware, entityDeleteBridgeMiddleware, entityGetOneBridgeMiddleware, entityQueryBridgeMiddleware, entityStorageCreateBridgeMiddleware, entityStorageDeleteBridgeMiddleware, entityStorageGetOneBridgeMiddleware, entityStorageQueryBridgeMiddleware, entityStorageUpdateBridgeMiddleware, entityUpdateBridgeMiddleware, eventDispatchMiddleware, filterEntityMiddlewares, filterEntityStorageMiddlewares, filterSortEntityRows, filterTouchesParentKey, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, fireEntityLifecycleHook, formatLookupItemDisplay, formatLookupItemDisplayAsync, galleryPlugin, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, normalizeEntityDataSelectorColumnSpecs, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, prefetchClientLocalRelated, provideEntity, provideEntityMiddlewareBridge, provideEntityRealtimeHandlers, provideEntityStorageMiddlewareBridge, resetPagingForTreeChildrenLoad, resolveAttachmentFieldPath, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, resolveLookupEntityKey, resolveMasterInterfacePropertyOrder, restoreEntityListExpandedRows, runEntityMiddlewarePipeline, runEntityQuery, runEntityStorageMiddlewarePipeline, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry, traceEntityMasterList };
4849
- export type { AXPClientLocalPluginOptions, AXPDataSeeder, AXPDeleteEntityCommandInput, AXPEntityAccessPort, AXPEntityActionPlugin, AXPEntityBulkPatchPerformInput, 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, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPOpenEntityListCommandInput, AXPOpenEntityListCondition, 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 };
5110
+ 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, 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_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, axpCreateEntityAiToolInputDefaults, axpCreateEntityCommandDefinition, axpDeleteEntityCommandDefinition, axpOpenEntityListCommandDefinition, axpShowFileUploaderPopupCommandDefinition, axpUpdateEntityStatusCommandDefinition, buildDataSourceTraceSnapshot, canPersistEntityListState, clientLocalPlugin, cloneLayoutArrays, columnOrderingMiddleware, columnOrderingMiddlewareProvider, columnWidthMiddleware, columnWidthMiddlewareProvider, committedAttachments, composeEntityMiddlewares, composeEntityStorageMiddlewares, computeEntityAggregates, createColumnOrderingMiddlewareProvider, createEntityCardDisplayScope, createEntityCardLogicScope, createEntityMiddlewareContext, createEntityStorageContext, createLayoutOrderingMiddlewareProvider, defaultCardLayoutMiddleware, defaultCardLayoutMiddlewareProvider, defaultMultiLanguageMiddleware, defaultMultiLanguageMiddlewareProvider, detectEntityChanges, dispatchEntityModifiedSideEffects, ensureHierarchicalRootFilter, ensureLayoutPropertyView, ensureLayoutSection, ensureListActions, entityCreateBridgeMiddleware, entityDeleteBridgeMiddleware, entityGetOneBridgeMiddleware, entityQueryBridgeMiddleware, entityStorageCreateBridgeMiddleware, entityStorageDeleteBridgeMiddleware, entityStorageGetOneBridgeMiddleware, entityStorageQueryBridgeMiddleware, entityStorageUpdateBridgeMiddleware, entityUpdateBridgeMiddleware, eventDispatchMiddleware, filterEntityMiddlewares, filterEntityStorageMiddlewares, filterSortEntityRows, filterTouchesParentKey, findEntityListRowDataInTree, fingerprintAttachmentItem, fingerprintAttachments, fireEntityLifecycleHook, formatLookupItemDisplay, formatLookupItemDisplayAsync, galleryPlugin, getDataSourcePageIndex, getEntityListRowId, getMasterInterfacePropertySortKey, hasFileUploaderTitleOrDescriptionFields, hydrateAttachmentFieldToFileList, isAXPMiddlewareAbortError, isAttachmentFieldPresentOnRow, isAttachmentListEntry, isAttachmentStorageRef, isCategoryEntity, isCategoryFilter, isFileListItem, isFileUploaderEditDialogAuto, isLegacyEntityDataSelectorOptions, layoutOrderingMiddlewareFactory, layoutOrderingMiddlewareProvider, mapEntityStorageErrorToCommandResult, mapLegacyEntityDataSelectorOptions, normalizeEntityCardHeaderDisplayValue, normalizeEntityDataSelectorColumnSpecs, normalizeEntityDataSelectorOptions, normalizeEntityFieldToFileList, normalizeEntityListPersistenceMode, normalizeListPaging, persistedAttachments, prefetchClientLocalRelated, provideEntity, provideEntityMiddlewareBridge, provideEntityRealtimeHandlers, provideEntityStorageMiddlewareBridge, resetPagingForTreeChildrenLoad, resolveAttachmentFieldPath, resolveEntityCardBadgeColorValue, resolveEntityCardHeaderValue, resolveEntityMasterFieldStylingClass, resolveEntityMasterRecordStylingClass, resolveEntityMasterStylingClass, resolveEntityPluginDetailPageOrder, resolveFileUploaderEditDialog, resolveFileUploaderEntityScope, resolveLookupDisplayField, resolveLookupDisplayTemplate, resolveLookupEntityKey, resolveMasterInterfacePropertyOrder, restoreEntityListExpandedRows, runEntityMiddlewarePipeline, runEntityQuery, runEntityStorageMiddlewarePipeline, searchResultDescriptionMiddleware, searchResultDescriptionMiddlewareProvider, shouldLoadEntityListStateFromStorage, shouldResetEntityListStateOnRouteEntry, traceEntityMasterList };
5111
+ 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, AXPMultiSourceDefinition, AXPMultiSourceDefinitionProvider, AXPMultiSourceItem, AXPMultiSourceRef, AXPMultiSourceSearchResult, AXPMultiSourceSearchResultItem, AXPMultiSourceSelectorOpenConfig, AXPMultiSourceSelectorResult, AXPMultiSourceSelectorWidgetOptions, AXPMultiSourceValue, AXPOpenEntityDetailsCommandInput, AXPOpenEntityListCommandInput, AXPOpenEntityListCondition, 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 };