@yuuvis/client-framework 3.15.0 → 3.17.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 (44) hide show
  1. package/fesm2022/yuuvis-client-framework-actions.mjs +21 -25
  2. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  3. package/fesm2022/yuuvis-client-framework-app-bar.mjs +3 -3
  4. package/fesm2022/yuuvis-client-framework-badges.mjs +20 -13
  5. package/fesm2022/yuuvis-client-framework-badges.mjs.map +1 -1
  6. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +3 -3
  7. package/fesm2022/yuuvis-client-framework-clipboard.mjs +3 -3
  8. package/fesm2022/yuuvis-client-framework-datepicker.mjs +31 -31
  9. package/fesm2022/yuuvis-client-framework-forms.mjs +286 -178
  10. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  11. package/fesm2022/yuuvis-client-framework-icons.mjs +9 -9
  12. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -7
  13. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
  14. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +18 -18
  15. package/fesm2022/yuuvis-client-framework-object-details.mjs +28 -28
  16. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +18 -18
  17. package/fesm2022/yuuvis-client-framework-object-form.mjs +34 -34
  18. package/fesm2022/yuuvis-client-framework-object-preview.mjs +9 -9
  19. package/fesm2022/yuuvis-client-framework-object-relationship.mjs +73 -45
  20. package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
  21. package/fesm2022/yuuvis-client-framework-object-summary.mjs +13 -13
  22. package/fesm2022/yuuvis-client-framework-object-versions.mjs +7 -7
  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 +101 -74
  26. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  27. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +4 -4
  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 +97 -61
  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 +25 -25
  38. package/lib/assets/i18n/de.json +10 -8
  39. package/lib/assets/i18n/en.json +10 -8
  40. package/package.json +10 -10
  41. package/types/yuuvis-client-framework-badges.d.ts +7 -0
  42. package/types/yuuvis-client-framework-forms.d.ts +28 -8
  43. package/types/yuuvis-client-framework-object-relationship.d.ts +6 -1
  44. package/types/yuuvis-client-framework-tile-list.d.ts +13 -1
@@ -18,8 +18,8 @@ class MultiObjectSummaryComponent {
18
18
  this.icon = signal('home_storage', ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
19
19
  this.headline = input('this could be your headline', ...(ngDevMode ? [{ debugName: "headline" }] : /* istanbul ignore next */ []));
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: MultiObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.12", type: MultiObjectSummaryComponent, isStandalone: true, selector: "yuv-multi-object-summary", inputs: { headline: { classPropertyName: "headline", publicName: "headline", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: MultiObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.20", type: MultiObjectSummaryComponent, isStandalone: true, selector: "yuv-multi-object-summary", inputs: { headline: { classPropertyName: "headline", publicName: "headline", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
23
23
  <section class="slide">
24
24
  <mat-icon class="ymt-icon--size-6xl">{{ icon() }}</mat-icon>
25
25
  </section>
@@ -29,7 +29,7 @@ class MultiObjectSummaryComponent {
29
29
  </section>
30
30
  `, isInline: true, styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}section.slide{container-type:size}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: MultiObjectSummaryComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: MultiObjectSummaryComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'yuv-multi-object-summary', standalone: true, imports: [MatIcon], template: `
35
35
  <section class="slide">
@@ -143,10 +143,10 @@ class ObjectSummaryDataComponent {
143
143
  };
144
144
  });
145
145
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectSummaryDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectSummaryDataComponent, isStandalone: true, selector: "yuv-object-summary-data", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, showAppliedFlavors: { classPropertyName: "showAppliedFlavors", publicName: "showAppliedFlavors", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\" />\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{ 'yuv.object-summary-data.base.headline' | translate }}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\" />\n </div>\n </div>\n }\n </section>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}section.slide{container-type:size}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--_object-summary-section-background: var(--object-summary-section-background, var(--ymt-surface));--_object-summary-section-corner: var(--object-summary-section-corner, var(--ymt-corner-m));--_object-summary-section-border-color: var(--object-summary-section-border-color, transparent)}:host section.properties{container:section/inline-size;background-color:var(--_object-summary-section-background);border:1px solid var(--_object-summary-section-border-color);border-radius:var(--_object-summary-section-corner);padding:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-m)}:host section.properties .object-summary__title{margin-block-start:0;font:var(--ymt-font-body-subtle);letter-spacing:var(--ymt-font-body-subtle-tracking);text-transform:uppercase}:host section.properties .row{display:flex;flex-flow:column}:host section.properties .row .label{font:var(--ymt-font-body-subtle);flex:0 1 33%;font-weight:700;padding-inline-end:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-3xs);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host section.properties .row .value{flex:1;word-break:break-all;font:var(--ymt-font-body-subtle);margin-block-end:var(--ymt-spacing-xs)}@container section (min-width: 300px){:host section.properties .row{flex-flow:row}}\n"], dependencies: [{ kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectSummaryDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
147
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectSummaryDataComponent, isStandalone: true, selector: "yuv-object-summary-data", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, showAppliedFlavors: { classPropertyName: "showAppliedFlavors", publicName: "showAppliedFlavors", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\" />\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{ 'yuv.object-summary-data.base.headline' | translate }}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\" />\n </div>\n </div>\n }\n </section>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}section.slide{container-type:size}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--_object-summary-section-background: var(--object-summary-section-background, var(--ymt-surface));--_object-summary-section-corner: var(--object-summary-section-corner, var(--ymt-corner-m));--_object-summary-section-border-color: var(--object-summary-section-border-color, transparent)}:host section.properties{container:section/inline-size;background-color:var(--_object-summary-section-background);border:1px solid var(--_object-summary-section-border-color);border-radius:var(--_object-summary-section-corner);padding:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-m)}:host section.properties .object-summary__title{margin-block-start:0;font:var(--ymt-font-body-subtle);letter-spacing:var(--ymt-font-body-subtle-tracking);text-transform:uppercase}:host section.properties .row{display:flex;flex-flow:column}:host section.properties .row .label{font:var(--ymt-font-body-subtle);flex:0 1 33%;font-weight:700;padding-inline-end:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-3xs);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host section.properties .row .value{flex:1;word-break:break-all;font:var(--ymt-font-body-subtle);margin-block-end:var(--ymt-spacing-xs)}@container section (min-width: 300px){:host section.properties .row{flex-flow:row}}\n"], dependencies: [{ kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectSummaryDataComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectSummaryDataComponent, decorators: [{
150
150
  type: Component,
151
151
  args: [{ selector: 'yuv-object-summary-data', standalone: true, imports: [RendererDirective, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let flavors = flavorData();\n\n<div class=\"content\">\n @if (flavors.length > 0) {\n <section class=\"flavor properties\">\n @for (flavor of flavors; track $index) {\n <div class=\"flavour-groups\">\n <h3 class=\"object-summary__title\">{{ flavor.label }}</h3>\n @for (property of flavor.properties; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ property.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"property.value\" />\n </div>\n </div>\n }\n </div>\n }\n </section>\n }\n\n @let base = baseData();\n @if (base) {\n <section class=\"base properties\">\n <h3 class=\"object-summary__title\">{{ 'yuv.object-summary-data.base.headline' | translate }}</h3>\n @for (p of base; track $index) {\n <div class=\"row\">\n <div class=\"label\">{{ p.label }}</div>\n <div class=\"value\">\n <ng-container *yuvRenderer=\"p.value\" />\n </div>\n </div>\n }\n </section>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}section.slide{container-type:size}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--_object-summary-section-background: var(--object-summary-section-background, var(--ymt-surface));--_object-summary-section-corner: var(--object-summary-section-corner, var(--ymt-corner-m));--_object-summary-section-border-color: var(--object-summary-section-border-color, transparent)}:host section.properties{container:section/inline-size;background-color:var(--_object-summary-section-background);border:1px solid var(--_object-summary-section-border-color);border-radius:var(--_object-summary-section-corner);padding:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-m)}:host section.properties .object-summary__title{margin-block-start:0;font:var(--ymt-font-body-subtle);letter-spacing:var(--ymt-font-body-subtle-tracking);text-transform:uppercase}:host section.properties .row{display:flex;flex-flow:column}:host section.properties .row .label{font:var(--ymt-font-body-subtle);flex:0 1 33%;font-weight:700;padding-inline-end:var(--ymt-spacing-m);margin-block-end:var(--ymt-spacing-3xs);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host section.properties .row .value{flex:1;word-break:break-all;font:var(--ymt-font-body-subtle);margin-block-end:var(--ymt-spacing-xs)}@container section (min-width: 300px){:host section.properties .row{flex-flow:row}}\n"] }]
152
152
  }], propDecorators: { dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: true }] }], flavors: [{ type: i0.Input, args: [{ isSignal: true, alias: "flavors", required: false }] }], showAppliedFlavors: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAppliedFlavors", required: false }] }] } });
@@ -334,10 +334,10 @@ class ObjectSummaryComponent {
334
334
  else
335
335
  this.headerData.set(undefined);
336
336
  }
337
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
338
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectSummaryComponent, isStandalone: true, selector: "yuv-object-summary", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, configType: { classPropertyName: "configType", publicName: "configType", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "flavorCmp", first: true, predicate: ObjectFlavorComponent, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.BusyOverlayDirective, inputs: ["yuvBusyOverlay", "busy"] }], ngImport: i0, template: "@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon && imageSlide.icon.name) {\n <mat-icon draggable=\"false\" class=\"ymt-icon--size-6xl\">{{ imageSlide.icon.name }}</mat-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">\n {{ folderInfo.size }}\n </div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o) {\n <section class=\"object-flavors\">\n <yuv-object-flavor [dmsObject]=\"o\" (flavorSelect)=\"onFlavorSelect($event)\"></yuv-object-flavor>\n </section>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h2>{{ header?.title }}</h2>\n\n <div class=\"actions\">\n <yuv-overflow-menu [menuItems]=\"actions()\"></yuv-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n\n <yuv-object-summary-data [dmsObject]=\"o\" [flavors]=\"flavors\"></yuv-object-summary-data>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}section.slide{container-type:size}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--max-slide-size: 150px;display:flex;flex-flow:column;height:100%}:host section:not(.badges){padding:var(--ymt-spacing-m)}:host section.object-flavors{padding:0;border-block-end:1px solid var(--ymt-outline-variant)}:host section.object-flavors yuv-object-flavor{padding-inline-start:9px;min-height:30px}:host .content{flex:1;overflow-y:auto}:host .content section.title h2{margin:0}:host .content section.title .actions{align-self:start}:host section.badges{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:var(--ymt-spacing-2xs);padding-inline:var(--ymt-spacing-m)}:host yuv-object-summary-data{display:block;padding:var(--ymt-spacing-m)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: RetentionBadgeComponent, selector: "yuv-retention-badge", inputs: ["dmsObject"] }, { kind: "component", type: ObjectFlavorComponent, selector: "yuv-object-flavor", inputs: ["dmsObject"], outputs: ["flavorSelect"] }, { kind: "component", type: OverflowMenuComponent, selector: "yuv-overflow-menu", inputs: ["overflowIcon", "groupLabels", "menuItems", "vertical"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }] }); }
337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectSummaryComponent, isStandalone: true, selector: "yuv-object-summary", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, configType: { classPropertyName: "configType", publicName: "configType", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "position: relative;" }, viewQueries: [{ propertyName: "flavorCmp", first: true, predicate: ObjectFlavorComponent, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.BusyOverlayDirective, inputs: ["yuvBusyOverlay", "busy"] }], ngImport: i0, template: "@let imageSlide = slide();\n<section class=\"slide\" [yuvBusyOverlay]=\"imageSlide.loading\">\n @if (imageSlide.uri || imageSlide.loading) {\n <img draggable=\"false\" [ngClass]=\"{ loading: imageSlide.loading }\" [attr.data-orientation]=\"imageSlide.orientation\" [src]=\"imageSlide.uri\" />\n } @else if (imageSlide.icon && imageSlide.icon.name) {\n <mat-icon draggable=\"false\" class=\"ymt-icon--size-6xl\">{{ imageSlide.icon.name }}</mat-icon>\n }\n @if (folderInfo) {\n <div class=\"badge\">\n {{ folderInfo.size }}\n </div>\n }\n</section>\n\n@let o = dmsObject();\n@if (o) {\n <section class=\"object-flavors\">\n <yuv-object-flavor [dmsObject]=\"o\" (flavorSelect)=\"onFlavorSelect($event)\"></yuv-object-flavor>\n </section>\n}\n\n<div class=\"content\">\n @let header = headerData();\n <section class=\"title\">\n <h2>{{ header?.title }}</h2>\n\n <div class=\"actions\">\n <yuv-overflow-menu [menuItems]=\"actions()\"></yuv-overflow-menu>\n </div>\n </section>\n\n @if (o) {\n <section class=\"badges\">\n <yuv-retention-badge [dmsObject]=\"o\"></yuv-retention-badge>\n </section>\n\n <yuv-object-summary-data [dmsObject]=\"o\" [flavors]=\"flavors\"></yuv-object-summary-data>\n }\n</div>\n", styles: ["section.title{padding:var(--ymt-spacing-m);display:flex;justify-content:space-between;align-items:center;gap:var(--ymt-spacing-m)}section.title .actions button.quickAccess.isFavorite{color:var(--ymt-primary)}section.slide{display:flex;flex-flow:column;align-items:center;justify-content:center;border-block-end:1px solid var(--ymt-outline-variant);background-color:var(--ymt-surface-panel);position:relative;height:25%;overflow:hidden}section.slide .badge{position:absolute;inset-inline-end:var(--ymt-spacing-l);inset-block-start:var(--ymt-spacing-m);font-size:var(--ymt-sizing-2xl);font-weight:700;line-height:1}section.slide .badge,section.slide mat-icon{color:var(--ymt-text-color-subtle)}section.slide img{object-fit:cover;object-position:top;opacity:0;transition:opacity .3s;margin:auto;max-height:100%;max-width:100%;outline:4px solid var(--ymt-surface-panel);outline-offset:-4px;box-shadow:0 0 0 1px var(--ymt-outline-variant)}section.slide img:not(.loading){opacity:1}section.slide{container-type:size}@container (height < 160px){section.slide mat-icon{height:var(--ymt-sizing-4xl);width:var(--ymt-sizing-4xl);font-size:var(--ymt-sizing-4xl);line-height:1}section.slide .badge{inset-inline-end:var(--ymt-spacing-m);inset-block-start:var(--ymt-spacing-s);font-size:var(--ymt-sizing-s)}}:host{--max-slide-size: 150px;display:flex;flex-flow:column;height:100%}:host section:not(.badges){padding:var(--ymt-spacing-m)}:host section.object-flavors{padding:0;border-block-end:1px solid var(--ymt-outline-variant)}:host section.object-flavors yuv-object-flavor{padding-inline-start:9px;min-height:30px}:host .content{flex:1;overflow-y:auto}:host .content section.title h2{margin:0}:host .content section.title .actions{align-self:start}:host section.badges{display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:var(--ymt-spacing-2xs);padding-inline:var(--ymt-spacing-m)}:host yuv-object-summary-data{display:block;padding:var(--ymt-spacing-m)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: RetentionBadgeComponent, selector: "yuv-retention-badge", inputs: ["dmsObject"] }, { kind: "component", type: ObjectFlavorComponent, selector: "yuv-object-flavor", inputs: ["dmsObject"], outputs: ["flavorSelect"] }, { kind: "component", type: OverflowMenuComponent, selector: "yuv-overflow-menu", inputs: ["overflowIcon", "groupLabels", "menuItems", "vertical"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }] }); }
339
339
  }
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectSummaryComponent, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectSummaryComponent, decorators: [{
341
341
  type: Component,
342
342
  args: [{ selector: 'yuv-object-summary', standalone: true, imports: [
343
343
  NgClass,
@@ -359,11 +359,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
359
359
 
360
360
  const cmp = [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent];
361
361
  class YuvObjectSummaryModule {
362
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
363
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectSummaryModule, imports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent], exports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent] }); }
364
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectSummaryModule, imports: [ObjectSummaryComponent, MultiObjectSummaryComponent] }); }
362
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
363
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectSummaryModule, imports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent], exports: [ObjectSummaryComponent, MultiObjectSummaryComponent, ObjectSummaryDataComponent] }); }
364
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectSummaryModule, imports: [ObjectSummaryComponent, MultiObjectSummaryComponent] }); }
365
365
  }
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectSummaryModule, decorators: [{
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectSummaryModule, decorators: [{
367
367
  type: NgModule,
368
368
  args: [{
369
369
  imports: cmp,
@@ -149,10 +149,10 @@ class ObjectVersionsComponent {
149
149
  });
150
150
  }
151
151
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectVersionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ObjectVersionsComponent, isStandalone: true, selector: "yuv-object-versions", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, objectConfigBucket: { classPropertyName: "objectConfigBucket", publicName: "objectConfigBucket", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { objectRestored: "objectRestored" }, viewQueries: [{ propertyName: "versionList", first: true, predicate: ListComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@let err = error();\n@if (!err) {\n <yuv-split-view [gutterSize]=\"splitGutterSize\" layoutSettingsID=\"yuv.object-versions.split\">\n <!-- version details -->\n <ng-template yuvSplitArea [size]=\"60\">\n <div class=\"version-details ymt-panel\" [yuvBusyOverlay]=\"busy()\">\n @let selected = selectedVersion();\n @if (selected) {\n <ng-template #headerActions>\n <button\n mat-icon-button\n (click)=\"downloadCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.download' | translate\"\n >\n <mat-icon>download</mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"restoreCurrentVersion()\"\n [disabled]=\"documentLockedByOther() || isCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.restore' | translate\"\n >\n <mat-icon>restore_page</mat-icon>\n </button>\n </ng-template>\n\n <yuv-object-details-header\n [dmsObject]=\"selected\"\n [type]=\"type()\"\n [bucket]=\"objectConfigBucket()\"\n [actions]=\"headerActions\"\n />\n\n <mat-tab-group class=\"version-tabs\">\n <mat-tab [label]=\"'yuv.object-versions.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [metadata]=\"metadata\" [dmsObject]=\"selected\" [version]=\"selected.version\" />\n </ng-template>\n </mat-tab>\n <mat-tab [label]=\"'yuv.object-versions.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <div class=\"metadata\">\n <yuv-object-summary-data [dmsObject]=\"selected\" [showAppliedFlavors]=\"true\" />\n </div>\n </ng-template> </mat-tab\n ></mat-tab-group>\n }\n </div>\n </ng-template>\n\n <!-- versions list -->\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"version-list ymt-panel\">\n <yuv-list selectOnEnter=\"true\" (itemSelect)=\"itemSelected($event)\">\n @for (v of versions(); track v.version) {\n <div class=\"version\" yuvListItem>\n <div class=\"label\">{{ 'yuv.object-versions.list.version' | translate: { version: v.version } }}</div>\n\n <span class=\"modified-on\">{{ v.modified.on | localeDate }}</span>\n <span class=\"modified-by\">{{ v.modified.by.title }}</span>\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n </yuv-split-view>\n} @else {\n <div class=\"error\">\n <p>{{ err }}</p>\n </div>\n}\n", styles: [":host{display:block}:host .ymt-panel{background-color:var(--ymt-surface);border:1px solid var(--ymt-outline-variant);border-radius:var(--ymt-corner-m)}:host .ymt-panel{height:100%;overflow:hidden}:host .version-details{display:flex;flex-direction:column}:host .version-details yuv-object-details-header{flex:0 0 auto}:host mat-tab-group{overflow:hidden;flex:1 1 auto;min-height:0}:host mat-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{height:100%}:host yuv-object-preview{background-color:var(--ymt-surface-container-low)}:host .metadata{background-color:var(--ymt-surface-container-low);height:100%;overflow-y:auto;display:flex;flex-direction:column;--object-summary-section-border-color: var(--ymt-outline-variant)}:host .metadata yuv-object-summary-data{display:block;padding:var(--ymt-spacing-m)}:host .version{display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;grid-template-areas:\"version version\" \"by on\";border-block-end:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-s) var(--ymt-spacing-l);gap:var(--ymt-spacing-s)}:host .version .label{grid-area:version;font:var(--ymt-font-title-small)}:host .version .modified-by{grid-area:by;font:var(--ymt-font-body);color:var(--ymt-text-color-subtle)}:host .version .modified-on{grid-area:on;font:var(--ymt-font-body);color:var(--ymt-text-color-subtle)}:host .error{height:100%;display:flex;align-items:center;justify-content:center}:host .error>p{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);border:var(--ymt-danger);padding:var(--ymt-spacing-xs);border-radius:var(--ymt-corner-xs)}\n"], dependencies: [{ kind: "ngmodule", type: YuvSplitViewModule }, { kind: "directive", type: i1.SplitAreaDirective, selector: "[yuvSplitArea]", inputs: ["size", "minSize", "maxSize", "panelClass", "visible", "lockSize"] }, { kind: "component", type: i1.SplitViewComponent, selector: "yuv-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: ObjectDetailsHeaderComponent, selector: "yuv-object-details-header", inputs: ["dmsObject", "type", "bucket", "actions", "badges"] }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i3.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: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectVersionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: ObjectVersionsComponent, isStandalone: true, selector: "yuv-object-versions", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, objectConfigBucket: { classPropertyName: "objectConfigBucket", publicName: "objectConfigBucket", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { objectRestored: "objectRestored" }, viewQueries: [{ propertyName: "versionList", first: true, predicate: ListComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@let err = error();\n@if (!err) {\n <yuv-split-view [gutterSize]=\"splitGutterSize\" layoutSettingsID=\"yuv.object-versions.split\">\n <!-- version details -->\n <ng-template yuvSplitArea [size]=\"60\">\n <div class=\"version-details ymt-panel\" [yuvBusyOverlay]=\"busy()\">\n @let selected = selectedVersion();\n @if (selected) {\n <ng-template #headerActions>\n <button\n mat-icon-button\n (click)=\"downloadCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.download' | translate\"\n >\n <mat-icon>download</mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"restoreCurrentVersion()\"\n [disabled]=\"documentLockedByOther() || isCurrentVersion()\"\n [matTooltip]=\"'yuv.object-versions.actions.restore' | translate\"\n >\n <mat-icon>restore_page</mat-icon>\n </button>\n </ng-template>\n\n <yuv-object-details-header\n [dmsObject]=\"selected\"\n [type]=\"type()\"\n [bucket]=\"objectConfigBucket()\"\n [actions]=\"headerActions\"\n />\n\n <mat-tab-group class=\"version-tabs\">\n <mat-tab [label]=\"'yuv.object-versions.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [metadata]=\"metadata\" [dmsObject]=\"selected\" [version]=\"selected.version\" />\n </ng-template>\n </mat-tab>\n <mat-tab [label]=\"'yuv.object-versions.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <div class=\"metadata\">\n <yuv-object-summary-data [dmsObject]=\"selected\" [showAppliedFlavors]=\"true\" />\n </div>\n </ng-template> </mat-tab\n ></mat-tab-group>\n }\n </div>\n </ng-template>\n\n <!-- versions list -->\n <ng-template yuvSplitArea [size]=\"40\">\n <div class=\"version-list ymt-panel\">\n <yuv-list selectOnEnter=\"true\" (itemSelect)=\"itemSelected($event)\">\n @for (v of versions(); track v.version) {\n <div class=\"version\" yuvListItem>\n <div class=\"label\">{{ 'yuv.object-versions.list.version' | translate: { version: v.version } }}</div>\n\n <span class=\"modified-on\">{{ v.modified.on | localeDate }}</span>\n <span class=\"modified-by\">{{ v.modified.by.title }}</span>\n </div>\n }\n </yuv-list>\n </div>\n </ng-template>\n </yuv-split-view>\n} @else {\n <div class=\"error\">\n <p>{{ err }}</p>\n </div>\n}\n", styles: [":host{display:block}:host .ymt-panel{background-color:var(--ymt-surface);border:1px solid var(--ymt-outline-variant);border-radius:var(--ymt-corner-m)}:host .ymt-panel{height:100%;overflow:hidden}:host .version-details{display:flex;flex-direction:column}:host .version-details yuv-object-details-header{flex:0 0 auto}:host mat-tab-group{overflow:hidden;flex:1 1 auto;min-height:0}:host mat-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{height:100%}:host yuv-object-preview{background-color:var(--ymt-surface-container-low)}:host .metadata{background-color:var(--ymt-surface-container-low);height:100%;overflow-y:auto;display:flex;flex-direction:column;--object-summary-section-border-color: var(--ymt-outline-variant)}:host .metadata yuv-object-summary-data{display:block;padding:var(--ymt-spacing-m)}:host .version{display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;grid-template-areas:\"version version\" \"by on\";border-block-end:1px solid var(--ymt-outline-variant);padding:var(--ymt-spacing-s) var(--ymt-spacing-l);gap:var(--ymt-spacing-s)}:host .version .label{grid-area:version;font:var(--ymt-font-title-small)}:host .version .modified-by{grid-area:by;font:var(--ymt-font-body);color:var(--ymt-text-color-subtle)}:host .version .modified-on{grid-area:on;font:var(--ymt-font-body);color:var(--ymt-text-color-subtle)}:host .error{height:100%;display:flex;align-items:center;justify-content:center}:host .error>p{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);border:var(--ymt-danger);padding:var(--ymt-spacing-xs);border-radius:var(--ymt-corner-xs)}\n"], dependencies: [{ kind: "ngmodule", type: YuvSplitViewModule }, { kind: "directive", type: i1.SplitAreaDirective, selector: "[yuvSplitArea]", inputs: ["size", "minSize", "maxSize", "panelClass", "visible", "lockSize"] }, { kind: "component", type: i1.SplitViewComponent, selector: "yuv-split-view", inputs: ["direction", "gutterSize", "restrictMove", "disabled", "layoutSettingsID"], outputs: ["layoutSettingsChange", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: ObjectDetailsHeaderComponent, selector: "yuv-object-details-header", inputs: ["dmsObject", "type", "bucket", "actions", "badges"] }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i3.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: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }] }); }
154
154
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ObjectVersionsComponent, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: ObjectVersionsComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{ selector: 'yuv-object-versions', imports: [
158
158
  YuvSplitViewModule,
@@ -172,11 +172,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
172
172
 
173
173
  const cmp = [ObjectVersionsComponent];
174
174
  class YuvObjectVersionsModule {
175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectVersionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
176
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectVersionsModule, imports: [ObjectVersionsComponent], exports: [ObjectVersionsComponent] }); }
177
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectVersionsModule, imports: [cmp] }); }
175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectVersionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
176
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectVersionsModule, imports: [ObjectVersionsComponent], exports: [ObjectVersionsComponent] }); }
177
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectVersionsModule, imports: [cmp] }); }
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvObjectVersionsModule, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvObjectVersionsModule, decorators: [{
180
180
  type: NgModule,
181
181
  args: [{
182
182
  imports: cmp,
@@ -37,10 +37,10 @@ class PaginationComponent {
37
37
  page: `${this.pagination().page}`
38
38
  });
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.12", type: PaginationComponent, isStandalone: true, selector: "yuv-pagination", inputs: { pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"total\">{{ pagination().total }}</div>\n<div class=\"controls\">\n <button [disabled]=\"pagination().page === 1\" (click)=\"pageChange.emit(1)\">\n <yuv-icon class=\"first\" [svg]=\"icons.arrowLast\"></yuv-icon>\n </button>\n <button [disabled]=\"pagination().page <= 1\" (click)=\"pageChange.emit(pagination().page - 1)\">\n <yuv-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yuv-icon>\n </button>\n\n <form (ngSubmit)=\"onPagingFormSubmit()\" [formGroup]=\"pagingForm\">\n <input (blur)=\"onInputBlur()\" type=\"number\" formControlName=\"page\" />\n <div>{{ pagination().pages }}</div>\n </form>\n\n <button [disabled]=\"pagination().page >= pagination().pages\" (click)=\"pageChange.emit(pagination().page + 1)\">\n <yuv-icon class=\"next\" [svg]=\"icons.arrowNext\"></yuv-icon>\n </button>\n <button [disabled]=\"pagination().page === pagination().pages\" (click)=\"pageChange.emit(pagination().pages)\">\n <yuv-icon class=\"last\" [svg]=\"icons.arrowLast\"></yuv-icon>\n </button>\n</div>\n", styles: [":host{--_paging-button-size: var(--paging-button-size, 18px);--_paging-margin: var(--paging-margin, var(--ymt-spacing-xs));--_paging-padding: var(--paging-padding, var(--ymt-spacing-2xs));--_paging-border: var(--paging-border-radius, 4px);--_paging-background: var(--paging-background, var(--ymt-surface-panel));display:flex;justify-content:space-between;align-items:center;padding:var(--_paging-padding);background-color:var(--_paging-background);border-radius:var(--_paging-border-radius)}:host .controls{display:flex;justify-content:space-between;align-items:center}:host .total{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);padding-inline:.25em;line-height:1em}:host button{padding:0;display:flex;--icon-size: var(--_paging-button-size)}:host button .first,:host button .prev{transform:rotate(180deg)}:host form{display:flex;border:1px solid var(--ymt-outline-variant);margin:0 4px;align-items:baseline}:host form>*{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);padding-inline:.25em}:host form>div{-webkit-user-select:none;user-select:none}:host form input{width:3em;line-height:1em;text-align:right;border:0;background-color:transparent;border-inline-end:1px solid var(--ymt-outline-variant)}:host form input.ng-invalid{color:var(--ymt-danger)}\n"], dependencies: [{ kind: "component", type: YuvIconComponent, selector: "yuv-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.20", type: PaginationComponent, isStandalone: true, selector: "yuv-pagination", inputs: { pagination: { classPropertyName: "pagination", publicName: "pagination", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"total\">{{ pagination().total }}</div>\n<div class=\"controls\">\n <button [disabled]=\"pagination().page === 1\" (click)=\"pageChange.emit(1)\">\n <yuv-icon class=\"first\" [svg]=\"icons.arrowLast\"></yuv-icon>\n </button>\n <button [disabled]=\"pagination().page <= 1\" (click)=\"pageChange.emit(pagination().page - 1)\">\n <yuv-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yuv-icon>\n </button>\n\n <form (ngSubmit)=\"onPagingFormSubmit()\" [formGroup]=\"pagingForm\">\n <input (blur)=\"onInputBlur()\" type=\"number\" formControlName=\"page\" />\n <div>{{ pagination().pages }}</div>\n </form>\n\n <button [disabled]=\"pagination().page >= pagination().pages\" (click)=\"pageChange.emit(pagination().page + 1)\">\n <yuv-icon class=\"next\" [svg]=\"icons.arrowNext\"></yuv-icon>\n </button>\n <button [disabled]=\"pagination().page === pagination().pages\" (click)=\"pageChange.emit(pagination().pages)\">\n <yuv-icon class=\"last\" [svg]=\"icons.arrowLast\"></yuv-icon>\n </button>\n</div>\n", styles: [":host{--_paging-button-size: var(--paging-button-size, 18px);--_paging-margin: var(--paging-margin, var(--ymt-spacing-xs));--_paging-padding: var(--paging-padding, var(--ymt-spacing-2xs));--_paging-border: var(--paging-border-radius, 4px);--_paging-background: var(--paging-background, var(--ymt-surface-panel));display:flex;justify-content:space-between;align-items:center;padding:var(--_paging-padding);background-color:var(--_paging-background);border-radius:var(--_paging-border-radius)}:host .controls{display:flex;justify-content:space-between;align-items:center}:host .total{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);padding-inline:.25em;line-height:1em}:host button{padding:0;display:flex;--icon-size: var(--_paging-button-size)}:host button .first,:host button .prev{transform:rotate(180deg)}:host form{display:flex;border:1px solid var(--ymt-outline-variant);margin:0 4px;align-items:baseline}:host form>*{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);padding-inline:.25em}:host form>div{-webkit-user-select:none;user-select:none}:host form input{width:3em;line-height:1em;text-align:right;border:0;background-color:transparent;border-inline-end:1px solid var(--ymt-outline-variant)}:host form input.ng-invalid{color:var(--ymt-danger)}\n"], dependencies: [{ kind: "component", type: YuvIconComponent, selector: "yuv-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: PaginationComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PaginationComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'yuv-pagination', standalone: true, imports: [YuvIconComponent, ReactiveFormsModule], template: "<div class=\"total\">{{ pagination().total }}</div>\n<div class=\"controls\">\n <button [disabled]=\"pagination().page === 1\" (click)=\"pageChange.emit(1)\">\n <yuv-icon class=\"first\" [svg]=\"icons.arrowLast\"></yuv-icon>\n </button>\n <button [disabled]=\"pagination().page <= 1\" (click)=\"pageChange.emit(pagination().page - 1)\">\n <yuv-icon class=\"prev\" [svg]=\"icons.arrowNext\"></yuv-icon>\n </button>\n\n <form (ngSubmit)=\"onPagingFormSubmit()\" [formGroup]=\"pagingForm\">\n <input (blur)=\"onInputBlur()\" type=\"number\" formControlName=\"page\" />\n <div>{{ pagination().pages }}</div>\n </form>\n\n <button [disabled]=\"pagination().page >= pagination().pages\" (click)=\"pageChange.emit(pagination().page + 1)\">\n <yuv-icon class=\"next\" [svg]=\"icons.arrowNext\"></yuv-icon>\n </button>\n <button [disabled]=\"pagination().page === pagination().pages\" (click)=\"pageChange.emit(pagination().pages)\">\n <yuv-icon class=\"last\" [svg]=\"icons.arrowLast\"></yuv-icon>\n </button>\n</div>\n", styles: [":host{--_paging-button-size: var(--paging-button-size, 18px);--_paging-margin: var(--paging-margin, var(--ymt-spacing-xs));--_paging-padding: var(--paging-padding, var(--ymt-spacing-2xs));--_paging-border: var(--paging-border-radius, 4px);--_paging-background: var(--paging-background, var(--ymt-surface-panel));display:flex;justify-content:space-between;align-items:center;padding:var(--_paging-padding);background-color:var(--_paging-background);border-radius:var(--_paging-border-radius)}:host .controls{display:flex;justify-content:space-between;align-items:center}:host .total{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);padding-inline:.25em;line-height:1em}:host button{padding:0;display:flex;--icon-size: var(--_paging-button-size)}:host button .first,:host button .prev{transform:rotate(180deg)}:host form{display:flex;border:1px solid var(--ymt-outline-variant);margin:0 4px;align-items:baseline}:host form>*{font:var(--ymt-font-body-subtle);color:var(--ymt-text-color-subtle);padding-inline:.25em}:host form>div{-webkit-user-select:none;user-select:none}:host form input{width:3em;line-height:1em;text-align:right;border:0;background-color:transparent;border-inline-end:1px solid var(--ymt-outline-variant)}:host form input.ng-invalid{color:var(--ymt-danger)}\n"] }]
46
46
  }], propDecorators: { pagination: [{ type: i0.Input, args: [{ isSignal: true, alias: "pagination", required: true }] }], pageChange: [{ type: i0.Output, args: ["pageChange"] }] } });
@@ -834,10 +834,10 @@ class QueryListComponent {
834
834
  * never on ordinary selection changes.
835
835
  */
836
836
  #resyncSelectionEffect;
837
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: QueryListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
838
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: QueryListComponent, isStandalone: true, selector: "yuv-query-list", inputs: { query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, idProperty: { classPropertyName: "idProperty", publicName: "idProperty", isSignal: true, isRequired: false, transformFunction: null }, transformer: { classPropertyName: "transformer", publicName: "transformer", isSignal: true, isRequired: false, transformFunction: null }, preventChangeUntil: { classPropertyName: "preventChangeUntil", publicName: "preventChangeUntil", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, enableDragSelect: { classPropertyName: "enableDragSelect", publicName: "enableDragSelect", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, selfHandleSelection: { classPropertyName: "selfHandleSelection", publicName: "selfHandleSelection", isSignal: true, isRequired: false, transformFunction: null }, includePermissions: { classPropertyName: "includePermissions", publicName: "includePermissions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", dragSelectChange: "dragSelectChange", itemDoubleClick: "itemDoubleClick", queryResult: "queryResult" }, host: { properties: { "class.pagination": "!!pagination()" } }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["yuvQueryListItem"], descendants: true, isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["yuvQueryListEmpty"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, isSignal: true }], ngImport: i0, template: "<yuv-list\n #list\n [multiselect]=\"multiselect()\"\n [autoSelect]=\"autoSelect()\"\n [preventChangeUntil]=\"preventChangeUntil()\"\n [selfHandleClick]=\"true\"\n [selfHandleSelection]=\"selfHandleSelection()\"\n [externalSelectionVisuals]=\"idSelection()\"\n [yuvDragSelect]=\"{ disabled: !enableDragSelect() || !multiselect() || isTouchDevice }\"\n (dragSelectChange)=\"onDragSelectChange($event)\"\n (dragSelect)=\"onDragSelect($event)\"\n (itemSelect)=\"onInnerItemSelect($event)\"\n>\n @for (resultItem of resultItems(); track trackItem(resultItem, $index)) {\n <div\n yuvListItem\n yuvDragSelectItem\n [selected]=\"isRowSelected(resultItem)\"\n [class.drop-in]=\"$index < dropInSize()\"\n (click.single)=\"onItemClick($index, $event)\"\n (click.double)=\"onItemDoubleClick($index, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate() || null; context: { $implicit: resultItem, index: $index }\" />\n </div>\n } @empty {\n <ng-container *ngTemplateOutlet=\"emptyTemplate() || null\" />\n }\n</yuv-list>\n@if (pagination(); as pag) {\n <mat-paginator\n class=\"paginator\"\n [length]=\"pag.total\"\n [pageSize]=\"effectivePageSize()\"\n (page)=\"changePage($event)\"\n hidePageSize\n />\n}\n", styles: [":host{--paging-background: var(--ymt-surface);--drop-in-item-outline: 2px dashed rgb(from var(--ymt-primary) r g b / .9);--drop-in-item-outline-offset: -3px;display:flex;flex-direction:column;max-height:100%}:host [yuvListItem].drop-in{outline:var(--drop-in-item-outline);outline-offset:var(--drop-in-item-outline-offset);overflow:hidden}:host yuv-list{flex:1;overflow-y:auto}:host mat-paginator{flex:0 0 auto;font:inherit;border-block-start:1px solid var(--ymt-outline-variant);background-color:var(--paging-background)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "directive", type: ClickDoubleDirective, selector: "[click.single],[click.double]", inputs: ["debounceTime"], outputs: ["click.double", "click.single"] }, { kind: "directive", type: DragSelectDirective, selector: "[yuvDragSelect]", inputs: ["yuvDragSelect"], outputs: ["dragSelectChange", "dragSelect"] }, { kind: "directive", type: DragSelectItemDirective, selector: "[yuvDragSelectItem]" }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i3.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
837
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: QueryListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
838
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: QueryListComponent, isStandalone: true, selector: "yuv-query-list", inputs: { query: { classPropertyName: "query", publicName: "query", isSignal: true, isRequired: false, transformFunction: null }, idProperty: { classPropertyName: "idProperty", publicName: "idProperty", isSignal: true, isRequired: false, transformFunction: null }, transformer: { classPropertyName: "transformer", publicName: "transformer", isSignal: true, isRequired: false, transformFunction: null }, preventChangeUntil: { classPropertyName: "preventChangeUntil", publicName: "preventChangeUntil", isSignal: true, isRequired: false, transformFunction: null }, autoSelect: { classPropertyName: "autoSelect", publicName: "autoSelect", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, enableDragSelect: { classPropertyName: "enableDragSelect", publicName: "enableDragSelect", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, selfHandleSelection: { classPropertyName: "selfHandleSelection", publicName: "selfHandleSelection", isSignal: true, isRequired: false, transformFunction: null }, includePermissions: { classPropertyName: "includePermissions", publicName: "includePermissions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", dragSelectChange: "dragSelectChange", itemDoubleClick: "itemDoubleClick", queryResult: "queryResult" }, host: { properties: { "class.pagination": "!!pagination()" } }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["yuvQueryListItem"], descendants: true, isSignal: true }, { propertyName: "emptyTemplate", first: true, predicate: ["yuvQueryListEmpty"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, isSignal: true }], ngImport: i0, template: "<yuv-list\n #list\n [multiselect]=\"multiselect()\"\n [autoSelect]=\"autoSelect()\"\n [preventChangeUntil]=\"preventChangeUntil()\"\n [selfHandleClick]=\"true\"\n [selfHandleSelection]=\"selfHandleSelection()\"\n [externalSelectionVisuals]=\"idSelection()\"\n [yuvDragSelect]=\"{ disabled: !enableDragSelect() || !multiselect() || isTouchDevice }\"\n (dragSelectChange)=\"onDragSelectChange($event)\"\n (dragSelect)=\"onDragSelect($event)\"\n (itemSelect)=\"onInnerItemSelect($event)\"\n>\n @for (resultItem of resultItems(); track trackItem(resultItem, $index)) {\n <div\n yuvListItem\n yuvDragSelectItem\n [selected]=\"isRowSelected(resultItem)\"\n [class.drop-in]=\"$index < dropInSize()\"\n (click.single)=\"onItemClick($index, $event)\"\n (click.double)=\"onItemDoubleClick($index, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate() || null; context: { $implicit: resultItem, index: $index }\" />\n </div>\n } @empty {\n <ng-container *ngTemplateOutlet=\"emptyTemplate() || null\" />\n }\n</yuv-list>\n@if (pagination(); as pag) {\n <mat-paginator\n class=\"paginator\"\n [length]=\"pag.total\"\n [pageSize]=\"effectivePageSize()\"\n (page)=\"changePage($event)\"\n hidePageSize\n />\n}\n", styles: [":host{--paging-background: var(--ymt-surface);--drop-in-item-outline: 2px dashed rgb(from var(--ymt-primary) r g b / .9);--drop-in-item-outline-offset: -3px;display:flex;flex-direction:column;max-height:100%}:host [yuvListItem].drop-in{outline:var(--drop-in-item-outline);outline-offset:var(--drop-in-item-outline-offset);overflow:hidden}:host yuv-list{flex:1;overflow-y:auto}:host mat-paginator{flex:0 0 auto;font:inherit;border-block-start:1px solid var(--ymt-outline-variant);background-color:var(--paging-background)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: YuvListModule }, { kind: "component", type: i2.ListComponent, selector: "yuv-list", inputs: ["preventChangeUntil", "multiselect", "selfHandleSelection", "externalSelectionVisuals", "selfHandleClick", "autoSelect", "disableSelection"], outputs: ["itemSelect", "itemFocus"] }, { kind: "directive", type: i2.ListItemDirective, selector: "[yuvListItem]", inputs: ["disabled", "active", "selected"] }, { kind: "directive", type: ClickDoubleDirective, selector: "[click.single],[click.double]", inputs: ["debounceTime"], outputs: ["click.double", "click.single"] }, { kind: "directive", type: DragSelectDirective, selector: "[yuvDragSelect]", inputs: ["yuvDragSelect"], outputs: ["dragSelectChange", "dragSelect"] }, { kind: "directive", type: DragSelectItemDirective, selector: "[yuvDragSelectItem]" }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i3.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
839
839
  }
840
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: QueryListComponent, decorators: [{
840
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: QueryListComponent, decorators: [{
841
841
  type: Component,
842
842
  args: [{ selector: 'yuv-query-list', imports: [
843
843
  CommonModule,
@@ -851,11 +851,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
851
851
 
852
852
  const cmp = [QueryListComponent];
853
853
  class YuvQueryListModule {
854
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvQueryListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
855
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.12", ngImport: i0, type: YuvQueryListModule, imports: [QueryListComponent], exports: [QueryListComponent] }); }
856
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvQueryListModule, imports: [cmp] }); }
854
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvQueryListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
855
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.20", ngImport: i0, type: YuvQueryListModule, imports: [QueryListComponent], exports: [QueryListComponent] }); }
856
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvQueryListModule, imports: [cmp] }); }
857
857
  }
858
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: YuvQueryListModule, decorators: [{
858
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: YuvQueryListModule, decorators: [{
859
859
  type: NgModule,
860
860
  args: [{
861
861
  imports: cmp,