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.
@@ -1507,6 +1507,7 @@ class PuroNavStickyDirective {
1507
1507
  this.platformId = platformId;
1508
1508
  this.router = router;
1509
1509
  this.isDynamic = false;
1510
+ this.stickyOffset = 0;
1510
1511
  this.banner = null;
1511
1512
  this.mobileHeader = 1;
1512
1513
  this.isInitialized = false;
@@ -1567,7 +1568,7 @@ class PuroNavStickyDirective {
1567
1568
  if (this.banner) {
1568
1569
  // 🔑 Sticky SOLO cuando el banner ha salido de pantalla
1569
1570
  const bannerBottom = this.banner.getBoundingClientRect().bottom;
1570
- shouldBeSticky = bannerBottom <= 0;
1571
+ shouldBeSticky = bannerBottom <= this.stickyOffset;
1571
1572
  }
1572
1573
  else {
1573
1574
  // sin banner → fallback razonable
@@ -1576,7 +1577,7 @@ class PuroNavStickyDirective {
1576
1577
  }
1577
1578
  else if (this.banner) {
1578
1579
  const bannerHeight = this.getOuterHeight(this.banner);
1579
- shouldBeSticky = y >= bannerHeight;
1580
+ shouldBeSticky = y >= bannerHeight - this.stickyOffset;
1580
1581
  }
1581
1582
  else {
1582
1583
  // sin banner y no dinámico → siempre sticky
@@ -1602,7 +1603,7 @@ class PuroNavStickyDirective {
1602
1603
  parseInt(style.marginBottom || '0', 10));
1603
1604
  }
1604
1605
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroNavStickyDirective, deps: [{ token: PLATFORM_ID }, { token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Directive }); }
1605
- 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 }); }
1606
+ 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 }); }
1606
1607
  }
1607
1608
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroNavStickyDirective, decorators: [{
1608
1609
  type: Directive,
@@ -1615,6 +1616,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1615
1616
  args: [PLATFORM_ID]
1616
1617
  }] }, { type: i1$2.Router }], propDecorators: { isDynamic: [{
1617
1618
  type: Input
1619
+ }], stickyOffset: [{
1620
+ type: Input
1618
1621
  }], onWindowScroll: [{
1619
1622
  type: HostListener,
1620
1623
  args: ['window:scroll']
@@ -4428,8 +4431,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4428
4431
  }] } });
4429
4432
 
4430
4433
  class PuroFaqsImgComponent {
4434
+ constructor() {
4435
+ this.openIndex = null;
4436
+ }
4431
4437
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFaqsImgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4432
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFaqsImgComponent, isStandalone: true, selector: "lib-puro-faqs-img", inputs: { title: "title", imgs: "imgs", items: "items", applicationButton: "applicationButton", contactButton: "contactButton", tags: "tags", textColors: "textColors", view: "view" }, ngImport: i0, template: "<section\n class=\"faqsImg js-active-slider generalMargin\"\n [puroSlider]=\"imgs\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"faqsImg__inner\">\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faqsImg__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n <ng-container *ngIf=\"view === 'right'; else leftSideTpl\">\n <ng-container [ngTemplateOutlet]=\"rightSideTpl\"></ng-container>\n </ng-container>\n\n <ng-template #leftSideTpl>\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n </ng-template>\n\n <ng-template #rightSideTpl>\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #faqContentTpl>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faq__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n @if (items?.length) {\n <div class=\"faq__list\">\n @for (item of items; track $index) {\n <div class=\"faq__item\">\n <div\n class=\"faq__heading js-accordion\"\n role=\"button\"\n >\n @if (item.title) {\n <span [innerHTML]=\"item.title\"></span>\n }\n <span class=\"faq__icon\"\n ><i class=\"icon-6\"></i\n ></span>\n </div>\n @if (item.content) {\n <div class=\"faq__content\">\n <div\n class=\"faq__paragraph\"\n [innerHTML]=\"item.content\"\n ></div>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <div class=\"btn__group\">\n @if (contactButton) {\n <a\n class=\"btn btn__primary--outline\"\n [href]=\"contactButton.url\"\n [linkType]=\"contactButton.linkType\"\n [attr.aria-label]=\"contactButton.label\"\n >\n <span>{{ contactButton.label }}</span>\n </a>\n }\n @if (applicationButton) {\n <a\n class=\"btn btn__primary\"\n [href]=\"applicationButton.url\"\n [linkType]=\"applicationButton.linkType\"\n [attr.aria-label]=\"applicationButton.label\"\n >\n <span>{{ applicationButton.label }}</span>\n </a>\n }\n </div>\n </ng-template>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4438
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFaqsImgComponent, isStandalone: true, selector: "lib-puro-faqs-img", inputs: { title: "title", imgs: "imgs", items: "items", applicationButton: "applicationButton", contactButton: "contactButton", tags: "tags", textColors: "textColors", view: "view" }, ngImport: i0, template: "<section\n class=\"faqsImg js-active-slider generalMargin\"\n [puroSlider]=\"imgs\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"faqsImg__inner\">\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faqsImg__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n <ng-container *ngIf=\"view === 'right'; else leftSideTpl\">\n <ng-container [ngTemplateOutlet]=\"rightSideTpl\"></ng-container>\n </ng-container>\n\n <ng-template #leftSideTpl>\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n </ng-template>\n\n <ng-template #rightSideTpl>\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #faqContentTpl>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faq__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n @if (items?.length) {\n <div class=\"faq__list\">\n @for (item of items; track $index) {\n <div\n class=\"faq__item\"\n [class.active]=\"openIndex === $index\"\n >\n <div\n style=\"cursor: pointer\"\n (click)=\"\n openIndex =\n openIndex === $index ? null : $index\n \"\n >\n <div\n class=\"faq__heading js-accordion\"\n style=\"pointer-events: none\"\n >\n @if (item.title) {\n <span [innerHTML]=\"item.title\"></span>\n }\n <span class=\"faq__icon\"\n ><i class=\"icon-6\"></i\n ></span>\n </div>\n </div>\n\n @if (item.content) {\n <div class=\"faq__content\">\n <div\n class=\"faq__paragraph\"\n [innerHTML]=\"item.content\"\n ></div>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <div class=\"btn__group\">\n @if (contactButton) {\n <a\n class=\"btn btn__primary--outline\"\n [href]=\"contactButton.url\"\n [linkType]=\"contactButton.linkType\"\n [attr.aria-label]=\"contactButton.label\"\n >\n <span>{{ contactButton.label }}</span>\n </a>\n }\n @if (applicationButton) {\n <a\n class=\"btn btn__primary\"\n [href]=\"applicationButton.url\"\n [linkType]=\"applicationButton.linkType\"\n [attr.aria-label]=\"applicationButton.label\"\n >\n <span>{{ applicationButton.label }}</span>\n </a>\n }\n </div>\n </ng-template>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.faq__item .faq__content{display:block!important;max-height:0;overflow:hidden;padding-top:0!important;padding-bottom:0!important;transition:max-height .4s ease,padding .4s ease}.faq__item.active .faq__content{max-height:1000px;padding-bottom:1.5rem!important}.faq__item.active .faq__icon{transform:rotate(180deg)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4433
4439
  }
4434
4440
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFaqsImgComponent, decorators: [{
4435
4441
  type: Component,
@@ -4439,7 +4445,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4439
4445
  PuroSliderDirective,
4440
4446
  PuroDynamicHeadingComponent,
4441
4447
  AutoImageZoomWrapperDirective,
4442
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"faqsImg js-active-slider generalMargin\"\n [puroSlider]=\"imgs\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"faqsImg__inner\">\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faqsImg__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n <ng-container *ngIf=\"view === 'right'; else leftSideTpl\">\n <ng-container [ngTemplateOutlet]=\"rightSideTpl\"></ng-container>\n </ng-container>\n\n <ng-template #leftSideTpl>\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n </ng-template>\n\n <ng-template #rightSideTpl>\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #faqContentTpl>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faq__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n @if (items?.length) {\n <div class=\"faq__list\">\n @for (item of items; track $index) {\n <div class=\"faq__item\">\n <div\n class=\"faq__heading js-accordion\"\n role=\"button\"\n >\n @if (item.title) {\n <span [innerHTML]=\"item.title\"></span>\n }\n <span class=\"faq__icon\"\n ><i class=\"icon-6\"></i\n ></span>\n </div>\n @if (item.content) {\n <div class=\"faq__content\">\n <div\n class=\"faq__paragraph\"\n [innerHTML]=\"item.content\"\n ></div>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <div class=\"btn__group\">\n @if (contactButton) {\n <a\n class=\"btn btn__primary--outline\"\n [href]=\"contactButton.url\"\n [linkType]=\"contactButton.linkType\"\n [attr.aria-label]=\"contactButton.label\"\n >\n <span>{{ contactButton.label }}</span>\n </a>\n }\n @if (applicationButton) {\n <a\n class=\"btn btn__primary\"\n [href]=\"applicationButton.url\"\n [linkType]=\"applicationButton.linkType\"\n [attr.aria-label]=\"applicationButton.label\"\n >\n <span>{{ applicationButton.label }}</span>\n </a>\n }\n </div>\n </ng-template>\n </div>\n</section>\n" }]
4448
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"faqsImg js-active-slider generalMargin\"\n [puroSlider]=\"imgs\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n>\n <div class=\"faqsImg__inner\">\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faqsImg__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n <ng-container *ngIf=\"view === 'right'; else leftSideTpl\">\n <ng-container [ngTemplateOutlet]=\"rightSideTpl\"></ng-container>\n </ng-container>\n\n <ng-template #leftSideTpl>\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n </ng-template>\n\n <ng-template #rightSideTpl>\n <div class=\"faq__container\">\n <ng-container [ngTemplateOutlet]=\"faqContentTpl\"></ng-container>\n </div>\n\n <div class=\"faqsImg__imageSlider\">\n <div class=\"faqsImg__imageSlider--inner relative\">\n <div class=\"js-photo-slider faqsImg__slider\">\n @for (img of imgs; track $index) {\n <div class=\"faqsImg__sliderItem\">\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"faqsImg__sliderImage\"\n loading=\"lazy\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n </ng-template>\n\n <ng-template #faqContentTpl>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"faq__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n\n @if (items?.length) {\n <div class=\"faq__list\">\n @for (item of items; track $index) {\n <div\n class=\"faq__item\"\n [class.active]=\"openIndex === $index\"\n >\n <div\n style=\"cursor: pointer\"\n (click)=\"\n openIndex =\n openIndex === $index ? null : $index\n \"\n >\n <div\n class=\"faq__heading js-accordion\"\n style=\"pointer-events: none\"\n >\n @if (item.title) {\n <span [innerHTML]=\"item.title\"></span>\n }\n <span class=\"faq__icon\"\n ><i class=\"icon-6\"></i\n ></span>\n </div>\n </div>\n\n @if (item.content) {\n <div class=\"faq__content\">\n <div\n class=\"faq__paragraph\"\n [innerHTML]=\"item.content\"\n ></div>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <div class=\"btn__group\">\n @if (contactButton) {\n <a\n class=\"btn btn__primary--outline\"\n [href]=\"contactButton.url\"\n [linkType]=\"contactButton.linkType\"\n [attr.aria-label]=\"contactButton.label\"\n >\n <span>{{ contactButton.label }}</span>\n </a>\n }\n @if (applicationButton) {\n <a\n class=\"btn btn__primary\"\n [href]=\"applicationButton.url\"\n [linkType]=\"applicationButton.linkType\"\n [attr.aria-label]=\"applicationButton.label\"\n >\n <span>{{ applicationButton.label }}</span>\n </a>\n }\n </div>\n </ng-template>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";.faq__item .faq__content{display:block!important;max-height:0;overflow:hidden;padding-top:0!important;padding-bottom:0!important;transition:max-height .4s ease,padding .4s ease}.faq__item.active .faq__content{max-height:1000px;padding-bottom:1.5rem!important}.faq__item.active .faq__icon{transform:rotate(180deg)!important}\n"] }]
4443
4449
  }], propDecorators: { title: [{
4444
4450
  type: Input
4445
4451
  }], imgs: [{
@@ -8242,7 +8248,7 @@ class PuroHeaderComponent {
8242
8248
  }
8243
8249
  }
8244
8250
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8245
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroHeaderComponent, isStandalone: true, selector: "lib-puro-header", inputs: { titleMenu: "titleMenu", titleLang: "titleLang", navLinks: "navLinks", bottomLinks: "bottomLinks", siteId: "siteId", isHotelsPage: "isHotelsPage", isRestaurant: "isRestaurant", btnBook: "btnBook", btnCheckinOnline: "btnCheckinOnline", btnCheckin: "btnCheckin", isDynamic: "isDynamic", logoHotel: "logoHotel", linkHotel: "linkHotel", hotelBrand: "hotelBrand", backgroundImg: "backgroundImg", currentHotelId: "currentHotelId" }, outputs: { btnClick: "btnClick", btnClickCheckin: "btnClickCheckin", btnClickCheckinOnline: "btnClickCheckinOnline" }, providers: [PuroActiveModalDirective], ngImport: i0, template: "<header class=\"header\" navSticky [isDynamic]=\"isDynamic\">\n <div class=\"header__logo\">\n <a [href]=\"linkHotel\" linkType=\"internal\">\n @if (resolvedLogoImg) {\n <img\n [src]=\"resolvedLogoImg\"\n alt=\"Logo\"\n width=\"301\"\n height=\"32\"\n class=\"header__logo--img\"\n loading=\"lazy\"\n />\n } @else if (resolvedSvgHref) {\n <svg\n aria-hidden=\"true\"\n width=\"301\"\n height=\"32\"\n focusable=\"false\"\n class=\"header__logo--img\"\n >\n <use [attr.href]=\"resolvedSvgHref\"></use>\n </svg>\n }\n </a>\n </div>\n <div class=\"header__leftNav\">\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n </div>\n <!-- hide buttons when Puro Oasis Urbano -->\n\n @if (currentHotelId === 5) {\n @if (showBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"header__reserver\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <div class=\"btn btn__primary btn--lg\">\n <span>{{ btnBook }}</span>\n </div>\n </a>\n }\n } @else {\n @if (isHotelStickyContext) {\n <div class=\"header__reserver\">\n @if (showCheckinOnline) {\n <a\n (click)=\"btnClickCheckinOnline.emit()\"\n class=\"btn btn__primary btn--lg checkIn\"\n role=\"button\"\n [attr.aria-label]=\"btnCheckinOnline\"\n >\n <span>{{ btnCheckinOnline }}</span>\n </a>\n }\n\n @if (showCheckin) {\n <a\n (click)=\"btnClickCheckin.emit()\"\n class=\"header__checkIn\"\n role=\"button\"\n [attr.aria-label]=\"btnCheckin\"\n >\n {{ btnCheckin }}\n </a>\n }\n\n @if (showBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"btn btn__primary btn--lg reservar\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <span>{{ btnBook }}</span>\n </a>\n }\n </div>\n } @else {\n @if (showBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"header__reserver\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <div class=\"btn btn__primary btn--lg\">\n <span>{{ btnBook }}</span>\n </div>\n </a>\n }\n }\n }\n</header>\n\n<div class=\"modal modal--solidCream modal--navigation\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__body\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n >\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n @if (link.url === 'lang') {\n <li\n class=\"modal__nav--link js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"\n link.label ?? 'Language Menu'\n \"\n >\n <a>\n {{ link.label }}\n </a>\n </li>\n } @else {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8251
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroHeaderComponent, isStandalone: true, selector: "lib-puro-header", inputs: { titleMenu: "titleMenu", titleLang: "titleLang", navLinks: "navLinks", bottomLinks: "bottomLinks", siteId: "siteId", isHotelsPage: "isHotelsPage", isRestaurant: "isRestaurant", btnBook: "btnBook", btnCheckinOnline: "btnCheckinOnline", btnCheckin: "btnCheckin", isDynamic: "isDynamic", logoHotel: "logoHotel", linkHotel: "linkHotel", hotelBrand: "hotelBrand", backgroundImg: "backgroundImg", currentHotelId: "currentHotelId" }, outputs: { btnClick: "btnClick", btnClickCheckin: "btnClickCheckin", btnClickCheckinOnline: "btnClickCheckinOnline" }, providers: [PuroActiveModalDirective], ngImport: i0, template: "<header class=\"header\" navSticky [isDynamic]=\"isDynamic\">\n <div class=\"header__logo\">\n <a [href]=\"linkHotel\" linkType=\"internal\">\n @if (resolvedLogoImg) {\n <img\n [src]=\"resolvedLogoImg\"\n alt=\"Logo\"\n width=\"301\"\n height=\"32\"\n class=\"header__logo--img\"\n loading=\"lazy\"\n />\n } @else if (resolvedSvgHref) {\n <svg\n aria-hidden=\"true\"\n width=\"301\"\n height=\"32\"\n focusable=\"false\"\n class=\"header__logo--img\"\n >\n <use [attr.href]=\"resolvedSvgHref\"></use>\n </svg>\n }\n </a>\n </div>\n <div class=\"header__leftNav\">\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n </div>\n <!-- hide buttons when Puro Oasis Urbano -->\n\n @if (currentHotelId === 5) {\n @if (showBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"header__reserver\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <div class=\"btn btn__primary btn--lg\">\n <span>{{ btnBook }}</span>\n </div>\n </a>\n }\n } @else {\n @if (isHotelStickyContext) {\n <div class=\"header__reserver\">\n @if (showCheckinOnline) {\n <a\n (click)=\"btnClickCheckinOnline.emit()\"\n class=\"btn btn__primary btn--lg checkIn\"\n role=\"button\"\n [attr.aria-label]=\"btnCheckinOnline\"\n >\n <span>{{ btnCheckinOnline }}</span>\n </a>\n }\n\n @if (showCheckin) {\n <a\n (click)=\"btnClickCheckin.emit()\"\n class=\"header__checkIn\"\n role=\"button\"\n [attr.aria-label]=\"btnCheckin\"\n >\n {{ btnCheckin }}\n </a>\n }\n\n @if (showBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"btn btn__primary btn--lg reservar\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <span>{{ btnBook }}</span>\n </a>\n }\n </div>\n } @else {\n @if (showBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"header__reserver\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <div class=\"btn btn__primary btn--lg\">\n <span>{{ btnBook }}</span>\n </div>\n </a>\n }\n }\n }\n</header>\n\n<div class=\"modal modal--solidCream modal--navigation\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__body\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n >\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n @if (link.url === 'lang') {\n <li\n class=\"modal__nav--link js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"\n link.label ?? 'Language Menu'\n \"\n >\n <a>\n {{ link.label }}\n </a>\n </li>\n } @else {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic", "stickyOffset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8246
8252
  }
8247
8253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroHeaderComponent, decorators: [{
8248
8254
  type: Component,
@@ -8418,7 +8424,7 @@ class PuroHeaderMobileComponent {
8418
8424
  this.showHeaderBookButtonValue = true;
8419
8425
  }
8420
8426
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroHeaderMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8421
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroHeaderMobileComponent, isStandalone: true, selector: "lib-puro-header-mobile", inputs: { titleMenu: "titleMenu", titleLang: "titleLang", btnBook: "btnBook", navLinks: "navLinks", bottomLinks: "bottomLinks", isDynamic: "isDynamic", hotelBrand: "hotelBrand", backgroundImg: "backgroundImg", logoHotel: "logoHotel", logoHotelWhite: "logoHotelWhite", isRestaurant: "isRestaurant", isEvent: "isEvent", siteId: "siteId" }, outputs: { btnClick: "btnClick" }, providers: [PuroActiveModalDirective], usesOnChanges: true, ngImport: i0, template: "<header\n class=\"header\"\n navSticky\n [isDynamic]=\"isDynamic\"\n [class.header--no-reserver]=\"!showHeaderBookButtonValue\"\n>\n <div class=\"banner__logo\">\n <a\n [href]=\"navLinks?.[0]?.url\"\n [linkType]=\"navLinks?.[0]?.linkType\"\n aria-label=\"Logo\"\n >\n @if (logoHotelWhite && logoHotel) {\n <img\n [src]=\"hasStickyClasses() ? logoHotel : logoHotelWhite\"\n alt=\"Logo\"\n width=\"177\"\n height=\"68\"\n class=\"banner__logo--img\" loading=\"lazy\" />\n }\n </a>\n </div>\n\n <div class=\"header__leftNav\">\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n </div>\n @if (showHeaderBookButtonValue) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"header__reserver\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <div class=\"btn btn__primary btn--lg\">\n <span>{{ btnBook }}</span>\n </div>\n </a>\n }\n</header>\n\n<div class=\"modal modal--solidCream modal--navigation\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__body\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n >\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n @if (link.url === 'lang') {\n <li\n class=\"modal__nav--link js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"\n link.label ?? 'Language Menu'\n \"\n >\n <a>\n {{ link.label }}\n </a>\n </li>\n } @else {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8427
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroHeaderMobileComponent, isStandalone: true, selector: "lib-puro-header-mobile", inputs: { titleMenu: "titleMenu", titleLang: "titleLang", btnBook: "btnBook", navLinks: "navLinks", bottomLinks: "bottomLinks", isDynamic: "isDynamic", hotelBrand: "hotelBrand", backgroundImg: "backgroundImg", logoHotel: "logoHotel", logoHotelWhite: "logoHotelWhite", isRestaurant: "isRestaurant", isEvent: "isEvent", siteId: "siteId" }, outputs: { btnClick: "btnClick" }, providers: [PuroActiveModalDirective], usesOnChanges: true, ngImport: i0, template: "<header\n class=\"header\"\n navSticky\n [isDynamic]=\"isDynamic\"\n [class.header--no-reserver]=\"!showHeaderBookButtonValue\"\n>\n <div class=\"banner__logo\">\n <a\n [href]=\"navLinks?.[0]?.url\"\n [linkType]=\"navLinks?.[0]?.linkType\"\n aria-label=\"Logo\"\n >\n @if (logoHotelWhite && logoHotel) {\n <img\n [src]=\"hasStickyClasses() ? logoHotel : logoHotelWhite\"\n alt=\"Logo\"\n width=\"177\"\n height=\"68\"\n class=\"banner__logo--img\" loading=\"lazy\" />\n }\n </a>\n </div>\n\n <div class=\"header__leftNav\">\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n </div>\n @if (showHeaderBookButtonValue) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"header__reserver\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <div class=\"btn btn__primary btn--lg\">\n <span>{{ btnBook }}</span>\n </div>\n </a>\n }\n</header>\n\n<div class=\"modal modal--solidCream modal--navigation\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__body\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n >\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n @if (link.url === 'lang') {\n <li\n class=\"modal__nav--link js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"\n link.label ?? 'Language Menu'\n \"\n >\n <a>\n {{ link.label }}\n </a>\n </li>\n } @else {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic", "stickyOffset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8422
8428
  }
8423
8429
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroHeaderMobileComponent, decorators: [{
8424
8430
  type: Component,
@@ -8562,7 +8568,7 @@ class PuroHeaderMobileSubmenuComponent {
8562
8568
  }
8563
8569
  }
8564
8570
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroHeaderMobileSubmenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8565
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroHeaderMobileSubmenuComponent, isStandalone: true, selector: "lib-puro-header-mobile-submenu", inputs: { titleMenu: "titleMenu", titleLang: "titleLang", btnBook: "btnBook", btnCheckin: "btnCheckin", navLinks: "navLinks", bottomLinks: "bottomLinks", isDynamic: "isDynamic", logoHotel: "logoHotel", logoHotelWhite: "logoHotelWhite", backgroundImg: "backgroundImg", siteId: "siteId", currentHotelId: "currentHotelId" }, outputs: { btnClick: "btnClick", btnClickCheckin: "btnClickCheckin" }, providers: [PuroActiveModalDirective], ngImport: i0, template: "<header class=\"header\" navSticky [isDynamic]=\"isDynamic\">\n <div class=\"banner__logo\">\n <a\n [href]=\"navLinks?.[0]?.url\"\n [linkType]=\"navLinks?.[0]?.linkType\"\n [attr.aria-label]=\"navLinks?.[0]?.label\"\n >\n @if (logoHotelWhite && logoHotel) {\n <img\n [src]=\"hasStickyClasses() ? logoHotel : logoHotelWhite\"\n alt=\"Logo\"\n width=\"177\"\n height=\"68\"\n class=\"header__logo--img\"\n loading=\"lazy\"\n />\n }\n </a>\n </div>\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div class=\"header__reserver\">\n <!-- hide buttons when Puro Oasis Urbano -->\n @if (btnCheckin && siteId == 2 && currentHotelId !== 5) {\n <a\n class=\"btn btn__secondary btn--lg mobile__checkIn\"\n (click)=\"btnClickCheckin.emit()\"\n [attr.aria-label]=\"btnCheckin\"\n >\n <span>{{ btnCheckin }}</span></a\n >\n }\n @if (btnBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"btn btn__primary btn--lg mobile__reservar\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <span>{{ btnBook }}</span>\n </a>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n</header>\n\n<div\n class=\"modal modal--solidCream modal--navigation\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n>\n <div class=\"modal__inner\">\n <div class=\"modal__body\">\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8571
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroHeaderMobileSubmenuComponent, isStandalone: true, selector: "lib-puro-header-mobile-submenu", inputs: { titleMenu: "titleMenu", titleLang: "titleLang", btnBook: "btnBook", btnCheckin: "btnCheckin", navLinks: "navLinks", bottomLinks: "bottomLinks", isDynamic: "isDynamic", logoHotel: "logoHotel", logoHotelWhite: "logoHotelWhite", backgroundImg: "backgroundImg", siteId: "siteId", currentHotelId: "currentHotelId" }, outputs: { btnClick: "btnClick", btnClickCheckin: "btnClickCheckin" }, providers: [PuroActiveModalDirective], ngImport: i0, template: "<header class=\"header\" navSticky [isDynamic]=\"isDynamic\" [stickyOffset]=\"500\">\n <div class=\"banner__logo\">\n <a\n [href]=\"navLinks?.[0]?.url\"\n [linkType]=\"navLinks?.[0]?.linkType\"\n [attr.aria-label]=\"navLinks?.[0]?.label\"\n >\n @if (logoHotelWhite && logoHotel) {\n <img\n [src]=\"hasStickyClasses() ? logoHotel : logoHotelWhite\"\n alt=\"Logo\"\n width=\"177\"\n height=\"68\"\n class=\"header__logo--img\"\n loading=\"lazy\"\n />\n }\n </a>\n </div>\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div class=\"header__reserver\">\n <!-- hide buttons when Puro Oasis Urbano -->\n @if (btnCheckin && siteId == 2 && currentHotelId !== 5) {\n <a\n class=\"btn btn__secondary btn--lg mobile__checkIn\"\n (click)=\"btnClickCheckin.emit()\"\n [attr.aria-label]=\"btnCheckin\"\n >\n <span>{{ btnCheckin }}</span></a\n >\n }\n @if (btnBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"btn btn__primary btn--lg mobile__reservar\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <span>{{ btnBook }}</span>\n </a>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n</header>\n\n<div\n class=\"modal modal--solidCream modal--navigation\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n>\n <div class=\"modal__inner\">\n <div class=\"modal__body\">\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroActiveModalDirective, selector: "[activeModal]" }, { kind: "directive", type: PuroNavStickyDirective, selector: "[navSticky]", inputs: ["isDynamic", "stickyOffset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8566
8572
  }
8567
8573
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroHeaderMobileSubmenuComponent, decorators: [{
8568
8574
  type: Component,
@@ -8571,7 +8577,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8571
8577
  PuroLinkTypeDirective,
8572
8578
  PuroActiveModalDirective,
8573
8579
  PuroNavStickyDirective,
8574
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [PuroActiveModalDirective], template: "<header class=\"header\" navSticky [isDynamic]=\"isDynamic\">\n <div class=\"banner__logo\">\n <a\n [href]=\"navLinks?.[0]?.url\"\n [linkType]=\"navLinks?.[0]?.linkType\"\n [attr.aria-label]=\"navLinks?.[0]?.label\"\n >\n @if (logoHotelWhite && logoHotel) {\n <img\n [src]=\"hasStickyClasses() ? logoHotel : logoHotelWhite\"\n alt=\"Logo\"\n width=\"177\"\n height=\"68\"\n class=\"header__logo--img\"\n loading=\"lazy\"\n />\n }\n </a>\n </div>\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div class=\"header__reserver\">\n <!-- hide buttons when Puro Oasis Urbano -->\n @if (btnCheckin && siteId == 2 && currentHotelId !== 5) {\n <a\n class=\"btn btn__secondary btn--lg mobile__checkIn\"\n (click)=\"btnClickCheckin.emit()\"\n [attr.aria-label]=\"btnCheckin\"\n >\n <span>{{ btnCheckin }}</span></a\n >\n }\n @if (btnBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"btn btn__primary btn--lg mobile__reservar\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <span>{{ btnBook }}</span>\n </a>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n</header>\n\n<div\n class=\"modal modal--solidCream modal--navigation\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n>\n <div class=\"modal__inner\">\n <div class=\"modal__body\">\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"] }]
8580
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [PuroActiveModalDirective], template: "<header class=\"header\" navSticky [isDynamic]=\"isDynamic\" [stickyOffset]=\"500\">\n <div class=\"banner__logo\">\n <a\n [href]=\"navLinks?.[0]?.url\"\n [linkType]=\"navLinks?.[0]?.linkType\"\n [attr.aria-label]=\"navLinks?.[0]?.label\"\n >\n @if (logoHotelWhite && logoHotel) {\n <img\n [src]=\"hasStickyClasses() ? logoHotel : logoHotelWhite\"\n alt=\"Logo\"\n width=\"177\"\n height=\"68\"\n class=\"header__logo--img\"\n loading=\"lazy\"\n />\n }\n </a>\n </div>\n <div\n class=\"header__menu js-active-modal\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n [attr.aria-label]=\"titleMenu ?? 'Menu'\"\n >\n <i class=\"icon-83\"></i>\n @if (titleMenu) {\n <span>{{ titleMenu }}</span>\n }\n </div>\n <div class=\"header__reserver\">\n <!-- hide buttons when Puro Oasis Urbano -->\n @if (btnCheckin && siteId == 2 && currentHotelId !== 5) {\n <a\n class=\"btn btn__secondary btn--lg mobile__checkIn\"\n (click)=\"btnClickCheckin.emit()\"\n [attr.aria-label]=\"btnCheckin\"\n >\n <span>{{ btnCheckin }}</span></a\n >\n }\n @if (btnBook) {\n <a\n (click)=\"btnClick.emit()\"\n class=\"btn btn__primary btn--lg mobile__reservar\"\n role=\"button\"\n [attr.aria-label]=\"btnBook\"\n >\n <span>{{ btnBook }}</span>\n </a>\n }\n </div>\n <div\n class=\"header__language js-active-modal\"\n activeModal\n data-modal_name=\"language\"\n role=\"button\"\n [attr.aria-label]=\"titleLang ?? 'Language Menu'\"\n >\n @if (titleLang) {\n {{ titleLang }}\n }\n </div>\n</header>\n\n<div\n class=\"modal modal--solidCream modal--navigation\"\n [style.--bg-url]=\"cssBgUrl\"\n [style.--logo-url]=\"cssLogoUrl\"\n>\n <div class=\"modal__inner\">\n <div class=\"modal__body\">\n <div\n class=\"modal__close js-close\"\n activeModal\n data-modal_name=\"navigation\"\n role=\"button\"\n aria-label=\"Close Button\"\n >\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"modal__close--icon\"\n >\n <use href=\"#modal-close\"></use>\n </svg>\n </div>\n <div class=\"modal__nav\">\n <ul class=\"modal__nav--items\">\n @if (navLinks) {\n @for (link of navLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n <ul class=\"modal__nav--itemsSmall\">\n @if (bottomLinks) {\n @for (link of bottomLinks; track $index) {\n <li class=\"modal__nav--link\">\n <a\n class=\"js-close\"\n activeModal\n data-modal_name=\"navigation\"\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal.modal--navigation .modal__body:after{background-image:var(--logo-url)}.modal.modal--navigation .modal__body:before{background-image:var(--bg-url)}\n"] }]
8575
8581
  }], propDecorators: { titleMenu: [{
8576
8582
  type: Input
8577
8583
  }], titleLang: [{
@@ -8926,15 +8932,19 @@ class PuroInfoIntroComponent {
8926
8932
  this.hasCustomBg = true;
8927
8933
  }
8928
8934
  }
8929
- toggleDescription() {
8935
+ toggleDescription(event) {
8936
+ // 2. Escudo anti-scripts globales
8937
+ event.preventDefault();
8938
+ event.stopImmediatePropagation();
8939
+ // 3. Tu lógica de Angular intacta
8930
8940
  this.showDescription = !this.showDescription;
8931
8941
  }
8932
8942
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoIntroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8933
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoIntroComponent, isStandalone: true, selector: "lib-puro-info-intro", inputs: { title: "title", pretitle: "pretitle", description: "description", descriptionHidden: "descriptionHidden", ndDescription: "ndDescription", buttons: "buttons", seeMore: "seeMore", seeLess: "seeLess", backgroundImg: "backgroundImg", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <div\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></div>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== '') {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n type=\"button\"\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8943
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoIntroComponent, isStandalone: true, selector: "lib-puro-info-intro", inputs: { title: "title", pretitle: "pretitle", description: "description", descriptionHidden: "descriptionHidden", ndDescription: "ndDescription", buttons: "buttons", seeMore: "seeMore", seeLess: "seeLess", backgroundImg: "backgroundImg", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <div\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [ngStyle]=\"{\n transition:\n 'max-height 0.5s ease-in-out, opacity 0.5s ease-in-out, margin-top 0.5s',\n }\"\n [innerHTML]=\"descriptionHidden\"\n ></div>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== '') {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n type=\"button\"\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription($event)\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8934
8944
  }
8935
8945
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoIntroComponent, decorators: [{
8936
8946
  type: Component,
8937
- args: [{ selector: 'lib-puro-info-intro', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroDynamicHeadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <div\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></div>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== '') {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n type=\"button\"\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"] }]
8947
+ args: [{ selector: 'lib-puro-info-intro', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroDynamicHeadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n }\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <div\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [ngStyle]=\"{\n transition:\n 'max-height 0.5s ease-in-out, opacity 0.5s ease-in-out, margin-top 0.5s',\n }\"\n [innerHTML]=\"descriptionHidden\"\n ></div>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n @if (button.label !== null && button.linkValue !== '') {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n type=\"button\"\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription($event)\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"] }]
8938
8948
  }], propDecorators: { title: [{
8939
8949
  type: Input
8940
8950
  }], pretitle: [{
@@ -10032,7 +10042,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
10032
10042
 
10033
10043
  class PuroSlider2colComponent {
10034
10044
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider2colComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10035
- 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]" }] }); }
10045
+ 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]" }] }); }
10036
10046
  }
10037
10047
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSlider2colComponent, decorators: [{
10038
10048
  type: Component,
@@ -10041,7 +10051,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
10041
10051
  PuroLinkTypeDirective,
10042
10052
  PuroSliderDirective,
10043
10053
  AutoImageZoomWrapperDirective,
10044
- ], 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"] }]
10054
+ ], 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"] }]
10045
10055
  }], propDecorators: { title: [{
10046
10056
  type: Input
10047
10057
  }], items: [{
@@ -10177,7 +10187,7 @@ class PuroSubmenuComponent {
10177
10187
  document.body.classList.add('hotels');
10178
10188
  }
10179
10189
  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 }); }
10180
- 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$1.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 }); }
10190
+ 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$1.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 }); }
10181
10191
  }
10182
10192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroSubmenuComponent, decorators: [{
10183
10193
  type: Component,