ctt-puro 0.32.3 → 0.32.4

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.
@@ -8,11 +8,11 @@ export class PuroListGeneralComponent {
8
8
  this.rightSide = false;
9
9
  }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListGeneralComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListGeneralComponent, isStandalone: true, selector: "lib-puro-list-general", inputs: { title: "title", items: "items", rightSide: "rightSide" }, ngImport: i0, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListGeneralComponent, isStandalone: true, selector: "lib-puro-list-general", inputs: { title: "title", items: "items", rightSide: "rightSide" }, ngImport: i0, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast;transition:transform .3s ease}.suites__logo:hover img{transform:scale(1.1)}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListGeneralComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'lib-puro-list-general', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"] }]
15
+ args: [{ selector: 'lib-puro-list-general', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast;transition:transform .3s ease}.suites__logo:hover img{transform:scale(1.1)}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"] }]
16
16
  }], propDecorators: { title: [{
17
17
  type: Input
18
18
  }], items: [{
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
20
20
  }], rightSide: [{
21
21
  type: Input
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFXOUUsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVdhLGNBQVMsR0FBWSxLQUFLLENBQUM7S0FDdkM7K0dBSlksd0JBQXdCO21HQUF4Qix3QkFBd0IscUpDYnJDLDhsTkFvTEEsa2xDRDVLYyxZQUFZLHdZQUFFLHFCQUFxQiw0SUFBRSxtQkFBbUI7OzRGQUt6RCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHbEQsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tbGlzdC1nZW5lcmFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSwgUHVyb1NsaWRlckRpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tbGlzdC1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvTGlzdEdlbmVyYWxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb0xpc3RHZW5lcmFsSXRlbVtdO1xuICAgIEBJbnB1dCgpIHJpZ2h0U2lkZTogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9MaXN0R2VuZXJhbEl0ZW0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGxvZ28/OiBQdXJvSW1hZ2VJO1xuICAgIGltYWdlcz86IFB1cm9JbWFnZUlbXTtcbiAgICBlcXVpcG1lbnQ/OiB7IGljb24/OiBzdHJpbmc7IHRleHQ/OiBzdHJpbmcgfVtdO1xuICAgIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJzdWl0ZXMgc3VpdGVzX19saXN0XCI+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN1aXRlc19fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2l0ZW0ganMtYWN0aXZlLXNsaWRlclwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW1hZ2UtLXJpZ2h0JzogJG9kZCB9XCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtwdXJvU2xpZGVyXT1cIml0ZW1zXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtcGhvdG8tc2xpZGVyXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX2ZhZGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVzX3BjPVwiMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJpZ2h0U2lkZTsgZWxzZSBsZWZ0U2lkZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZVRwbFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVmdFNpZGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxlZnRTaWRlVHBsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNsZWZ0U2lkZVRwbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19ncmFwaGljIHJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1waG90by1zbGlkZXIgaC0xMDBcIj5cbiAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIGl0ZW0uaW1hZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3ODlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI3NDhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpbWFnZS5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXNsaWRlci1hcnJvd3NcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250ZW50XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0ubG9nbykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2xvZ29cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmxvZ28uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5sb2dvLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwic3VpdGVzX19oZWFkaW5nXCI+e3sgaXRlbS50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2xpZGVyIHdpdGhPdXRTbGlkZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChlcXVpcG1lbnQgb2YgaXRlbS5lcXVpcG1lbnQ7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zZXJ2aWNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImVxdWlwbWVudC5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGVxdWlwbWVudC50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cIml0ZW0uZGVzY3JpcHRpb25cIj48L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBpdGVtLmJ1dHRvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG5fX3ByaW1hcnk6ICRpbmRleCA9PT0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuX19wcmltYXJ5LS1vdXRsaW5lJzogJGluZGV4ID09PSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmlnaHRTaWRlVHBsIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5sb2dvKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fbG9nb1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0ubG9nby5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmxvZ28uYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJzdWl0ZXNfX2hlYWRpbmdcIj57eyBpdGVtLnRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zbGlkZXIgd2l0aE91dFNsaWRlclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGVxdWlwbWVudCBvZiBpdGVtLmVxdWlwbWVudDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NlcnZpY2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZXF1aXBtZW50Lmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXF1aXBtZW50LnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fcGFyYWdyYXBoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiaXRlbS5kZXNjcmlwdGlvblwiPjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGl0ZW0uYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9fcHJpbWFyeTogJGluZGV4ID09PSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG5fX3ByaW1hcnktLW91dGxpbmUnOiAkaW5kZXggPT09IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2dyYXBoaWMgcmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXBob3RvLXNsaWRlciBoLTEwMFwiPlxuICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgaXRlbS5pbWFnZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjc4OVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjc0OFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93c1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFXOUUsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVdhLGNBQVMsR0FBWSxLQUFLLENBQUM7S0FDdkM7K0dBSlksd0JBQXdCO21HQUF4Qix3QkFBd0IscUpDYnJDLDhsTkFvTEEsNnBDRDVLYyxZQUFZLHdZQUFFLHFCQUFxQiw0SUFBRSxtQkFBbUI7OzRGQUt6RCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHbEQsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tbGlzdC1nZW5lcmFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSwgUHVyb1NsaWRlckRpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tbGlzdC1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvTGlzdEdlbmVyYWxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb0xpc3RHZW5lcmFsSXRlbVtdO1xuICAgIEBJbnB1dCgpIHJpZ2h0U2lkZTogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9MaXN0R2VuZXJhbEl0ZW0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGxvZ28/OiBQdXJvSW1hZ2VJO1xuICAgIGltYWdlcz86IFB1cm9JbWFnZUlbXTtcbiAgICBlcXVpcG1lbnQ/OiB7IGljb24/OiBzdHJpbmc7IHRleHQ/OiBzdHJpbmcgfVtdO1xuICAgIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJzdWl0ZXMgc3VpdGVzX19saXN0XCI+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN1aXRlc19fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2l0ZW0ganMtYWN0aXZlLXNsaWRlclwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW1hZ2UtLXJpZ2h0JzogJG9kZCB9XCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtwdXJvU2xpZGVyXT1cIml0ZW1zXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtcGhvdG8tc2xpZGVyXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX2ZhZGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cInRydWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVzX3BjPVwiMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJpZ2h0U2lkZTsgZWxzZSBsZWZ0U2lkZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0U2lkZVRwbFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGVmdFNpZGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxlZnRTaWRlVHBsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNsZWZ0U2lkZVRwbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19ncmFwaGljIHJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1waG90by1zbGlkZXIgaC0xMDBcIj5cbiAgICAgICAgICAgIEBmb3IgKGltYWdlIG9mIGl0ZW0uaW1hZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZS5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3ODlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2dyYXBoaWMtLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI3NDhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpbWFnZS5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXNsaWRlci1hcnJvd3NcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250ZW50XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0ubG9nbykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2xvZ29cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmxvZ28uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5sb2dvLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwic3VpdGVzX19oZWFkaW5nXCI+e3sgaXRlbS50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2xpZGVyIHdpdGhPdXRTbGlkZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChlcXVpcG1lbnQgb2YgaXRlbS5lcXVpcG1lbnQ7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zZXJ2aWNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI1MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImVxdWlwbWVudC5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGVxdWlwbWVudC50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBbaW5uZXJIVE1MXT1cIml0ZW0uZGVzY3JpcHRpb25cIj48L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBpdGVtLmJ1dHRvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG5fX3ByaW1hcnk6ICRpbmRleCA9PT0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuX19wcmltYXJ5LS1vdXRsaW5lJzogJGluZGV4ID09PSAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmlnaHRTaWRlVHBsIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5sb2dvKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fbG9nb1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0ubG9nby5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmxvZ28uYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJzdWl0ZXNfX2hlYWRpbmdcIj57eyBpdGVtLnRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zbGlkZXIgd2l0aE91dFNsaWRlclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGVxdWlwbWVudCBvZiBpdGVtLmVxdWlwbWVudDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NlcnZpY2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZXF1aXBtZW50Lmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXF1aXBtZW50LnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fcGFyYWdyYXBoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiaXRlbS5kZXNjcmlwdGlvblwiPjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGl0ZW0uYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9fcHJpbWFyeTogJGluZGV4ID09PSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG5fX3ByaW1hcnktLW91dGxpbmUnOiAkaW5kZXggPT09IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2dyYXBoaWMgcmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXBob3RvLXNsaWRlciBoLTEwMFwiPlxuICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgaXRlbS5pbWFnZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjc4OVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjc0OFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93c1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2803,11 +2803,11 @@ class PuroListGeneralComponent {
2803
2803
  this.rightSide = false;
2804
2804
  }
2805
2805
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListGeneralComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2806
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListGeneralComponent, isStandalone: true, selector: "lib-puro-list-general", inputs: { title: "title", items: "items", rightSide: "rightSide" }, ngImport: i0, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2806
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListGeneralComponent, isStandalone: true, selector: "lib-puro-list-general", inputs: { title: "title", items: "items", rightSide: "rightSide" }, ngImport: i0, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast;transition:transform .3s ease}.suites__logo:hover img{transform:scale(1.1)}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2807
2807
  }
2808
2808
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListGeneralComponent, decorators: [{
2809
2809
  type: Component,
2810
- args: [{ selector: 'lib-puro-list-general', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"] }]
2810
+ args: [{ selector: 'lib-puro-list-general', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n } @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast;transition:transform .3s ease}.suites__logo:hover img{transform:scale(1.1)}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"] }]
2811
2811
  }], propDecorators: { title: [{
2812
2812
  type: Input
2813
2813
  }], items: [{