@acorex-platform/framework-client 2.0.0-next.10 → 2.0.0-next.11

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 (30) hide show
  1. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +3 -3
  2. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Dj1zqE3r.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BUUIRvjv.mjs} +91 -12
  4. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BUUIRvjv.mjs.map +1 -0
  5. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Dv0qPsuq.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-Bvu_DFae.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Dv0qPsuq.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-Bvu_DFae.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-D774EAiQ.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-AQyQql3E.mjs} +2 -2
  8. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-D774EAiQ.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-AQyQql3E.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-BwTpQIWl.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-BIlmfAGh.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-BwTpQIWl.mjs.map → acorex-platform-framework-client-layout-entity-file-list-popup.component-BIlmfAGh.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Be6RD2-p.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-C9VXr6zx.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-Be6RD2-p.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-C9VXr6zx.mjs.map} +1 -1
  13. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  14. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +8 -1
  15. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  16. package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-BNdFv1ii.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CzhP4_OE.mjs} +36 -18
  17. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-CzhP4_OE.mjs.map +1 -0
  18. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-CgSd-ix-.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BIl416zF.mjs} +2 -2
  19. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-CgSd-ix-.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BIl416zF.mjs.map} +1 -1
  20. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DyW8ti20.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DK8XXQuT.mjs} +2 -2
  21. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DyW8ti20.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-DK8XXQuT.mjs.map} +1 -1
  22. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
  23. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +1 -1
  24. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
  25. package/package.json +2 -2
  26. package/types/acorex-platform-framework-client-layout-entity.d.ts +12 -1
  27. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +2 -1
  28. package/types/acorex-platform-framework-client-layout-widgets.d.ts +4 -0
  29. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Dj1zqE3r.mjs.map +0 -1
  30. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-BNdFv1ii.mjs.map +0 -1
@@ -6193,7 +6193,7 @@ class AXPFileUploaderWidgetService {
6193
6193
  };
6194
6194
  let title = '';
6195
6195
  const result = await this.dialogOpener.openPopup({
6196
- load: () => import('./acorex-platform-framework-client-layout-entity-file-list-popup.component-BwTpQIWl.mjs').then((m) => m.AXPFileListPopupComponent),
6196
+ load: () => import('./acorex-platform-framework-client-layout-entity-file-list-popup.component-BIlmfAGh.mjs').then((m) => m.AXPFileListPopupComponent),
6197
6197
  data: {
6198
6198
  entity: entity ?? null,
6199
6199
  readonly: resolved.readonly,
@@ -8459,6 +8459,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
8459
8459
  ], template: "<article\n class=\"axp-entity-card\"\n [ngClass]=\"recordStylingClass()\"\n [class.axp-entity-card--selected]=\"selected()\"\n [class.axp-entity-card--new]=\"showNewBadge()\"\n [class.axp-entity-card--row]=\"isRowLayout()\"\n [class.axp-entity-card--compact]=\"variant() === 'compact'\"\n [class.axp-entity-card--embedded]=\"embedded()\"\n [class.axp-entity-card--elevated]=\"elevated()\"\n [class.axp-entity-card--static]=\"!interactive()\"\n [class.axp-entity-card--with-body]=\"hasCardBody()\"\n [class.axp-entity-card--with-footer]=\"hasCardFooter()\"\n [class.axp-entity-card--expandable]=\"canShowMore()\"\n [class.axp-entity-card--expanded]=\"extraExpanded()\"\n [attr.role]=\"interactive() ? 'button' : undefined\"\n [attr.tabindex]=\"interactive() ? 0 : undefined\"\n [attr.aria-selected]=\"interactive() ? selected() : undefined\"\n (click)=\"onCardClick($event)\"\n (dblclick)=\"onCardDblClick($event)\"\n (keydown)=\"onCardKeydown($event)\"\n>\n <div class=\"axp-entity-card__content\">\n <!-- ----- Identity row: optional avatar, title, status, and actions ----- -->\n <div class=\"axp-entity-card__identity\">\n <div class=\"axp-entity-card__identity-main\">\n @if (showUserAvatar()) {\n <!-- ----- Person or user identity uses the user avatar ----- -->\n <axp-user-avatar class=\"axp-entity-card__avatar\" [size]=\"avatarSize()\" [userId]=\"userAvatarId()\" [displayName]=\"toDisplayName(titleText())\" [displayAvatar]=\"avatarSrc()\" [showPresence]=\"false\" [axpUserCard]=\"userAvatarId()\" />\n }\n <!--------------------------------------------------------------->\n @if (showIdentityImage()) {\n <!-- ----- Logo or company image for entities that store an image/logo ----- -->\n <div class=\"axp-entity-card__logo\" [style.width.px]=\"avatarSize()\" [style.height.px]=\"avatarSize()\">\n <img [src]=\"avatarSrc()\" [alt]=\"toDisplayName(titleText())\" />\n </div>\n }\n <!--------------------------------------------------------------->\n @if (identityQrField(); as field) {\n <!-- ----- QR widget occupies the identity visual slot when there is no avatar or logo ----- -->\n <div class=\"axp-entity-card__qr\" [style.width.px]=\"avatarSize()\" [style.height.px]=\"avatarSize()\">\n <axp-widget-column-cell [node]=\"fieldColumnNode(field)\" [rowData]=\"row()\" [caption]=\"field.title\" />\n </div>\n }\n\n <div class=\"axp-entity-card__identity-text\">\n <div class=\"axp-entity-card__title-row\">\n @if (iconClass(); as icon) {\n <!-- ----- Optional header icon from the card layout ----- -->\n <i [class]=\"icon + ' axp-entity-card__icon'\" aria-hidden=\"true\"></i>\n }\n\n <h3 class=\"axp-entity-card__title\">\n {{ titleText() | translate | async }}\n </h3>\n\n @if (showNewBadge()) {\n <!-- ----- New-row highlight badge ----- -->\n <ax-badge class=\"axp-entity-card__header-badge\" [text]=\"('@acorex:dataTable.rowHighlight.new' | translate | async) || ''\" color=\"success\" />\n }\n\n @for (field of headerBadgeFields(); track field.name) {\n <!--------------------------------------------------------------->\n @if (isStatusBadgeField(field)) {\n <!-- ----- Status widget rendered in the header ----- -->\n <div class=\"axp-entity-card__header-badge\" [ngClass]=\"fieldStylingClass(field.name)\">\n <axp-widget-column-cell [node]=\"fieldHeaderBadgeNode(field)\" [rowData]=\"row()\" [caption]=\"field.title\" />\n </div>\n }\n <!-- ----- Non-status field rendered as a simple badge ----- -->\n @else if (resolveBadgeText(field)) {\n <ax-badge class=\"axp-entity-card__header-badge\" [ngClass]=\"fieldStylingClass(field.name)\" [text]=\"resolveBadgeText(field)\" [color]=\"resolveBadgeColor(field)\" />\n }\n }\n </div>\n\n @if (descriptionText()) {\n <!-- ----- Optional description under the title ----- -->\n <p class=\"axp-entity-card__description\">\n {{ descriptionText() | translate | async }}\n </p>\n }\n\n @if (headerMetaFields().length) {\n <!-- ----- Unlabeled header extra (identifier or contact) ----- -->\n <div class=\"axp-entity-card__facts axp-entity-card__facts--inline\">\n @for (field of headerMetaFields(); track field.name) {\n <div class=\"axp-entity-card__fact\" [ngClass]=\"fieldStylingClass(field.name)\">\n <axp-widget-column-cell [node]=\"fieldColumnNode(field)\" [rowData]=\"row()\" [caption]=\"field.title\" />\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n @if (hasIdentityActions()) {\n <!-- ----- Selection, overflow actions, or popover dismiss ----- -->\n <div class=\"axp-entity-card__identity-actions\">\n @if (showSelection()) {\n <!-- ----- Multi-select checkbox ----- -->\n <ax-check-box class=\"axp-entity-card__select-checkbox\" [value]=\"selected()\" (onValueChanged)=\"onSelectionCheckboxChange($event)\" (click)=\"onSelectionCheckboxClick($event)\" />\n }\n <!-- ----- Row actions menu when the card is not in selection mode ----- -->\n @else if (secondaryActions().length) {\n <ax-button [look]=\"'blank'\" [color]=\"'default'\" class=\"ax-sm\" (onClick)=\"stopClickPropagation($event)\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </ax-prefix>\n\n <ax-dropdown-panel #panel>\n <ax-button-item-list>\n @for (item of secondaryActions(); track $index) {\n @if (item.divided) {\n <!-- ----- Divider before this overflow action ----- -->\n <ax-divider />\n }\n <ax-button-item [text]=\"(item.title | translate | async)!\" [color]=\"item.color\" [disabled]=\"item.disabled\" (onClick)=\"onSecondaryActionClick(item, $event)\">\n @if (item.icon) {\n <!-- ----- Overflow action icon ----- -->\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ item.icon }}\"></ax-icon>\n </ax-prefix>\n }\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n <!-- ----- Close when hosted as a lookup / detail popover ----- -->\n @if (showClose()) {\n <ax-button\n class=\"axp-entity-card__close ax-sm\"\n [look]=\"'blank'\"\n [color]=\"'default'\"\n [iconOnly]=\"true\"\n [attr.title]=\"'@general:actions.close.title' | translate | async\"\n [attr.aria-label]=\"'@general:actions.close.title' | translate | async\"\n (onClick)=\"onCloseClick($event)\"\n >\n <i class=\"fa-light fa-xmark\" aria-hidden=\"true\"></i>\n </ax-button>\n }\n </div>\n }\n </div>\n\n @if (hasLabeledBody()) {\n <!-- ----- Divider between unlabeled identity header and labeled body facts ----- -->\n <div class=\"axp-entity-card__divider\"></div>\n <div class=\"axp-entity-card__body\">\n <div class=\"axp-entity-card__fields\">\n @for (field of previewFields(); track field.name) {\n <div class=\"axp-entity-card__field-row\" [ngClass]=\"fieldStylingClass(field.name)\">\n <span class=\"axp-entity-card__field-label\">\n @if (resolveFieldIcon(field); as icon) {\n <!-- ----- Field icon from lookup entity or widget definition ----- -->\n <i class=\"axp-entity-card__field-icon {{ icon }}\" aria-hidden=\"true\"></i>\n }\n {{ field.title | translate | async }}\n </span>\n <div class=\"axp-entity-card__field-value\">\n <axp-widget-column-cell [node]=\"fieldColumnNode(field)\" [rowData]=\"row()\" [caption]=\"field.title\" />\n </div>\n </div>\n }\n <!--------------------------------------------------------------->\n @if (extraFields().length) {\n <!-- ----- Extra fields stay mounted; collapse hides them without a body fade ----- -->\n <div class=\"axp-entity-card__extra\" [class.axp-entity-card__extra--collapsed]=\"!extraExpanded()\">\n @for (field of extraFields(); track field.name) {\n <div class=\"axp-entity-card__field-row\" [ngClass]=\"fieldStylingClass(field.name)\">\n <span class=\"axp-entity-card__field-label\">\n @if (resolveFieldIcon(field); as icon) {\n <!-- ----- Field icon from lookup entity or widget definition ----- -->\n <i class=\"axp-entity-card__field-icon {{ icon }}\" aria-hidden=\"true\"></i>\n }\n {{ field.title | translate | async }}\n </span>\n <div class=\"axp-entity-card__field-value\">\n <axp-widget-column-cell [node]=\"fieldColumnNode(field)\" [rowData]=\"row()\" [caption]=\"field.title\" />\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n }\n\n @if (showInlineMore()) {\n <!-- ----- Quiet More/Less under the fields when the card has no action footer ----- -->\n <button type=\"button\" class=\"axp-entity-card__more axp-entity-card__more--inline\" [attr.aria-expanded]=\"extraExpanded()\" (click)=\"onToggleExtra($event)\">\n <span>\n {{ (extraExpanded() ? '@general:terms.interface.less-card' : '@general:terms.interface.more-card') | translate | async }}\n </span>\n <i class=\"fa-light\" [class.fa-chevron-down]=\"!extraExpanded()\" [class.fa-chevron-up]=\"extraExpanded()\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n\n @if (hasCardFooter()) {\n <!-- ----- One footer row: optional More on the left, primary actions on the right ----- -->\n <footer class=\"axp-entity-card__footer\">\n <!-- ----- More/Less shares the footer with the action button ----- -->\n @if (showFooterMore()) {\n <button type=\"button\" class=\"axp-entity-card__more axp-entity-card__more--footer\" [attr.aria-expanded]=\"extraExpanded()\" (click)=\"onToggleExtra($event)\">\n <span>\n {{ (extraExpanded() ? '@general:terms.interface.less-card' : '@general:terms.interface.more-card') | translate | async }}\n </span>\n <i class=\"fa-light\" [class.fa-chevron-down]=\"!extraExpanded()\" [class.fa-chevron-up]=\"extraExpanded()\" aria-hidden=\"true\"></i>\n </button>\n }\n <div class=\"axp-entity-card__footer-actions\">\n @for (action of primaryActions(); track $index) {\n <ax-button\n class=\"axp-entity-card__primary-action ax-sm\"\n [look]=\"primaryActionLook()\"\n [color]=\"action.color\"\n [disabled]=\"action.disabled\"\n [text]=\"(action.title | translate | async)!\"\n (onClick)=\"onPrimaryActionClick(action.name, $event)\"\n >\n @if (action.icon) {\n <!-- ----- Primary action icon ----- -->\n <ax-prefix>\n <i class=\"fa-light {{ action.icon }}\"></i>\n </ax-prefix>\n }\n </ax-button>\n }\n </div>\n </footer>\n }\n</article>\n", styles: ["@layer properties;:host{display:block;width:100%;min-width:0px}:host.axp-entity-card-host--fill{display:flex;width:100%;min-width:0;flex:1 1 auto;flex-direction:column}:host.axp-entity-card-host--elevated{border-radius:var(--radius-md, .375rem);box-shadow:0 8px 16px #00000029,0 24px 48px #00000038,0 48px 96px #00000047}.axp-entity-card{--axp-entity-card-surface: rgb(var(--ax-sys-color-lightest-surface));--axp-entity-card-border: rgb(var(--ax-sys-color-border-light-surface));--axp-entity-card-gutter: 1rem;position:relative;display:flex;width:100%;flex-direction:column;overflow:hidden;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;--tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / .05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:box-shadow;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));background-color:var(--axp-entity-card-surface);border-color:var(--axp-entity-card-border)}.axp-entity-card:hover{--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.axp-entity-card:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-500))}.axp-entity-card.axp-entity-card--selected{border-color:rgba(var(--ax-sys-color-primary-500));--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);box-shadow:0 0 0 1px rgb(var(--ax-sys-color-primary-500) / .25),0 2px 6px #0000000f}.axp-entity-card.axp-entity-card--new{border-color:rgb(var(--ax-sys-color-border-success-surface));box-shadow:0 0 0 1px rgb(var(--ax-sys-color-success-500) / .2)}.axp-entity-card.primary{--axp-entity-card-surface: rgb(var(--ax-sys-color-primary-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-primary-lightest-surface))}.axp-entity-card.secondary{--axp-entity-card-surface: rgb(var(--ax-sys-color-secondary-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-secondary-lightest-surface))}.axp-entity-card.success{--axp-entity-card-surface: rgb(var(--ax-sys-color-success-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-success-lightest-surface))}.axp-entity-card.warning{--axp-entity-card-surface: rgb(var(--ax-sys-color-warning-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-warning-lightest-surface))}.axp-entity-card.danger{--axp-entity-card-surface: rgb(var(--ax-sys-color-danger-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-danger-lightest-surface))}.axp-entity-card.accent1{--axp-entity-card-surface: rgb(var(--ax-sys-color-accent1-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-accent1-lightest-surface))}.axp-entity-card.accent2{--axp-entity-card-surface: rgb(var(--ax-sys-color-accent2-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-accent2-lightest-surface))}.axp-entity-card.accent3{--axp-entity-card-surface: rgb(var(--ax-sys-color-accent3-50));--axp-entity-card-border: rgb(var(--ax-sys-color-border-accent3-lightest-surface))}.axp-entity-card.primary,.axp-entity-card.secondary,.axp-entity-card.success,.axp-entity-card.warning,.axp-entity-card.danger,.axp-entity-card.accent1,.axp-entity-card.accent2,.axp-entity-card.accent3{background-color:var(--axp-entity-card-surface)}:is(.axp-entity-card.primary,.axp-entity-card.secondary,.axp-entity-card.success,.axp-entity-card.warning,.axp-entity-card.danger,.axp-entity-card.accent1,.axp-entity-card.accent2,.axp-entity-card.accent3) .axp-entity-card__footer{background-color:transparent}.axp-entity-card:not(.axp-entity-card--static){cursor:pointer}.axp-entity-card.axp-entity-card--static{cursor:default}.axp-entity-card.axp-entity-card--elevated{--axp-entity-card-surface: rgb(var(--ax-sys-color-lightest-surface));background-color:rgb(var(--ax-sys-color-lightest-surface));--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.axp-entity-card.axp-entity-card--elevated:hover{--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.axp-entity-card.axp-entity-card--elevated .axp-entity-card__footer{background-color:rgb(var(--ax-sys-color-lightest-surface))}.axp-entity-card.axp-entity-card--embedded{border-radius:0;border-style:var(--tw-border-style);border-width:0px;--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--axp-entity-card-surface: transparent;background-color:transparent}.axp-entity-card.axp-entity-card--embedded:hover{--tw-shadow: 0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.axp-entity-card.axp-entity-card--embedded .axp-entity-card__identity{padding-inline:0px;padding-block:0px}.axp-entity-card.axp-entity-card--embedded .axp-entity-card__fields{padding-inline:0px;padding-top:calc(var(--spacing, .25rem) * 2);padding-bottom:0}.axp-entity-card.axp-entity-card--embedded .axp-entity-card__divider{margin-inline:0px}.axp-entity-card .axp-entity-card__identity{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3);padding-block:calc(var(--spacing, .25rem) * 3);padding-inline:var(--axp-entity-card-gutter)}.axp-entity-card .axp-entity-card__identity-main{display:flex;min-width:0px;flex:1;align-items:flex-start;gap:calc(var(--spacing, .25rem) * 3)}.axp-entity-card .axp-entity-card__avatar{flex-shrink:0}.axp-entity-card .axp-entity-card__logo{flex-shrink:0;overflow:hidden;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-light-surface));background-color:rgba(var(--ax-sys-color-surface))}.axp-entity-card .axp-entity-card__logo img{width:100%;height:100%;object-fit:contain}.axp-entity-card .axp-entity-card__qr{display:flex;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-md, .375rem);border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-sys-color-light-surface));background-color:rgba(var(--ax-sys-color-lightest-surface));padding:calc(var(--spacing, .25rem) * .5)}.axp-entity-card .axp-entity-card__qr axp-widget-column-cell{display:block;max-width:100%}.axp-entity-card .axp-entity-card__identity-text{display:flex;min-width:0px;flex:1;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}.axp-entity-card .axp-entity-card__title-row{display:flex;min-width:0px;flex-wrap:wrap;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.axp-entity-card .axp-entity-card__select-checkbox,.axp-entity-card .axp-entity-card__header-badge{flex-shrink:0}.axp-entity-card .axp-entity-card__identity-actions{display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * .5)}.axp-entity-card .axp-entity-card__close{margin-inline-end:calc(var(--spacing, .25rem) * -1);margin-top:calc(var(--spacing, .25rem) * -.5)}.axp-entity-card .axp-entity-card__content{position:relative;flex:1}.axp-entity-card .axp-entity-card__more{display:inline-flex;min-height:calc(var(--spacing, .25rem) * 8);flex-shrink:0;cursor:pointer;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);border-style:var(--tw-border-style);border-width:0px;background-color:transparent;padding-inline:var(--spacing, .25rem);font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:rgba(var(--ax-sys-color-on-lightest-surface))}.axp-entity-card .axp-entity-card__more span,.axp-entity-card .axp-entity-card__more i{pointer-events:none}.axp-entity-card .axp-entity-card__more i{font-size:10px;--tw-leading: 1;line-height:1}.axp-entity-card .axp-entity-card__more:hover,.axp-entity-card .axp-entity-card__more:focus-visible{color:rgba(var(--ax-sys-color-on-surface))}.axp-entity-card .axp-entity-card__more:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px;outline-offset:2px;outline-color:rgba(var(--ax-sys-color-primary-500))}.axp-entity-card .axp-entity-card__more--footer{margin-block:calc(var(--spacing, .25rem) * -2.5);margin-inline-start:calc(var(--spacing, .25rem) * -1);min-height:calc(var(--spacing, .25rem) * 10);align-self:stretch;padding-inline:calc(var(--spacing, .25rem) * 2)}.axp-entity-card .axp-entity-card__more--inline{margin-inline:var(--axp-entity-card-gutter);margin-top:calc(var(--spacing, .25rem) * .5);margin-bottom:calc(var(--spacing, .25rem) * 2);padding-inline:var(--spacing, .25rem);padding-block:calc(var(--spacing, .25rem) * 2)}.axp-entity-card.axp-entity-card--expanded .axp-entity-card__more{color:rgba(var(--ax-sys-color-on-surface))}.axp-entity-card .axp-entity-card__title{min-width:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));--tw-leading: var(--leading-relaxed, 1.625);line-height:var(--leading-relaxed, 1.625);--tw-font-weight: var(--font-weight-semibold, 600);font-weight:var(--font-weight-semibold, 600)}.axp-entity-card .axp-entity-card__icon{flex-shrink:0;font-size:var(--text-base, 1rem);line-height:var(--tw-leading, var(--text-base--line-height, 1.5 ));color:var(--color-gray-500, oklch(55.1% .027 264.364))}.axp-entity-card .axp-entity-card__description{min-width:0px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);opacity:65%}.axp-entity-card .axp-entity-card__facts{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-bottom:calc(var(--spacing, .25rem) * 3);padding-inline:var(--axp-entity-card-gutter)}.axp-entity-card .axp-entity-card__facts--inline{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:calc(var(--spacing, .25rem) * 4);row-gap:var(--spacing, .25rem);padding-inline:0px;padding-block:calc(var(--spacing, .25rem) * .5)}.axp-entity-card .axp-entity-card__fact{min-width:0px;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:rgba(var(--ax-sys-color-on-lightest-surface))}.axp-entity-card .axp-entity-card__fact axp-widget-column-cell{display:block;max-width:100%}.axp-entity-card .axp-entity-card__divider{margin-inline:var(--axp-entity-card-gutter);border-top:1px solid var(--axp-entity-card-border)}.axp-entity-card .axp-entity-card__body{position:relative;overflow:hidden}.axp-entity-card .axp-entity-card__extra{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2)}.axp-entity-card .axp-entity-card__extra--collapsed{display:none}.axp-entity-card .axp-entity-card__fields{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 2);padding-block:calc(var(--spacing, .25rem) * 3);padding-inline:var(--axp-entity-card-gutter)}.axp-entity-card .axp-entity-card__field-row.primary,.axp-entity-card .axp-entity-card__field-row.secondary,.axp-entity-card .axp-entity-card__field-row.success,.axp-entity-card .axp-entity-card__field-row.warning,.axp-entity-card .axp-entity-card__field-row.danger,.axp-entity-card .axp-entity-card__field-row.accent1,.axp-entity-card .axp-entity-card__field-row.accent2,.axp-entity-card .axp-entity-card__field-row.accent3{width:auto;margin-inline:calc(-1 * var(--axp-entity-card-gutter));padding-inline:var(--axp-entity-card-gutter)}.axp-entity-card .axp-entity-card__fact.primary,.axp-entity-card .axp-entity-card__header-badge.primary,.axp-entity-card .axp-entity-card__field-row.primary{--axp-entity-styling-border: var(--ax-sys-color-border-primary-lightest-surface);background-color:rgb(var(--ax-sys-color-primary-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-primary-lightest-surface))}.axp-entity-card .axp-entity-card__fact.secondary,.axp-entity-card .axp-entity-card__header-badge.secondary,.axp-entity-card .axp-entity-card__field-row.secondary{--axp-entity-styling-border: var(--ax-sys-color-border-secondary-lightest-surface);background-color:rgb(var(--ax-sys-color-secondary-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-secondary-lightest-surface))}.axp-entity-card .axp-entity-card__fact.success,.axp-entity-card .axp-entity-card__header-badge.success,.axp-entity-card .axp-entity-card__field-row.success{--axp-entity-styling-border: var(--ax-sys-color-border-success-lightest-surface);background-color:rgb(var(--ax-sys-color-success-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-success-lightest-surface))}.axp-entity-card .axp-entity-card__fact.warning,.axp-entity-card .axp-entity-card__header-badge.warning,.axp-entity-card .axp-entity-card__field-row.warning{--axp-entity-styling-border: var(--ax-sys-color-border-warning-lightest-surface);background-color:rgb(var(--ax-sys-color-warning-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-warning-lightest-surface))}.axp-entity-card .axp-entity-card__fact.danger,.axp-entity-card .axp-entity-card__header-badge.danger,.axp-entity-card .axp-entity-card__field-row.danger{--axp-entity-styling-border: var(--ax-sys-color-border-danger-lightest-surface);background-color:rgb(var(--ax-sys-color-danger-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-danger-lightest-surface))}.axp-entity-card .axp-entity-card__fact.accent1,.axp-entity-card .axp-entity-card__header-badge.accent1,.axp-entity-card .axp-entity-card__field-row.accent1{--axp-entity-styling-border: var(--ax-sys-color-border-accent1-lightest-surface);background-color:rgb(var(--ax-sys-color-accent1-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-accent1-lightest-surface))}.axp-entity-card .axp-entity-card__fact.accent2,.axp-entity-card .axp-entity-card__header-badge.accent2,.axp-entity-card .axp-entity-card__field-row.accent2{--axp-entity-styling-border: var(--ax-sys-color-border-accent2-lightest-surface);background-color:rgb(var(--ax-sys-color-accent2-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-accent2-lightest-surface))}.axp-entity-card .axp-entity-card__fact.accent3,.axp-entity-card .axp-entity-card__header-badge.accent3,.axp-entity-card .axp-entity-card__field-row.accent3{--axp-entity-styling-border: var(--ax-sys-color-border-accent3-lightest-surface);background-color:rgb(var(--ax-sys-color-accent3-100));box-shadow:inset 0 0 0 1px rgb(var(--axp-entity-styling-border) / .35);color:rgb(var(--ax-sys-color-on-accent3-lightest-surface))}.axp-entity-card .axp-entity-card__fact.primary,.axp-entity-card .axp-entity-card__fact.secondary,.axp-entity-card .axp-entity-card__fact.success,.axp-entity-card .axp-entity-card__fact.warning,.axp-entity-card .axp-entity-card__fact.danger,.axp-entity-card .axp-entity-card__fact.accent1,.axp-entity-card .axp-entity-card__fact.accent2,.axp-entity-card .axp-entity-card__fact.accent3,.axp-entity-card .axp-entity-card__header-badge.primary,.axp-entity-card .axp-entity-card__header-badge.secondary,.axp-entity-card .axp-entity-card__header-badge.success,.axp-entity-card .axp-entity-card__header-badge.warning,.axp-entity-card .axp-entity-card__header-badge.danger,.axp-entity-card .axp-entity-card__header-badge.accent1,.axp-entity-card .axp-entity-card__header-badge.accent2,.axp-entity-card .axp-entity-card__header-badge.accent3{border-radius:var(--radius-sm, .25rem);padding-inline:var(--spacing, .25rem)}.axp-entity-card .axp-entity-card__field-row{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 3)}.axp-entity-card .axp-entity-card__field-label{display:inline-flex;min-width:0px;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 1.5);text-align:start;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);--tw-font-weight: var(--font-weight-normal, 400);font-weight:var(--font-weight-normal, 400);color:var(--color-gray-500, oklch(55.1% .027 264.364))}.axp-entity-card .axp-entity-card__field-value{margin-inline-start:auto;max-width:60%;min-width:0px;overflow:hidden;text-align:start;font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));--tw-leading: var(--leading-snug, 1.375);line-height:var(--leading-snug, 1.375);--tw-font-weight: var(--font-weight-normal, 400);font-weight:var(--font-weight-normal, 400);overflow-wrap:break-word;color:rgba(var(--ax-sys-color-on-surface))}.axp-entity-card .axp-entity-card__field-value axp-widget-column-cell{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;width:100%;max-width:100%;min-width:0px;overflow:hidden;text-align:start;overflow-wrap:break-word}.axp-entity-card .axp-entity-card__field-value axp-widget-column-cell *{text-align:start}.axp-entity-card .axp-entity-card__field-value axp-widget-column-cell .flex{justify-content:flex-start}.axp-entity-card .axp-entity-card__field-value :is(.truncate,.whitespace-nowrap){max-width:100%;min-width:0px;overflow-wrap:break-word;white-space:normal;overflow:visible;text-overflow:unset}:is(.axp-entity-card .axp-entity-card__field-row.primary,.axp-entity-card .axp-entity-card__field-row.secondary,.axp-entity-card .axp-entity-card__field-row.success,.axp-entity-card .axp-entity-card__field-row.warning,.axp-entity-card .axp-entity-card__field-row.danger,.axp-entity-card .axp-entity-card__field-row.accent1,.axp-entity-card .axp-entity-card__field-row.accent2,.axp-entity-card .axp-entity-card__field-row.accent3) .axp-entity-card__field-label,:is(.axp-entity-card .axp-entity-card__field-row.primary,.axp-entity-card .axp-entity-card__field-row.secondary,.axp-entity-card .axp-entity-card__field-row.success,.axp-entity-card .axp-entity-card__field-row.warning,.axp-entity-card .axp-entity-card__field-row.danger,.axp-entity-card .axp-entity-card__field-row.accent1,.axp-entity-card .axp-entity-card__field-row.accent2,.axp-entity-card .axp-entity-card__field-row.accent3) .axp-entity-card__field-value{color:inherit}.axp-entity-card .axp-entity-card__field-icon{flex-shrink:0;font-size:var(--text-xs, .75rem);line-height:var(--tw-leading, var(--text-xs--line-height, calc(1 / .75)));color:var(--color-gray-400, oklch(70.7% .022 261.325))}.axp-entity-card .axp-entity-card__footer{margin-top:auto;display:flex;flex-shrink:0;align-items:center;gap:calc(var(--spacing, .25rem) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;padding-block:calc(var(--spacing, .25rem) * 2.5);padding-inline:var(--axp-entity-card-gutter);border-top-color:var(--axp-entity-card-border);background-color:var(--axp-entity-card-surface)}.axp-entity-card .axp-entity-card__footer-actions{margin-inline-start:auto;display:flex;min-width:0px;align-items:center;justify-content:flex-end;gap:calc(var(--spacing, .25rem) * 2)}.axp-entity-card .axp-entity-card__primary-action{min-width:0px}:is(.axp-entity-card.axp-entity-card--row,.axp-entity-card.axp-entity-card--compact):not(.axp-entity-card--embedded) .axp-entity-card__identity{padding-block:calc(var(--spacing, .25rem) * 2.5)}:is(.axp-entity-card.axp-entity-card--row,.axp-entity-card.axp-entity-card--compact) .axp-entity-card__title{font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)))}:is(.axp-entity-card.axp-entity-card--row,.axp-entity-card.axp-entity-card--compact).axp-entity-card--expandable.axp-entity-card--expanded .axp-entity-card__identity{padding-bottom:calc(var(--spacing, .25rem) * 2.5)}:host.axp-entity-card-host--fill .axp-entity-card{display:flex;width:100%;min-height:0;flex:1 1 auto;flex-direction:column}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-leading{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style: solid;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-font-weight: initial;--tw-leading: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
8460
8460
  }], ctorParameters: () => [], propDecorators: { entity: [{ type: i0.Input, args: [{ isSignal: true, alias: "entity", required: true }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], row: [{ type: i0.Input, args: [{ isSignal: true, alias: "row", required: true }] }], fields: [{ type: i0.Input, args: [{ isSignal: true, alias: "fields", required: false }] }], userStylingRules: [{ type: i0.Input, args: [{ isSignal: true, alias: "userStylingRules", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], interactive: [{ type: i0.Input, args: [{ isSignal: true, alias: "interactive", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], elevated: [{ type: i0.Input, args: [{ isSignal: true, alias: "elevated", required: false }] }], disableLookupPopover: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableLookupPopover", required: false }] }], fillHost: [{ type: i0.Input, args: [{ isSignal: true, alias: "fillHost", required: false }] }], extraExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "extraExpanded", required: false }] }, { type: i0.Output, args: ["extraExpandedChange"] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], showNewBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNewBadge", required: false }] }], showSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSelection", required: false }] }], showClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClose", required: false }] }], primaryActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryActions", required: false }] }], primaryActionLook: [{ type: i0.Input, args: [{ isSignal: true, alias: "primaryActionLook", required: false }] }], secondaryActionLoader: [{ type: i0.Input, args: [{ isSignal: true, alias: "secondaryActionLoader", required: false }] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], commandClick: [{ type: i0.Output, args: ["commandClick"] }], closeClick: [{ type: i0.Output, args: ["closeClick"] }] } });
8461
8461
 
8462
+ //#region ----- Types -----
8463
+ //#endregion
8464
+ //#region ----- Selection -----
8465
+ /**
8466
+ * Applies a lookup popover field selection to an already resolved entity card.
8467
+ * Omitted `fields` keeps the card. A provided list replaces it, in that order, and
8468
+ * promotes collapsed "more" facts so the listed fields are visible. `exclude` then removes names.
8469
+ */
8470
+ function selectEntityDetailPopoverFields(fields, selection) {
8471
+ const listed = normalizePopoverFieldNames(selection?.fields);
8472
+ const excluded = new Set(normalizePopoverFieldNames(selection?.exclude) ?? []);
8473
+ const selected = listed == null ? [...fields] : pickListedPopoverFields(fields, listed);
8474
+ if (excluded.size === 0) {
8475
+ return selected;
8476
+ }
8477
+ return selected.filter((field) => !popoverFieldNames(field).some((name) => excluded.has(name)));
8478
+ }
8479
+ function pickListedPopoverFields(fields, listed) {
8480
+ const selected = [];
8481
+ for (const name of listed) {
8482
+ const match = fields.find((field) => popoverFieldNames(field).includes(name));
8483
+ if (!match || selected.includes(match)) {
8484
+ continue;
8485
+ }
8486
+ selected.push(revealListedPopoverField(match));
8487
+ }
8488
+ return selected;
8489
+ }
8490
+ function revealListedPopoverField(field) {
8491
+ if (field.isBadgeDisplay || !field.isMoreDisplay) {
8492
+ return field;
8493
+ }
8494
+ field.display = 'simple';
8495
+ field.isMoreDisplay = false;
8496
+ field.isSimpleDisplay = true;
8497
+ field.isMetaDisplay = false;
8498
+ return field;
8499
+ }
8500
+ function popoverFieldNames(field) {
8501
+ const cardName = field.field?.name?.trim();
8502
+ const propertyName = field.name?.trim();
8503
+ if (cardName && propertyName && cardName !== propertyName) {
8504
+ return [cardName, propertyName];
8505
+ }
8506
+ const name = cardName || propertyName;
8507
+ return name ? [name] : [];
8508
+ }
8509
+ function normalizePopoverFieldNames(values) {
8510
+ if (values == null) {
8511
+ return undefined;
8512
+ }
8513
+ const seen = new Set();
8514
+ const names = [];
8515
+ for (const value of values) {
8516
+ const name = value?.trim();
8517
+ if (!name || seen.has(name)) {
8518
+ continue;
8519
+ }
8520
+ seen.add(name);
8521
+ names.push(name);
8522
+ }
8523
+ return names;
8524
+ }
8525
+ //#endregion
8526
+
8462
8527
  class AXPEntityDetailPopoverComponent {
8463
8528
  //#endregion
8464
8529
  //#region ----- Lifecycle -----
@@ -8490,6 +8555,12 @@ class AXPEntityDetailPopoverComponent {
8490
8555
  ...(ngDevMode ? [undefined, { debugName: "requestClose" }] : /* istanbul ignore next */ []));
8491
8556
  this.breadcrumb = input(null, /* @ts-ignore */
8492
8557
  ...(ngDevMode ? [{ debugName: "breadcrumb" }] : /* istanbul ignore next */ []));
8558
+ /** When set, replaces the entity card field list for this popover only. */
8559
+ this.popoverFields = input(null, /* @ts-ignore */
8560
+ ...(ngDevMode ? [{ debugName: "popoverFields" }] : /* istanbul ignore next */ []));
8561
+ /** Names removed from this popover after `popoverFields` is applied. */
8562
+ this.popoverExclude = input(null, /* @ts-ignore */
8563
+ ...(ngDevMode ? [{ debugName: "popoverExclude" }] : /* istanbul ignore next */ []));
8493
8564
  //#endregion
8494
8565
  //#region ----- State Signals -----
8495
8566
  this.entityDefinition = signal(null, /* @ts-ignore */
@@ -8518,7 +8589,10 @@ class AXPEntityDetailPopoverComponent {
8518
8589
  if (!definition) {
8519
8590
  return [];
8520
8591
  }
8521
- return this.cardFieldsResolver.resolve(definition, layout);
8592
+ return selectEntityDetailPopoverFields(this.cardFieldsResolver.resolve(definition, layout), {
8593
+ fields: this.popoverFields(),
8594
+ exclude: this.popoverExclude(),
8595
+ });
8522
8596
  }, /* @ts-ignore */
8523
8597
  ...(ngDevMode ? [{ debugName: "cardFields" }] : /* istanbul ignore next */ []));
8524
8598
  this.showSkeletonAvatar = computed(() => {
@@ -8626,7 +8700,7 @@ class AXPEntityDetailPopoverComponent {
8626
8700
  }
8627
8701
  }
8628
8702
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntityDetailPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8629
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPEntityDetailPopoverComponent, isStandalone: true, selector: "axp-entity-detail-popover", inputs: { entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: true, transformFunction: null }, entityId: { classPropertyName: "entityId", publicName: "entityId", isSignal: true, isRequired: true, transformFunction: null }, requestClose: { classPropertyName: "requestClose", publicName: "requestClose", isSignal: true, isRequired: false, transformFunction: null }, breadcrumb: { classPropertyName: "breadcrumb", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXP_SELECT_COLUMN_RESOLVE_QUERY, useValue: true }], ngImport: i0, template: "<div class=\"axp-entity-detail-popover\">\n @if (breadcrumb()) {\n <!-- ----- Optional lookup breadcrumb above the shared entity card ----- -->\n <div class=\"text-xs text-neutral-500 mb-2\">{{ breadcrumb() }}</div>\n }\n @if (isLoadingDetails()) {\n <!-- ----- Loading placeholder while Entity:GetDetails is fetched ----- -->\n <div class=\"axp-entity-detail-popover__loading\">\n @if (canClose()) {\n <!-- ----- Dismiss while the lookup card is still loading ----- -->\n <ax-button\n class=\"axp-entity-detail-popover__close ax-sm\"\n [look]=\"'blank'\"\n [color]=\"'default'\"\n [iconOnly]=\"true\"\n [attr.title]=\"('@general:actions.close.title' | translate | async)\"\n [attr.aria-label]=\"('@general:actions.close.title' | translate | async)\"\n (onClick)=\"onClose()\"\n >\n <i class=\"fa-light fa-xmark\" aria-hidden=\"true\"></i>\n </ax-button>\n }\n <axp-entity-card-skeleton\n [fieldCount]=\"skeletonFieldCount()\"\n [badgeCount]=\"skeletonBadgeCount()\"\n [showContent]=\"true\"\n [showFooter]=\"canOpenDetails()\"\n [showAvatar]=\"showSkeletonAvatar()\"\n [elevated]=\"true\"\n />\n </div>\n }\n <!-- ----- Same card chrome as the master list; Open Details uses the card footer ----- -->\n @else if (entityDefinition(); as definition) {\n <!--->\n <!-- ----- Entity card when row details have loaded ----- -->\n @if (entityData(); as row) {\n <axp-entity-card\n [entity]=\"definition\"\n [layout]=\"cardLayout()\"\n [row]=\"row\"\n [fields]=\"cardFields()\"\n variant=\"card\"\n [interactive]=\"false\"\n [elevated]=\"true\"\n [showClose]=\"canClose()\"\n primaryActionLook=\"solid\"\n [disableLookupPopover]=\"true\"\n [primaryActions]=\"openDetailsActions()\"\n (commandClick)=\"onCardCommandClick($event)\"\n (closeClick)=\"onClose()\"\n />\n }\n }\n</div>\n", styles: [":host{display:block;border-radius:var(--radius-md, .375rem);width:min(600px,calc(100vw - 2rem));background-color:rgb(var(--ax-sys-color-lightest-surface));box-shadow:0 8px 16px #00000029,0 24px 48px #00000038,0 48px 96px #00000047}.axp-entity-detail-popover__loading{position:relative}.axp-entity-detail-popover__close{position:absolute;z-index:20;inset-block-start:.75rem;inset-inline-end:1rem}.axp-entity-detail-popover-overlay,.axp-entity-detail-popover-overlay.ax-overlay-container,.axp-entity-detail-popover-overlay.ax-overlay-pane,.axp-entity-detail-popover-overlay .ax-overlay-pane,.axp-entity-detail-popover-overlay .overlay-pane{width:min(600px,calc(100vw - 2rem))!important;min-width:min(600px,calc(100vw - 2rem));overflow:visible!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPEntityCardComponent, selector: "axp-entity-card", inputs: ["entity", "layout", "row", "fields", "userStylingRules", "variant", "interactive", "embedded", "elevated", "disableLookupPopover", "fillHost", "extraExpanded", "selected", "showNewBadge", "showSelection", "showClose", "primaryActions", "primaryActionLook", "secondaryActionLoader"], outputs: ["extraExpandedChange", "selectionChange", "commandClick", "closeClick"] }, { kind: "component", type: AXPEntityCardSkeletonComponent, selector: "axp-entity-card-skeleton", inputs: ["fieldCount", "badgeCount", "showFooter", "showHeaderMenu", "showContent", "rowLayout", "showAvatar", "fillHost", "embedded", "elevated"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8703
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPEntityDetailPopoverComponent, isStandalone: true, selector: "axp-entity-detail-popover", inputs: { entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: true, transformFunction: null }, entityId: { classPropertyName: "entityId", publicName: "entityId", isSignal: true, isRequired: true, transformFunction: null }, requestClose: { classPropertyName: "requestClose", publicName: "requestClose", isSignal: true, isRequired: false, transformFunction: null }, breadcrumb: { classPropertyName: "breadcrumb", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null }, popoverFields: { classPropertyName: "popoverFields", publicName: "popoverFields", isSignal: true, isRequired: false, transformFunction: null }, popoverExclude: { classPropertyName: "popoverExclude", publicName: "popoverExclude", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXP_SELECT_COLUMN_RESOLVE_QUERY, useValue: true }], ngImport: i0, template: "<div class=\"axp-entity-detail-popover\">\n @if (breadcrumb()) {\n <!-- ----- Optional lookup breadcrumb above the shared entity card ----- -->\n <div class=\"text-xs text-neutral-500 mb-2\">{{ breadcrumb() }}</div>\n }\n @if (isLoadingDetails()) {\n <!-- ----- Loading placeholder while Entity:GetDetails is fetched ----- -->\n <div class=\"axp-entity-detail-popover__loading\">\n @if (canClose()) {\n <!-- ----- Dismiss while the lookup card is still loading ----- -->\n <ax-button\n class=\"axp-entity-detail-popover__close ax-sm\"\n [look]=\"'blank'\"\n [color]=\"'default'\"\n [iconOnly]=\"true\"\n [attr.title]=\"('@general:actions.close.title' | translate | async)\"\n [attr.aria-label]=\"('@general:actions.close.title' | translate | async)\"\n (onClick)=\"onClose()\"\n >\n <i class=\"fa-light fa-xmark\" aria-hidden=\"true\"></i>\n </ax-button>\n }\n <axp-entity-card-skeleton\n [fieldCount]=\"skeletonFieldCount()\"\n [badgeCount]=\"skeletonBadgeCount()\"\n [showContent]=\"true\"\n [showFooter]=\"canOpenDetails()\"\n [showAvatar]=\"showSkeletonAvatar()\"\n [elevated]=\"true\"\n />\n </div>\n }\n <!-- ----- Same card chrome as the master list; Open Details uses the card footer ----- -->\n @else if (entityDefinition(); as definition) {\n <!--->\n <!-- ----- Entity card when row details have loaded ----- -->\n @if (entityData(); as row) {\n <axp-entity-card\n [entity]=\"definition\"\n [layout]=\"cardLayout()\"\n [row]=\"row\"\n [fields]=\"cardFields()\"\n variant=\"card\"\n [interactive]=\"false\"\n [elevated]=\"true\"\n [showClose]=\"canClose()\"\n primaryActionLook=\"solid\"\n [disableLookupPopover]=\"true\"\n [primaryActions]=\"openDetailsActions()\"\n (commandClick)=\"onCardCommandClick($event)\"\n (closeClick)=\"onClose()\"\n />\n }\n }\n</div>\n", styles: [":host{display:block;border-radius:var(--radius-md, .375rem);width:min(600px,calc(100vw - 2rem));background-color:rgb(var(--ax-sys-color-lightest-surface));box-shadow:0 8px 16px #00000029,0 24px 48px #00000038,0 48px 96px #00000047}.axp-entity-detail-popover__loading{position:relative}.axp-entity-detail-popover__close{position:absolute;z-index:20;inset-block-start:.75rem;inset-inline-end:1rem}.axp-entity-detail-popover-overlay,.axp-entity-detail-popover-overlay.ax-overlay-container,.axp-entity-detail-popover-overlay.ax-overlay-pane,.axp-entity-detail-popover-overlay .ax-overlay-pane,.axp-entity-detail-popover-overlay .overlay-pane{width:min(600px,calc(100vw - 2rem))!important;min-width:min(600px,calc(100vw - 2rem));overflow:visible!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXSkeletonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPEntityCardComponent, selector: "axp-entity-card", inputs: ["entity", "layout", "row", "fields", "userStylingRules", "variant", "interactive", "embedded", "elevated", "disableLookupPopover", "fillHost", "extraExpanded", "selected", "showNewBadge", "showSelection", "showClose", "primaryActions", "primaryActionLook", "secondaryActionLoader"], outputs: ["extraExpandedChange", "selectionChange", "commandClick", "closeClick"] }, { kind: "component", type: AXPEntityCardSkeletonComponent, selector: "axp-entity-card-skeleton", inputs: ["fieldCount", "badgeCount", "showFooter", "showHeaderMenu", "showContent", "rowLayout", "showAvatar", "fillHost", "embedded", "elevated"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8630
8704
  }
8631
8705
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntityDetailPopoverComponent, decorators: [{
8632
8706
  type: Component,
@@ -8639,7 +8713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
8639
8713
  AXPEntityCardComponent,
8640
8714
  AXPEntityCardSkeletonComponent,
8641
8715
  ], providers: [{ provide: AXP_SELECT_COLUMN_RESOLVE_QUERY, useValue: true }], template: "<div class=\"axp-entity-detail-popover\">\n @if (breadcrumb()) {\n <!-- ----- Optional lookup breadcrumb above the shared entity card ----- -->\n <div class=\"text-xs text-neutral-500 mb-2\">{{ breadcrumb() }}</div>\n }\n @if (isLoadingDetails()) {\n <!-- ----- Loading placeholder while Entity:GetDetails is fetched ----- -->\n <div class=\"axp-entity-detail-popover__loading\">\n @if (canClose()) {\n <!-- ----- Dismiss while the lookup card is still loading ----- -->\n <ax-button\n class=\"axp-entity-detail-popover__close ax-sm\"\n [look]=\"'blank'\"\n [color]=\"'default'\"\n [iconOnly]=\"true\"\n [attr.title]=\"('@general:actions.close.title' | translate | async)\"\n [attr.aria-label]=\"('@general:actions.close.title' | translate | async)\"\n (onClick)=\"onClose()\"\n >\n <i class=\"fa-light fa-xmark\" aria-hidden=\"true\"></i>\n </ax-button>\n }\n <axp-entity-card-skeleton\n [fieldCount]=\"skeletonFieldCount()\"\n [badgeCount]=\"skeletonBadgeCount()\"\n [showContent]=\"true\"\n [showFooter]=\"canOpenDetails()\"\n [showAvatar]=\"showSkeletonAvatar()\"\n [elevated]=\"true\"\n />\n </div>\n }\n <!-- ----- Same card chrome as the master list; Open Details uses the card footer ----- -->\n @else if (entityDefinition(); as definition) {\n <!--->\n <!-- ----- Entity card when row details have loaded ----- -->\n @if (entityData(); as row) {\n <axp-entity-card\n [entity]=\"definition\"\n [layout]=\"cardLayout()\"\n [row]=\"row\"\n [fields]=\"cardFields()\"\n variant=\"card\"\n [interactive]=\"false\"\n [elevated]=\"true\"\n [showClose]=\"canClose()\"\n primaryActionLook=\"solid\"\n [disableLookupPopover]=\"true\"\n [primaryActions]=\"openDetailsActions()\"\n (commandClick)=\"onCardCommandClick($event)\"\n (closeClick)=\"onClose()\"\n />\n }\n }\n</div>\n", styles: [":host{display:block;border-radius:var(--radius-md, .375rem);width:min(600px,calc(100vw - 2rem));background-color:rgb(var(--ax-sys-color-lightest-surface));box-shadow:0 8px 16px #00000029,0 24px 48px #00000038,0 48px 96px #00000047}.axp-entity-detail-popover__loading{position:relative}.axp-entity-detail-popover__close{position:absolute;z-index:20;inset-block-start:.75rem;inset-inline-end:1rem}.axp-entity-detail-popover-overlay,.axp-entity-detail-popover-overlay.ax-overlay-container,.axp-entity-detail-popover-overlay.ax-overlay-pane,.axp-entity-detail-popover-overlay .ax-overlay-pane,.axp-entity-detail-popover-overlay .overlay-pane{width:min(600px,calc(100vw - 2rem))!important;min-width:min(600px,calc(100vw - 2rem));overflow:visible!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
8642
- }], ctorParameters: () => [], propDecorators: { entity: [{ type: i0.Input, args: [{ isSignal: true, alias: "entity", required: true }] }], entityId: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityId", required: true }] }], requestClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestClose", required: false }] }], breadcrumb: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumb", required: false }] }] } });
8716
+ }], ctorParameters: () => [], propDecorators: { entity: [{ type: i0.Input, args: [{ isSignal: true, alias: "entity", required: true }] }], entityId: [{ type: i0.Input, args: [{ isSignal: true, alias: "entityId", required: true }] }], requestClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestClose", required: false }] }], breadcrumb: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumb", required: false }] }], popoverFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "popoverFields", required: false }] }], popoverExclude: [{ type: i0.Input, args: [{ isSignal: true, alias: "popoverExclude", required: false }] }] } });
8643
8717
 
8644
8718
  class AXPEntityDetailPopoverService {
8645
8719
  constructor() {
@@ -8698,6 +8772,8 @@ class AXPEntityDetailPopoverService {
8698
8772
  entity: options.entity,
8699
8773
  entityId: options.id,
8700
8774
  breadcrumb: options.breadcrumb ?? null,
8775
+ popoverFields: options.fields ?? null,
8776
+ popoverExclude: options.exclude ?? null,
8701
8777
  requestClose,
8702
8778
  },
8703
8779
  onDispose: () => {
@@ -14501,7 +14577,7 @@ class AXMAttachmentsPageComponentProvider {
14501
14577
  return [
14502
14578
  {
14503
14579
  key: ATTACHMENTS_PAGE_COMPONENT_KEY,
14504
- loader: () => import('./acorex-platform-framework-client-layout-entity-attachments-page.component-Dv0qPsuq.mjs').then((m) => m.AXMAttachmentsPageComponent),
14580
+ loader: () => import('./acorex-platform-framework-client-layout-entity-attachments-page.component-Bvu_DFae.mjs').then((m) => m.AXMAttachmentsPageComponent),
14505
14581
  },
14506
14582
  ];
14507
14583
  }
@@ -15038,7 +15114,7 @@ class AXMGalleryPageComponentProvider {
15038
15114
  return [
15039
15115
  {
15040
15116
  key: GALLERY_PAGE_COMPONENT_KEY,
15041
- loader: () => import('./acorex-platform-framework-client-layout-entity-gallery-page.component-Be6RD2-p.mjs').then((m) => m.AXMGalleryPageComponent),
15117
+ loader: () => import('./acorex-platform-framework-client-layout-entity-gallery-page.component-C9VXr6zx.mjs').then((m) => m.AXMGalleryPageComponent),
15042
15118
  },
15043
15119
  ];
15044
15120
  }
@@ -19128,7 +19204,7 @@ class AXPEntityDefinitionProviderWidgetEditComponent extends AXPValueWidgetCompo
19128
19204
  return labeled.map(({ value, title, searchText }) => ({ value, title, searchText }));
19129
19205
  }
19130
19206
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntityDefinitionProviderWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19131
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXPEntityDefinitionProviderWidgetEditComponent, isStandalone: true, selector: "axp-entity-definition-provider-widget-edit", host: { classAttribute: "block flex-1" }, usesInheritance: true, ngImport: i0, template: "<ax-lookup\n mode=\"drop-down-list\"\n [dataSource]=\"dataSource\"\n valueField=\"value\"\n textField=\"title\"\n [searchable]=\"true\"\n [itemHeight]=\"rowHeight\"\n [maxVisibleItems]=\"8\"\n [valueItems]=\"selectedItems()\"\n [ngModel]=\"selectedKey()\"\n [itemTemplate]=\"entityItemTemplate\"\n [selectedTemplate]=\"entitySelectedTemplate\"\n (onValueChanged)=\"onLookupValueChanged($event)\"\n>\n</ax-lookup>\n\n<!-- ----- Dropdown row. Custom itemTemplate skips the library option padding, so px-3 lives here. ----- -->\n<ng-template #entityItemTemplate let-item>\n <span class=\"flex h-full w-full min-w-0 items-center px-3 text-sm\">\n <span class=\"min-w-0 flex-1 truncate\">\n {{ item?.title | translate | async }}\n <span class=\"text-neutral-500\">({{ item?.value }})</span>\n </span>\n </span>\n</ng-template>\n\n<!-- ----- Selected value stays inside the input padding ----- -->\n<ng-template #entitySelectedTemplate let-item>\n <span class=\"block min-w-0 truncate text-sm\">\n {{ item?.title | translate | async }}\n <span class=\"text-neutral-500\">({{ item?.value }})</span>\n </span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "allowSelectAll", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXPEntityDefinitionProviderWidgetEditComponent, isStandalone: true, selector: "axp-entity-definition-provider-widget-edit", host: { classAttribute: "block flex-1" }, usesInheritance: true, ngImport: i0, template: "<ax-lookup\n mode=\"drop-down-list\"\n [dataSource]=\"dataSource\"\n valueField=\"value\"\n textField=\"title\"\n [searchable]=\"true\"\n [itemHeight]=\"rowHeight\"\n [maxVisibleItems]=\"8\"\n [valueItems]=\"selectedItems()\"\n [ngModel]=\"selectedKey()\"\n [itemTemplate]=\"entityItemTemplate\"\n [selectedTemplate]=\"entitySelectedTemplate\"\n (onValueChanged)=\"onLookupValueChanged($event)\"\n>\n</ax-lookup>\n\n<!-- ----- Dropdown row. Custom itemTemplate skips the library option padding, so px-3 lives here. ----- -->\n<ng-template #entityItemTemplate let-item>\n <span class=\"flex h-full w-full min-w-0 items-center px-3 text-sm\">\n <span class=\"min-w-0 flex-1 truncate\">\n {{ item?.title | translate | async }}\n <span class=\"text-neutral-500\">({{ item?.value }})</span>\n </span>\n </span>\n</ng-template>\n\n<!-- ----- Selected value stays inside the input padding ----- -->\n<ng-template #entitySelectedTemplate let-item>\n <span class=\"block min-w-0 truncate text-sm\">\n {{ item?.title | translate | async }}\n <span class=\"text-neutral-500\">({{ item?.value }})</span>\n </span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "allowSelectAll", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems", "prefetch"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19132
19208
  }
19133
19209
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPEntityDefinitionProviderWidgetEditComponent, decorators: [{
19134
19210
  type: Component,
@@ -25854,7 +25930,7 @@ class AXPLookupWidgetEditComponent extends AXPValueWidgetComponent {
25854
25930
  this.shouldFocus.set(true);
25855
25931
  }
25856
25932
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLookupWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25857
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "axp-lookup-widget-edit", host: { classAttribute: "w-full" }, viewQueries: [{ propertyName: "lookup", first: true, predicate: AXLookupComponent, descendants: true, isSignal: true }, { propertyName: "tableLookupHost", first: true, predicate: AXPLookupWidgetTableHostComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (entityDef() && editorKey()) {\n <!-- ----- Entity lookup editor ----- -->\n <div class=\"flex items-center gap-1 w-full\">\n <!--------------------------------------------------------------->\n <!-- ----- Inline ax-lookup / table host (popup look adds magnifier suffix) ----- -->\n @if (effectiveDataSource(); as dataSource) {\n <!-- ----- Multi-column modes: platform widget column renderer ----- -->\n @if (isTableLookupMode()) {\n <axp-lookup-widget-table-host\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [columns]=\"lookupWidgetTableColumns()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [disabledField]=\"'disabled'\"\n [parentField]=\"lookupMode() === 'multi-column-tree' ? treeParentField() : undefined\"\n [treeDataSource]=\"lookupMode() === 'multi-column-tree' ? entityTreeDataSource() : undefined\"\n [searchFields]=\"lookupTreeSearchFields()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [selectedTemplate]=\"lookupItemTemplate\"\n [rowActions]=\"rowActionsHandler()\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n @if (isPopupLook()) {\n <ax-suffix>\n <ax-button\n color=\"ghost\"\n look=\"blank\"\n [disabled]=\"isLookupDisabled() || isReadonly() || isLoading()\"\n (onClick)=\"handlePopupTriggerClick($event)\"\n >\n @if (isLoading()) {\n <ax-loading></ax-loading>\n }\n <!-- ----- Magnifier opens full entity data selector ----- -->\n @else {\n <ax-icon icon=\"far fa-search\"></ax-icon>\n }\n </ax-button>\n </ax-suffix>\n }\n </axp-lookup-widget-table-host>\n }\n <!-- ----- List / tree chip modes: ax-lookup ----- -->\n @else {\n <ax-lookup\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [mode]=\"lookupMode()\"\n [treeParentField]=\"treeParentField()\"\n [dataSource]=\"dataSource\"\n [treeDataSource]=\"entityTreeDataSource()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [itemTemplate]=\"$any(multiple() ? lookupListItemTemplate : lookupDropDownListItemTemplate)\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n @if (isPopupLook()) {\n <ax-suffix>\n <ax-button\n color=\"ghost\"\n look=\"blank\"\n [disabled]=\"isLookupDisabled() || isReadonly() || isLoading()\"\n (onClick)=\"handlePopupTriggerClick($event)\"\n >\n @if (isLoading()) {\n <ax-loading></ax-loading>\n }\n <!-- ----- Magnifier opens full entity data selector ----- -->\n @else {\n <ax-icon icon=\"far fa-search\"></ax-icon>\n }\n </ax-button>\n </ax-suffix>\n }\n </ax-lookup>\n }\n }\n <!--------------------------------------------------------------->\n <!-- ----- Inline create for the lookup entity ----- -->\n @if (resolvedCreate().enabled) {\n <ax-button\n color=\"primary\"\n look=\"twotone\"\n [disabled]=\"isLookupDisabled() || isLoading()\"\n (onClick)=\"handleCreateClick($event)\"\n [title]=\"'@general:actions.create.title' | translate | async\"\n >\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n}\n\n<!-- ----- Lookup item and selected-value label ----- -->\n<ng-template #lookupItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"ax-lookup-option-text\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n</ng-template>\n<!-- ----- Drop-down-list rows: library skips .ax-lookup-option chrome when itemTemplate is set ----- -->\n<ng-template #lookupDropDownListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex h-full w-full min-w-0 items-center gap-1 px-3 text-sm\">\n @let label = (getLookupItemLabel(item) | translate | async) ?? '';\n <span class=\"ax-lookup-option-text min-w-0 flex-1 truncate\" [axTooltip]=\"label\" [axTooltipOverflowOnly]=\"true\">\n <ax-highlight-text [text]=\"label\" [query]=\"highlightText ?? ''\"></ax-highlight-text>\n </span>\n <!-- ----- Primary row actions (preview, etc.) ----- -->\n @if (hasRowActionPrimary()) {\n <span class=\"inline-flex shrink-0 items-center\" (mousedown)=\"handleLookupItemRowActionMouseDown($event)\">\n @for (action of rowActionPrimaryItems(); track action.name) {\n <ax-button\n look=\"blank\"\n color=\"ghost\"\n [title]=\"action.text\"\n (onClick)=\"handleItemRowAction($event, action.name, item)\"\n >\n @if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n }\n </ax-button>\n }\n </span>\n }\n </span>\n</ng-template>\n<!-- ----- Multi-select list rows: fixed row height, so long labels truncate (tooltip on overflow) ----- -->\n<ng-template #lookupListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex w-full min-w-0 items-center gap-1\">\n @let label = (getLookupItemLabel(item) | translate | async) ?? '';\n <!-- Not `.ax-lookup-option-text`: the library's multi-select rule makes it `display: flex`, which drops the ellipsis. -->\n <span class=\"block min-w-0 flex-1 truncate\" [axTooltip]=\"label\" [axTooltipOverflowOnly]=\"true\">\n <ax-highlight-text [text]=\"label\" [query]=\"highlightText ?? ''\"></ax-highlight-text>\n </span>\n @if (hasRowActionPrimary()) {\n <span class=\"inline-flex shrink-0 items-center\" (mousedown)=\"handleLookupItemRowActionMouseDown($event)\">\n @for (action of rowActionPrimaryItems(); track action.name) {\n <ax-button\n look=\"blank\"\n color=\"ghost\"\n [title]=\"action.text\"\n (onClick)=\"handleItemRowAction($event, action.name, item)\"\n >\n @if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n }\n </ax-button>\n }\n </span>\n }\n </span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i5.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "component", type: AXHighlightTextComponent, selector: "ax-highlight-text", inputs: ["text", "query", "highlightDisabled", "highlightOptions"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1$2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "allowSelectAll", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "component", type: AXPLookupWidgetTableHostComponent, selector: "axp-lookup-widget-table-host", inputs: ["name", "placeholder", "caption", "searchPlaceholder", "dataSource", "treeDataSource", "columns", "valueField", "textField", "disabledField", "parentField", "hasChildrenField", "searchFields", "value", "valueItems", "disabled", "readonly", "searchable", "selectedTemplate", "rowActions"], outputs: ["valueChange", "onItemSelected"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipOverflowOnly", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25933
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXPLookupWidgetEditComponent, isStandalone: true, selector: "axp-lookup-widget-edit", host: { classAttribute: "w-full" }, viewQueries: [{ propertyName: "lookup", first: true, predicate: AXLookupComponent, descendants: true, isSignal: true }, { propertyName: "tableLookupHost", first: true, predicate: AXPLookupWidgetTableHostComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (entityDef() && editorKey()) {\n <!-- ----- Entity lookup editor ----- -->\n <div class=\"flex items-center gap-1 w-full\">\n <!--------------------------------------------------------------->\n <!-- ----- Inline ax-lookup / table host (popup look adds magnifier suffix) ----- -->\n @if (effectiveDataSource(); as dataSource) {\n <!-- ----- Multi-column modes: platform widget column renderer ----- -->\n @if (isTableLookupMode()) {\n <axp-lookup-widget-table-host\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [dataSource]=\"dataSource\"\n [columns]=\"lookupWidgetTableColumns()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [disabledField]=\"'disabled'\"\n [parentField]=\"lookupMode() === 'multi-column-tree' ? treeParentField() : undefined\"\n [treeDataSource]=\"lookupMode() === 'multi-column-tree' ? entityTreeDataSource() : undefined\"\n [searchFields]=\"lookupTreeSearchFields()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [selectedTemplate]=\"lookupItemTemplate\"\n [rowActions]=\"rowActionsHandler()\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n @if (isPopupLook()) {\n <ax-suffix>\n <ax-button\n color=\"ghost\"\n look=\"blank\"\n [disabled]=\"isLookupDisabled() || isReadonly() || isLoading()\"\n (onClick)=\"handlePopupTriggerClick($event)\"\n >\n @if (isLoading()) {\n <ax-loading></ax-loading>\n }\n <!-- ----- Magnifier opens full entity data selector ----- -->\n @else {\n <ax-icon icon=\"far fa-search\"></ax-icon>\n }\n </ax-button>\n </ax-suffix>\n }\n </axp-lookup-widget-table-host>\n }\n <!-- ----- List / tree chip modes: ax-lookup ----- -->\n @else {\n <ax-lookup\n class=\"flex-1 min-w-0\"\n [name]=\"name ?? ''\"\n [placeholder]=\"(placeholderText() | translate | async) ?? ''\"\n [caption]=\"(placeholderText() | translate | async) ?? ''\"\n [searchPlaceholder]=\"('@general:widgets.lookup.search.placeholder' | translate | async) ?? ''\"\n [mode]=\"lookupMode()\"\n [treeParentField]=\"treeParentField()\"\n [dataSource]=\"dataSource\"\n [treeDataSource]=\"entityTreeDataSource()\"\n [valueField]=\"valueField()\"\n [textField]=\"displayField()\"\n [value]=\"boundValue()\"\n [valueItems]=\"selectedItems()\"\n [disabled]=\"isLookupDisabled()\"\n [readonly]=\"isReadonly()\"\n [searchable]=\"true\"\n [itemTemplate]=\"$any(multiple() ? lookupListItemTemplate : lookupDropDownListItemTemplate)\"\n [selectedTemplate]=\"lookupItemTemplate\"\n (valueChange)=\"handleLookupModelChange($event)\"\n (onItemSelected)=\"handleLookupItemSelected($event)\"\n >\n @if (hasClearButton()) {\n <ax-clear-button></ax-clear-button>\n }\n @for (validation of validationRules(); track $index) {\n <ax-validation-rule\n [rule]=\"validation.rule\"\n [message]=\"$safeNavigationMigration(validation.options?.message)\"\n [options]=\"validation.options\"\n ></ax-validation-rule>\n }\n @if (isPopupLook()) {\n <ax-suffix>\n <ax-button\n color=\"ghost\"\n look=\"blank\"\n [disabled]=\"isLookupDisabled() || isReadonly() || isLoading()\"\n (onClick)=\"handlePopupTriggerClick($event)\"\n >\n @if (isLoading()) {\n <ax-loading></ax-loading>\n }\n <!-- ----- Magnifier opens full entity data selector ----- -->\n @else {\n <ax-icon icon=\"far fa-search\"></ax-icon>\n }\n </ax-button>\n </ax-suffix>\n }\n </ax-lookup>\n }\n }\n <!--------------------------------------------------------------->\n <!-- ----- Inline create for the lookup entity ----- -->\n @if (resolvedCreate().enabled) {\n <ax-button\n color=\"primary\"\n look=\"twotone\"\n [disabled]=\"isLookupDisabled() || isLoading()\"\n (onClick)=\"handleCreateClick($event)\"\n [title]=\"'@general:actions.create.title' | translate | async\"\n >\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n}\n\n<!-- ----- Lookup item and selected-value label ----- -->\n<ng-template #lookupItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"ax-lookup-option-text\">\n <ax-highlight-text\n [text]=\"(getLookupItemLabel(item) | translate | async) ?? ''\"\n [query]=\"highlightText ?? ''\"\n ></ax-highlight-text>\n </span>\n</ng-template>\n<!-- ----- Drop-down-list rows: library skips .ax-lookup-option chrome when itemTemplate is set ----- -->\n<ng-template #lookupDropDownListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex h-full w-full min-w-0 items-center gap-1 px-3 text-sm\">\n @let label = (getLookupItemLabel(item) | translate | async) ?? '';\n <span class=\"ax-lookup-option-text min-w-0 flex-1 truncate\" [axTooltip]=\"label\" [axTooltipOverflowOnly]=\"true\">\n <ax-highlight-text [text]=\"label\" [query]=\"highlightText ?? ''\"></ax-highlight-text>\n </span>\n <!-- ----- Primary row actions (preview, etc.) ----- -->\n @if (hasRowActionPrimary()) {\n <span class=\"inline-flex shrink-0 items-center\" (mousedown)=\"handleLookupItemRowActionMouseDown($event)\">\n @for (action of rowActionPrimaryItems(); track action.name) {\n <ax-button\n look=\"blank\"\n color=\"ghost\"\n [title]=\"action.text\"\n (onClick)=\"handleItemRowAction($event, action.name, item)\"\n >\n @if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n }\n </ax-button>\n }\n </span>\n }\n </span>\n</ng-template>\n<!-- ----- Multi-select list rows: fixed row height, so long labels truncate (tooltip on overflow) ----- -->\n<ng-template #lookupListItemTemplate let-item let-highlightText=\"highlightText\">\n <span class=\"flex w-full min-w-0 items-center gap-1\">\n @let label = (getLookupItemLabel(item) | translate | async) ?? '';\n <!-- Not `.ax-lookup-option-text`: the library's multi-select rule makes it `display: flex`, which drops the ellipsis. -->\n <span class=\"block min-w-0 flex-1 truncate\" [axTooltip]=\"label\" [axTooltipOverflowOnly]=\"true\">\n <ax-highlight-text [text]=\"label\" [query]=\"highlightText ?? ''\"></ax-highlight-text>\n </span>\n @if (hasRowActionPrimary()) {\n <span class=\"inline-flex shrink-0 items-center\" (mousedown)=\"handleLookupItemRowActionMouseDown($event)\">\n @for (action of rowActionPrimaryItems(); track action.name) {\n <ax-button\n look=\"blank\"\n color=\"ghost\"\n [title]=\"action.text\"\n (onClick)=\"handleItemRowAction($event, action.name, item)\"\n >\n @if (action.icon) {\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n }\n </ax-button>\n }\n </span>\n }\n </span>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i5.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "component", type: AXHighlightTextComponent, selector: "ax-highlight-text", inputs: ["text", "query", "highlightDisabled", "highlightOptions"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i1$2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "allowSelectAll", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems", "prefetch"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "component", type: AXPLookupWidgetTableHostComponent, selector: "axp-lookup-widget-table-host", inputs: ["name", "placeholder", "caption", "searchPlaceholder", "dataSource", "treeDataSource", "columns", "valueField", "textField", "disabledField", "parentField", "hasChildrenField", "searchFields", "value", "valueItems", "disabled", "readonly", "searchable", "selectedTemplate", "rowActions"], outputs: ["valueChange", "onItemSelected"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipOverflowOnly", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXValidationModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25858
25934
  }
25859
25935
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPLookupWidgetEditComponent, decorators: [{
25860
25936
  type: Component,
@@ -26205,6 +26281,7 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
26205
26281
  resolvedTitle = '';
26206
26282
  }
26207
26283
  }
26284
+ const popover = this.options.popover;
26208
26285
  await this.entityDetailPopoverService.show(detailAnchor, {
26209
26286
  entity: this.getEntityKey(),
26210
26287
  id,
@@ -26212,6 +26289,8 @@ class AXPLookupWidgetColumnComponent extends AXPColumnWidgetComponent {
26212
26289
  valueField: this.valueField,
26213
26290
  displayTitle: resolvedTitle,
26214
26291
  item,
26292
+ fields: popover?.fields,
26293
+ exclude: popover?.exclude,
26215
26294
  });
26216
26295
  }
26217
26296
  handleItemClick(index, event) {
@@ -28898,7 +28977,7 @@ class AXPSelectorStructureWidgetEditComponent extends AXPValueWidgetComponent {
28898
28977
  } @else {
28899
28978
  <span class="text-muted">{{ disabledHint() }}</span>
28900
28979
  }
28901
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "allowSelectAll", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i5.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "ngmodule", type: AXAccordionModule }, { kind: "component", type: i3$3.AXAccordionItemComponent, selector: "ax-accordion-item", inputs: ["isCollapsed", "icon", "textdecoration", "caption", "isLoading", "headerTemplate", "look", "disabled"], outputs: ["isCollapsedChange", "isLoadingChange", "onClick"] }, { kind: "component", type: i3$3.AXAccordionGroupComponent, selector: "ax-accordion-group", inputs: ["accordion", "activeIndex", "look", "collapsedOnItemClick"], outputs: ["activeIndexChange"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$3.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1$5.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i1$5.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i6$2.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28980
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXLookupComponent, selector: "ax-lookup", inputs: ["name", "mode", "dataSource", "treeDataSource", "valueField", "textField", "disabledField", "columns", "treeParentField", "hasChildrenField", "searchable", "adaptivityEnabled", "caption", "alternate", "searchPlaceholder", "placeholder", "disabled", "readonly", "look", "itemHeight", "maxVisibleItems", "treeSelectionBehavior", "highlightSearch", "allowSelectAll", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "value", "valueItems", "prefetch"], outputs: ["lookChange", "valueChange", "onValueChanged", "onSelectionChanged", "onFocus", "onBlur", "onItemClick", "onItemSelected", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i5.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "ngmodule", type: AXAccordionModule }, { kind: "component", type: i3$3.AXAccordionItemComponent, selector: "ax-accordion-item", inputs: ["isCollapsed", "icon", "textdecoration", "caption", "isLoading", "headerTemplate", "look", "disabled"], outputs: ["isCollapsedChange", "isLoadingChange", "onClick"] }, { kind: "component", type: i3$3.AXAccordionGroupComponent, selector: "ax-accordion-group", inputs: ["accordion", "activeIndex", "look", "collapsedOnItemClick"], outputs: ["activeIndexChange"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$3.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1$5.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i1$5.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i6$2.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "maskPattern", "customTokens", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onMaskChanged"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28902
28981
  }
28903
28982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPSelectorStructureWidgetEditComponent, decorators: [{
28904
28983
  type: Component,
@@ -33052,7 +33131,7 @@ class AXPEntityModule {
33052
33131
  },
33053
33132
  {
33054
33133
  key: 'Entity:Bulk',
33055
- command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-D774EAiQ.mjs').then((c) => c.AXPBulkEntityCommand),
33134
+ command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-AQyQql3E.mjs').then((c) => c.AXPBulkEntityCommand),
33056
33135
  },
33057
33136
  {
33058
33137
  key: 'Entity:OpenList',
@@ -33214,7 +33293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
33214
33293
  },
33215
33294
  {
33216
33295
  key: 'Entity:Bulk',
33217
- command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-D774EAiQ.mjs').then((c) => c.AXPBulkEntityCommand),
33296
+ command: () => import('./acorex-platform-framework-client-layout-entity-bulk-entity.command-AQyQql3E.mjs').then((c) => c.AXPBulkEntityCommand),
33218
33297
  },
33219
33298
  {
33220
33299
  key: 'Entity:OpenList',
@@ -33540,4 +33619,4 @@ function detectEntityChanges(oldObj, newObj) {
33540
33619
  */
33541
33620
 
33542
33621
  export { AXPEntityListViewCardFieldViewModel as $, AXPEntityDefinitionRegistryService as A, AXPEntityCategoryWidget as B, AXPEntityCategoryWidgetColumnComponent as C, AXPEntityCategoryWidgetEditComponent as D, AXPEntityCategoryWidgetViewComponent as E, AXPEntityCommandTriggerViewModel as F, AXPEntityCreateViewElementViewModel as G, AXPEntityCreateViewModelFactory as H, AXPEntityCreateViewSectionViewModel as I, AXPEntityDataProvider as J, AXPEntityDataProviderImpl as K, AXPEntityDataSelectorRowActionsService as L, AXPEntityDataSelectorService as M, AXPEntityDefinitionProviderWidget as N, AXPEntityDefinitionProviderWidgetEditComponent as O, AXPEntityDeletePerformService as P, AXPEntityDetailListViewModel as Q, AXPEntityDetailPopoverComponent as R, AXPEntityDetailPopoverService as S, AXPEntityDetailViewModelFactory as T, AXPEntityDetailViewModelResolver as U, AXPEntityEventDispatcherService as V, AXPEntityFormBuilderService as W, AXPEntityLifecycleHookKeys as X, AXPEntityListPersistenceModeDefault as Y, AXPEntityListTableService as Z, AXPEntityListToolbarService as _, showOperationResultToast as a, AXPUpdateEntityStatusCommand as a$, AXPEntityListViewColumnViewModel as a0, AXPEntityListViewModelFactory as a1, AXPEntityListViewModelResolver as a2, AXPEntityListWidget as a3, AXPEntityListWidgetViewComponent as a4, AXPEntityMasterCreateViewModel as a5, AXPEntityMasterListCardSelectActionName as a6, AXPEntityMasterListViewModel as a7, AXPEntityMasterListViewQueryViewModel as a8, AXPEntityMasterSingleElementViewModel as a9, AXPLookupWidget as aA, AXPLookupWidgetColumnComponent as aB, AXPLookupWidgetEditComponent as aC, AXPLookupWidgetViewComponent as aD, AXPMiddlewareAbortError as aE, AXPMiddlewareEntityStorageService as aF, AXPMultiSourceDefinitionProviderContext as aG, AXPMultiSourceDefinitionProviderService as aH, AXPMultiSourceFederatedSearchService as aI, AXPMultiSourceSelectorComponent as aJ, AXPMultiSourceSelectorService as aK, AXPMultiSourceSelectorWidget as aL, AXPMultiSourceSelectorWidgetColumnComponent as aM, AXPMultiSourceSelectorWidgetEditComponent as aN, AXPMultiSourceSelectorWidgetViewComponent as aO, AXPMultiSourceType as aP, AXPOpenEntityDetailsCommand as aQ, AXPOpenEntityListCommand as aR, AXPRelatedColumnEnrichmentService as aS, AXPRelatedColumnMetadataResolver as aT, AXPSelectorStructureWidget as aU, AXPSelectorStructureWidgetColumnComponent as aV, AXPSelectorStructureWidgetEditComponent as aW, AXPSelectorStructureWidgetViewComponent as aX, AXPShowFileUploaderPopupCommand as aY, AXPTruncatedBreadcrumbComponent as aZ, AXPUpdateEntityCommand as a_, AXPEntityMasterSingleViewGroupViewModel as aa, AXPEntityMasterSingleViewModel as ab, AXPEntityMasterUpdateElementViewModel as ac, AXPEntityMasterUpdateViewModel as ad, AXPEntityMasterUpdateViewModelFactory as ae, AXPEntityMiddlewareSkipContext as af, AXPEntityModule as ag, AXPEntityPreloadFiltersContainerComponent as ah, AXPEntityPreloadFiltersViewModel as ai, AXPEntityPreloadFiltersViewModelResolver as aj, AXPEntityResolver as ak, AXPEntityRuntimeAccessorService as al, AXPEntityService as am, AXPEntityStorageService as an, AXPEntityUpdateViewSectionViewModel as ao, AXPFileListComponent as ap, AXPFileUploaderLoadFilesQuery as aq, AXPFileUploaderSaveFilesCommand as ar, AXPFileUploaderWidget as as, AXPFileUploaderWidgetColumnComponent as at, AXPFileUploaderWidgetEditComponent as au, AXPFileUploaderWidgetService as av, AXPFileUploaderWidgetViewComponent as aw, AXPGetEntityDetailsQuery as ax, AXPLayoutOrderingConfigService as ay, AXPLookupByKeyCacheService as az, buildSelectedIdsFilter as b, defaultMultiLanguageMiddlewareProvider as b$, AXPViewEntityDetailsCommand as b0, AXP_APPEARANCE_SECTION_ORDER as b1, AXP_CATEGORY_TREE_ROOT_TITLE_I18N_KEY as b2, AXP_CLASSIFICATION_SECTION_ORDER as b3, AXP_CLIENT_LOCAL_DEFAULT_MAX_ITEMS as b4, AXP_CLIENT_LOCAL_PLUGIN_NAME as b5, AXP_DATA_SEEDER_TOKEN as b6, AXP_ENTITY_ACTION_PLUGIN as b7, AXP_ENTITY_CONFIG_TOKEN as b8, AXP_ENTITY_DEFINITION_LOADER as b9, axpOpenEntityListCommandDefinition as bA, axpRunEntityListPageContextAction as bB, axpShowFileUploaderPopupCommandDefinition as bC, axpUpdateEntityStatusCommandDefinition as bD, buildDataSourceTraceSnapshot as bE, canPersistEntityListState as bF, clientLocalPlugin as bG, cloneLayoutArrays as bH, columnOrderingMiddleware as bI, columnOrderingMiddlewareProvider as bJ, columnWidthMiddleware as bK, columnWidthMiddlewareProvider as bL, committedAttachments as bM, composeEntityMiddlewares as bN, composeEntityStorageMiddlewares as bO, computeEntityAggregates as bP, configureEntityListColumnsSettingsMigrateDrop as bQ, configureEntityListColumnsSettingsVersion as bR, createColumnOrderingMiddlewareProvider as bS, createEntityCardDisplayScope as bT, createEntityCardLogicScope as bU, createEntityMiddlewareContext as bV, createEntityStorageContext as bW, createLayoutOrderingMiddlewareProvider as bX, defaultCardLayoutMiddleware as bY, defaultCardLayoutMiddlewareProvider as bZ, defaultMultiLanguageMiddleware as b_, AXP_ENTITY_MIDDLEWARE as ba, AXP_ENTITY_MODIFIER as bb, AXP_ENTITY_STORAGE_MIDDLEWARE as bc, AXP_LOOKUP_FILTER_DEFAULT_OPERATOR as bd, AXP_MULTI_SOURCE_DEFINITION_PROVIDER as be, DEFAULT_COLUMN_ORDER as bf, DEFAULT_PAIR_SPAN_RULES as bg, DEFAULT_PROPERTY_ORDER as bh, DEFAULT_SECTION_ORDER as bi, ENTITY_FORM_ACTION_FIRST_STEP_CONTINUE as bj, ENTITY_LIST_LAYOUT_META as bk, ENTITY_LIST_ROUTE_CONTEXT_SESSION_KEY as bl, ENTITY_MASTER_LIST_TRACE_NS as bm, EntityBuilder as bn, EntityDataAccessor as bo, GALLERY_PAGE_COMPONENT_KEY as bp, TREE_CHILDREN_QUERY_TAKE as bq, actionExists as br, applyDataSourcePagingWithoutLoad as bs, attachmentFieldCount as bt, attachmentsPlugin as bu, attachmentsSemanticallyEqual as bv, axpBuildEntityListPageContextSnapshot as bw, axpCreateEntityAiToolInputDefaults as bx, axpCreateEntityCommandDefinition as by, axpDeleteEntityCommandDefinition as bz, readLiveAttachmentValue as c, provideEntityRealtimeHandlers as c$, defaultSortPresetsMiddleware as c0, defaultSortPresetsMiddlewareProvider as c1, detectEntityChanges as c2, dispatchEntityModifiedSideEffects as c3, ensureHierarchicalRootFilter as c4, ensureLayoutPropertyView as c5, ensureLayoutSection as c6, ensureListActions as c7, entityCreateBridgeMiddleware as c8, entityDeleteBridgeMiddleware as c9, getEntityListRowId as cA, getMasterInterfacePropertySortKey as cB, hasFileUploaderTitleOrDescriptionFields as cC, hydrateAttachmentFieldToFileList as cD, isAXPMiddlewareAbortError as cE, isAttachmentFieldPresentOnRow as cF, isAttachmentListEntry as cG, isAttachmentStorageRef as cH, isCategoryEntity as cI, isCategoryFilter as cJ, isFileListItem as cK, isFileUploaderEditDialogAuto as cL, isLegacyEntityDataSelectorOptions as cM, layoutOrderingMiddlewareFactory as cN, layoutOrderingMiddlewareProvider as cO, mapEntityStorageErrorToCommandResult as cP, mapLegacyEntityDataSelectorOptions as cQ, mergeEntityListViewAndPersistedFilters as cR, normalizeEntityCardHeaderDisplayValue as cS, normalizeEntityDataSelectorColumnSpecs as cT, normalizeEntityDataSelectorOptions as cU, normalizeEntityFieldToFileList as cV, normalizeEntityListPersistenceMode as cW, normalizeListPaging as cX, prefetchClientLocalRelated as cY, provideEntity as cZ, provideEntityMiddlewareBridge as c_, entityGetOneBridgeMiddleware as ca, entityListInstanceCurrentViewPath as cb, entityListInstanceFilterPath as cc, entityListStylingRulesPath as cd, entityQueryBridgeMiddleware as ce, entityStorageCreateBridgeMiddleware as cf, entityStorageDeleteBridgeMiddleware as cg, entityStorageGetOneBridgeMiddleware as ch, entityStorageQueryBridgeMiddleware as ci, entityStorageUpdateBridgeMiddleware as cj, entityUpdateBridgeMiddleware as ck, eventDispatchMiddleware as cl, filterEntityMiddlewares as cm, filterEntityStorageMiddlewares as cn, filterSortEntityRows as co, filterTouchesParentKey as cp, findEntityListRowDataInTree as cq, fingerprintAttachmentItem as cr, fingerprintAttachments as cs, fireEntityLifecycleHook as ct, formatLookupItemDisplay as cu, formatLookupItemDisplayAsync as cv, galleryPlugin as cw, getDataSourcePageIndex as cx, getEntityListColumnsSettingsMigrateDrop as cy, getEntityListColumnsSettingsVersion as cz, saveAttachmentsThroughEntityUpdate as d, provideEntityStorageMiddlewareBridge as d0, provideLocalEntityCatalog as d1, readPersistedEntityListInstanceCurrentView as d2, readPersistedEntityListInstanceFilters as d3, readPersistedEntityListStylingRules as d4, resetPagingForTreeChildrenLoad as d5, resolveAttachmentFieldPath as d6, resolveEntityCardBadgeColorValue as d7, resolveEntityCardHeaderValue as d8, resolveEntityMasterFieldStylingClass as d9, resolveEntityMasterRecordStylingClass as da, resolveEntityMasterStylingClass as db, resolveEntityPluginDetailPageOrder as dc, resolveFileUploaderEditDialog as dd, resolveFileUploaderEntityScope as de, resolveLookupDisplayField as df, resolveLookupDisplayTemplate as dg, resolveLookupEntityCacheKey as dh, resolveLookupEntityKey as di, resolveMasterInterfacePropertyOrder as dj, restoreEntityListExpandedRows as dk, runEntityMiddlewarePipeline as dl, runEntityQuery as dm, runEntityStorageMiddlewarePipeline as dn, searchResultDescriptionMiddleware as dp, searchResultDescriptionMiddlewareProvider as dq, shouldLoadEntityListStateFromStorage as dr, shouldResetEntityListStateOnRouteEntry as ds, traceEntityMasterList as dt, attachmentNeedsHydration as e, ATTACHMENTS_PAGE_COMPONENT_KEY as f, AXMEntityCrudService as g, AXMEntityCrudServiceImpl as h, AXPCategoryTreeService as i, AXPClientLocalPluginModule as j, AXPCreateEntityCommand as k, AXPDataSeederService as l, AXPDeleteEntityCommand as m, newBulkExecutionId as n, AXPDomainQueryEntityDefinitionLoader as o, persistedAttachments as p, AXPEditFileUploaderCommand as q, resolveBulkFailureBody as r, settleAfterLoadingDialog as s, AXPEntityBulkPatchPerformService as t, AXPEntityCardComponent as u, AXPEntityCardFieldsResolver as v, watchBulkProgress as w, AXPEntityCardSelectActionName as x, AXPEntityCardSkeletonComponent as y, AXPEntityCategoryTreeSelectorComponent as z };
33543
- //# sourceMappingURL=acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Dj1zqE3r.mjs.map
33622
+ //# sourceMappingURL=acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BUUIRvjv.mjs.map