@yuuvis/client-framework 3.14.1 → 3.16.0

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 (46) hide show
  1. package/fesm2022/yuuvis-client-framework-actions.mjs +19 -19
  2. package/fesm2022/yuuvis-client-framework-app-bar.mjs +3 -3
  3. package/fesm2022/yuuvis-client-framework-badges.mjs +16 -13
  4. package/fesm2022/yuuvis-client-framework-badges.mjs.map +1 -1
  5. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +3 -3
  6. package/fesm2022/yuuvis-client-framework-clipboard.mjs +3 -3
  7. package/fesm2022/yuuvis-client-framework-datepicker.mjs +31 -31
  8. package/fesm2022/yuuvis-client-framework-forms.mjs +70 -68
  9. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  10. package/fesm2022/yuuvis-client-framework-icons.mjs +9 -9
  11. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -7
  12. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +18 -18
  13. package/fesm2022/yuuvis-client-framework-object-details.mjs +28 -28
  14. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +18 -18
  15. package/fesm2022/yuuvis-client-framework-object-form.mjs +35 -35
  16. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  17. package/fesm2022/yuuvis-client-framework-object-preview.mjs +9 -9
  18. package/fesm2022/yuuvis-client-framework-object-relationship.mjs +38 -38
  19. package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
  20. package/fesm2022/yuuvis-client-framework-object-summary.mjs +13 -13
  21. package/fesm2022/yuuvis-client-framework-object-versions.mjs +8 -8
  22. package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
  23. package/fesm2022/yuuvis-client-framework-pagination.mjs +3 -3
  24. package/fesm2022/yuuvis-client-framework-query-list.mjs +7 -7
  25. package/fesm2022/yuuvis-client-framework-renderer.mjs +99 -53
  26. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  27. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +16 -8
  28. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  29. package/fesm2022/yuuvis-client-framework-simple-search.mjs +3 -3
  30. package/fesm2022/yuuvis-client-framework-smart-search.mjs +13 -13
  31. package/fesm2022/yuuvis-client-framework-sort.mjs +3 -3
  32. package/fesm2022/yuuvis-client-framework-tile-list.mjs +77 -35
  33. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  34. package/fesm2022/yuuvis-client-framework-token-search.mjs +7 -7
  35. package/fesm2022/yuuvis-client-framework-tree.mjs +9 -9
  36. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +10 -10
  37. package/fesm2022/yuuvis-client-framework.mjs +108 -36
  38. package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
  39. package/lib/assets/i18n/de.json +4 -3
  40. package/lib/assets/i18n/en.json +4 -3
  41. package/package.json +10 -10
  42. package/types/yuuvis-client-framework-forms.d.ts +3 -1
  43. package/types/yuuvis-client-framework-renderer.d.ts +18 -2
  44. package/types/yuuvis-client-framework-sequence-list.d.ts +9 -1
  45. package/types/yuuvis-client-framework-tile-list.d.ts +1 -0
  46. package/types/yuuvis-client-framework.d.ts +12 -2
@@ -130,10 +130,10 @@ class ObjectAuditComponent {
130
130
  }
131
131
  });
132
132
  }
133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectAuditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectAuditComponent, isStandalone: true, selector: "yuv-object-audit", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, skipActions: { classPropertyName: "skipActions", publicName: "skipActions", isSignal: true, isRequired: false, transformFunction: null }, allActions: { classPropertyName: "allActions", publicName: "allActions", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let auditsResult = auditsRes();\n\n<div\n class=\"yuv-audit\"\n [ngClass]=\"{ singleEntry: auditsResult?.items?.length === 1, onPage: auditsResult && auditsResult.page > 1 }\"\n [yuvBusyOverlay]=\"busy()\"\n [attr.aria-busy]=\"busy()\"\n>\n @if (error()) {\n <div class=\"error\" role=\"alert\">\n <div>{{ 'yuv.audit.fetch.error' | translate }}</div>\n </div>\n }\n\n @if (auditsResult) {\n <!-- list of audits -->\n @let resItems = items();\n @if (resItems.length) {\n <ul class=\"timeline\" [attr.aria-label]=\"'yuv.audit.timeline' | translate\">\n @for (item of resItems; track item.creationDate + '-' + item.action) {\n <li\n class=\"audit\"\n [attr.aria-labelledby]=\"'date-' + $index + ' content-' + $index + ' version-' + $index + ' creator-' + $index\"\n >\n <time [attr.datetime]=\"item.creationDate\" [id]=\"'date-' + $index\" class=\"date\">{{ item.creationDate | localeDate }}</time>\n <div class=\"node\">\n <div class=\"label\">\n <div class=\"content\" [id]=\"'content-' + $index\"><ng-container [yuvAuditRenderer]=\"item\" /></div>\n @if (item.version != null) {\n <span class=\"version\" [id]=\"'version-' + $index\">{{ 'yuv.audit.label.version' | translate: { version: item.version } }}</span>\n }\n </div>\n <div class=\"creator meta\" [id]=\"'creator-' + $index\">{{ item.createdBy.title }}</div>\n </div>\n </li>\n }\n </ul>\n } @else {\n <div class=\"empty\" role=\"status\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsResult.hasMoreItems || auditsResult.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <nav class=\"paging\" [attr.aria-label]=\"'yuv.audit.label.paging' | translate\">\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\"\n [disabled]=\"auditsResult.page === 1\"\n (click)=\"goToPage(auditsResult.page - 1)\"\n >\n <mat-icon aria-hidden=\"true\">chevron_left</mat-icon>\n </button>\n <div\n class=\"page\"\n aria-live=\"polite\"\n [attr.aria-label]=\"'yuv.audit.label.paging.current' | translate: { page: auditsResult.page }\"\n >\n <span aria-hidden=\"true\">{{ auditsResult.page }}</span>\n </div>\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\"\n [disabled]=\"!auditsResult.hasMoreItems\"\n (click)=\"goToPage(auditsResult.page + 1)\"\n >\n <mat-icon aria-hidden=\"true\">chevron_right</mat-icon>\n </button>\n </nav>\n </div>\n }\n }\n</div>\n", styles: [":host{--_object-audit-panel-background: var(--object-audit-panel-background, var(--ymt-surface))}:host .yuv-audit{position:relative;height:100%;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--_object-audit-panel-background);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);margin:var(--ymt-spacing-m);padding:var(--ymt-spacing-m);border-radius:var(--ymt-spacing-xs)}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--ymt-text-color-subtle)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--ymt-surface);border-top:1px solid var(--ymt-outline-variant);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:var(--ymt-spacing-xs)}:host .yuv-audit .footer .paging .page{padding:0 var(--ymt-spacing-xs)}:host .timeline{--track-color: var(--ymt-outline-variant);--track-size: var(--ymt-spacing-4xl);margin-block-start:0;margin-block-end:0;overflow-y:auto;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-2xs) var(--ymt-spacing-3xl) var(--ymt-spacing-l)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 2fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);border-radius:.25em;margin:var(--ymt-spacing-xs) 0;padding:var(--ymt-spacing-m);box-sizing:border-box;display:grid;gap:var(--ymt-spacing-3xs)}:host .timeline :where(.audit) .node .label{display:flex;align-items:flex-start}:host .timeline :where(.audit) .node .label .content{flex:1;min-width:0;word-break:break-word}:host .timeline :where(.audit) .node .label .content .title{font-weight:700;color:var(--ymt-text-color)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgb(from var(--ymt-primary) r g b/.15);color:var(--ymt-primary);font:var(--ymt-font-body-subtle);font-family:monospace;margin-left:var(--ymt-spacing-m);padding:2px 4px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--ymt-text-color-subtle)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% + 1px);height:100%;border-inline-end:2px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:14px;height:14px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--ymt-surface-panel);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: YmtIconButtonDirective, selector: "button[ymtIconButton],button[ymt-icon-button],a[ymtIconButton],a[ymt-icon-button]", inputs: ["disabled", "disableRipple", "aria-disabled", "disabledInteractive", "icon-button-size"] }, { kind: "directive", type: AuditRendererDirective, selector: "[yuvAuditRenderer]", inputs: ["yuvAuditRenderer"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectAuditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectAuditComponent, isStandalone: true, selector: "yuv-object-audit", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, skipActions: { classPropertyName: "skipActions", publicName: "skipActions", isSignal: true, isRequired: false, transformFunction: null }, allActions: { classPropertyName: "allActions", publicName: "allActions", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let auditsResult = auditsRes();\n\n<div\n class=\"yuv-audit\"\n [ngClass]=\"{ singleEntry: auditsResult?.items?.length === 1, onPage: auditsResult && auditsResult.page > 1 }\"\n [yuvBusyOverlay]=\"busy()\"\n [attr.aria-busy]=\"busy()\"\n>\n @if (error()) {\n <div class=\"error\" role=\"alert\">\n <div>{{ 'yuv.audit.fetch.error' | translate }}</div>\n </div>\n }\n\n @if (auditsResult) {\n <!-- list of audits -->\n @let resItems = items();\n @if (resItems.length) {\n <ul class=\"timeline\" [attr.aria-label]=\"'yuv.audit.timeline' | translate\">\n @for (item of resItems; track item.creationDate + '-' + item.action) {\n <li\n class=\"audit\"\n [attr.aria-labelledby]=\"'date-' + $index + ' content-' + $index + ' version-' + $index + ' creator-' + $index\"\n >\n <time [attr.datetime]=\"item.creationDate\" [id]=\"'date-' + $index\" class=\"date\">{{ item.creationDate | localeDate }}</time>\n <div class=\"node\">\n <div class=\"label\">\n <div class=\"content\" [id]=\"'content-' + $index\"><ng-container [yuvAuditRenderer]=\"item\" /></div>\n @if (item.version != null) {\n <span class=\"version\" [id]=\"'version-' + $index\">{{ 'yuv.audit.label.version' | translate: { version: item.version } }}</span>\n }\n </div>\n <div class=\"creator meta\" [id]=\"'creator-' + $index\">{{ item.createdBy.title }}</div>\n </div>\n </li>\n }\n </ul>\n } @else {\n <div class=\"empty\" role=\"status\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsResult.hasMoreItems || auditsResult.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <nav class=\"paging\" [attr.aria-label]=\"'yuv.audit.label.paging' | translate\">\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\"\n [disabled]=\"auditsResult.page === 1\"\n (click)=\"goToPage(auditsResult.page - 1)\"\n >\n <mat-icon aria-hidden=\"true\">chevron_left</mat-icon>\n </button>\n <div\n class=\"page\"\n aria-live=\"polite\"\n [attr.aria-label]=\"'yuv.audit.label.paging.current' | translate: { page: auditsResult.page }\"\n >\n <span aria-hidden=\"true\">{{ auditsResult.page }}</span>\n </div>\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\"\n [disabled]=\"!auditsResult.hasMoreItems\"\n (click)=\"goToPage(auditsResult.page + 1)\"\n >\n <mat-icon aria-hidden=\"true\">chevron_right</mat-icon>\n </button>\n </nav>\n </div>\n }\n }\n</div>\n", styles: [":host{--_object-audit-panel-background: var(--object-audit-panel-background, var(--ymt-surface))}:host .yuv-audit{position:relative;height:100%;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--_object-audit-panel-background);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);margin:var(--ymt-spacing-m);padding:var(--ymt-spacing-m);border-radius:var(--ymt-spacing-xs)}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--ymt-text-color-subtle)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--ymt-surface);border-top:1px solid var(--ymt-outline-variant);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:var(--ymt-spacing-xs)}:host .yuv-audit .footer .paging .page{padding:0 var(--ymt-spacing-xs)}:host .timeline{--track-color: var(--ymt-outline-variant);--track-size: var(--ymt-spacing-4xl);margin-block-start:0;margin-block-end:0;overflow-y:auto;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-2xs) var(--ymt-spacing-3xl) var(--ymt-spacing-l)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 2fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);border-radius:.25em;margin:var(--ymt-spacing-xs) 0;padding:var(--ymt-spacing-m);box-sizing:border-box;display:grid;gap:var(--ymt-spacing-3xs)}:host .timeline :where(.audit) .node .label{display:flex;align-items:flex-start}:host .timeline :where(.audit) .node .label .content{flex:1;min-width:0;word-break:break-word}:host .timeline :where(.audit) .node .label .content .title{font-weight:700;color:var(--ymt-text-color)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgb(from var(--ymt-primary) r g b/.15);color:var(--ymt-primary);font:var(--ymt-font-body-subtle);font-family:monospace;margin-left:var(--ymt-spacing-m);padding:2px 4px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--ymt-text-color-subtle)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% + 1px);height:100%;border-inline-end:2px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:14px;height:14px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--ymt-surface-panel);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: YmtIconButtonDirective, selector: "button[ymtIconButton],button[ymt-icon-button],a[ymtIconButton],a[ymt-icon-button]", inputs: ["disabled", "disableRipple", "aria-disabled", "disabledInteractive", "icon-button-size"] }, { kind: "directive", type: AuditRendererDirective, selector: "[yuvAuditRenderer]", inputs: ["yuvAuditRenderer"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
135
135
  }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectAuditComponent, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectAuditComponent, decorators: [{
137
137
  type: Component,
138
138
  args: [{ selector: 'yuv-object-audit', standalone: true, imports: [
139
139
  CommonModule,
@@ -203,10 +203,10 @@ class ObjectDetailsHeaderComponent {
203
203
  };
204
204
  }
205
205
  }
206
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
207
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectDetailsHeaderComponent, isStandalone: true, selector: "yuv-object-details-header", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@let headerD = headerData();\n@if (dmsObj && headerD) {\n <ymt-pane-header [icon]=\"headerD.icon\" [actions]=\"actions()\" [badges]=\"badges()\">\n <ng-template #yuvPaneHeaderTitle>\n <ng-container *yuvRenderer=\"headerD.title\" />\n </ng-template>\n <ng-template #yuvPaneHeaderSubtitle>\n <ng-container *yuvRenderer=\"headerD.description\" />\n </ng-template>\n </ymt-pane-header>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: YmtPanesModule }, { kind: "component", type: i1$1.YmtPaneHeaderComponent, selector: "ymt-pane-header", inputs: ["title", "icon", "subtitle", "actions", "badges"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
206
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectDetailsHeaderComponent, isStandalone: true, selector: "yuv-object-details-header", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@let headerD = headerData();\n@if (dmsObj && headerD) {\n <ymt-pane-header [icon]=\"headerD.icon\" [actions]=\"actions()\" [badges]=\"badges()\">\n <ng-template #yuvPaneHeaderTitle>\n <ng-container *yuvRenderer=\"headerD.title\" />\n </ng-template>\n <ng-template #yuvPaneHeaderSubtitle>\n <ng-container *yuvRenderer=\"headerD.description\" />\n </ng-template>\n </ymt-pane-header>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: YmtPanesModule }, { kind: "component", type: i1$1.YmtPaneHeaderComponent, selector: "ymt-pane-header", inputs: ["title", "icon", "subtitle", "actions", "badges"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
208
208
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsHeaderComponent, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsHeaderComponent, decorators: [{
210
210
  type: Component,
211
211
  args: [{ selector: 'yuv-object-details-header', imports: [MatIconModule, YmtPanesModule, RendererDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let dmsObj = dmsObject();\n@let headerD = headerData();\n@if (dmsObj && headerD) {\n <ymt-pane-header [icon]=\"headerD.icon\" [actions]=\"actions()\" [badges]=\"badges()\">\n <ng-template #yuvPaneHeaderTitle>\n <ng-container *yuvRenderer=\"headerD.title\" />\n </ng-template>\n <ng-template #yuvPaneHeaderSubtitle>\n <ng-container *yuvRenderer=\"headerD.description\" />\n </ng-template>\n </ymt-pane-header>\n}\n" }]
212
212
  }], ctorParameters: () => [], propDecorators: { dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], badges: [{ type: i0.Input, args: [{ isSignal: true, alias: "badges", required: false }] }] } });
@@ -240,10 +240,10 @@ class ObjectDetailsShellService {
240
240
  }
241
241
  });
242
242
  }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsShellService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
244
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsShellService }); }
243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsShellService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
244
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsShellService }); }
245
245
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsShellService, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsShellService, decorators: [{
247
247
  type: Injectable
248
248
  }] });
249
249
 
@@ -298,10 +298,10 @@ class ObjectDetailsShellComponent {
298
298
  }
299
299
  });
300
300
  }
301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
302
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectDetailsShellComponent, isStandalone: true, selector: "yuv-object-details-shell", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@if (dmsObj) {\n @if (!hideHeader()) {\n <yuv-object-details-header\n [dmsObject]=\"dmsObj\"\n [type]=\"type()\"\n [bucket]=\"bucket()\"\n [badges]=\"badges()\"\n [actions]=\"actions()\"\n />\n }\n <div class=\"content\" [yuvBusyOverlay]=\"busy()\">\n <ng-content />\n </div>\n} @else {\n <div class=\"empty\">\n @if (contextError()) {\n <div class=\"error\">{{ contextError() }}</div>\n } @else {\n <!-- EMPTY -->\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;position:relative;background-color:var(--ymt-surface)}:host .content{flex:1;overflow:hidden}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--ymt-spacing-m);color:var(--ymt-text-color-subtle);padding:var(--ymt-spacing-s);border-radius:.5em;line-height:1.5em;border:1px solid var(--ymt-outline-variant)}\n"], dependencies: [{ kind: "component", type: ObjectDetailsHeaderComponent, selector: "yuv-object-details-header", inputs: ["dmsObject", "type", "bucket", "actions", "badges"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
302
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectDetailsShellComponent, isStandalone: true, selector: "yuv-object-details-shell", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@if (dmsObj) {\n @if (!hideHeader()) {\n <yuv-object-details-header\n [dmsObject]=\"dmsObj\"\n [type]=\"type()\"\n [bucket]=\"bucket()\"\n [badges]=\"badges()\"\n [actions]=\"actions()\"\n />\n }\n <div class=\"content\" [yuvBusyOverlay]=\"busy()\">\n <ng-content />\n </div>\n} @else {\n <div class=\"empty\">\n @if (contextError()) {\n <div class=\"error\">{{ contextError() }}</div>\n } @else {\n <!-- EMPTY -->\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;position:relative;background-color:var(--ymt-surface)}:host .content{flex:1;overflow:hidden}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--ymt-spacing-m);color:var(--ymt-text-color-subtle);padding:var(--ymt-spacing-s);border-radius:.5em;line-height:1.5em;border:1px solid var(--ymt-outline-variant)}\n"], dependencies: [{ kind: "component", type: ObjectDetailsHeaderComponent, selector: "yuv-object-details-header", inputs: ["dmsObject", "type", "bucket", "actions", "badges"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
303
303
  }
304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsShellComponent, decorators: [{
304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsShellComponent, decorators: [{
305
305
  type: Component,
306
306
  args: [{ selector: 'yuv-object-details-shell', standalone: true, imports: [ObjectDetailsHeaderComponent, MatTooltipModule, BusyOverlayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let dmsObj = dmsObject();\n@if (dmsObj) {\n @if (!hideHeader()) {\n <yuv-object-details-header\n [dmsObject]=\"dmsObj\"\n [type]=\"type()\"\n [bucket]=\"bucket()\"\n [badges]=\"badges()\"\n [actions]=\"actions()\"\n />\n }\n <div class=\"content\" [yuvBusyOverlay]=\"busy()\">\n <ng-content />\n </div>\n} @else {\n <div class=\"empty\">\n @if (contextError()) {\n <div class=\"error\">{{ contextError() }}</div>\n } @else {\n <!-- EMPTY -->\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;position:relative;background-color:var(--ymt-surface)}:host .content{flex:1;overflow:hidden}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--ymt-spacing-m);color:var(--ymt-text-color-subtle);padding:var(--ymt-spacing-s);border-radius:.5em;line-height:1.5em;border:1px solid var(--ymt-outline-variant)}\n"] }]
307
307
  }], ctorParameters: () => [], propDecorators: { actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], badges: [{ type: i0.Input, args: [{ isSignal: true, alias: "badges", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], hideHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideHeader", required: false }] }] } });
@@ -476,10 +476,10 @@ class ObjectMetadataSectionComponent {
476
476
  this.formStatus.set(undefined);
477
477
  }
478
478
  }
479
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectMetadataSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
480
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectMetadataSectionComponent, isStandalone: true, selector: "yuv-object-metadata-section", inputs: { section: { classPropertyName: "section", publicName: "section", isSignal: true, isRequired: true, transformFunction: null }, expandedInput: { classPropertyName: "expandedInput", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, skipExpand: { classPropertyName: "skipExpand", publicName: "skipExpand", isSignal: true, isRequired: false, transformFunction: null }, skipTitle: { classPropertyName: "skipTitle", publicName: "skipTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { statusChanged: "statusChanged" }, host: { properties: { "class.invalid": "showInvalid()", "class.dirty": "showDirty()" } }, viewQueries: [{ propertyName: "objectForm", first: true, predicate: ObjectFormComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@let _section = section();\n@let fo = formOptions();\n\n@if (!skipTitle()) {\n <h3>\n <button\n type=\"button\"\n [attr.aria-expanded]=\"isExpanded()\"\n class=\"accordion-trigger\"\n [class.non-collapsible]=\"skipExpand()\"\n [attr.aria-controls]=\"'sect_' + _section.id\"\n [id]=\"'accordion_' + _section.id\"\n [disabled]=\"skipExpand()\"\n (click)=\"toggle()\"\n [attr.aria-busy]=\"busy()\"\n >\n @if (_section.icon) {\n @if (_section.svgIcon) {\n <mat-icon [svgIcon]=\"_section.icon\" aria-hidden=\"true\" />\n } @else {\n <mat-icon aria-hidden=\"true\">{{ _section.icon }}</mat-icon>\n }\n }\n <span>{{ _section.label }}</span>\n @if (busy()) {\n <mat-spinner diameter=\"24\" />\n }\n @if (!skipExpand()) {\n <mat-icon class=\"arr\" aria-hidden=\"true\">keyboard_arrow_down</mat-icon>\n }\n </button>\n </h3>\n}\n<div\n [id]=\"'sect_' + _section.id\"\n role=\"region\"\n [attr.aria-labelledby]=\"'accordion_' + _section.id\"\n class=\"accordion-panel\"\n [class.expanded]=\"isExpanded()\"\n [class.animate]=\"animate()\"\n [attr.inert]=\"isExpanded() ? null : ''\"\n>\n <div class=\"accordion-panel-content\">\n @if (customTemplate()) {\n @if (renderCustom()) {\n <div>\n <ng-container *ngTemplateOutlet=\"customTemplate()!; context: { $implicit: sotContext() }\" />\n </div>\n }\n } @else if (fo) {\n <yuv-object-form\n #objectForm\n [readonly]=\"readonly()\"\n [formOptions]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"onFormStatusChanged($event)\"\n />\n }\n </div>\n</div>\n", styles: [":host{--section-state-border-color: var(--ymt-outline-variant);--section-state-outline-color: transparent;background-color:var(--_object-metadata-section-background);border:1px solid var(--section-state-border-color);border-radius:var(--_object-metadata-section-corner);outline:3px solid var(--section-state-outline-color)}:host.invalid{--section-state-border-color: var(--ymt-danger);--section-state-outline-color: rgb(from var(--ymt-danger) r g b / .2)}:host.dirty:not(.invalid){--section-state-border-color: var(--ymt-success);--section-state-outline-color: rgb(from var(--ymt-success) r g b / .2)}:host h3{margin:0;padding:0;display:flex}:host h3 button{margin:var(--ymt-spacing-2xs);border-radius:calc(var(--_object-metadata-section-corner) * .5);flex:1;padding:var(--ymt-spacing-xs);cursor:pointer;display:flex;gap:var(--ymt-spacing-xs);align-items:center;font-weight:700;color:var(--ymt-text-color-subtle);background-color:transparent;border:none}:host h3 button.non-collapsible{cursor:default}:host h3 button.non-collapsible:hover{background-color:transparent}:host h3 button:not(.non-collapsible):hover{background-color:var(--ymt-hover-background)}:host h3 button:focus-visible{background-color:var(--ymt-hover-background);outline:2px solid var(--ymt-outline);outline-offset:-2px}:host h3 button[aria-expanded=true] mat-icon.arr{transform:rotate(180deg)}:host h3 button span{flex:1;text-align:start}:host h3 button mat-icon{margin-inline-end:var(--ymt-spacing-xs);transition:transform .3s ease}:host .accordion-panel{display:grid;grid-template-rows:0fr;opacity:0}:host .accordion-panel.expanded{grid-template-rows:1fr;opacity:1}:host .accordion-panel.animate{transition:grid-template-rows .2s ease-out,opacity .2s ease-out}:host .accordion-panel .accordion-panel-content{overflow:hidden;min-height:0}:host details{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner)}:host details:not(:last-child){margin-block-end:var(--ymt-spacing-m)}:host details[open] yuv-icon.arr{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
479
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectMetadataSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
480
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectMetadataSectionComponent, isStandalone: true, selector: "yuv-object-metadata-section", inputs: { section: { classPropertyName: "section", publicName: "section", isSignal: true, isRequired: true, transformFunction: null }, expandedInput: { classPropertyName: "expandedInput", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, skipExpand: { classPropertyName: "skipExpand", publicName: "skipExpand", isSignal: true, isRequired: false, transformFunction: null }, skipTitle: { classPropertyName: "skipTitle", publicName: "skipTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { statusChanged: "statusChanged" }, host: { properties: { "class.invalid": "showInvalid()", "class.dirty": "showDirty()" } }, viewQueries: [{ propertyName: "objectForm", first: true, predicate: ObjectFormComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@let _section = section();\n@let fo = formOptions();\n\n@if (!skipTitle()) {\n <h3>\n <button\n type=\"button\"\n [attr.aria-expanded]=\"isExpanded()\"\n class=\"accordion-trigger\"\n [class.non-collapsible]=\"skipExpand()\"\n [attr.aria-controls]=\"'sect_' + _section.id\"\n [id]=\"'accordion_' + _section.id\"\n [disabled]=\"skipExpand()\"\n (click)=\"toggle()\"\n [attr.aria-busy]=\"busy()\"\n >\n @if (_section.icon) {\n @if (_section.svgIcon) {\n <mat-icon [svgIcon]=\"_section.icon\" aria-hidden=\"true\" />\n } @else {\n <mat-icon aria-hidden=\"true\">{{ _section.icon }}</mat-icon>\n }\n }\n <span>{{ _section.label }}</span>\n @if (busy()) {\n <mat-spinner diameter=\"24\" />\n }\n @if (!skipExpand()) {\n <mat-icon class=\"arr\" aria-hidden=\"true\">keyboard_arrow_down</mat-icon>\n }\n </button>\n </h3>\n}\n<div\n [id]=\"'sect_' + _section.id\"\n role=\"region\"\n [attr.aria-labelledby]=\"'accordion_' + _section.id\"\n class=\"accordion-panel\"\n [class.expanded]=\"isExpanded()\"\n [class.animate]=\"animate()\"\n [attr.inert]=\"isExpanded() ? null : ''\"\n>\n <div class=\"accordion-panel-content\">\n @if (customTemplate()) {\n @if (renderCustom()) {\n <div>\n <ng-container *ngTemplateOutlet=\"customTemplate()!; context: { $implicit: sotContext() }\" />\n </div>\n }\n } @else if (fo) {\n <yuv-object-form\n #objectForm\n [readonly]=\"readonly()\"\n [formOptions]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"onFormStatusChanged($event)\"\n />\n }\n </div>\n</div>\n", styles: [":host{--section-state-border-color: var(--ymt-outline-variant);--section-state-outline-color: transparent;background-color:var(--_object-metadata-section-background);border:1px solid var(--section-state-border-color);border-radius:var(--_object-metadata-section-corner);outline:3px solid var(--section-state-outline-color)}:host.invalid{--section-state-border-color: var(--ymt-danger);--section-state-outline-color: rgb(from var(--ymt-danger) r g b / .2)}:host.dirty:not(.invalid){--section-state-border-color: var(--ymt-success);--section-state-outline-color: rgb(from var(--ymt-success) r g b / .2)}:host h3{margin:0;padding:0;display:flex}:host h3 button{margin:var(--ymt-spacing-2xs);border-radius:calc(var(--_object-metadata-section-corner) * .5);flex:1;padding:var(--ymt-spacing-xs);cursor:pointer;display:flex;gap:var(--ymt-spacing-xs);align-items:center;font-weight:700;color:var(--ymt-text-color-subtle);background-color:transparent;border:none}:host h3 button.non-collapsible{cursor:default}:host h3 button.non-collapsible:hover{background-color:transparent}:host h3 button:not(.non-collapsible):hover{background-color:var(--ymt-hover-background)}:host h3 button:focus-visible{background-color:var(--ymt-hover-background);outline:2px solid var(--ymt-outline);outline-offset:-2px}:host h3 button[aria-expanded=true] mat-icon.arr{transform:rotate(180deg)}:host h3 button span{flex:1;text-align:start}:host h3 button mat-icon{margin-inline-end:var(--ymt-spacing-xs);transition:transform .3s ease}:host .accordion-panel{display:grid;grid-template-rows:0fr;opacity:0}:host .accordion-panel.expanded{grid-template-rows:1fr;opacity:1}:host .accordion-panel.animate{transition:grid-template-rows .2s ease-out,opacity .2s ease-out}:host .accordion-panel .accordion-panel-content{overflow:hidden;min-height:0}:host details{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner)}:host details:not(:last-child){margin-block-end:var(--ymt-spacing-m)}:host details[open] yuv-icon.arr{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
481
481
  }
482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectMetadataSectionComponent, decorators: [{
482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectMetadataSectionComponent, decorators: [{
483
483
  type: Component,
484
484
  args: [{ selector: 'yuv-object-metadata-section', imports: [MatIconModule, MatProgressSpinnerModule, ObjectFormComponent, NgTemplateOutlet], host: {
485
485
  '[class.invalid]': 'showInvalid()',
@@ -807,14 +807,14 @@ class ObjectMetadataComponent {
807
807
  ngOnDestroy() {
808
808
  this.#formSubscriptions.forEach((s) => s.unsubscribe());
809
809
  }
810
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectMetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
811
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectMetadataComponent, isStandalone: true, selector: "yuv-object-metadata", inputs: { disableControls: { classPropertyName: "disableControls", publicName: "disableControls", isSignal: true, isRequired: false, transformFunction: null }, disableBasicMetadata: { classPropertyName: "disableBasicMetadata", publicName: "disableBasicMetadata", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavoredDmsObject: { classPropertyName: "flavoredDmsObject", publicName: "flavoredDmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { indexDataSaved: "indexDataSaved", statusChanged: "statusChanged" }, host: { properties: { "class.empty": "empty()", "class.loading": "busyLoading()" } }, providers: [
810
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectMetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
811
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectMetadataComponent, isStandalone: true, selector: "yuv-object-metadata", inputs: { disableControls: { classPropertyName: "disableControls", publicName: "disableControls", isSignal: true, isRequired: false, transformFunction: null }, disableBasicMetadata: { classPropertyName: "disableBasicMetadata", publicName: "disableBasicMetadata", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavoredDmsObject: { classPropertyName: "flavoredDmsObject", publicName: "flavoredDmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { indexDataSaved: "indexDataSaved", statusChanged: "statusChanged" }, host: { properties: { "class.empty": "empty()", "class.loading": "busyLoading()" } }, providers: [
812
812
  // fresh writable signal per <yuv-object-metadata> instance → per-object scope.
813
813
  // Element templates read it (read-only) via the metadata form field context.
814
814
  { provide: OBJECT_CONTEXT, useFactory: () => signal(undefined) }
815
815
  ], viewQueries: [{ propertyName: "objectForms", predicate: ObjectFormComponent, descendants: true, isSignal: true }, { propertyName: "objectMetadataSectionForms", predicate: ObjectMetadataSectionComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<main [yuvBusyOverlay]=\"busySaving() || busyLoading() || mainFormOptionsIsLoading()\">\n @if (empty()) {\n <p>{{ 'yuv.object-metadata.empty.message' | translate }}</p>\n }\n @if (!mainFormOptions()) {\n <yuv-object-form\n [readonly]=\"!hasWritePermission()\"\n [formOptions]=\"mainFormOptions()\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"onFormStatusChanged('main', $event)\"\n />\n }\n @for (fo of flavorFormOptions(); track $index) {\n <yuv-object-metadata-section\n [readonly]=\"!hasWritePermission()\"\n [section]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n [expanded]=\"$index === 0\"\n (statusChanged)=\"onFormStatusChanged(fo.id, $event)\"\n />\n }\n\n <!-- base data -->\n @let object = dmsObject() ?? dmsObject();\n @if (object && !disableBasicMetadata()) {\n <yuv-object-summary-data [dmsObject]=\"object\" />\n }\n</main>\n\n<footer [attr.inert]=\"disableControls() || !controlsVisible() || null\">\n <div class=\"container\">\n <button\n ymtButton=\"secondary\"\n button-size=\"small\"\n [disabled]=\"busySaving() || busyLoading()\"\n (click)=\"resetForm()\"\n [hidden]=\"!combinedFormState?.dirty\"\n [disabled]=\"!combinedFormState?.dirty\"\n >\n {{ 'yuv.object-metadata.button.reset' | translate }}\n </button>\n <button\n ymtButton=\"primary\"\n button-size=\"small\"\n (click)=\"save()\"\n [disabled]=\"!combinedFormState?.dirty || combinedFormState?.invalid || busySaving() || busyLoading()\"\n >\n {{ 'yuv.object-metadata.button.save' | translate }}\n </button>\n </div>\n</footer>\n", styles: [":host{--_object-metadata-panel-background: var(--object-metadata-panel-background, var(--ymt-surface-container-low));--_object-metadata-section-background: var(--object-metadata-section-background, var(--ymt-surface));--_object-metadata-section-corner: var(--object-metadata-section-corner, var(--ymt-corner-m));--_object-metadata-footer-background: var(--object-metadata-footer-background, var(--ymt-surface-container));--_object-metadata-footer-border: 1px solid var(--object-metadata-footer-border, var(--ymt-outline-variant));--_object-metadata-footer-indent: var(--object-metadata-footer-indent, var(--ymt-spacing-xs));--_object-metadata-footer-height: 4rem;--_object-metadata-footer-corner: var(--object-metadata-footer-corner, var(--ymt-corner-s));display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;height:100%;overflow:hidden;position:relative;background-color:var(--_object-metadata-panel-background)}:host.empty main{justify-content:center;align-items:center}:host.loading main>*{opacity:0}:host main{grid-row:1/span 3;grid-column:1;overflow-y:auto;width:100%;display:flex;flex-flow:column;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-l) var(--_object-metadata-footer-height) var(--ymt-spacing-l)}:host footer{grid-row:-1;grid-column:1;padding:var(--_object-metadata-footer-indent);opacity:0;z-index:101}:host footer .container{background:var(--_object-metadata-footer-background);padding:var(--ymt-spacing-s);display:flex;align-items:center;justify-content:end;gap:var(--ymt-spacing-s);border-radius:var(--_object-metadata-footer-corner);border:var(--_object-metadata-footer-border)}:host footer:not([inert]){animation:controlsAppear .2s ease-in-out forwards}:host main yuv-object-metadata-section{margin-block-end:var(--ymt-spacing-m)}:host main yuv-object-summary-data{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner);padding:var(--ymt-spacing-m)}@keyframes controlsAppear{0%{opacity:0;translate:0 var(--ymt-spacing-m)}to{opacity:1;translate:0 0}}\n"], dependencies: [{ kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: ObjectMetadataSectionComponent, selector: "yuv-object-metadata-section", inputs: ["section", "expanded", "elementExtensions", "readonly", "skipExpand", "skipTitle"], outputs: ["statusChanged"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
816
816
  }
817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectMetadataComponent, decorators: [{
817
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectMetadataComponent, decorators: [{
818
818
  type: Component,
819
819
  args: [{ selector: 'yuv-object-metadata', standalone: true, imports: [
820
820
  ObjectFormComponent,
@@ -894,10 +894,10 @@ class ObjectDetailsComponent {
894
894
  onIndexdataSaved(updatedObject) {
895
895
  this.#odShellService.setDmsObject(updatedObject);
896
896
  }
897
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
898
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectDetailsComponent, isStandalone: true, selector: "yuv-object-details", inputs: { dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, objectConfigBucket: { classPropertyName: "objectConfigBucket", publicName: "objectConfigBucket", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, providers: [ObjectDetailsShellService], ngImport: i0, template: "<yuv-object-details-shell\n [type]=\"type()\"\n [hideHeader]=\"hideHeader()\"\n [bucket]=\"objectConfigBucket()\"\n [actions]=\"actions()\"\n [badges]=\"badges()\"\n>\n @let dmsObj = dmsObject();\n <mat-tab-group yuvTabGuardDisable>\n <!-- content -->\n @if (dmsObj && dmsObj.content) {\n <mat-tab [label]=\"'yuv.object-details.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [dmsObject]=\"dmsObj\" />\n </ng-template>\n </mat-tab>\n }\n\n <!-- indexdata -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-metadata\n [dmsObject]=\"dmsObject()\"\n [flavors]=\"flavors()\"\n (indexDataSaved)=\"onIndexdataSaved($event)\"\n />\n </ng-template>\n </mat-tab>\n <!-- history -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.history.title' | translate\">\n <ng-template matTabContent> <yuv-object-audit [dmsObject]=\"dmsObj\" /> </ng-template\n ></mat-tab>\n </mat-tab-group>\n</yuv-object-details-shell>\n", styles: [":host{display:block;overflow:hidden}:host yuv-object-details-shell{height:100%}:host mat-tab-group{overflow:hidden;height:100%}:host mat-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{height:100%}:host yuv-object-preview{background-color:var(--ymt-surface-container-low)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i1$2.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: TabGuardDirective, selector: "mat-tab-group[yuvTabGuardDisable]" }, { kind: "component", type: ObjectDetailsShellComponent, selector: "yuv-object-details-shell", inputs: ["actions", "badges", "type", "bucket", "hideHeader"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: ObjectMetadataComponent, selector: "yuv-object-metadata", inputs: ["disableControls", "disableBasicMetadata", "elementExtensions", "situation", "dmsObject", "flavoredDmsObject", "flavors"], outputs: ["indexDataSaved", "statusChanged"] }, { kind: "component", type: ObjectAuditComponent, selector: "yuv-object-audit", inputs: ["dmsObject", "skipActions", "allActions"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
897
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
898
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectDetailsComponent, isStandalone: true, selector: "yuv-object-details", inputs: { dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, objectConfigBucket: { classPropertyName: "objectConfigBucket", publicName: "objectConfigBucket", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, providers: [ObjectDetailsShellService], ngImport: i0, template: "<yuv-object-details-shell\n [type]=\"type()\"\n [hideHeader]=\"hideHeader()\"\n [bucket]=\"objectConfigBucket()\"\n [actions]=\"actions()\"\n [badges]=\"badges()\"\n>\n @let dmsObj = dmsObject();\n <mat-tab-group yuvTabGuardDisable>\n <!-- content -->\n @if (dmsObj && dmsObj.content) {\n <mat-tab [label]=\"'yuv.object-details.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [dmsObject]=\"dmsObj\" />\n </ng-template>\n </mat-tab>\n }\n\n <!-- indexdata -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-metadata\n [dmsObject]=\"dmsObject()\"\n [flavors]=\"flavors()\"\n (indexDataSaved)=\"onIndexdataSaved($event)\"\n />\n </ng-template>\n </mat-tab>\n <!-- history -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.history.title' | translate\">\n <ng-template matTabContent> <yuv-object-audit [dmsObject]=\"dmsObj\" /> </ng-template\n ></mat-tab>\n </mat-tab-group>\n</yuv-object-details-shell>\n", styles: [":host{display:block;overflow:hidden}:host yuv-object-details-shell{height:100%}:host mat-tab-group{overflow:hidden;height:100%}:host mat-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{height:100%}:host yuv-object-preview{background-color:var(--ymt-surface-container-low)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i1$2.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: TabGuardDirective, selector: "mat-tab-group[yuvTabGuardDisable]" }, { kind: "component", type: ObjectDetailsShellComponent, selector: "yuv-object-details-shell", inputs: ["actions", "badges", "type", "bucket", "hideHeader"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: ObjectMetadataComponent, selector: "yuv-object-metadata", inputs: ["disableControls", "disableBasicMetadata", "elementExtensions", "situation", "dmsObject", "flavoredDmsObject", "flavors"], outputs: ["indexDataSaved", "statusChanged"] }, { kind: "component", type: ObjectAuditComponent, selector: "yuv-object-audit", inputs: ["dmsObject", "skipActions", "allActions"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
899
899
  }
900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectDetailsComponent, decorators: [{
900
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectDetailsComponent, decorators: [{
901
901
  type: Component,
902
902
  args: [{ selector: 'yuv-object-details', standalone: true, imports: [
903
903
  TranslatePipe,
@@ -920,8 +920,8 @@ const cmp = [
920
920
  RetentionBadgeComponent
921
921
  ];
922
922
  class YuvObjectDetailsModule {
923
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectDetailsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
924
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectDetailsModule, imports: [ObjectDetailsComponent,
923
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectDetailsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
924
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectDetailsModule, imports: [ObjectDetailsComponent,
925
925
  ObjectDetailsHeaderComponent,
926
926
  ObjectDetailsShellComponent,
927
927
  ObjectMetadataComponent,
@@ -934,9 +934,9 @@ class YuvObjectDetailsModule {
934
934
  ObjectMetadataSectionComponent,
935
935
  ObjectAuditComponent,
936
936
  RetentionBadgeComponent] }); }
937
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectDetailsModule, imports: [cmp] }); }
937
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectDetailsModule, imports: [cmp] }); }
938
938
  }
939
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectDetailsModule, decorators: [{
939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectDetailsModule, decorators: [{
940
940
  type: NgModule,
941
941
  args: [{
942
942
  imports: cmp,
@@ -948,10 +948,10 @@ class FormSectionGroupPipe {
948
948
  transform(form, id) {
949
949
  return form.get(id);
950
950
  }
951
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: FormSectionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
952
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.12", ngImport: i0, type: FormSectionGroupPipe, isStandalone: true, name: "formSectionGroup" }); }
951
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FormSectionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
952
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: FormSectionGroupPipe, isStandalone: true, name: "formSectionGroup" }); }
953
953
  }
954
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: FormSectionGroupPipe, decorators: [{
954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FormSectionGroupPipe, decorators: [{
955
955
  type: Pipe,
956
956
  args: [{
957
957
  name: 'formSectionGroup',
@@ -40,10 +40,10 @@ class FlavorChipComponent {
40
40
  e.stopPropagation();
41
41
  this.flavorRemove.emit();
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: FlavorChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: FlavorChipComponent, isStandalone: true, selector: "yuv-flavor-chip", inputs: { flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: true, transformFunction: null }, enableRemove: { classPropertyName: "enableRemove", publicName: "enableRemove", isSignal: true, isRequired: false, transformFunction: null }, enableDescription: { classPropertyName: "enableDescription", publicName: "enableDescription", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { flavorRemove: "flavorRemove" }, ngImport: i0, template: "@let fo = flavor();\n\n@if (fo.icon) {\n @if (fo.svgIcon) {\n <mat-icon [svgIcon]=\"fo.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ fo.icon }}</mat-icon>\n }\n} @else {\n <div class=\"empty-icon\"></div>\n}\n\n<div>\n {{ fo.name }}\n @if (enableDescription()) {\n <span class=\"description\">{{ fo.description }}</span>\n }\n</div>\n@if (enableRemove() && !flavor().preventRemove) {\n <button mat-icon-button class=\"ymt-icon-button--size-s\" (click)=\"remove($event)\">\n <mat-icon>close</mat-icon>\n </button>\n}\n", styles: [":host{display:flex;gap:.5em;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-s);align-items:center}:host .empty-icon{width:24px;height:24px;background-color:var(--ymt-surface-container);border-radius:var(--ymt-corner-s)}:host mat-icon{color:var(--ymt-text-color);flex:0 0 auto}:host>div{line-height:1em;display:block;white-space:nowrap;color:var(--ymt-text-color);overflow:hidden;text-overflow:ellipsis}:host>div .description{display:block;margin-block-start:.5em;font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:42ch;line-height:1.3em}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FlavorChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: FlavorChipComponent, isStandalone: true, selector: "yuv-flavor-chip", inputs: { flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: true, transformFunction: null }, enableRemove: { classPropertyName: "enableRemove", publicName: "enableRemove", isSignal: true, isRequired: false, transformFunction: null }, enableDescription: { classPropertyName: "enableDescription", publicName: "enableDescription", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { flavorRemove: "flavorRemove" }, ngImport: i0, template: "@let fo = flavor();\n\n@if (fo.icon) {\n @if (fo.svgIcon) {\n <mat-icon [svgIcon]=\"fo.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ fo.icon }}</mat-icon>\n }\n} @else {\n <div class=\"empty-icon\"></div>\n}\n\n<div>\n {{ fo.name }}\n @if (enableDescription()) {\n <span class=\"description\">{{ fo.description }}</span>\n }\n</div>\n@if (enableRemove() && !flavor().preventRemove) {\n <button mat-icon-button class=\"ymt-icon-button--size-s\" (click)=\"remove($event)\">\n <mat-icon>close</mat-icon>\n </button>\n}\n", styles: [":host{display:flex;gap:.5em;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-s);align-items:center}:host .empty-icon{width:24px;height:24px;background-color:var(--ymt-surface-container);border-radius:var(--ymt-corner-s)}:host mat-icon{color:var(--ymt-text-color);flex:0 0 auto}:host>div{line-height:1em;display:block;white-space:nowrap;color:var(--ymt-text-color);overflow:hidden;text-overflow:ellipsis}:host>div .description{display:block;margin-block-start:.5em;font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:42ch;line-height:1.3em}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: FlavorChipComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: FlavorChipComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'yuv-flavor-chip', standalone: true, imports: [MatIconModule, MatButtonModule], template: "@let fo = flavor();\n\n@if (fo.icon) {\n @if (fo.svgIcon) {\n <mat-icon [svgIcon]=\"fo.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ fo.icon }}</mat-icon>\n }\n} @else {\n <div class=\"empty-icon\"></div>\n}\n\n<div>\n {{ fo.name }}\n @if (enableDescription()) {\n <span class=\"description\">{{ fo.description }}</span>\n }\n</div>\n@if (enableRemove() && !flavor().preventRemove) {\n <button mat-icon-button class=\"ymt-icon-button--size-s\" (click)=\"remove($event)\">\n <mat-icon>close</mat-icon>\n </button>\n}\n", styles: [":host{display:flex;gap:.5em;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-s);align-items:center}:host .empty-icon{width:24px;height:24px;background-color:var(--ymt-surface-container);border-radius:var(--ymt-corner-s)}:host mat-icon{color:var(--ymt-text-color);flex:0 0 auto}:host>div{line-height:1em;display:block;white-space:nowrap;color:var(--ymt-text-color);overflow:hidden;text-overflow:ellipsis}:host>div .description{display:block;margin-block-start:.5em;font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:42ch;line-height:1.3em}\n"] }]
49
49
  }], propDecorators: { flavor: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavor", required: true }] }], enableRemove: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableRemove", required: false }] }], enableDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableDescription", required: false }] }], flavorRemove: [{ type: i0.Output, args: ["flavorRemove"] }] } });
@@ -59,10 +59,10 @@ class AbstractApplyObjectFlavorComponent {
59
59
  // Optional data
60
60
  this.data = input(this.dialogData.data, ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: AbstractApplyObjectFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.12", type: AbstractApplyObjectFlavorComponent, isStandalone: true, selector: "yuv-apply-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: AbstractApplyObjectFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.20", type: AbstractApplyObjectFlavorComponent, isStandalone: true, selector: "yuv-apply-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavor: { classPropertyName: "flavor", publicName: "flavor", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, styles: [""] }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: AbstractApplyObjectFlavorComponent, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: AbstractApplyObjectFlavorComponent, decorators: [{
66
66
  type: Component,
67
67
  args: [{ selector: 'yuv-apply-object-flavor', standalone: true, imports: [], template: '' }]
68
68
  }], propDecorators: { dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], flavor: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavor", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }] } });
@@ -125,10 +125,10 @@ class DefaultApplyFlavorComponent extends AbstractApplyObjectFlavorComponent {
125
125
  close() {
126
126
  this.dialogRef.close();
127
127
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: DefaultApplyFlavorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: DefaultApplyFlavorComponent, isStandalone: true, selector: "yuv-default-apply-flavor", viewQueries: [{ propertyName: "objectForm", first: true, predicate: ObjectFormComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let o = dmsObject();\n@if (o) {\n <yuv-dialog [yuvBusyOverlay]=\"busyLoading()\" [headertitel]=\"'yuv.object-flavor.apply-flavor.headline' | translate: { name: flavorLabel() }\">\n <main>\n <yuv-split-view [gutterSize]=\"1\">\n <ng-template yuvSplitArea [size]=\"60\" [visible]=\"!!o.content\">\n @if (o.content) {\n <yuv-object-preview [objectId]=\"dmsObject().id\"></yuv-object-preview>\n }\n </ng-template>\n\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"metadata\">\n @let fo = formOptions();\n @if (fo) {\n <yuv-object-form [inert]=\"busySaving()\" [formOptions]=\"fo\" (statusChanged)=\"onFormStatusChanged($event)\"></yuv-object-form>\n }\n </div>\n </ng-template>\n </yuv-split-view>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close [disabled]=\"busySaving()\">{{ 'yuv.object-flavor.apply-flavor.button.cancel' | translate }}</button>\n <button ymtButton=\"primary\" mat-dialog-close [ngClass]=\"{ spinning: busySaving() }\" [disabled]=\"applyDisabled()\" (click)=\"applyFlavor()\">\n {{ 'yuv.object-flavor.apply-flavor.button.apply' | translate }}\n </button>\n </footer>\n </yuv-dialog>\n}\n", styles: [":host{display:grid;overflow:hidden}:host main{overflow:hidden}:host yuv-split-view{--split-gutter-background-color: var(--ymt-outline-variant);flex:1}:host .metadata{overflow-y:auto}:host .metadata yuv-object-form{display:block;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);max-width:100%;margin-inline:auto;box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "ngmodule", type: YuvSplitViewModule }, { kind: "directive", type: i3.SplitAreaDirective, selector: "[yuvSplitArea]", inputs: ["size", "minSize", "maxSize", "panelClass", "visible", "lockSize"] }, { kind: "component", type: i3.SplitViewComponent, selector: "yuv-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: DefaultApplyFlavorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: DefaultApplyFlavorComponent, isStandalone: true, selector: "yuv-default-apply-flavor", viewQueries: [{ propertyName: "objectForm", first: true, predicate: ObjectFormComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@let o = dmsObject();\n@if (o) {\n <yuv-dialog [yuvBusyOverlay]=\"busyLoading()\" [headertitel]=\"'yuv.object-flavor.apply-flavor.headline' | translate: { name: flavorLabel() }\">\n <main>\n <yuv-split-view [gutterSize]=\"1\">\n <ng-template yuvSplitArea [size]=\"60\" [visible]=\"!!o.content\">\n @if (o.content) {\n <yuv-object-preview [objectId]=\"dmsObject().id\"></yuv-object-preview>\n }\n </ng-template>\n\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"metadata\">\n @let fo = formOptions();\n @if (fo) {\n <yuv-object-form [inert]=\"busySaving()\" [formOptions]=\"fo\" (statusChanged)=\"onFormStatusChanged($event)\"></yuv-object-form>\n }\n </div>\n </ng-template>\n </yuv-split-view>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close [disabled]=\"busySaving()\">{{ 'yuv.object-flavor.apply-flavor.button.cancel' | translate }}</button>\n <button ymtButton=\"primary\" mat-dialog-close [ngClass]=\"{ spinning: busySaving() }\" [disabled]=\"applyDisabled()\" (click)=\"applyFlavor()\">\n {{ 'yuv.object-flavor.apply-flavor.button.apply' | translate }}\n </button>\n </footer>\n </yuv-dialog>\n}\n", styles: [":host{display:grid;overflow:hidden}:host main{overflow:hidden}:host yuv-split-view{--split-gutter-background-color: var(--ymt-outline-variant);flex:1}:host .metadata{overflow-y:auto}:host .metadata yuv-object-form{display:block;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);max-width:100%;margin-inline:auto;box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "ngmodule", type: YuvSplitViewModule }, { kind: "directive", type: i3.SplitAreaDirective, selector: "[yuvSplitArea]", inputs: ["size", "minSize", "maxSize", "panelClass", "visible", "lockSize"] }, { kind: "component", type: i3.SplitViewComponent, selector: "yuv-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: DefaultApplyFlavorComponent, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: DefaultApplyFlavorComponent, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'yuv-default-apply-flavor', imports: [
134
134
  CommonModule,
@@ -169,10 +169,10 @@ class ObjectFlavorPickerComponent {
169
169
  }
170
170
  });
171
171
  }
172
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectFlavorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
173
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectFlavorPickerComponent, isStandalone: true, selector: "yuv-object-flavor-picker", host: { properties: { "class.cmp": "!!applyComponent" } }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.object-flavor.picker.title' | translate\">\n <main>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n <yuv-list (itemSelect)=\"itemSelected($event)\" selectOnEnter=\"true\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close>{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n</yuv-dialog>\n", styles: [":host{--ymt-dialog-content-display: block}:host main{padding:0 var(--ymt-spacing-m)}:host yuv-flavor-chip{--_flavor-chip-icon-size: 24px;margin-block-end:2px;gap:var(--ymt-spacing-m);padding:var(--ymt-spacing-xs) var(--ymt-spacing-m);cursor:pointer}:host yuv-flavor-chip:hover{background-color:var(--ymt-surface-container-low)}:host{overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i1$2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i1$2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectFlavorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
173
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectFlavorPickerComponent, isStandalone: true, selector: "yuv-object-flavor-picker", host: { properties: { "class.cmp": "!!applyComponent" } }, ngImport: i0, template: "<yuv-dialog [headertitel]=\"'yuv.object-flavor.picker.title' | translate\">\n <main>\n <p>{{ 'yuv.object-flavor.picker.text' | translate }}</p>\n <yuv-list (itemSelect)=\"itemSelected($event)\" selectOnEnter=\"true\">\n @for (f of applicableFlavors; track $index) {\n <yuv-flavor-chip [flavor]=\"f\" [enableDescription]=\"true\" yuvListItem></yuv-flavor-chip>\n }\n </yuv-list>\n </main>\n <footer>\n <button ymtButton=\"secondary\" mat-dialog-close>{{ 'yuv.object-flavor.picker.button.cancel' | translate }}</button>\n </footer>\n</yuv-dialog>\n", styles: [":host{--ymt-dialog-content-display: block}:host main{padding:0 var(--ymt-spacing-m)}:host yuv-flavor-chip{--_flavor-chip-icon-size: 24px;margin-block-end:2px;gap:var(--ymt-spacing-m);padding:var(--ymt-spacing-xs) var(--ymt-spacing-m);cursor:pointer}:host yuv-flavor-chip:hover{background-color:var(--ymt-surface-container-low)}:host{overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i1$2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i1$2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "component", type: DialogComponent, selector: "yuv-dialog", inputs: ["headertitle", "headertitel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
174
174
  }
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectFlavorPickerComponent, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectFlavorPickerComponent, decorators: [{
176
176
  type: Component,
177
177
  args: [{ selector: 'yuv-object-flavor-picker', standalone: true, imports: [
178
178
  YuvListModule,
@@ -273,10 +273,10 @@ class ObjectFlavorComponent {
273
273
  this.applicableFlavors = res.applicable;
274
274
  this.hidden.set(this.applicableFlavors.length === 0 && this.appliedFlavors.length === 0);
275
275
  }
276
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
277
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectFlavorComponent, isStandalone: true, selector: "yuv-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { flavorSelect: "flavorSelect" }, host: { properties: { "attr.aria-hidden": "hidden()", "class.busy": "busy()", "class.selection": "selectedIndex() > -1", "class.selectionDisabled": "disableSelection" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true, isSignal: true }], ngImport: i0, template: "\n<div class=\"object-flavor\">\n <span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n@if (applicableFlavors.length) {\n <button mat-icon-button class=\"add ymt-icon-button--size-s secondary\"\n [matTooltip]=\"'yuv.object-flavor.button.add' | translate\" (click)=\"startApplyFlavor()\">\n <mat-icon>add</mat-icon>\n </button>\n}\n</div>\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yuvDragScroll>\n @for (f of appliedFlavors; track f.id) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button mat-icon-button class=\"clear\" [matTooltip]=\"'yuv.object-flavor.button.clear-selection' | translate\" (click)=\"clearSelection()\">\n <mat-icon>close</mat-icon>\n</button>\n\n@if (busy()) {\n <mat-progress-bar mode=\"indeterminate\" class=\"progress-bar\"></mat-progress-bar>\n}\n", styles: ["body.yuv-high-contrast{--ymt-surface-app: light-dark(#ffffff, #000000);--ymt-surface: light-dark(#f5f5f5, #0a0a0a);--ymt-surface-container-lowest: light-dark(#ffffff, #000000);--ymt-surface-container-low: light-dark(#f0f0f0, #0d0d0d);--ymt-surface-container: light-dark(#e8e8e8, #141414);--ymt-surface-container-high: light-dark(#e0e0e0, #1a1a1a);--ymt-surface-container-highest: light-dark(#d6d6d6, #212121);--ymt-surface-panel: light-dark(#ffffff, #0d0d0d);--ymt-pane-surface: light-dark(#ffffff, #000000);--ymt-pane-surface-floating: light-dark(#ffffff, #141414);--ymt-pane-surface-blank: transparent;--ymt-pane-surface-floating-inverse: light-dark(#000000, #ffffff);--ymt-bar-surface: light-dark(#ffffff, #000000);--ymt-bar-surface-blank: transparent;--ymt-on-surface: light-dark(#000000, #ffffff);--ymt-on-surface-type-subtle: light-dark(#595959, #a0a0a0);--ymt-text-color: light-dark(#000000, #ffffff);--ymt-text-color-subtle: light-dark(#595959, #a0a0a0);--ymt-on-bar-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface-floating-inverse: light-dark(#ffffff, #000000);--ymt-pane-drag-handle: light-dark(#8c8c8c, #606060);--ymt-primary: light-dark(#0047cc, #6ba4ff);--ymt-on-primary: light-dark(#ffffff, #000000);--ymt-primary-container: light-dark(#d6e4ff, #002766);--ymt-on-primary-container: light-dark(#001a52, #c8dcff);--ymt-text-color-primary: light-dark(#0047cc, #6ba4ff);--ymt-brand: light-dark(#ffffff, #000000);--ymt-on-brand: light-dark(#000000, #ffffff);--ymt-outline-width: 1px;--ymt-outline: light-dark(#767676, #737373);--ymt-outline-variant: light-dark(#949494, #525252);--ymt-outline-variant-emphasized: light-dark(#595959, #8a8a8a);--ymt-success: light-dark(#166534, #4ade80);--ymt-on-success: light-dark(#ffffff, #000000);--ymt-success-container: light-dark(#dcfce7, #003314);--ymt-on-success-container: light-dark(#14532d, #86efac);--ymt-danger: light-dark(#b91c1c, #ff6b6b);--ymt-on-danger: light-dark(#ffffff, #000000);--ymt-danger-container: light-dark(#fee2e2, #4a0000);--ymt-on-danger-container: light-dark(#7f1d1d, #ffbebe);--ymt-warning: light-dark(#92400e, #facc15);--ymt-on-warning: light-dark(#ffffff, #000000);--ymt-warning-container: light-dark(#fef3c7, #3d2800);--ymt-on-warning-container: light-dark(#78350f, #ffe082);--ymt-inverse-surface: light-dark(#000000, #ffffff);--ymt-inverse-surface-90: light-dark(rgba(0, 0, 0, .9), rgba(255, 255, 255, .9));--ymt-on-inverse-surface: light-dark(#ffffff, #000000);--ymt-scrim: #000000;--ymt-scrim-opacity: 65;--ymt-text-selection-container: light-dark(#d6e4ff, #002766);--ymt-on-text-selection-container: light-dark(#001a52, #c8dcff);--ymt-focus-background: light-dark(#e8e8e8, #1a1a1a);--ymt-on-focus-background: light-dark(#000000, #ffffff);--ymt-hover-background: light-dark(#f0f0f0, #141414);--ymt-on-hover-background: light-dark(#000000, #ffffff);--ymt-selection-background: light-dark(#d6d6d6, #212121);--ymt-on-selection-background: light-dark(#000000, #ffffff);--ymt-current-background: light-dark(#d6e4ff, #002766);--ymt-on-current-background: light-dark(#001a52, #c8dcff);--ymt-focus-indicator-size: 3px;--ymt-focus-indicator-inner: light-dark(#ffffff, #000000);--ymt-focus-indicator-outer: light-dark(#000000, #ffffff);--ymt-scrollbar-thumb-color: light-dark(#949494, #525252);--ymt-scrollbar-thumb-color-hover: light-dark(#595959, #737373);--ymt-scrollbar-track-color: light-dark(#f0f0f0, #141414);--ymt-hover-state-layer-opacity: .16;--ymt-focus-state-layer-opacity: .24;--ymt-pressed-state-layer-opacity: .32;--ymt-disabled-opacity: .5}@media(prefers-contrast:more){:root:not(.yuuvis-high-contrast-theme){color-scheme:light dark}:root:not(.yuuvis-high-contrast-theme){--ymt-surface-app: light-dark(#ffffff, #000000);--ymt-surface: light-dark(#f5f5f5, #0a0a0a);--ymt-surface-container-lowest: light-dark(#ffffff, #000000);--ymt-surface-container-low: light-dark(#f0f0f0, #0d0d0d);--ymt-surface-container: light-dark(#e8e8e8, #141414);--ymt-surface-container-high: light-dark(#e0e0e0, #1a1a1a);--ymt-surface-container-highest: light-dark(#d6d6d6, #212121);--ymt-surface-panel: light-dark(#ffffff, #0d0d0d);--ymt-pane-surface: light-dark(#ffffff, #000000);--ymt-pane-surface-floating: light-dark(#ffffff, #141414);--ymt-pane-surface-blank: transparent;--ymt-pane-surface-floating-inverse: light-dark(#000000, #ffffff);--ymt-bar-surface: light-dark(#ffffff, #000000);--ymt-bar-surface-blank: transparent;--ymt-on-surface: light-dark(#000000, #ffffff);--ymt-on-surface-type-subtle: light-dark(#595959, #a0a0a0);--ymt-text-color: light-dark(#000000, #ffffff);--ymt-text-color-subtle: light-dark(#595959, #a0a0a0);--ymt-on-bar-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface-floating-inverse: light-dark(#ffffff, #000000);--ymt-pane-drag-handle: light-dark(#8c8c8c, #606060);--ymt-primary: light-dark(#0047cc, #6ba4ff);--ymt-on-primary: light-dark(#ffffff, #000000);--ymt-primary-container: light-dark(#d6e4ff, #002766);--ymt-on-primary-container: light-dark(#001a52, #c8dcff);--ymt-text-color-primary: light-dark(#0047cc, #6ba4ff);--ymt-brand: light-dark(#ffffff, #000000);--ymt-on-brand: light-dark(#000000, #ffffff);--ymt-outline-width: 1px;--ymt-outline: light-dark(#767676, #737373);--ymt-outline-variant: light-dark(#949494, #525252);--ymt-outline-variant-emphasized: light-dark(#595959, #8a8a8a);--ymt-success: light-dark(#166534, #4ade80);--ymt-on-success: light-dark(#ffffff, #000000);--ymt-success-container: light-dark(#dcfce7, #003314);--ymt-on-success-container: light-dark(#14532d, #86efac);--ymt-danger: light-dark(#b91c1c, #ff6b6b);--ymt-on-danger: light-dark(#ffffff, #000000);--ymt-danger-container: light-dark(#fee2e2, #4a0000);--ymt-on-danger-container: light-dark(#7f1d1d, #ffbebe);--ymt-warning: light-dark(#92400e, #facc15);--ymt-on-warning: light-dark(#ffffff, #000000);--ymt-warning-container: light-dark(#fef3c7, #3d2800);--ymt-on-warning-container: light-dark(#78350f, #ffe082);--ymt-inverse-surface: light-dark(#000000, #ffffff);--ymt-inverse-surface-90: light-dark(rgba(0, 0, 0, .9), rgba(255, 255, 255, .9));--ymt-on-inverse-surface: light-dark(#ffffff, #000000);--ymt-scrim: #000000;--ymt-scrim-opacity: 65;--ymt-text-selection-container: light-dark(#d6e4ff, #002766);--ymt-on-text-selection-container: light-dark(#001a52, #c8dcff);--ymt-focus-background: light-dark(#e8e8e8, #1a1a1a);--ymt-on-focus-background: light-dark(#000000, #ffffff);--ymt-hover-background: light-dark(#f0f0f0, #141414);--ymt-on-hover-background: light-dark(#000000, #ffffff);--ymt-selection-background: light-dark(#d6d6d6, #212121);--ymt-on-selection-background: light-dark(#000000, #ffffff);--ymt-current-background: light-dark(#d6e4ff, #002766);--ymt-on-current-background: light-dark(#001a52, #c8dcff);--ymt-focus-indicator-size: 3px;--ymt-focus-indicator-inner: light-dark(#ffffff, #000000);--ymt-focus-indicator-outer: light-dark(#000000, #ffffff);--ymt-scrollbar-thumb-color: light-dark(#949494, #525252);--ymt-scrollbar-thumb-color-hover: light-dark(#595959, #737373);--ymt-scrollbar-track-color: light-dark(#f0f0f0, #141414);--ymt-hover-state-layer-opacity: .16;--ymt-focus-state-layer-opacity: .24;--ymt-pressed-state-layer-opacity: .32;--ymt-disabled-opacity: .5}}:host{position:relative;display:flex;align-items:center;transition:opacity .1s ease-in-out;color:var(--ymt-text-color-subtle)}:host .object-flavor{align-self:center;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-2xs);gap:var(--ymt-spacing-2xs);display:flex;align-items:center;line-height:1em;color:var(--ymt-text-color)}:host mat-icon{color:var(--ymt-text-color)}:host.selection yuv-list{border-inline-end:1px solid var(--ymt-outline-variant)}:host.selection button.clear{display:flex}:host .progress-bar{position:absolute;inset-block-start:0;--mat-progress-bar-active-indicator-height: 2px;--mat-progress-bar-track-height: 2px}:host.busy{pointer-events:none;opacity:.5}:host[aria-hidden=true]{display:none}:host button{flex:0 0 auto}:host button.clear{color:var(--ymt-text-color-subtle);display:none}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip{cursor:pointer}:host yuv-list{display:flex;flex:1;overflow-x:auto;margin-inline-start:var(--ymt-spacing-xs);--ymt-scrollbar-outer-size: 0px;--ymt-scrollbar-inner-size: 0px;border-inline-start:1px solid var(--ymt-outline-variant)}:host yuv-list yuv-flavor-chip{cursor:default;border-inline-end:1px solid var(--ymt-outline-variant)}\n"], dependencies: [{ kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: DragScrollDirective, selector: "[yuvDragScroll]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i1$2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i1$2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
277
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectFlavorComponent, isStandalone: true, selector: "yuv-object-flavor", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { flavorSelect: "flavorSelect" }, host: { properties: { "attr.aria-hidden": "hidden()", "class.busy": "busy()", "class.selection": "selectedIndex() > -1", "class.selectionDisabled": "disableSelection" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ListComponent, descendants: true, isSignal: true }], ngImport: i0, template: "\n<div class=\"object-flavor\">\n <span class=\"label\">{{ 'yuv.object-flavor.label' | translate }}</span>\n@if (applicableFlavors.length) {\n <button mat-icon-button class=\"add ymt-icon-button--size-s secondary\"\n [matTooltip]=\"'yuv.object-flavor.button.add' | translate\" (click)=\"startApplyFlavor()\">\n <mat-icon>add</mat-icon>\n </button>\n}\n</div>\n@if (appliedFlavors.length) {\n <yuv-list horizontal=\"true\" [disableSelection]=\"disableSelection\" (itemSelect)=\"onItemsSelect($event)\" yuvDragScroll>\n @for (f of appliedFlavors; track f.id) {\n <yuv-flavor-chip yuvListItem [flavor]=\"f\" [enableRemove]=\"true\" (flavorRemove)=\"removeFlavor(f, $index)\"></yuv-flavor-chip>\n }\n </yuv-list>\n}\n<button mat-icon-button class=\"clear\" [matTooltip]=\"'yuv.object-flavor.button.clear-selection' | translate\" (click)=\"clearSelection()\">\n <mat-icon>close</mat-icon>\n</button>\n\n@if (busy()) {\n <mat-progress-bar mode=\"indeterminate\" class=\"progress-bar\"></mat-progress-bar>\n}\n", styles: ["body.yuv-high-contrast{--ymt-surface-app: light-dark(#ffffff, #000000);--ymt-surface: light-dark(#f5f5f5, #0a0a0a);--ymt-surface-container-lowest: light-dark(#ffffff, #000000);--ymt-surface-container-low: light-dark(#f0f0f0, #0d0d0d);--ymt-surface-container: light-dark(#e8e8e8, #141414);--ymt-surface-container-high: light-dark(#e0e0e0, #1a1a1a);--ymt-surface-container-highest: light-dark(#d6d6d6, #212121);--ymt-surface-panel: light-dark(#ffffff, #0d0d0d);--ymt-pane-surface: light-dark(#ffffff, #000000);--ymt-pane-surface-floating: light-dark(#ffffff, #141414);--ymt-pane-surface-blank: transparent;--ymt-pane-surface-floating-inverse: light-dark(#000000, #ffffff);--ymt-bar-surface: light-dark(#ffffff, #000000);--ymt-bar-surface-blank: transparent;--ymt-on-surface: light-dark(#000000, #ffffff);--ymt-on-surface-type-subtle: light-dark(#595959, #a0a0a0);--ymt-text-color: light-dark(#000000, #ffffff);--ymt-text-color-subtle: light-dark(#595959, #a0a0a0);--ymt-on-bar-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface-floating-inverse: light-dark(#ffffff, #000000);--ymt-pane-drag-handle: light-dark(#8c8c8c, #606060);--ymt-primary: light-dark(#0047cc, #6ba4ff);--ymt-on-primary: light-dark(#ffffff, #000000);--ymt-primary-container: light-dark(#d6e4ff, #002766);--ymt-on-primary-container: light-dark(#001a52, #c8dcff);--ymt-text-color-primary: light-dark(#0047cc, #6ba4ff);--ymt-brand: light-dark(#ffffff, #000000);--ymt-on-brand: light-dark(#000000, #ffffff);--ymt-outline-width: 1px;--ymt-outline: light-dark(#767676, #737373);--ymt-outline-variant: light-dark(#949494, #525252);--ymt-outline-variant-emphasized: light-dark(#595959, #8a8a8a);--ymt-success: light-dark(#166534, #4ade80);--ymt-on-success: light-dark(#ffffff, #000000);--ymt-success-container: light-dark(#dcfce7, #003314);--ymt-on-success-container: light-dark(#14532d, #86efac);--ymt-danger: light-dark(#b91c1c, #ff6b6b);--ymt-on-danger: light-dark(#ffffff, #000000);--ymt-danger-container: light-dark(#fee2e2, #4a0000);--ymt-on-danger-container: light-dark(#7f1d1d, #ffbebe);--ymt-warning: light-dark(#92400e, #facc15);--ymt-on-warning: light-dark(#ffffff, #000000);--ymt-warning-container: light-dark(#fef3c7, #3d2800);--ymt-on-warning-container: light-dark(#78350f, #ffe082);--ymt-inverse-surface: light-dark(#000000, #ffffff);--ymt-inverse-surface-90: light-dark(rgba(0, 0, 0, .9), rgba(255, 255, 255, .9));--ymt-on-inverse-surface: light-dark(#ffffff, #000000);--ymt-scrim: #000000;--ymt-scrim-opacity: 65;--ymt-text-selection-container: light-dark(#d6e4ff, #002766);--ymt-on-text-selection-container: light-dark(#001a52, #c8dcff);--ymt-focus-background: light-dark(#e8e8e8, #1a1a1a);--ymt-on-focus-background: light-dark(#000000, #ffffff);--ymt-hover-background: light-dark(#f0f0f0, #141414);--ymt-on-hover-background: light-dark(#000000, #ffffff);--ymt-selection-background: light-dark(#d6d6d6, #212121);--ymt-on-selection-background: light-dark(#000000, #ffffff);--ymt-current-background: light-dark(#d6e4ff, #002766);--ymt-on-current-background: light-dark(#001a52, #c8dcff);--ymt-focus-indicator-size: 3px;--ymt-focus-indicator-inner: light-dark(#ffffff, #000000);--ymt-focus-indicator-outer: light-dark(#000000, #ffffff);--ymt-scrollbar-thumb-color: light-dark(#949494, #525252);--ymt-scrollbar-thumb-color-hover: light-dark(#595959, #737373);--ymt-scrollbar-track-color: light-dark(#f0f0f0, #141414);--ymt-hover-state-layer-opacity: .16;--ymt-focus-state-layer-opacity: .24;--ymt-pressed-state-layer-opacity: .32;--ymt-disabled-opacity: .5}@media(prefers-contrast:more){:root:not(.yuuvis-high-contrast-theme){color-scheme:light dark}:root:not(.yuuvis-high-contrast-theme){--ymt-surface-app: light-dark(#ffffff, #000000);--ymt-surface: light-dark(#f5f5f5, #0a0a0a);--ymt-surface-container-lowest: light-dark(#ffffff, #000000);--ymt-surface-container-low: light-dark(#f0f0f0, #0d0d0d);--ymt-surface-container: light-dark(#e8e8e8, #141414);--ymt-surface-container-high: light-dark(#e0e0e0, #1a1a1a);--ymt-surface-container-highest: light-dark(#d6d6d6, #212121);--ymt-surface-panel: light-dark(#ffffff, #0d0d0d);--ymt-pane-surface: light-dark(#ffffff, #000000);--ymt-pane-surface-floating: light-dark(#ffffff, #141414);--ymt-pane-surface-blank: transparent;--ymt-pane-surface-floating-inverse: light-dark(#000000, #ffffff);--ymt-bar-surface: light-dark(#ffffff, #000000);--ymt-bar-surface-blank: transparent;--ymt-on-surface: light-dark(#000000, #ffffff);--ymt-on-surface-type-subtle: light-dark(#595959, #a0a0a0);--ymt-text-color: light-dark(#000000, #ffffff);--ymt-text-color-subtle: light-dark(#595959, #a0a0a0);--ymt-on-bar-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface: light-dark(#000000, #ffffff);--ymt-on-pane-surface-floating-inverse: light-dark(#ffffff, #000000);--ymt-pane-drag-handle: light-dark(#8c8c8c, #606060);--ymt-primary: light-dark(#0047cc, #6ba4ff);--ymt-on-primary: light-dark(#ffffff, #000000);--ymt-primary-container: light-dark(#d6e4ff, #002766);--ymt-on-primary-container: light-dark(#001a52, #c8dcff);--ymt-text-color-primary: light-dark(#0047cc, #6ba4ff);--ymt-brand: light-dark(#ffffff, #000000);--ymt-on-brand: light-dark(#000000, #ffffff);--ymt-outline-width: 1px;--ymt-outline: light-dark(#767676, #737373);--ymt-outline-variant: light-dark(#949494, #525252);--ymt-outline-variant-emphasized: light-dark(#595959, #8a8a8a);--ymt-success: light-dark(#166534, #4ade80);--ymt-on-success: light-dark(#ffffff, #000000);--ymt-success-container: light-dark(#dcfce7, #003314);--ymt-on-success-container: light-dark(#14532d, #86efac);--ymt-danger: light-dark(#b91c1c, #ff6b6b);--ymt-on-danger: light-dark(#ffffff, #000000);--ymt-danger-container: light-dark(#fee2e2, #4a0000);--ymt-on-danger-container: light-dark(#7f1d1d, #ffbebe);--ymt-warning: light-dark(#92400e, #facc15);--ymt-on-warning: light-dark(#ffffff, #000000);--ymt-warning-container: light-dark(#fef3c7, #3d2800);--ymt-on-warning-container: light-dark(#78350f, #ffe082);--ymt-inverse-surface: light-dark(#000000, #ffffff);--ymt-inverse-surface-90: light-dark(rgba(0, 0, 0, .9), rgba(255, 255, 255, .9));--ymt-on-inverse-surface: light-dark(#ffffff, #000000);--ymt-scrim: #000000;--ymt-scrim-opacity: 65;--ymt-text-selection-container: light-dark(#d6e4ff, #002766);--ymt-on-text-selection-container: light-dark(#001a52, #c8dcff);--ymt-focus-background: light-dark(#e8e8e8, #1a1a1a);--ymt-on-focus-background: light-dark(#000000, #ffffff);--ymt-hover-background: light-dark(#f0f0f0, #141414);--ymt-on-hover-background: light-dark(#000000, #ffffff);--ymt-selection-background: light-dark(#d6d6d6, #212121);--ymt-on-selection-background: light-dark(#000000, #ffffff);--ymt-current-background: light-dark(#d6e4ff, #002766);--ymt-on-current-background: light-dark(#001a52, #c8dcff);--ymt-focus-indicator-size: 3px;--ymt-focus-indicator-inner: light-dark(#ffffff, #000000);--ymt-focus-indicator-outer: light-dark(#000000, #ffffff);--ymt-scrollbar-thumb-color: light-dark(#949494, #525252);--ymt-scrollbar-thumb-color-hover: light-dark(#595959, #737373);--ymt-scrollbar-track-color: light-dark(#f0f0f0, #141414);--ymt-hover-state-layer-opacity: .16;--ymt-focus-state-layer-opacity: .24;--ymt-pressed-state-layer-opacity: .32;--ymt-disabled-opacity: .5}}:host{position:relative;display:flex;align-items:center;transition:opacity .1s ease-in-out;color:var(--ymt-text-color-subtle)}:host .object-flavor{align-self:center;padding:var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-2xs) var(--ymt-spacing-2xs);gap:var(--ymt-spacing-2xs);display:flex;align-items:center;line-height:1em;color:var(--ymt-text-color)}:host mat-icon{color:var(--ymt-text-color)}:host.selection yuv-list{border-inline-end:1px solid var(--ymt-outline-variant)}:host.selection button.clear{display:flex}:host .progress-bar{position:absolute;inset-block-start:0;--mat-progress-bar-active-indicator-height: 2px;--mat-progress-bar-track-height: 2px}:host.busy{pointer-events:none;opacity:.5}:host[aria-hidden=true]{display:none}:host button{flex:0 0 auto}:host button.clear{color:var(--ymt-text-color-subtle);display:none}:host:not(.selectionDisabled) yuv-list yuv-flavor-chip{cursor:pointer}:host yuv-list{display:flex;flex:1;overflow-x:auto;margin-inline-start:var(--ymt-spacing-xs);--ymt-scrollbar-outer-size: 0px;--ymt-scrollbar-inner-size: 0px;border-inline-start:1px solid var(--ymt-outline-variant)}:host yuv-list yuv-flavor-chip{cursor:default;border-inline-end:1px solid var(--ymt-outline-variant)}\n"], dependencies: [{ kind: "component", type: FlavorChipComponent, selector: "yuv-flavor-chip", inputs: ["flavor", "enableRemove", "enableDescription"], outputs: ["flavorRemove"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: DragScrollDirective, selector: "[yuvDragScroll]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i1$2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i1$2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
278
278
  }
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectFlavorComponent, decorators: [{
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectFlavorComponent, decorators: [{
280
280
  type: Component,
281
281
  args: [{ selector: 'yuv-object-flavor', standalone: true, imports: [
282
282
  FlavorChipComponent,
@@ -306,10 +306,10 @@ class AbstractApplyCreateFlavorComponent {
306
306
  }
307
307
  #dialogData;
308
308
  #dialogRef;
309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: AbstractApplyCreateFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.12", type: AbstractApplyCreateFlavorComponent, isStandalone: true, selector: "yuv-abstract-apply-create-flavor", outputs: { cancel: "cancel" }, ngImport: i0, template: '', isInline: true }); }
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: AbstractApplyCreateFlavorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: AbstractApplyCreateFlavorComponent, isStandalone: true, selector: "yuv-abstract-apply-create-flavor", outputs: { cancel: "cancel" }, ngImport: i0, template: '', isInline: true }); }
311
311
  }
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: AbstractApplyCreateFlavorComponent, decorators: [{
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: AbstractApplyCreateFlavorComponent, decorators: [{
313
313
  type: Component,
314
314
  args: [{
315
315
  selector: 'yuv-abstract-apply-create-flavor',