ctt-puro 0.45.7 → 0.45.9

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.
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  export class PuroSlider3colComponent {
7
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider3colComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSlider3colComponent, isStandalone: true, selector: "lib-puro-slider3col", inputs: { items: "items", title: "title", button: "button" }, ngImport: i0, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}@media (min-width: 1366px){.events__container{max-width:95%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSlider3colComponent, isStandalone: true, selector: "lib-puro-slider3col", inputs: { items: "items", title: "title", button: "button" }, ngImport: i0, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider3colComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'lib-puro-slider3col', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective, NgOptimizedImage], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}@media (min-width: 1366px){.events__container{max-width:95%}}\n"] }]
12
+ args: [{ selector: 'lib-puro-slider3col', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective, NgOptimizedImage], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}\n"] }]
13
13
  }], propDecorators: { items: [{
14
14
  type: Input
15
15
  }], title: [{
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
17
17
  }], button: [{
18
18
  type: Input
19
19
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1zbGlkZXIzY29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tc2xpZGVyM2NvbC9wdXJvLXNsaWRlcjNjb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1zbGlkZXIzY29sL3B1cm8tc2xpZGVyM2NvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVc5RSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1Qiw2SUNicEMsdXpMQXdIQSxxTERoSGMsWUFBWSxrRkFBRSxxQkFBcUIsNElBQUUsbUJBQW1CLGlGQUFFLGdCQUFnQjs7NEZBSzNFLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDLG1CQUdwRSx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLCBQdXJvU2xpZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQdXJvQnV0dG9uSSwgUHVyb0ltYWdlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1wdXJvLXNsaWRlcjNjb2wnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLCBQdXJvU2xpZGVyRGlyZWN0aXZlLCBOZ09wdGltaXplZEltYWdlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1zbGlkZXIzY29sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1zbGlkZXIzY29sLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb1NsaWRlcjNjb2xDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb1NsaWRlcjNDb2xJdGVtW107XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1NsaWRlcjNDb2xJdGVtIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIGxpbms/OiBQdXJvQnV0dG9uSTtcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBkYXRlPzogRGF0ZTtcbiAgICBsb2NhdGlvbj86IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xufVxuIiwiQGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJldmVudHMganMtYWN0aXZlLXNsaWRlciBnZW5lcmFsTWFyZ2luXCJcbiAgICAgICAgW3B1cm9TbGlkZXJdPVwiaXRlbXNcIlxuICAgICAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgICAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtZXZlbnRzLXNsaWRlclwiXG4gICAgICAgIGRhdGEtc2xpZGVyX3Nob3didG5zPVwidHJ1ZVwiXG4gICAgICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgICAgICBkYXRhLXNsaWRlcl9mYWRlPVwiZmFsc2VcIlxuICAgICAgICBkYXRhLXNsaWRlcl9jZW50ZXJtb2RlPVwidHJ1ZVwiXG4gICAgICAgIGRhdGEtc2xpZGVyX2F1dG9wbGF5PVwidHJ1ZVwiXG4gICAgICAgIGRhdGEtc2xpZGVzX3BjPVwiM1wiXG4gICAgICAgIGRhdGEtc2xpZGVzX2xhcHRvcD1cIjNcIlxuICAgICAgICBkYXRhLXNsaWRlc190YWJsZXQ9XCIxXCJcbiAgICAgICAgZGF0YS1zbGlkZXNfbW9iaWxlPVwiMVwiXG4gICAgICAgIGRhdGEtc2xpZGVzX21vYmlsZV9zbWFsbD1cIjFcIlxuICAgICAgICBkYXRhLXNsaWRlc19tb2JpbGVfeHNtYWxsPVwiMVwiXG4gICAgPlxuICAgICAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbm5lciByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImpzLWV2ZW50cy1zbGlkZXIgZXZlbnRzX19zbGlkZXIganMtc2xpZGVyX2ZpeC1hcnJvd3NcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcyB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2JveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2hlYWRpbmcgcGhvdG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50c19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1nLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGluZz1cImFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2luZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubG9jYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19uYW1lIF9fc3ViSGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgaXRlbS5sb2NhdGlvbiB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uLXt7IGl0ZW0uaWNvbiB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX2RhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRlIHwgZGF0ZTogJ2RkLU1NLXl5eXknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0ubGluay5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5saW5rLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5saW5rLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0uYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3NlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImpzLXNsaWRlci1hcnJvd3NcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvc2VjdGlvbj5cbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1zbGlkZXIzY29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tc2xpZGVyM2NvbC9wdXJvLXNsaWRlcjNjb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1zbGlkZXIzY29sL3B1cm8tc2xpZGVyM2NvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVc5RSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1Qiw2SUNicEMsdXpMQXdIQSx3SERoSGMsWUFBWSxrRkFBRSxxQkFBcUIsNElBQUUsbUJBQW1CLGlGQUFFLGdCQUFnQjs7NEZBSzNFLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDLG1CQUdwRSx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLCBQdXJvU2xpZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQdXJvQnV0dG9uSSwgUHVyb0ltYWdlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1wdXJvLXNsaWRlcjNjb2wnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLCBQdXJvU2xpZGVyRGlyZWN0aXZlLCBOZ09wdGltaXplZEltYWdlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1zbGlkZXIzY29sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1zbGlkZXIzY29sLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb1NsaWRlcjNjb2xDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb1NsaWRlcjNDb2xJdGVtW107XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1NsaWRlcjNDb2xJdGVtIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIGxpbms/OiBQdXJvQnV0dG9uSTtcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBkYXRlPzogRGF0ZTtcbiAgICBsb2NhdGlvbj86IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xufVxuIiwiQGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCJldmVudHMganMtYWN0aXZlLXNsaWRlciBnZW5lcmFsTWFyZ2luXCJcbiAgICAgICAgW3B1cm9TbGlkZXJdPVwiaXRlbXNcIlxuICAgICAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgICAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtZXZlbnRzLXNsaWRlclwiXG4gICAgICAgIGRhdGEtc2xpZGVyX3Nob3didG5zPVwidHJ1ZVwiXG4gICAgICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgICAgICBkYXRhLXNsaWRlcl9mYWRlPVwiZmFsc2VcIlxuICAgICAgICBkYXRhLXNsaWRlcl9jZW50ZXJtb2RlPVwidHJ1ZVwiXG4gICAgICAgIGRhdGEtc2xpZGVyX2F1dG9wbGF5PVwidHJ1ZVwiXG4gICAgICAgIGRhdGEtc2xpZGVzX3BjPVwiM1wiXG4gICAgICAgIGRhdGEtc2xpZGVzX2xhcHRvcD1cIjNcIlxuICAgICAgICBkYXRhLXNsaWRlc190YWJsZXQ9XCIxXCJcbiAgICAgICAgZGF0YS1zbGlkZXNfbW9iaWxlPVwiMVwiXG4gICAgICAgIGRhdGEtc2xpZGVzX21vYmlsZV9zbWFsbD1cIjFcIlxuICAgICAgICBkYXRhLXNsaWRlc19tb2JpbGVfeHNtYWxsPVwiMVwiXG4gICAgPlxuICAgICAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbm5lciByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImpzLWV2ZW50cy1zbGlkZXIgZXZlbnRzX19zbGlkZXIganMtc2xpZGVyX2ZpeC1hcnJvd3NcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcyB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2JveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2hlYWRpbmcgcGhvdG9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50c19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1nLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGluZz1cImFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2luZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubG9jYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19uYW1lIF9fc3ViSGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgaXRlbS5sb2NhdGlvbiB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uLXt7IGl0ZW0uaWNvbiB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX2RhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRlIHwgZGF0ZTogJ2RkLU1NLXl5eXknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0ubGluay5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5saW5rLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5saW5rLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0uYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3NlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImpzLXNsaWRlci1hcnJvd3NcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvc2VjdGlvbj5cbn1cbiJdfQ==
@@ -18,7 +18,6 @@ export class PuroNavStickyDirective {
18
18
  return;
19
19
  this.banner = document.querySelector('.banner');
20
20
  this.isInitialized = true;
21
- // Recalcular al finalizar cada navegación
22
21
  this.sub = this.router.events
23
22
  .pipe(filter((e) => e instanceof NavigationEnd))
24
23
  .subscribe(() => this.updateStickyState());
@@ -38,7 +37,7 @@ export class PuroNavStickyDirective {
38
37
  isMobile() {
39
38
  if (!isPlatformBrowser(this.platformId))
40
39
  return false;
41
- return window.matchMedia('(max-width: 1280px)').matches; // ajusta a tu "md"
40
+ return window.matchMedia('(max-width: 1280px)').matches;
42
41
  }
43
42
  updateStickyState() {
44
43
  if (!isPlatformBrowser(this.platformId) || !this.isInitialized)
@@ -47,34 +46,52 @@ export class PuroNavStickyDirective {
47
46
  document.documentElement.scrollTop ||
48
47
  document.body.scrollTop ||
49
48
  0;
49
+ const header = document.querySelector('header.header');
50
+ /**
51
+ * 🔵 DETECCIÓN NUEVA:
52
+ * Header tocando el borde superior del viewport
53
+ */
54
+ if (header && header.getBoundingClientRect().top <= 0) {
55
+ document.body.classList.add('nav-sticky--top');
56
+ }
57
+ else {
58
+ document.body.classList.remove('nav-sticky--top');
59
+ }
60
+ /**
61
+ * 🔵 MODO DINÁMICO (HOTELS)
62
+ */
50
63
  if (this.isDynamic) {
51
- // 🔹 Modo dinámico: en función del scroll
52
64
  if (y > this.mobileHeader) {
53
65
  document.body.classList.add('nav-sticky', 'mobile-sticky');
54
66
  }
55
67
  else {
56
68
  document.body.classList.remove('nav-sticky', 'mobile-sticky');
57
69
  }
70
+ return;
58
71
  }
59
- else {
60
- if (this.banner) {
61
- // 🔹 Desktop con banner: sticky al superar el banner
62
- const bannerHeight = this.getOuterHeight(this.banner);
63
- if (y >= bannerHeight) {
64
- document.body.classList.add('nav-sticky');
65
- }
66
- else {
67
- document.body.classList.remove('nav-sticky');
68
- }
69
- document.body.classList.remove('mobile-sticky');
72
+ /**
73
+ * 🔵 Desktop con banner
74
+ */
75
+ if (this.banner) {
76
+ const bannerHeight = this.getOuterHeight(this.banner);
77
+ if (y >= bannerHeight) {
78
+ document.body.classList.add('nav-sticky');
70
79
  }
71
- // 🔹 Desktop sin banner: siempre nav-sticky
72
- document.body.classList.add('nav-sticky');
73
- document.body.classList.remove('mobile-sticky');
74
- // 🔹 Mobile sin banner: siempre mobile-sticky
75
- if (this.isMobile()) {
76
- document.body.classList.add('nav-sticky', 'mobile-sticky');
80
+ else {
81
+ document.body.classList.remove('nav-sticky');
77
82
  }
83
+ document.body.classList.remove('mobile-sticky');
84
+ }
85
+ /**
86
+ * 🔵 Desktop sin banner
87
+ */
88
+ document.body.classList.add('nav-sticky');
89
+ document.body.classList.remove('mobile-sticky');
90
+ /**
91
+ * 🔵 Mobile sin banner
92
+ */
93
+ if (this.isMobile()) {
94
+ document.body.classList.add('nav-sticky', 'mobile-sticky');
78
95
  }
79
96
  }
80
97
  getOuterHeight(element) {
@@ -103,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
103
120
  type: HostListener,
104
121
  args: ['window:resize']
105
122
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1uYXYtc3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9kaXJlY3RpdmVzL3B1cm8tbmF2LXN0aWNreS9wdXJvLW5hdi1zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBTTVDLE1BQU0sT0FBTyxzQkFBc0I7SUFRL0IsWUFDaUMsVUFBa0IsRUFDdkMsTUFBYztRQURPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVRqQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTVCLFdBQU0sR0FBdUIsSUFBSSxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBTTNCLENBQUM7SUFFSixlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBRWhELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUUxQiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFB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QUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7K0dBN0ZRLHNCQUFzQixrQkFTbkIsV0FBVzttR0FUZCxzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBVVEsTUFBTTsyQkFBQyxXQUFXOzhEQVJkLFNBQVM7c0JBQWpCLEtBQUs7Z0JBaUNOLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlO2dCQU03QixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbmF2U3RpY2t5XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb05hdlN0aWNreURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgaXNEeW5hbWljOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGJhbm5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIG1vYmlsZUhlYWRlciA9IDE7XG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdWI/OiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYmFubmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJhbm5lcicpO1xuICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIC8vIFJlY2FsY3VsYXIgYWwgZmluYWxpemFyIGNhZGEgbmF2ZWdhY2nDs25cbiAgICAgICAgdGhpcy5zdWIgPSB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcigoZSk6IGUgaXMgTmF2aWdhdGlvbkVuZCA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlU3RpY2t5U3RhdGUoKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVTdGlja3lTdGF0ZSgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCAmJiAnaXNEeW5hbWljJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJylcbiAgICBvbldpbmRvd1Njcm9sbCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdGlja3lTdGF0ZSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uUmVzaXplKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiB3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTI4MHB4KScpLm1hdGNoZXM7IC8vIGFqdXN0YSBhIHR1IFwibWRcIlxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU3RpY2t5U3RhdGUoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAhdGhpcy5pc0luaXRpYWxpemVkKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgeSA9XG4gICAgICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXQgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8XG4gICAgICAgICAgICAwO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRHluYW1pYykge1xuICAgICAgICAgICAgLy8g8J+UuSBNb2RvIGRpbsOhbWljbzogZW4gZnVuY2nDs24gZGVsIHNjcm9sbFxuICAgICAgICAgICAgaWYgKHkgPiB0aGlzLm1vYmlsZUhlYWRlcikge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbmF2LXN0aWNreScsICdtb2JpbGUtc3RpY2t5Jyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbmF2LXN0aWNreScsICdtb2JpbGUtc3RpY2t5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5iYW5uZXIpIHtcbiAgICAgICAgICAgICAgICAvLyDwn5S5IERlc2t0b3AgY29uIGJhbm5lcjogc3RpY2t5IGFsIHN1cGVyYXIgZWwgYmFubmVyXG4gICAgICAgICAgICAgICAgY29uc3QgYmFubmVySGVpZ2h0ID0gdGhpcy5nZXRPdXRlckhlaWdodCh0aGlzLmJhbm5lcik7XG4gICAgICAgICAgICAgICAgaWYgKHkgPj0gYmFubmVySGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbmF2LXN0aWNreScpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbmF2LXN0aWNreScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vYmlsZS1zdGlja3knKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8g8J+UuSBEZXNrdG9wIHNpbiBiYW5uZXI6IHNpZW1wcmUgbmF2LXN0aWNreVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCduYXYtc3RpY2t5Jyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vYmlsZS1zdGlja3knKTtcblxuICAgICAgICAgICAgLy8g8J+UuSBNb2JpbGUgc2luIGJhbm5lcjogc2llbXByZSBtb2JpbGUtc3RpY2t5XG4gICAgICAgICAgICBpZiAodGhpcy5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCduYXYtc3RpY2t5JywgJ21vYmlsZS1zdGlja3knKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3V0ZXJIZWlnaHQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGhlaWdodCArIHBhcnNlSW50KHN0eWxlLm1hcmdpblRvcCkgKyBwYXJzZUludChzdHlsZS5tYXJnaW5Cb3R0b20pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1uYXYtc3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9kaXJlY3RpdmVzL3B1cm8tbmF2LXN0aWNreS9wdXJvLW5hdi1zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBTTVDLE1BQU0sT0FBTyxzQkFBc0I7SUFRL0IsWUFDaUMsVUFBa0IsRUFDdkMsTUFBYztRQURPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVRqQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTVCLFdBQU0sR0FBdUIsSUFBSSxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBTTNCLENBQUM7SUFFSixlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBRWhELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUUxQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFzQixFQUFFLENBQUMs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QVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQzlEO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFvQjtRQUN2QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQ0gsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7K0dBbEhRLHNCQUFzQixrQkFTbkIsV0FBVzttR0FUZCxzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBVVEsTUFBTTsyQkFBQyxXQUFXOzhEQVJkLFNBQVM7c0JBQWpCLEtBQUs7Z0JBZ0NOLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlO2dCQU03QixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbmF2U3RpY2t5XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb05hdlN0aWNreURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgaXNEeW5hbWljOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGJhbm5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIG1vYmlsZUhlYWRlciA9IDE7XG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdWI/OiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYmFubmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJhbm5lcicpO1xuICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuc3ViID0gdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoKGUpOiBlIGlzIE5hdmlnYXRpb25FbmQgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCkpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlU3RpY2t5U3RhdGUoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQgJiYgJ2lzRHluYW1pYycgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGlja3lTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpXG4gICAgb25XaW5kb3dTY3JvbGwoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RpY2t5U3RhdGUoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgICBvblJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdGlja3lTdGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDEyODBweCknKS5tYXRjaGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU3RpY2t5U3RhdGUoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCAhdGhpcy5pc0luaXRpYWxpemVkKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgeSA9XG4gICAgICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXQgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8XG4gICAgICAgICAgICAwO1xuXG4gICAgICAgIGNvbnN0IGhlYWRlcjogSFRNTEVsZW1lbnQgfCBudWxsID1cbiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2hlYWRlci5oZWFkZXInKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog8J+UtSBERVRFQ0NJw5NOIE5VRVZBOlxuICAgICAgICAgKiBIZWFkZXIgdG9jYW5kbyBlbCBib3JkZSBzdXBlcmlvciBkZWwgdmlld3BvcnRcbiAgICAgICAgICovXG4gICAgICAgIGlmIChoZWFkZXIgJiYgaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSAwKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ25hdi1zdGlja3ktLXRvcCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCduYXYtc3RpY2t5LS10b3AnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiDwn5S1IE1PRE8gRElOw4FNSUNPIChIT1RFTFMpXG4gICAgICAgICAqL1xuICAgICAgICBpZiAodGhpcy5pc0R5bmFtaWMpIHtcbiAgICAgICAgICAgIGlmICh5ID4gdGhpcy5tb2JpbGVIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ25hdi1zdGlja3knLCAnbW9iaWxlLXN0aWNreScpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ25hdi1zdGlja3knLCAnbW9iaWxlLXN0aWNreScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIPCflLUgRGVza3RvcCBjb24gYmFubmVyXG4gICAgICAgICAqL1xuICAgICAgICBpZiAodGhpcy5iYW5uZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhbm5lckhlaWdodCA9IHRoaXMuZ2V0T3V0ZXJIZWlnaHQodGhpcy5iYW5uZXIpO1xuICAgICAgICAgICAgaWYgKHkgPj0gYmFubmVySGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCduYXYtc3RpY2t5Jyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbmF2LXN0aWNreScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdtb2JpbGUtc3RpY2t5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICog8J+UtSBEZXNrdG9wIHNpbiBiYW5uZXJcbiAgICAgICAgICovXG4gICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnbmF2LXN0aWNreScpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ21vYmlsZS1zdGlja3knKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICog8J+UtSBNb2JpbGUgc2luIGJhbm5lclxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUoKSkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCduYXYtc3RpY2t5JywgJ21vYmlsZS1zdGlja3knKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3V0ZXJIZWlnaHQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGhlaWdodCArIHBhcnNlSW50KHN0eWxlLm1hcmdpblRvcCkgKyBwYXJzZUludChzdHlsZS5tYXJnaW5Cb3R0b20pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -1192,7 +1192,6 @@ class PuroNavStickyDirective {
1192
1192
  return;
1193
1193
  this.banner = document.querySelector('.banner');
1194
1194
  this.isInitialized = true;
1195
- // Recalcular al finalizar cada navegación
1196
1195
  this.sub = this.router.events
1197
1196
  .pipe(filter((e) => e instanceof NavigationEnd))
1198
1197
  .subscribe(() => this.updateStickyState());
@@ -1212,7 +1211,7 @@ class PuroNavStickyDirective {
1212
1211
  isMobile() {
1213
1212
  if (!isPlatformBrowser(this.platformId))
1214
1213
  return false;
1215
- return window.matchMedia('(max-width: 1280px)').matches; // ajusta a tu "md"
1214
+ return window.matchMedia('(max-width: 1280px)').matches;
1216
1215
  }
1217
1216
  updateStickyState() {
1218
1217
  if (!isPlatformBrowser(this.platformId) || !this.isInitialized)
@@ -1221,34 +1220,52 @@ class PuroNavStickyDirective {
1221
1220
  document.documentElement.scrollTop ||
1222
1221
  document.body.scrollTop ||
1223
1222
  0;
1223
+ const header = document.querySelector('header.header');
1224
+ /**
1225
+ * 🔵 DETECCIÓN NUEVA:
1226
+ * Header tocando el borde superior del viewport
1227
+ */
1228
+ if (header && header.getBoundingClientRect().top <= 0) {
1229
+ document.body.classList.add('nav-sticky--top');
1230
+ }
1231
+ else {
1232
+ document.body.classList.remove('nav-sticky--top');
1233
+ }
1234
+ /**
1235
+ * 🔵 MODO DINÁMICO (HOTELS)
1236
+ */
1224
1237
  if (this.isDynamic) {
1225
- // 🔹 Modo dinámico: en función del scroll
1226
1238
  if (y > this.mobileHeader) {
1227
1239
  document.body.classList.add('nav-sticky', 'mobile-sticky');
1228
1240
  }
1229
1241
  else {
1230
1242
  document.body.classList.remove('nav-sticky', 'mobile-sticky');
1231
1243
  }
1244
+ return;
1232
1245
  }
1233
- else {
1234
- if (this.banner) {
1235
- // 🔹 Desktop con banner: sticky al superar el banner
1236
- const bannerHeight = this.getOuterHeight(this.banner);
1237
- if (y >= bannerHeight) {
1238
- document.body.classList.add('nav-sticky');
1239
- }
1240
- else {
1241
- document.body.classList.remove('nav-sticky');
1242
- }
1243
- document.body.classList.remove('mobile-sticky');
1246
+ /**
1247
+ * 🔵 Desktop con banner
1248
+ */
1249
+ if (this.banner) {
1250
+ const bannerHeight = this.getOuterHeight(this.banner);
1251
+ if (y >= bannerHeight) {
1252
+ document.body.classList.add('nav-sticky');
1244
1253
  }
1245
- // 🔹 Desktop sin banner: siempre nav-sticky
1246
- document.body.classList.add('nav-sticky');
1247
- document.body.classList.remove('mobile-sticky');
1248
- // 🔹 Mobile sin banner: siempre mobile-sticky
1249
- if (this.isMobile()) {
1250
- document.body.classList.add('nav-sticky', 'mobile-sticky');
1254
+ else {
1255
+ document.body.classList.remove('nav-sticky');
1251
1256
  }
1257
+ document.body.classList.remove('mobile-sticky');
1258
+ }
1259
+ /**
1260
+ * 🔵 Desktop sin banner
1261
+ */
1262
+ document.body.classList.add('nav-sticky');
1263
+ document.body.classList.remove('mobile-sticky');
1264
+ /**
1265
+ * 🔵 Mobile sin banner
1266
+ */
1267
+ if (this.isMobile()) {
1268
+ document.body.classList.add('nav-sticky', 'mobile-sticky');
1252
1269
  }
1253
1270
  }
1254
1271
  getOuterHeight(element) {
@@ -8047,11 +8064,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8047
8064
 
8048
8065
  class PuroSlider3colComponent {
8049
8066
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider3colComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8050
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSlider3colComponent, isStandalone: true, selector: "lib-puro-slider3col", inputs: { items: "items", title: "title", button: "button" }, ngImport: i0, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}@media (min-width: 1366px){.events__container{max-width:95%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8067
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSlider3colComponent, isStandalone: true, selector: "lib-puro-slider3col", inputs: { items: "items", title: "title", button: "button" }, ngImport: i0, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8051
8068
  }
8052
8069
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider3colComponent, decorators: [{
8053
8070
  type: Component,
8054
- args: [{ selector: 'lib-puro-slider3col', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective, NgOptimizedImage], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}@media (min-width: 1366px){.events__container{max-width:95%}}\n"] }]
8071
+ args: [{ selector: 'lib-puro-slider3col', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective, NgOptimizedImage], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (items && items.length > 0) {\n <section\n class=\"events js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-events-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_centermode=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"3\"\n data-slides_laptop=\"3\"\n data-slides_tablet=\"1\"\n data-slides_mobile=\"1\"\n data-slides_mobile_small=\"1\"\n data-slides_mobile_xsmall=\"1\"\n >\n @if (title) {\n <span class=\"events__title\">{{ title }}</span>\n }\n <div class=\"events__inner relative\">\n <div class=\"events__container\">\n <div\n class=\"js-events-slider events__slider js-slider_fix-arrows\"\n >\n @for (item of items || []; track $index) {\n <div>\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading photo\">\n {{ item.title }}\n </div>\n }\n <div class=\"events__inner\">\n <div\n class=\"events__graphic js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n class=\"events__graphic--img\"\n width=\"509\"\n height=\"510\"\n [alt]=\"item.img.alt\"\n decoding=\"async\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.location) {\n <span\n class=\"events__name __subHeading\"\n >{{ item.location }}</span\n >\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i\n class=\"icon-{{ item.icon }}\"\n ></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date | date: 'dd-MM-yyyy'\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @if (item.link) {\n <a\n [linkType]=\"item.link.linkType\"\n [href]=\"item.link.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"\n item.link.label\n \"\n ><span>{{\n item.link.label\n }}</span></a\n >\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.url\"\n class=\"btn btn__secondary\"\n [attr.aria-label]=\"\n item.button.label\n \"\n >\n <span>{{\n item.button.label\n }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n </section>\n}\n", styles: [".events__icon i{width:47px;height:47px;background-color:#fff}\n"] }]
8055
8072
  }], propDecorators: { items: [{
8056
8073
  type: Input
8057
8074
  }], title: [{