ctt-puro 0.71.21 → 0.71.23
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.
- package/esm2022/lib/components/puro-faqs-img/puro-faqs-img.component.mjs +6 -3
- package/esm2022/lib/components/puro-header/puro-header.component.mjs +1 -1
- package/esm2022/lib/components/puro-header-mobile/puro-header-mobile.component.mjs +1 -1
- package/esm2022/lib/components/puro-header-mobile-submenu/puro-header-mobile-submenu.component.mjs +3 -3
- package/esm2022/lib/components/puro-info-intro/puro-info-intro.component.mjs +9 -4
- package/esm2022/lib/components/puro-slider2col/puro-slider2col.component.mjs +3 -3
- package/esm2022/lib/components/puro-submenu/puro-submenu.component.mjs +1 -1
- package/esm2022/lib/directives/puro-nav-sticky/puro-nav-sticky.directive.mjs +7 -4
- package/fesm2022/ctt-puro.mjs +25 -15
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/puro-faqs-img/puro-faqs-img.component.d.ts +1 -0
- package/lib/components/puro-info-intro/puro-info-intro.component.d.ts +1 -1
- package/lib/directives/puro-nav-sticky/puro-nav-sticky.directive.d.ts +2 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ import { AutoImageZoomWrapperDirective, PuroLinkTypeDirective, PuroSliderDirecti
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class PuroSlider2colComponent {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider2colComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSlider2colComponent, isStandalone: true, selector: "lib-puro-slider2col", inputs: { title: "title", items: "items" }, ngImport: i0, template: "<section\n class=\"imageGrid imageGrid--version-3 js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"2\"\n data-slides_laptop=\"2\"\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=\"imageGrid__title\">{{ title }}</span>\n }\n <div class=\"imageGrid__inner relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"imageGrid__box\">\n <div class=\"imageGrid__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n width=\"780\"\n height=\"735\"\n loading=\"lazy\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2\n class=\"imageGrid__heading photo slider2\"\n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p class=\"imageGrid__subHeading photo\">\n {{ item.subtitle }}\n </p>\n }\n </div>\n\n <div class=\"btn__group\">\n @if (item.buttons && item.buttons[1]) {\n <a\n [href]=\"item.buttons[1].url\"\n class=\"btn__link\"\n [linkType]=\"item.buttons[1].linkType\"\n [attr.aria-label]=\"item.buttons[1].label\"\n >\n <span>{{ item.buttons[1].label }}</span>\n </a>\n }\n @if (item.buttons && item.buttons[0]) {\n <a\n [href]=\"item.buttons[0].url\"\n class=\"btn btn__primary\"\n [linkType]=\"item.buttons[0].linkType\"\n [attr.aria-label]=\"item.buttons[0].label\"\n >\n <span>{{ item.buttons[0].label }}</span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.imageGrid--version-3 .slick-slide{width:100%!important;max-width:100%!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .slick-slide>div,.imageGrid--version-3 .slick-slide>div>div{width:100%!important;max-width:100%!important;display:block!important;overflow:hidden!important}.imageGrid--version-3 .imageGrid__graphic{width:100%!important;height:100%!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .imageGrid__graphic--img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transform-origin:center center!important;transition:transform .35s ease!important}@media (hover: hover){.imageGrid--version-3 .imageGrid__box:hover .imageGrid__graphic--img{transform:scale(1.08)!important}}.imageGrid--version-3 .slick-slide{width:auto!important;min-width:100%!important;max-width:100%!important}.imageGrid--version-3 .slick-slide>div{width:100%!important;min-width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }] }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSlider2colComponent, isStandalone: true, selector: "lib-puro-slider2col", inputs: { title: "title", items: "items" }, ngImport: i0, template: "<section\n class=\"imageGrid imageGrid--version-3 js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"2\"\n data-slides_laptop=\"2\"\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=\"imageGrid__title\">{{ title }}</span>\n }\n <div class=\"imageGrid__inner relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"imageGrid__box\">\n <div class=\"imageGrid__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n width=\"780\"\n height=\"735\"\n loading=\"lazy\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2\n class=\"imageGrid__heading photo slider2\"\n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p class=\"imageGrid__subHeading photo\">\n {{ item.subtitle }}\n </p>\n }\n </div>\n\n <div class=\"btn__group\">\n @if (item.buttons && item.buttons[1]) {\n <a\n [href]=\"item.buttons[1].url\"\n class=\"btn__link\"\n [linkType]=\"item.buttons[1].linkType\"\n [attr.aria-label]=\"item.buttons[1].label\"\n >\n <span>{{ item.buttons[1].label }}</span>\n </a>\n }\n @if (item.buttons && item.buttons[0]) {\n <a\n [href]=\"item.buttons[0].url\"\n class=\"btn btn__primary\"\n [linkType]=\"item.buttons[0].linkType\"\n [attr.aria-label]=\"item.buttons[0].label\"\n >\n <span>{{ item.buttons[0].label }}</span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.imageGrid--version-3 .slick-slide{width:100%!important;max-width:100%!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .slick-slide>div,.imageGrid--version-3 .slick-slide>div>div{width:100%!important;max-width:100%!important;display:block!important;overflow:hidden!important}.imageGrid--version-3 .imageGrid__graphic{width:100%!important;height:100%!important;aspect-ratio:780/735!important;height:auto!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .imageGrid__graphic--img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transform-origin:center center!important;transition:transform .35s ease!important}@media (hover: hover){.imageGrid--version-3 .imageGrid__box:hover .imageGrid__graphic--img{transform:scale(1.08)!important}}.imageGrid--version-3 .slick-slide{width:auto!important;min-width:100%!important;max-width:100%!important}.imageGrid--version-3 .slick-slide>div{width:100%!important;min-width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }] }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider2colComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
@@ -13,10 +13,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
13
13
|
PuroLinkTypeDirective,
|
|
14
14
|
PuroSliderDirective,
|
|
15
15
|
AutoImageZoomWrapperDirective,
|
|
16
|
-
], template: "<section\n class=\"imageGrid imageGrid--version-3 js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"2\"\n data-slides_laptop=\"2\"\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=\"imageGrid__title\">{{ title }}</span>\n }\n <div class=\"imageGrid__inner relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"imageGrid__box\">\n <div class=\"imageGrid__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n width=\"780\"\n height=\"735\"\n loading=\"lazy\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2\n class=\"imageGrid__heading photo slider2\"\n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p class=\"imageGrid__subHeading photo\">\n {{ item.subtitle }}\n </p>\n }\n </div>\n\n <div class=\"btn__group\">\n @if (item.buttons && item.buttons[1]) {\n <a\n [href]=\"item.buttons[1].url\"\n class=\"btn__link\"\n [linkType]=\"item.buttons[1].linkType\"\n [attr.aria-label]=\"item.buttons[1].label\"\n >\n <span>{{ item.buttons[1].label }}</span>\n </a>\n }\n @if (item.buttons && item.buttons[0]) {\n <a\n [href]=\"item.buttons[0].url\"\n class=\"btn btn__primary\"\n [linkType]=\"item.buttons[0].linkType\"\n [attr.aria-label]=\"item.buttons[0].label\"\n >\n <span>{{ item.buttons[0].label }}</span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.imageGrid--version-3 .slick-slide{width:100%!important;max-width:100%!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .slick-slide>div,.imageGrid--version-3 .slick-slide>div>div{width:100%!important;max-width:100%!important;display:block!important;overflow:hidden!important}.imageGrid--version-3 .imageGrid__graphic{width:100%!important;height:100%!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .imageGrid__graphic--img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transform-origin:center center!important;transition:transform .35s ease!important}@media (hover: hover){.imageGrid--version-3 .imageGrid__box:hover .imageGrid__graphic--img{transform:scale(1.08)!important}}.imageGrid--version-3 .slick-slide{width:auto!important;min-width:100%!important;max-width:100%!important}.imageGrid--version-3 .slick-slide>div{width:100%!important;min-width:100%!important;max-width:100%!important}\n"] }]
|
|
16
|
+
], template: "<section\n class=\"imageGrid imageGrid--version-3 js-active-slider generalMargin\"\n [puroSlider]=\"items\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-imageGrid-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"2\"\n data-slides_laptop=\"2\"\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=\"imageGrid__title\">{{ title }}</span>\n }\n <div class=\"imageGrid__inner relative\">\n <div class=\"js-imageGrid-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"imageGrid__box\">\n <div class=\"imageGrid__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n class=\"imageGrid__graphic--img\"\n [alt]=\"item.img.alt\"\n width=\"780\"\n height=\"735\"\n loading=\"lazy\"\n />\n }\n </div>\n <div class=\"imageGrid__content\">\n @if (item.title) {\n <h2\n class=\"imageGrid__heading photo slider2\"\n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p class=\"imageGrid__subHeading photo\">\n {{ item.subtitle }}\n </p>\n }\n </div>\n\n <div class=\"btn__group\">\n @if (item.buttons && item.buttons[1]) {\n <a\n [href]=\"item.buttons[1].url\"\n class=\"btn__link\"\n [linkType]=\"item.buttons[1].linkType\"\n [attr.aria-label]=\"item.buttons[1].label\"\n >\n <span>{{ item.buttons[1].label }}</span>\n </a>\n }\n @if (item.buttons && item.buttons[0]) {\n <a\n [href]=\"item.buttons[0].url\"\n class=\"btn btn__primary\"\n [linkType]=\"item.buttons[0].linkType\"\n [attr.aria-label]=\"item.buttons[0].label\"\n >\n <span>{{ item.buttons[0].label }}</span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.imageGrid--version-3 .slick-slide{width:100%!important;max-width:100%!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .slick-slide>div,.imageGrid--version-3 .slick-slide>div>div{width:100%!important;max-width:100%!important;display:block!important;overflow:hidden!important}.imageGrid--version-3 .imageGrid__graphic{width:100%!important;height:100%!important;aspect-ratio:780/735!important;height:auto!important;overflow:hidden!important;position:relative}.imageGrid--version-3 .imageGrid__graphic--img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transform-origin:center center!important;transition:transform .35s ease!important}@media (hover: hover){.imageGrid--version-3 .imageGrid__box:hover .imageGrid__graphic--img{transform:scale(1.08)!important}}.imageGrid--version-3 .slick-slide{width:auto!important;min-width:100%!important;max-width:100%!important}.imageGrid--version-3 .slick-slide>div{width:100%!important;min-width:100%!important;max-width:100%!important}\n"] }]
|
|
17
17
|
}], propDecorators: { title: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}], items: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1zbGlkZXIyY29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tc2xpZGVyMmNvbC9wdXJvLXNsaWRlcjJjb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1zbGlkZXIyY29sL3B1cm8tc2xpZGVyMmNvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNILDZCQUE2QixFQUM3QixxQkFBcUIsRUFDckIsbUJBQW1CLEdBQ3RCLE1BQU0sa0JBQWtCLENBQUM7O0FBZ0IxQixNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1QiwySEN0QnBDLDJyR0E2RUEsc21DRGhFUSxZQUFZLCtCQUNaLHFCQUFxQiw0SUFDckIsbUJBQW1CLGlGQUVuQiw2QkFBNkI7OzRGQUt4Qix1QkFBdUI7a0JBYm5DLFNBQVM7K0JBQ0kscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUVuQiw2QkFBNkI7cUJBQ2hDOzhCQUtRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgUHVyb1NsaWRlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBQdXJvQnV0dG9uSSwgUHVyb0ltYWdlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1wdXJvLXNsaWRlcjJjb2wnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgUHVyb1NsaWRlckRpcmVjdGl2ZSxcblxuICAgICAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLXNsaWRlcjJjb2wuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wdXJvLXNsaWRlcjJjb2wuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvU2xpZGVyMmNvbENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM/OiBQdXJvU2xpZGVyMmNvbEl0ZW1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvU2xpZGVyMmNvbEl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgYnV0dG9ucz86IFB1cm9CdXR0b25JW107XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwiaW1hZ2VHcmlkIGltYWdlR3JpZC0tdmVyc2lvbi0zIGpzLWFjdGl2ZS1zbGlkZXIgZ2VuZXJhbE1hcmdpblwiXG4gICAgW3B1cm9TbGlkZXJdPVwiaXRlbXNcIlxuICAgIGRhdGEtc2xpZGVzX2luZmluaXRlPVwidHJ1ZVwiXG4gICAgZGF0YS1zbGlkZXJfbmFtZT1cImpzLWltYWdlR3JpZC1zbGlkZXJcIlxuICAgIGRhdGEtc2xpZGVyX3Nob3didG5zPVwidHJ1ZVwiXG4gICAgZGF0YS1zbGlkZXJfc2hvd2RvdHM9XCJmYWxzZVwiXG4gICAgZGF0YS1zbGlkZXJfZmFkZT1cImZhbHNlXCJcbiAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cInRydWVcIlxuICAgIGRhdGEtc2xpZGVzX3BjPVwiMlwiXG4gICAgZGF0YS1zbGlkZXNfbGFwdG9wPVwiMlwiXG4gICAgZGF0YS1zbGlkZXNfdGFibGV0PVwiMVwiXG4gICAgZGF0YS1zbGlkZXNfbW9iaWxlPVwiMVwiXG4gICAgZGF0YS1zbGlkZXNfbW9iaWxlX3NtYWxsPVwiMVwiXG4gICAgZGF0YS1zbGlkZXNfbW9iaWxlX3hzbWFsbD1cIjFcIlxuPlxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbWFnZUdyaWRfX3RpdGxlXCI+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZUdyaWRfX2lubmVyIHJlbGF0aXZlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1pbWFnZUdyaWQtc2xpZGVyIGpzLXNsaWRlcl9maXgtYXJyb3dzXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlR3JpZF9fZ3JhcGhpYyBqcy1zbGlkZXJfZml4LWFycm93cy16b25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2VHcmlkX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1nLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNzgwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzM1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VHcmlkX19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbWFnZUdyaWRfX2hlYWRpbmcgcGhvdG8gc2xpZGVyMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImltYWdlR3JpZF9fc3ViSGVhZGluZyBwaG90b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnN1YnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJ1dHRvbnMgJiYgaXRlbS5idXR0b25zWzFdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS5idXR0b25zWzFdLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuX19saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0uYnV0dG9uc1sxXS5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5idXR0b25zWzFdLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uYnV0dG9uc1sxXS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9ucyAmJiBpdGVtLmJ1dHRvbnNbMF0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJpdGVtLmJ1dHRvbnNbMF0udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cIml0ZW0uYnV0dG9uc1swXS5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5idXR0b25zWzBdLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uYnV0dG9uc1swXS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXNsaWRlci1hcnJvd3NcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -86,7 +86,7 @@ export class PuroSubmenuComponent {
|
|
|
86
86
|
document.body.classList.add('hotels');
|
|
87
87
|
}
|
|
88
88
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSubmenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSubmenuComponent, isStandalone: true, selector: "lib-puro-submenu", inputs: { items: "items", selected: "selected", isDynamic: "isDynamic" }, host: { listeners: { "window:scroll": "checkSticky()" } }, ngImport: i0, template: "@if (items && items.length > 1) {\n <div\n class=\"header__subNav\"\n navSticky\n [isDynamic]=\"isDynamic\"\n [style.opacity]=\"bootReady() ? null : 0\"\n [style.visibility]=\"bootReady() ? null : 'hidden'\"\n [style.pointer-events]=\"bootReady() ? null : 'none'\"\n >\n <ul class=\"header__linksList\">\n @for (item of items; track $index) {\n <li class=\"header__linksItem\">\n <a\n [attr.aria-label]=\"item?.label\"\n [href]=\"item?.url\"\n [linkType]=\"item?.linkType\"\n [ngClass]=\"{\n active:\n selected?.label?.toLowerCase() ===\n item?.label?.toLowerCase(),\n }\"\n >\n {{ item?.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroSubmenuComponent, isStandalone: true, selector: "lib-puro-submenu", inputs: { items: "items", selected: "selected", isDynamic: "isDynamic" }, host: { listeners: { "window:scroll": "checkSticky()" } }, ngImport: i0, template: "@if (items && items.length > 1) {\n <div\n class=\"header__subNav\"\n navSticky\n [isDynamic]=\"isDynamic\"\n [style.opacity]=\"bootReady() ? null : 0\"\n [style.visibility]=\"bootReady() ? null : 'hidden'\"\n [style.pointer-events]=\"bootReady() ? null : 'none'\"\n >\n <ul class=\"header__linksList\">\n @for (item of items; track $index) {\n <li class=\"header__linksItem\">\n <a\n [attr.aria-label]=\"item?.label\"\n [href]=\"item?.url\"\n [linkType]=\"item?.linkType\"\n [ngClass]=\"{\n active:\n selected?.label?.toLowerCase() ===\n item?.label?.toLowerCase(),\n }\"\n >\n {{ item?.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic", "stickyOffset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
90
90
|
}
|
|
91
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSubmenuComponent, decorators: [{
|
|
92
92
|
type: Component,
|
|
@@ -9,6 +9,7 @@ export class PuroNavStickyDirective {
|
|
|
9
9
|
this.platformId = platformId;
|
|
10
10
|
this.router = router;
|
|
11
11
|
this.isDynamic = false;
|
|
12
|
+
this.stickyOffset = 0;
|
|
12
13
|
this.banner = null;
|
|
13
14
|
this.mobileHeader = 1;
|
|
14
15
|
this.isInitialized = false;
|
|
@@ -69,7 +70,7 @@ export class PuroNavStickyDirective {
|
|
|
69
70
|
if (this.banner) {
|
|
70
71
|
// 🔑 Sticky SOLO cuando el banner ha salido de pantalla
|
|
71
72
|
const bannerBottom = this.banner.getBoundingClientRect().bottom;
|
|
72
|
-
shouldBeSticky = bannerBottom <=
|
|
73
|
+
shouldBeSticky = bannerBottom <= this.stickyOffset;
|
|
73
74
|
}
|
|
74
75
|
else {
|
|
75
76
|
// sin banner → fallback razonable
|
|
@@ -78,7 +79,7 @@ export class PuroNavStickyDirective {
|
|
|
78
79
|
}
|
|
79
80
|
else if (this.banner) {
|
|
80
81
|
const bannerHeight = this.getOuterHeight(this.banner);
|
|
81
|
-
shouldBeSticky = y >= bannerHeight;
|
|
82
|
+
shouldBeSticky = y >= bannerHeight - this.stickyOffset;
|
|
82
83
|
}
|
|
83
84
|
else {
|
|
84
85
|
// sin banner y no dinámico → siempre sticky
|
|
@@ -104,7 +105,7 @@ export class PuroNavStickyDirective {
|
|
|
104
105
|
parseInt(style.marginBottom || '0', 10));
|
|
105
106
|
}
|
|
106
107
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroNavStickyDirective, deps: [{ token: PLATFORM_ID }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
107
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PuroNavStickyDirective, isStandalone: true, selector: "[navSticky]", inputs: { isDynamic: "isDynamic" }, host: { listeners: { "window:scroll": "onWindowScroll()", "window:resize": "onResize()" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
108
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PuroNavStickyDirective, isStandalone: true, selector: "[navSticky]", inputs: { isDynamic: "isDynamic", stickyOffset: "stickyOffset" }, host: { listeners: { "window:scroll": "onWindowScroll()", "window:resize": "onResize()" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
108
109
|
}
|
|
109
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroNavStickyDirective, decorators: [{
|
|
110
111
|
type: Directive,
|
|
@@ -117,6 +118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
117
118
|
args: [PLATFORM_ID]
|
|
118
119
|
}] }, { type: i1.Router }], propDecorators: { isDynamic: [{
|
|
119
120
|
type: Input
|
|
121
|
+
}], stickyOffset: [{
|
|
122
|
+
type: Input
|
|
120
123
|
}], onWindowScroll: [{
|
|
121
124
|
type: HostListener,
|
|
122
125
|
args: ['window:scroll']
|
|
@@ -124,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
124
127
|
type: HostListener,
|
|
125
128
|
args: ['window:resize']
|
|
126
129
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1uYXYtc3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9kaXJlY3RpdmVzL3B1cm8tbmF2LXN0aWNreS9wdXJvLW5hdi1zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBTTVDLE1BQU0sT0FBTyxzQkFBc0I7SUFTL0IsWUFDaUMsVUFBa0IsRUFDdkMsTUFBYztRQURPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVZqQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTVCLFdBQU0sR0FBdUIsSUFBSSxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLG9CQUFlLEdBQW1CLElBQUksQ0FBQztJQUs1QyxDQUFDO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUVoRCxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFMUIscUJBQXFCLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FB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Y29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbmF2U3RpY2t5XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUHVyb05hdlN0aWNreURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgaXNEeW5hbWljOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGJhbm5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIG1vYmlsZUhlYWRlciA9IDE7XG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdWI/OiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBsYXN0U3RpY2t5U3RhdGU6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5iYW5uZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmFubmVyJyk7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RpY2t5U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3ViID0gdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoKGUpOiBlIGlzIE5hdmlnYXRpb25FbmQgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCkpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHxcbiAgICAgICAgICAgICF0aGlzLmlzSW5pdGlhbGl6ZWQgfHxcbiAgICAgICAgICAgICEoJ2lzRHluYW1pYycgaW4gY2hhbmdlcylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpXG4gICAgb25XaW5kb3dTY3JvbGwoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gICAgb25SZXNpemUoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiB3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTI4MHB4KScpLm1hdGNoZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTdGlja3lTdGF0ZSgpIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8ICF0aGlzLmlzSW5pdGlhbGl6ZWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQuYm9keTtcbiAgICAgICAgY29uc3QgeSA9IHdpbmRvdy5zY3JvbGxZIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG5cbiAgICAgICAgLy8gQ2FjaGVhbW9zIGVsIGJhbm5lciBwb3Igc2kgYWNhc28gc2UgaGEgcGVyZGlkbyBsYSByZWZlcmVuY2lhXG4gICAgICAgIGlmICghdGhpcy5iYW5uZXIpIHRoaXMuYmFubmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJhbm5lcicpO1xuXG4gICAgICAgIC8vIDEuIEzDs2dpY2EgZGUgSGVhZGVyIHRvY2FuZG8gdG9wIChJbmRlcGVuZGllbnRlKVxuICAgICAgICBjb25zdCBoZWFkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignaGVhZGVyLmhlYWRlcicpO1xuICAgICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgICAgICBib2R5LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICAgICAgICAgICAgJ25hdi1zdGlja3ktLXRvcCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSAwXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gTMOzZ2ljYSBTdGlja3kgUHJpbmNpcGFsXG4gICAgICAgIC8vIDIuIEzDs2dpY2EgU3RpY2t5IFByaW5jaXBhbFxuICAgICAgICBsZXQgc2hvdWxkQmVTdGlja3kgPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy5pc0R5bmFtaWMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmJhbm5lcikge1xuICAgICAgICAgICAgICAgIC8vIPCflJEgU3RpY2t5IFNPTE8gY3VhbmRvIGVsIGJhbm5lciBoYSBzYWxpZG8gZGUgcGFudGFsbGFcbiAgICAgICAgICAgICAgICBjb25zdCBiYW5uZXJCb3R0b20gPSB0aGlzLmJhbm5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b207XG4gICAgICAgICAgICAgICAgc2hvdWxkQmVTdGlja3kgPSBiYW5uZXJCb3R0b20gPD0gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gc2luIGJhbm5lciDihpIgZmFsbGJhY2sgcmF6b25hYmxlXG4gICAgICAgICAgICAgICAgc2hvdWxkQmVTdGlja3kgPSAod2luZG93LnNjcm9sbFkgfHwgMCkgPiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYmFubmVyKSB7XG4gICAgICAgICAgICBjb25zdCBiYW5uZXJIZWlnaHQgPSB0aGlzLmdldE91dGVySGVpZ2h0KHRoaXMuYmFubmVyKTtcbiAgICAgICAgICAgIHNob3VsZEJlU3RpY2t5ID0geSA+PSBiYW5uZXJIZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzaW4gYmFubmVyIHkgbm8gZGluw6FtaWNvIOKGkiBzaWVtcHJlIHN0aWNreVxuICAgICAgICAgICAgc2hvdWxkQmVTdGlja3kgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3VsZEJlU3RpY2t5ICE9PSB0aGlzLmxhc3RTdGlja3lTdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5sYXN0U3RpY2t5U3RhdGUgPSBzaG91bGRCZVN0aWNreTtcblxuICAgICAgICAgICAgaWYgKHNob3VsZEJlU3RpY2t5KSB7XG4gICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKCduYXYtc3RpY2t5JywgJ21vYmlsZS1zdGlja3knKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKCduYXYtc3RpY2t5JywgJ21vYmlsZS1zdGlja3knKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIGdldE91dGVySGVpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm4gMDtcblxuICAgICAgICBjb25zdCBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGhlaWdodCArXG4gICAgICAgICAgICBwYXJzZUludChzdHlsZS5tYXJnaW5Ub3AgfHwgJzAnLCAxMCkgK1xuICAgICAgICAgICAgcGFyc2VJbnQoc3R5bGUubWFyZ2luQm90dG9tIHx8ICcwJywgMTApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1uYXYtc3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9kaXJlY3RpdmVzL3B1cm8tbmF2LXN0aWNreS9wdXJvLW5hdi1zdGlja3kuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBTTVDLE1BQU0sT0FBTyxzQkFBc0I7SUFVL0IsWUFDaUMsVUFBa0IsRUFDdkMsTUFBYztRQURPLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVhqQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBRTFCLFdBQU0sR0FBdUIsSUFBSSxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLG9CQUFlLEdBQW1CLElBQUksQ0FBQztJQUs1QyxDQUFDO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUVoRCxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFFMUIscUJBQXFCLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFB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WUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBQTEFURk9STV9JRCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuYXZTdGlja3ldJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvTmF2U3RpY2t5RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBpc0R5bmFtaWM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzdGlja3lPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICBwcml2YXRlIGJhbm5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIG1vYmlsZUhlYWRlciA9IDE7XG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBzdWI/OiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBsYXN0U3RpY2t5U3RhdGU6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5iYW5uZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmFubmVyJyk7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RpY2t5U3RhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3ViID0gdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoKGUpOiBlIGlzIE5hdmlnYXRpb25FbmQgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCkpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHxcbiAgICAgICAgICAgICF0aGlzLmlzSW5pdGlhbGl6ZWQgfHxcbiAgICAgICAgICAgICEoJ2lzRHluYW1pYycgaW4gY2hhbmdlcylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpXG4gICAgb25XaW5kb3dTY3JvbGwoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gICAgb25SZXNpemUoKSB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnVwZGF0ZVN0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiB3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTI4MHB4KScpLm1hdGNoZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTdGlja3lTdGF0ZSgpIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8ICF0aGlzLmlzSW5pdGlhbGl6ZWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQuYm9keTtcbiAgICAgICAgY29uc3QgeSA9IHdpbmRvdy5zY3JvbGxZIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XG5cbiAgICAgICAgLy8gQ2FjaGVhbW9zIGVsIGJhbm5lciBwb3Igc2kgYWNhc28gc2UgaGEgcGVyZGlkbyBsYSByZWZlcmVuY2lhXG4gICAgICAgIGlmICghdGhpcy5iYW5uZXIpIHRoaXMuYmFubmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJhbm5lcicpO1xuXG4gICAgICAgIC8vIDEuIEzDs2dpY2EgZGUgSGVhZGVyIHRvY2FuZG8gdG9wIChJbmRlcGVuZGllbnRlKVxuICAgICAgICBjb25zdCBoZWFkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignaGVhZGVyLmhlYWRlcicpO1xuICAgICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgICAgICBib2R5LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICAgICAgICAgICAgJ25hdi1zdGlja3ktLXRvcCcsXG4gICAgICAgICAgICAgICAgaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSAwXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gTMOzZ2ljYSBTdGlja3kgUHJpbmNpcGFsXG4gICAgICAgIC8vIDIuIEzDs2dpY2EgU3RpY2t5IFByaW5jaXBhbFxuICAgICAgICBsZXQgc2hvdWxkQmVTdGlja3kgPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy5pc0R5bmFtaWMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmJhbm5lcikge1xuICAgICAgICAgICAgICAgIC8vIPCflJEgU3RpY2t5IFNPTE8gY3VhbmRvIGVsIGJhbm5lciBoYSBzYWxpZG8gZGUgcGFudGFsbGFcbiAgICAgICAgICAgICAgICBjb25zdCBiYW5uZXJCb3R0b20gPSB0aGlzLmJhbm5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b207XG4gICAgICAgICAgICAgICAgc2hvdWxkQmVTdGlja3kgPSBiYW5uZXJCb3R0b20gPD0gdGhpcy5zdGlja3lPZmZzZXQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIHNpbiBiYW5uZXIg4oaSIGZhbGxiYWNrIHJhem9uYWJsZVxuICAgICAgICAgICAgICAgIHNob3VsZEJlU3RpY2t5ID0gKHdpbmRvdy5zY3JvbGxZIHx8IDApID4gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhbm5lcikge1xuICAgICAgICAgICAgY29uc3QgYmFubmVySGVpZ2h0ID0gdGhpcy5nZXRPdXRlckhlaWdodCh0aGlzLmJhbm5lcik7XG4gICAgICAgICAgICBzaG91bGRCZVN0aWNreSA9IHkgPj0gYmFubmVySGVpZ2h0IC0gdGhpcy5zdGlja3lPZmZzZXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzaW4gYmFubmVyIHkgbm8gZGluw6FtaWNvIOKGkiBzaWVtcHJlIHN0aWNreVxuICAgICAgICAgICAgc2hvdWxkQmVTdGlja3kgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3VsZEJlU3RpY2t5ICE9PSB0aGlzLmxhc3RTdGlja3lTdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5sYXN0U3RpY2t5U3RhdGUgPSBzaG91bGRCZVN0aWNreTtcblxuICAgICAgICAgICAgaWYgKHNob3VsZEJlU3RpY2t5KSB7XG4gICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKCduYXYtc3RpY2t5JywgJ21vYmlsZS1zdGlja3knKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKCduYXYtc3RpY2t5JywgJ21vYmlsZS1zdGlja3knKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIGdldE91dGVySGVpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm4gMDtcblxuICAgICAgICBjb25zdCBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGhlaWdodCArXG4gICAgICAgICAgICBwYXJzZUludChzdHlsZS5tYXJnaW5Ub3AgfHwgJzAnLCAxMCkgK1xuICAgICAgICAgICAgcGFyc2VJbnQoc3R5bGUubWFyZ2luQm90dG9tIHx8ICcwJywgMTApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|