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.
- package/esm2022/lib/components/puro-footer-info/puro-footer-info.component.mjs +3 -3
- package/esm2022/lib/components/puro-footer-links/puro-footer-links.component.mjs +5 -4
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/directives/puro-scroll/scroll-up.directive.mjs +27 -0
- package/esm2022/lib/services/mapper/mapper.service.mjs +2 -1
- package/fesm2022/ctt-puro.mjs +31 -5
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/puro-footer-info/puro-footer-info.component.d.ts +1 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/puro-scroll/scroll-up.directive.d.ts +7 -0
- package/package.json +1 -1
package/fesm2022/ctt-puro.mjs
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
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
|