ctt-puro 0.50.4 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1397,6 +1397,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
1397
1397
  args: [PLATFORM_ID]
1398
1398
  }] }] });
1399
1399
 
1400
+ class PuroScrollUpDirective {
1401
+ constructor() {
1402
+ this.platformId = inject(PLATFORM_ID);
1403
+ }
1404
+ onClick(event) {
1405
+ if (isPlatformBrowser(this.platformId)) {
1406
+ event.preventDefault();
1407
+ window.scrollTo({ top: 0, behavior: 'smooth' });
1408
+ }
1409
+ }
1410
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroScrollUpDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1411
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PuroScrollUpDirective, isStandalone: true, selector: "[scrollUp]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
1412
+ }
1413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroScrollUpDirective, decorators: [{
1414
+ type: Directive,
1415
+ args: [{
1416
+ selector: '[scrollUp]',
1417
+ standalone: true,
1418
+ }]
1419
+ }], propDecorators: { onClick: [{
1420
+ type: HostListener,
1421
+ args: ['click', ['$event']]
1422
+ }] } });
1423
+
1400
1424
  class Puro404Component {
1401
1425
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Puro404Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1402
1426
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: Puro404Component, isStandalone: true, selector: "lib-puro-404", inputs: { title: "title", subtitle: "subtitle", description: "description", contact: "contact", link: "link", address: "address", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<div class=\"puro404\">\n <div class=\"puro404__pageNotFound\">\n <div class=\"puro404__pageNotFound--inner\">\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"puro404__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n @if (subtitle) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.subtitle || 'h3'\"\n cssClass=\"puro404__subHeading\"\n [color]=\"textColors?.subtitle\"\n [content]=\"subtitle\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"puro404__content\">\n @if (description || link) {\n <p class=\"puro404__text\">\n @if (description) {\n <span [innerHTML]=\"description\"></span>\n }\n <br />\n @if (link) {\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n }\n </p>\n }\n </div>\n </div>\n </div>\n <div class=\"puro404__contact\">\n <div class=\"puro404__contact--inner\">\n @if (contact) {\n <div>\n @if (contact.title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.contactTitle || 'h4'\"\n cssClass=\"puro404__contactHeading\"\n [color]=\"textColors?.contactTitle\"\n [content]=\"contact.title\"\n ></lib-puro-dynamic-heading>\n }\n @if (contact.links && contact.links.length) {\n <p class=\"puro404__contactText\">\n @for (link of contact.links; track $index) {\n @if (link) {\n <a\n [href]=\"link.url\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n ><br />\n }\n }\n @if (contact.button) {\n <a\n [href]=\"contact.button.url\"\n [linkType]=\"contact.button.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"contact.button.label\"\n >{{ contact.button.label }}</a\n >\n }\n </p>\n }\n </div>\n }\n @if (address) {\n <div>\n @if (address.title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.addressTitle || 'h4'\"\n cssClass=\"puro404__contactHeading\"\n [color]=\"textColors?.addressTitle\"\n [content]=\"address.title\"\n ></lib-puro-dynamic-heading>\n }\n @if (address.text || address.button) {\n <p class=\"puro404__contactText\">\n @if (address.text) {\n <p [innerHTML]=\"address.text\"></p>\n }\n @if (address.button) {\n <a\n [href]=\"address.button.url\"\n [linkType]=\"address.button.linkType\"\n class=\"btn__link\"\n [attr.aria-label]=\"address.button.label\"\n >{{ address.button.label }}</a\n >\n }\n </p>\n }\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [""], 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 }); }
@@ -4467,6 +4491,7 @@ class MapperService {
4467
4491
  items: socialMedia?.map((item) => ({
4468
4492
  title: item?.name,
4469
4493
  icon: Utils.mapSocialcons(item?.name?.toLowerCase()),
4494
+ url: item?.url,
4470
4495
  })),
4471
4496
  },
4472
4497
  title: typeof texts?.pretitle === 'string'
@@ -6598,7 +6623,7 @@ class PuroFooterInfoComponent {
6598
6623
  this.newsletterClick.emit(this.form?.value.email);
6599
6624
  }
6600
6625
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6601
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterInfoComponent, isStandalone: true, selector: "lib-puro-footer-info", inputs: { socialMedia: "socialMedia", addressInfo: "addressInfo", contactInfo: "contactInfo", newsletterInfo: "newsletterInfo", img: "img", logoImage: "logoImage", logo: "logo", button: "button", title: "title", tags: "tags", textColors: "textColors" }, outputs: { newsletterClick: "newsletterClick" }, ngImport: i0, template: "<section class=\"contact\" resizeZoom>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"contact__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"contact__graphic\">\n @if (img) {\n <img\n [ngSrc]=\"img.src\"\n class=\"contact__graphic--img\"\n width=\"1763\"\n height=\"434\"\n [alt]=\"img.alt\"\n decoding=\"async\"\n />\n }\n <span class=\"contact__purobeach\">\n @if (logoImage) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logoImage.src\"\n [alt]=\"logoImage.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n </div>\n <div class=\"contact__container\">\n @if (socialMedia) {\n <div class=\"contact__followUs\">\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logo.src\"\n [alt]=\"logo.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n <ul class=\"contact__followUs--ItemList\">\n @for (item of socialMedia.items || []; track $index) {\n @if (item) {\n <li class=\"contact__followUs--ItemLink\">\n <a\n [href]=\"item.url\"\n [attr.aria-label]=\"item.icon\"\n ><i class=\"{{ item.icon }}\"></i\n ></a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (addressInfo) {\n <div class=\"contact__address\">\n @if (addressInfo.title) {\n <h3 class=\"contact__heading\">{{ addressInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n @if (addressInfo.text) {\n <p [innerHTML]=\"addressInfo.text\"></p>\n }\n @if (addressInfo.button) {\n <div class=\"btn__group\">\n <a\n [href]=\"addressInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"addressInfo.button.label\"\n >{{ addressInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (contactInfo) {\n <div class=\"contact__contactLinks\">\n @if (contactInfo.title) {\n <h3 class=\"contact__heading\">{{ contactInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n <ul class=\"contact__links\">\n @for (link of contactInfo.links || []; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url | contactLink\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n @if (contactInfo.button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"contactInfo.button.linkType\"\n [href]=\"contactInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"contactInfo.button.label\"\n >{{ contactInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (newsletterInfo) {\n <div class=\"contact__newsletter\">\n @if (newsletterInfo.title) {\n <h3 class=\"contact__heading\">{{ newsletterInfo.title }}</h3>\n }\n\n @if (form) {\n <form class=\"contact__text\" [formGroup]=\"form\">\n <div class=\"contact__newsletterBox\">\n <div class=\"form__group\">\n <input\n type=\"text\"\n class=\"form__control\"\n [placeholder]=\"\n newsletterInfo.inputPlaceholder\n \"\n formControlName=\"email\"\n />\n <span class=\"contact__newsletter--icon\">\n <i class=\"icon-63\"></i>\n </span>\n </div>\n <label class=\"form__checkbox\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n formControlName=\"check\"\n />\n <span class=\"box\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"9\"\n height=\"7\"\n >\n <use href=\"#checkbox-tick\"></use>\n </svg>\n </span>\n <span\n [innerHTML]=\"newsletterInfo.conditionsLink\"\n ></span>\n </label>\n </div>\n @if (newsletterInfo.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n (click)=\"send()\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n [attr.aria-label]=\"\n newsletterInfo.button.label\n \"\n >\n {{ newsletterInfo.button.label }}\n </a>\n </div>\n }\n </form>\n }\n </div>\n }\n </div>\n</section>\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: "pipe", type: PuroContactLinkPipe, name: "contactLink" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }, { kind: "directive", type: PuroResizeZoomDirective, selector: "[resizeZoom]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6626
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterInfoComponent, isStandalone: true, selector: "lib-puro-footer-info", inputs: { socialMedia: "socialMedia", addressInfo: "addressInfo", contactInfo: "contactInfo", newsletterInfo: "newsletterInfo", img: "img", logoImage: "logoImage", logo: "logo", button: "button", title: "title", tags: "tags", textColors: "textColors" }, outputs: { newsletterClick: "newsletterClick" }, ngImport: i0, template: "<section class=\"contact\" resizeZoom>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"contact__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"contact__graphic\">\n @if (img) {\n <img\n [ngSrc]=\"img.src\"\n class=\"contact__graphic--img\"\n width=\"1763\"\n height=\"434\"\n [alt]=\"img.alt\"\n decoding=\"async\"\n />\n }\n <span class=\"contact__purobeach\">\n @if (logoImage) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logoImage.src\"\n [alt]=\"logoImage.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n </div>\n <div class=\"contact__container\">\n @if (socialMedia) {\n <div class=\"contact__followUs\">\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logo.src\"\n [alt]=\"logo.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n <ul class=\"contact__followUs--ItemList\">\n @for (item of socialMedia.items || []; track $index) {\n @if (item) {\n <li class=\"contact__followUs--ItemLink\">\n <a\n [href]=\"item.url\"\n linkType=\"external\"\n [attr.aria-label]=\"item.title\"\n ><i class=\"{{ item.icon }}\"></i\n ></a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (addressInfo) {\n <div class=\"contact__address\">\n @if (addressInfo.title) {\n <h3 class=\"contact__heading\">{{ addressInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n @if (addressInfo.text) {\n <p [innerHTML]=\"addressInfo.text\"></p>\n }\n @if (addressInfo.button) {\n <div class=\"btn__group\">\n <a\n [href]=\"addressInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"addressInfo.button.label\"\n >{{ addressInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (contactInfo) {\n <div class=\"contact__contactLinks\">\n @if (contactInfo.title) {\n <h3 class=\"contact__heading\">{{ contactInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n <ul class=\"contact__links\">\n @for (link of contactInfo.links || []; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url | contactLink\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n @if (contactInfo.button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"contactInfo.button.linkType\"\n [href]=\"contactInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"contactInfo.button.label\"\n >{{ contactInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (newsletterInfo) {\n <div class=\"contact__newsletter\">\n @if (newsletterInfo.title) {\n <h3 class=\"contact__heading\">{{ newsletterInfo.title }}</h3>\n }\n\n @if (form) {\n <form class=\"contact__text\" [formGroup]=\"form\">\n <div class=\"contact__newsletterBox\">\n <div class=\"form__group\">\n <input\n type=\"text\"\n class=\"form__control\"\n [placeholder]=\"\n newsletterInfo.inputPlaceholder\n \"\n formControlName=\"email\"\n />\n <span class=\"contact__newsletter--icon\">\n <i class=\"icon-63\"></i>\n </span>\n </div>\n <label class=\"form__checkbox\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n formControlName=\"check\"\n />\n <span class=\"box\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"9\"\n height=\"7\"\n >\n <use href=\"#checkbox-tick\"></use>\n </svg>\n </span>\n <span\n [innerHTML]=\"newsletterInfo.conditionsLink\"\n ></span>\n </label>\n </div>\n @if (newsletterInfo.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n (click)=\"send()\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n [attr.aria-label]=\"\n newsletterInfo.button.label\n \"\n >\n {{ newsletterInfo.button.label }}\n </a>\n </div>\n }\n </form>\n }\n </div>\n }\n </div>\n</section>\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: "pipe", type: PuroContactLinkPipe, name: "contactLink" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }, { kind: "directive", type: PuroResizeZoomDirective, selector: "[resizeZoom]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6602
6627
  }
6603
6628
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterInfoComponent, decorators: [{
6604
6629
  type: Component,
@@ -6612,7 +6637,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
6612
6637
  NgOptimizedImage,
6613
6638
  AutoImageZoomWrapperDirective,
6614
6639
  PuroResizeZoomDirective,
6615
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"contact\" resizeZoom>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"contact__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"contact__graphic\">\n @if (img) {\n <img\n [ngSrc]=\"img.src\"\n class=\"contact__graphic--img\"\n width=\"1763\"\n height=\"434\"\n [alt]=\"img.alt\"\n decoding=\"async\"\n />\n }\n <span class=\"contact__purobeach\">\n @if (logoImage) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logoImage.src\"\n [alt]=\"logoImage.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n </div>\n <div class=\"contact__container\">\n @if (socialMedia) {\n <div class=\"contact__followUs\">\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logo.src\"\n [alt]=\"logo.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n <ul class=\"contact__followUs--ItemList\">\n @for (item of socialMedia.items || []; track $index) {\n @if (item) {\n <li class=\"contact__followUs--ItemLink\">\n <a\n [href]=\"item.url\"\n [attr.aria-label]=\"item.icon\"\n ><i class=\"{{ item.icon }}\"></i\n ></a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (addressInfo) {\n <div class=\"contact__address\">\n @if (addressInfo.title) {\n <h3 class=\"contact__heading\">{{ addressInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n @if (addressInfo.text) {\n <p [innerHTML]=\"addressInfo.text\"></p>\n }\n @if (addressInfo.button) {\n <div class=\"btn__group\">\n <a\n [href]=\"addressInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"addressInfo.button.label\"\n >{{ addressInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (contactInfo) {\n <div class=\"contact__contactLinks\">\n @if (contactInfo.title) {\n <h3 class=\"contact__heading\">{{ contactInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n <ul class=\"contact__links\">\n @for (link of contactInfo.links || []; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url | contactLink\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n @if (contactInfo.button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"contactInfo.button.linkType\"\n [href]=\"contactInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"contactInfo.button.label\"\n >{{ contactInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (newsletterInfo) {\n <div class=\"contact__newsletter\">\n @if (newsletterInfo.title) {\n <h3 class=\"contact__heading\">{{ newsletterInfo.title }}</h3>\n }\n\n @if (form) {\n <form class=\"contact__text\" [formGroup]=\"form\">\n <div class=\"contact__newsletterBox\">\n <div class=\"form__group\">\n <input\n type=\"text\"\n class=\"form__control\"\n [placeholder]=\"\n newsletterInfo.inputPlaceholder\n \"\n formControlName=\"email\"\n />\n <span class=\"contact__newsletter--icon\">\n <i class=\"icon-63\"></i>\n </span>\n </div>\n <label class=\"form__checkbox\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n formControlName=\"check\"\n />\n <span class=\"box\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"9\"\n height=\"7\"\n >\n <use href=\"#checkbox-tick\"></use>\n </svg>\n </span>\n <span\n [innerHTML]=\"newsletterInfo.conditionsLink\"\n ></span>\n </label>\n </div>\n @if (newsletterInfo.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n (click)=\"send()\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n [attr.aria-label]=\"\n newsletterInfo.button.label\n \"\n >\n {{ newsletterInfo.button.label }}\n </a>\n </div>\n }\n </form>\n }\n </div>\n }\n </div>\n</section>\n" }]
6640
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"contact\" resizeZoom>\n @if (title) {\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'span'\"\n cssClass=\"contact__title\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"contact__graphic\">\n @if (img) {\n <img\n [ngSrc]=\"img.src\"\n class=\"contact__graphic--img\"\n width=\"1763\"\n height=\"434\"\n [alt]=\"img.alt\"\n decoding=\"async\"\n />\n }\n <span class=\"contact__purobeach\">\n @if (logoImage) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logoImage.src\"\n [alt]=\"logoImage.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n </div>\n <div class=\"contact__container\">\n @if (socialMedia) {\n <div class=\"contact__followUs\">\n <span class=\"contact__purobeach\">\n @if (logo) {\n <img\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"contact__purobeach--logo\"\n width=\"180\"\n height=\"20\"\n loading=\"lazy\"\n [ngSrc]=\"logo.src\"\n [alt]=\"logo.alt\"\n decoding=\"async\"\n data-no-zoom\n />\n }\n </span>\n <ul class=\"contact__followUs--ItemList\">\n @for (item of socialMedia.items || []; track $index) {\n @if (item) {\n <li class=\"contact__followUs--ItemLink\">\n <a\n [href]=\"item.url\"\n linkType=\"external\"\n [attr.aria-label]=\"item.title\"\n ><i class=\"{{ item.icon }}\"></i\n ></a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (addressInfo) {\n <div class=\"contact__address\">\n @if (addressInfo.title) {\n <h3 class=\"contact__heading\">{{ addressInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n @if (addressInfo.text) {\n <p [innerHTML]=\"addressInfo.text\"></p>\n }\n @if (addressInfo.button) {\n <div class=\"btn__group\">\n <a\n [href]=\"addressInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"addressInfo.button.label\"\n >{{ addressInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (contactInfo) {\n <div class=\"contact__contactLinks\">\n @if (contactInfo.title) {\n <h3 class=\"contact__heading\">{{ contactInfo.title }}</h3>\n }\n <div class=\"contact__text\">\n <ul class=\"contact__links\">\n @for (link of contactInfo.links || []; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url | contactLink\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n @if (contactInfo.button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"contactInfo.button.linkType\"\n [href]=\"contactInfo.button.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"contactInfo.button.label\"\n >{{ contactInfo.button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n }\n @if (newsletterInfo) {\n <div class=\"contact__newsletter\">\n @if (newsletterInfo.title) {\n <h3 class=\"contact__heading\">{{ newsletterInfo.title }}</h3>\n }\n\n @if (form) {\n <form class=\"contact__text\" [formGroup]=\"form\">\n <div class=\"contact__newsletterBox\">\n <div class=\"form__group\">\n <input\n type=\"text\"\n class=\"form__control\"\n [placeholder]=\"\n newsletterInfo.inputPlaceholder\n \"\n formControlName=\"email\"\n />\n <span class=\"contact__newsletter--icon\">\n <i class=\"icon-63\"></i>\n </span>\n </div>\n <label class=\"form__checkbox\">\n <input\n type=\"checkbox\"\n class=\"checkbox\"\n formControlName=\"check\"\n />\n <span class=\"box\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"9\"\n height=\"7\"\n >\n <use href=\"#checkbox-tick\"></use>\n </svg>\n </span>\n <span\n [innerHTML]=\"newsletterInfo.conditionsLink\"\n ></span>\n </label>\n </div>\n @if (newsletterInfo.button) {\n <div class=\"btn__group\">\n <a\n class=\"btn__link\"\n (click)=\"send()\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n [attr.aria-label]=\"\n newsletterInfo.button.label\n \"\n >\n {{ newsletterInfo.button.label }}\n </a>\n </div>\n }\n </form>\n }\n </div>\n }\n </div>\n</section>\n" }]
6616
6641
  }], propDecorators: { socialMedia: [{
6617
6642
  type: Input
6618
6643
  }], addressInfo: [{
@@ -6641,7 +6666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
6641
6666
 
6642
6667
  class PuroFooterLinksComponent {
6643
6668
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterLinksComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6644
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterLinksComponent, isStandalone: true, selector: "lib-puro-footer-links", inputs: { img: "img", logo: "logo", links: "links", title: "title", memberPretitle: "memberPretitle", memberTitle: "memberTitle", site: "site", copyright: "copyright" }, ngImport: i0, template: "<footer class=\"footer\">\n <div class=\"footer__top\">\n <ul class=\"footer__linksList\">\n @if (links) {\n @for (link of links; track $index) {\n <li class=\"footer__linksItem\">\n <a [href]=\"link.url\" [attr.aria-label]=\"link.label\">{{\n link.label\n }}</a>\n </li>\n }\n }\n </ul>\n </div>\n <div class=\"footer__middle\">\n <div class=\"footer__memberPuroGroup\">\n @if (logo) {\n <span>\n <img [ngSrc]=\"logo.src\" [alt]=\"logo.alt\" priority decoding=\"async\" width=\"25\" height=\"25\"/>\n </span>\n }\n <p>\n @if (memberPretitle) {\n <span>{{ memberPretitle }}</span>\n }\n @if (memberTitle) {\n <b>{{ memberTitle }}</b>\n }\n </p>\n </div>\n @if (title) {\n <div class=\"footer__puroName\">{{ title }}</div>\n }\n @if (copyright) {\n <div class=\"footer__copyright\">{{ copyright }}</div>\n }\n </div>\n\n @if (img) {\n <div\n class=\"footer__bottom\"\n [ngStyle]=\"{ 'background-image': 'url(' + img.src + ')' }\"\n >\n @if (img.alt) {\n <p>{{ img.alt }}</p>\n }\n </div>\n }\n</footer>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6669
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroFooterLinksComponent, isStandalone: true, selector: "lib-puro-footer-links", inputs: { img: "img", logo: "logo", links: "links", title: "title", memberPretitle: "memberPretitle", memberTitle: "memberTitle", site: "site", copyright: "copyright" }, ngImport: i0, template: "<footer class=\"footer\">\n <div class=\"footer__top\">\n <ul class=\"footer__linksList\">\n @if (links) {\n @for (link of links; track $index) {\n <li class=\"footer__linksItem\">\n <a [href]=\"link.url\" [attr.aria-label]=\"link.label\">{{\n link.label\n }}</a>\n </li>\n }\n }\n </ul>\n </div>\n <div class=\"footer__middle\">\n <div class=\"footer__memberPuroGroup\">\n @if (logo) {\n <span>\n <img [ngSrc]=\"logo.src\" [alt]=\"logo.alt\" priority decoding=\"async\" width=\"25\" height=\"25\"/>\n </span>\n }\n <p>\n @if (memberPretitle) {\n <span>{{ memberPretitle }}</span>\n }\n @if (memberTitle) {\n <b>{{ memberTitle }}</b>\n }\n </p>\n </div>\n @if (title) {\n <div class=\"footer__puroName\">{{ title }}</div>\n }\n @if (copyright) {\n <div class=\"footer__copyright\">{{ copyright }}</div>\n }\n </div>\n\n @if (img) {\n <div\n class=\"footer__bottom\"\n [ngStyle]=\"{ 'background-image': 'url(' + img.src + ')' }\"\n >\n @if (img.alt) {\n <p>{{ img.alt }}</p>\n }\n <span class=\"footer__scroll-up\" scrollUp> \n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"15\"\n >\n <use href=\"#arrow-scrollup\"></use>\n </svg>\n </span>\n </div>\n }\n</footer>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }, { kind: "directive", type: PuroScrollUpDirective, selector: "[scrollUp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6645
6670
  }
6646
6671
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroFooterLinksComponent, decorators: [{
6647
6672
  type: Component,
@@ -6650,7 +6675,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
6650
6675
  PuroLinkTypeDirective,
6651
6676
  NgOptimizedImage,
6652
6677
  AutoImageZoomWrapperDirective,
6653
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<footer class=\"footer\">\n <div class=\"footer__top\">\n <ul class=\"footer__linksList\">\n @if (links) {\n @for (link of links; track $index) {\n <li class=\"footer__linksItem\">\n <a [href]=\"link.url\" [attr.aria-label]=\"link.label\">{{\n link.label\n }}</a>\n </li>\n }\n }\n </ul>\n </div>\n <div class=\"footer__middle\">\n <div class=\"footer__memberPuroGroup\">\n @if (logo) {\n <span>\n <img [ngSrc]=\"logo.src\" [alt]=\"logo.alt\" priority decoding=\"async\" width=\"25\" height=\"25\"/>\n </span>\n }\n <p>\n @if (memberPretitle) {\n <span>{{ memberPretitle }}</span>\n }\n @if (memberTitle) {\n <b>{{ memberTitle }}</b>\n }\n </p>\n </div>\n @if (title) {\n <div class=\"footer__puroName\">{{ title }}</div>\n }\n @if (copyright) {\n <div class=\"footer__copyright\">{{ copyright }}</div>\n }\n </div>\n\n @if (img) {\n <div\n class=\"footer__bottom\"\n [ngStyle]=\"{ 'background-image': 'url(' + img.src + ')' }\"\n >\n @if (img.alt) {\n <p>{{ img.alt }}</p>\n }\n </div>\n }\n</footer>\n" }]
6678
+ PuroScrollUpDirective
6679
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<footer class=\"footer\">\n <div class=\"footer__top\">\n <ul class=\"footer__linksList\">\n @if (links) {\n @for (link of links; track $index) {\n <li class=\"footer__linksItem\">\n <a [href]=\"link.url\" [attr.aria-label]=\"link.label\">{{\n link.label\n }}</a>\n </li>\n }\n }\n </ul>\n </div>\n <div class=\"footer__middle\">\n <div class=\"footer__memberPuroGroup\">\n @if (logo) {\n <span>\n <img [ngSrc]=\"logo.src\" [alt]=\"logo.alt\" priority decoding=\"async\" width=\"25\" height=\"25\"/>\n </span>\n }\n <p>\n @if (memberPretitle) {\n <span>{{ memberPretitle }}</span>\n }\n @if (memberTitle) {\n <b>{{ memberTitle }}</b>\n }\n </p>\n </div>\n @if (title) {\n <div class=\"footer__puroName\">{{ title }}</div>\n }\n @if (copyright) {\n <div class=\"footer__copyright\">{{ copyright }}</div>\n }\n </div>\n\n @if (img) {\n <div\n class=\"footer__bottom\"\n [ngStyle]=\"{ 'background-image': 'url(' + img.src + ')' }\"\n >\n @if (img.alt) {\n <p>{{ img.alt }}</p>\n }\n <span class=\"footer__scroll-up\" scrollUp> \n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"15\"\n >\n <use href=\"#arrow-scrollup\"></use>\n </svg>\n </span>\n </div>\n }\n</footer>\n" }]
6654
6680
  }], propDecorators: { img: [{
6655
6681
  type: Input
6656
6682
  }], logo: [{
@@ -8959,5 +8985,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
8959
8985
  * Generated bundle index. Do not edit.
8960
8986
  */
8961
8987
 
8962
- export { AutoImageZoomWrapperDirective, DatepickerLocaleUtil, MapperService, ModalStateService, Puro404Component, PuroActiveModalDirective, PuroAdvantagesComponent, PuroAdvantagesSmallComponent, PuroAudioItem, PuroBanner4colComponent, PuroBannerInfo2Component, PuroBannerInfoComponent, PuroBannerSliderComponent, PuroBannerSliderItem, PuroBlogListComponent, PuroBlogPostComponent, PuroBreadcrumbComponent, PuroCareersFormComponent, PuroCartaComponent, PuroContactFormComponent, PuroContactLinkPipe, PuroCurrencyPipe, PuroDualListComponent, PuroDynamicHeadingComponent, PuroEngineComponent, PuroEngineModalComponent, PuroEventsFormComponent, PuroFaqsComponent, PuroFaqsImgComponent, PuroFilterComponent, PuroFilterGalleryDirective, PuroFilterModalComponent, PuroFooterBeachsComponent, PuroFooterHotelsComponent, PuroFooterInfoComponent, PuroFooterLinksComponent, PuroGalleryComponent, PuroGrid3colFilterComponent, PuroGrid3colPlusFilterComponent, PuroGrid3colSliderComponent, PuroGrid4itemsComponent, PuroGrid5itemsComponent, PuroGrid6itemsComponent, PuroHeadIntroComponent, PuroHeaderComponent, PuroHeaderMobileComponent, PuroHeaderMobileSubmenuComponent, PuroHotelsModalComponent, PuroIframeComponent, PuroImgInfoComponent, PuroInfo2colComponent, PuroInfoBannerComponent, PuroInfoBigComponent, PuroInfoDetails2ColComponent, PuroInfoDetails3ColComponent, PuroInfoDetailsComponent, PuroInfoGalleryComponent, PuroInfoIntroComponent, PuroInfoListComponent, PuroInfoServicesComponent, PuroInfoSliderComponent, PuroInfoTableComponent, PuroInfoVideoComponent, PuroInnerContentComponent, PuroInnerContentI, PuroLanguagesModalComponent, PuroLinkTypeDirective, PuroListAwardsComponent, PuroListGeneralComponent, PuroListLogosComponent, PuroListRestaurantsComponent, PuroListsItem, PuroMapListComponent, PuroModalInfoComponent, PuroModalOptionItem, PuroModalOptionsComponent, PuroMusicSliderComponent, PuroNavStickyDirective, PuroNewsletterComponent, PuroOfferBannerComponent, PuroOffersSliderComponent, PuroPaginationDirective, PuroPhotoSliderComponent, PuroProjectsFormComponent, PuroResizeZoomDirective, PuroScheduleComponent, PuroScriptDirective, PuroSearchComponent, PuroSlider1colComponent, PuroSlider2colComponent, PuroSlider3cardComponent, PuroSlider3colComponent, PuroSlider3colRoundComponent, PuroSlider4ItemsComponent, PuroSliderDirective, PuroSubmenuComponent, PuroSubmenuMobileComponent, PuroThanksComponent, PuroTimelineComponent, PuroTopSliderComponent, PuroVerticalInfoComponent, PuroWebmapComponent, PuroZigzag2colComponent, SCREEN_SIZER_PARAMS_TOKEN, SITE_CONFIG_SERVICE_TOKEN, ScreenSizerService, Utils };
8988
+ export { AutoImageZoomWrapperDirective, DatepickerLocaleUtil, MapperService, ModalStateService, Puro404Component, PuroActiveModalDirective, PuroAdvantagesComponent, PuroAdvantagesSmallComponent, PuroAudioItem, PuroBanner4colComponent, PuroBannerInfo2Component, PuroBannerInfoComponent, PuroBannerSliderComponent, PuroBannerSliderItem, PuroBlogListComponent, PuroBlogPostComponent, PuroBreadcrumbComponent, PuroCareersFormComponent, PuroCartaComponent, PuroContactFormComponent, PuroContactLinkPipe, PuroCurrencyPipe, PuroDualListComponent, PuroDynamicHeadingComponent, PuroEngineComponent, PuroEngineModalComponent, PuroEventsFormComponent, PuroFaqsComponent, PuroFaqsImgComponent, PuroFilterComponent, PuroFilterGalleryDirective, PuroFilterModalComponent, PuroFooterBeachsComponent, PuroFooterHotelsComponent, PuroFooterInfoComponent, PuroFooterLinksComponent, PuroGalleryComponent, PuroGrid3colFilterComponent, PuroGrid3colPlusFilterComponent, PuroGrid3colSliderComponent, PuroGrid4itemsComponent, PuroGrid5itemsComponent, PuroGrid6itemsComponent, PuroHeadIntroComponent, PuroHeaderComponent, PuroHeaderMobileComponent, PuroHeaderMobileSubmenuComponent, PuroHotelsModalComponent, PuroIframeComponent, PuroImgInfoComponent, PuroInfo2colComponent, PuroInfoBannerComponent, PuroInfoBigComponent, PuroInfoDetails2ColComponent, PuroInfoDetails3ColComponent, PuroInfoDetailsComponent, PuroInfoGalleryComponent, PuroInfoIntroComponent, PuroInfoListComponent, PuroInfoServicesComponent, PuroInfoSliderComponent, PuroInfoTableComponent, PuroInfoVideoComponent, PuroInnerContentComponent, PuroInnerContentI, PuroLanguagesModalComponent, PuroLinkTypeDirective, PuroListAwardsComponent, PuroListGeneralComponent, PuroListLogosComponent, PuroListRestaurantsComponent, PuroListsItem, PuroMapListComponent, PuroModalInfoComponent, PuroModalOptionItem, PuroModalOptionsComponent, PuroMusicSliderComponent, PuroNavStickyDirective, PuroNewsletterComponent, PuroOfferBannerComponent, PuroOffersSliderComponent, PuroPaginationDirective, PuroPhotoSliderComponent, PuroProjectsFormComponent, PuroResizeZoomDirective, PuroScheduleComponent, PuroScriptDirective, PuroScrollUpDirective, PuroSearchComponent, PuroSlider1colComponent, PuroSlider2colComponent, PuroSlider3cardComponent, PuroSlider3colComponent, PuroSlider3colRoundComponent, PuroSlider4ItemsComponent, PuroSliderDirective, PuroSubmenuComponent, PuroSubmenuMobileComponent, PuroThanksComponent, PuroTimelineComponent, PuroTopSliderComponent, PuroVerticalInfoComponent, PuroWebmapComponent, PuroZigzag2colComponent, SCREEN_SIZER_PARAMS_TOKEN, SITE_CONFIG_SERVICE_TOKEN, ScreenSizerService, Utils };
8963
8989
  //# sourceMappingURL=ctt-puro.mjs.map