ctt-puro 0.64.13 → 0.64.15
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-header/puro-header.component.mjs +5 -2
- package/esm2022/lib/components/puro-header-mobile/puro-header-mobile.component.mjs +8 -4
- package/esm2022/lib/components/puro-info-slider/puro-info-slider.component.mjs +3 -3
- package/esm2022/lib/components/puro-photo-slider/puro-photo-slider.component.mjs +3 -3
- package/fesm2022/ctt-puro.mjs +15 -8
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/puro-header/puro-header.component.d.ts +1 -0
- package/lib/components/puro-header-mobile/puro-header-mobile.component.d.ts +1 -0
- package/package.json +1 -1
package/fesm2022/ctt-puro.mjs
CHANGED
|
@@ -7264,6 +7264,7 @@ class PuroHeaderComponent {
|
|
|
7264
7264
|
this.SITE_GROUP = 1;
|
|
7265
7265
|
this.SITE_HOTELS = 2;
|
|
7266
7266
|
this.SITE_BEACH = 3;
|
|
7267
|
+
this.HIDE_RESTAURANT_BUTTONS = true; // ⚠️ PROVISIONAL
|
|
7267
7268
|
this.cssBgUrl = '';
|
|
7268
7269
|
this.cssLogoUrl = '';
|
|
7269
7270
|
}
|
|
@@ -7296,7 +7297,9 @@ class PuroHeaderComponent {
|
|
|
7296
7297
|
return this.isHotelsPage && !this.isRestaurant && !this.isGroupSite;
|
|
7297
7298
|
}
|
|
7298
7299
|
get showBook() {
|
|
7299
|
-
return !!this.btnBook &&
|
|
7300
|
+
return (!!this.btnBook &&
|
|
7301
|
+
!this.isGroupSite &&
|
|
7302
|
+
!(this.HIDE_RESTAURANT_BUTTONS && this.isRestaurant));
|
|
7300
7303
|
}
|
|
7301
7304
|
get showCheckinOnline() {
|
|
7302
7305
|
return this.isHotelStickyContext && !!this.btnCheckinOnline;
|
|
@@ -7366,6 +7369,7 @@ class PuroHeaderMobileComponent {
|
|
|
7366
7369
|
this.SITE_GROUP = 1;
|
|
7367
7370
|
this.SITE_HOTELS = 2;
|
|
7368
7371
|
this.SITE_BEACH = 3;
|
|
7372
|
+
this.HIDE_RESTAURANT_BUTTONS = true; // ⚠️ PROVISIONAL
|
|
7369
7373
|
this.cssBgUrl = '';
|
|
7370
7374
|
this.cssLogoUrl = '';
|
|
7371
7375
|
// 👁️ Signal reactivo que indica si el body tiene las clases sticky
|
|
@@ -7436,9 +7440,12 @@ class PuroHeaderMobileComponent {
|
|
|
7436
7440
|
get showHeaderBookButton() {
|
|
7437
7441
|
if (!this.btnBook)
|
|
7438
7442
|
return false;
|
|
7439
|
-
// Site 1 →
|
|
7440
|
-
if (this.siteId ===
|
|
7441
|
-
return
|
|
7443
|
+
// Site 1 → nunca botón (coherente con desktop)
|
|
7444
|
+
if (this.siteId === this.SITE_GROUP)
|
|
7445
|
+
return false;
|
|
7446
|
+
// ⚠️ PROVISIONAL: ocultar botones en restaurantes
|
|
7447
|
+
if (this.HIDE_RESTAURANT_BUTTONS && this.isRestaurant) {
|
|
7448
|
+
return false;
|
|
7442
7449
|
}
|
|
7443
7450
|
return true;
|
|
7444
7451
|
}
|
|
@@ -7964,7 +7971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7964
7971
|
|
|
7965
7972
|
class PuroInfoSliderComponent {
|
|
7966
7973
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7967
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoSliderComponent, isStandalone: true, selector: "lib-puro-info-slider", inputs: { items: "items", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
7974
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoSliderComponent, isStandalone: true, selector: "lib-puro-info-slider", inputs: { items: "items", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title \"\n [innerHTML]=\"item.pretitle\"\n ></span>\n }\n @if (item.title) {\n <h2\n class=\"textPhotoCarousel__heading \" \n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading \"\n [innerHTML]=\"item.subtitle\"\n ></p>\n }\n @if (item.description) {\n <div>\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"item.description\"\n ></p>\n </div>\n }\n <div class=\"btn__group\">\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $even,\n btn__primary: $odd,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\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: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[ngSrc], img[src]" }, { kind: "directive", type: PuroResizeZoomDirective, selector: "[resizeZoom]" }] }); }
|
|
7968
7975
|
}
|
|
7969
7976
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoSliderComponent, decorators: [{
|
|
7970
7977
|
type: Component,
|
|
@@ -7976,7 +7983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
7976
7983
|
AutoImageZoomWrapperDirective,
|
|
7977
7984
|
PuroResizeZoomDirective,
|
|
7978
7985
|
PuroResizeZoomDirective,
|
|
7979
|
-
], template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
7986
|
+
], template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"items\"\n [ngClass]=\"{\n 'textPhotoCarousel--right': !reverse,\n }\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_adaptiveheight=\"true\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"true\"\n data-slides_pc=\"1\"\n resizeZoom\n>\n <div class=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (item of items; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n @if (item.img) {\n <img\n [ngSrc]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n width=\"960\"\n height=\"807\"\n class=\"textPhotoCarousel__img\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (item.pretitle) {\n <span\n class=\"textPhotoCarousel__title \"\n [innerHTML]=\"item.pretitle\"\n ></span>\n }\n @if (item.title) {\n <h2\n class=\"textPhotoCarousel__heading \" \n [innerHTML]=\"item.title\"\n ></h2>\n }\n @if (item.subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading \"\n [innerHTML]=\"item.subtitle\"\n ></p>\n }\n @if (item.description) {\n <div>\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"item.description\"\n ></p>\n </div>\n }\n <div class=\"btn__group\">\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n 'btn__primary--outline': $even,\n btn__primary: $odd,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</section>\n" }]
|
|
7980
7987
|
}], propDecorators: { items: [{
|
|
7981
7988
|
type: Input
|
|
7982
7989
|
}], reverse: [{
|
|
@@ -8527,7 +8534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
8527
8534
|
|
|
8528
8535
|
class PuroPhotoSliderComponent {
|
|
8529
8536
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroPhotoSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8530
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroPhotoSliderComponent, isStandalone: true, selector: "lib-puro-photo-slider", inputs: { title: "title", subtitle: "subtitle", pretitle: "pretitle", description: "description", button: "button", img: "img", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-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=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
8537
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroPhotoSliderComponent, isStandalone: true, selector: "lib-puro-photo-slider", inputs: { title: "title", subtitle: "subtitle", pretitle: "pretitle", description: "description", button: "button", img: "img", reverse: "reverse" }, ngImport: i0, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-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=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title\"\n [innerHTML]=\"pretitle\"\n ></span>\n }\n\n @if (title) {\n <h2\n class=\"textPhotoCarousel__heading\"\n [innerHTML]=\"title\"\n ></h2>\n }\n\n @if (subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading\"\n [innerHTML]=\"subtitle\"\n ></p>\n }\n\n @if (description) {\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"description\"\n ></p>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >{{ button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n\n <div class=\"js-slider-arrows photoslider\"></div>\n </div>\n</section>\n", styles: [""], 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: 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 }); }
|
|
8531
8538
|
}
|
|
8532
8539
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroPhotoSliderComponent, decorators: [{
|
|
8533
8540
|
type: Component,
|
|
@@ -8537,7 +8544,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
8537
8544
|
PuroSliderDirective,
|
|
8538
8545
|
NgOptimizedImage,
|
|
8539
8546
|
AutoImageZoomWrapperDirective,
|
|
8540
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-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=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title
|
|
8547
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"textPhotoCarousel js-active-slider\"\n [puroSlider]=\"img\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-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=\"relative\">\n <div class=\"js-slider js-slider_fix-arrows\">\n @for (image of img; track $index) {\n <div class=\"textPhotoCarousel__item\">\n <!-- IMAGEN A LA IZQUIERDA -->\n <div class=\"textPhotoCarousel__image--outer\">\n <div\n class=\"textPhotoCarousel__image js-slider_fix-arrows-zone\"\n >\n <img\n [ngSrc]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"textPhotoCarousel__img\"\n width=\"960\"\n height=\"807\"\n />\n </div>\n </div>\n\n <!-- TEXTO A LA DERECHA -->\n <div\n class=\"textPhotoCarousel__content textPhotoCarousel__content--alignCenter\"\n >\n <div>\n @if (pretitle) {\n <span\n class=\"textPhotoCarousel__title\"\n [innerHTML]=\"pretitle\"\n ></span>\n }\n\n @if (title) {\n <h2\n class=\"textPhotoCarousel__heading\"\n [innerHTML]=\"title\"\n ></h2>\n }\n\n @if (subtitle) {\n <p\n class=\"textPhotoCarousel__subHeading\"\n [innerHTML]=\"subtitle\"\n ></p>\n }\n\n @if (description) {\n <p\n class=\"textPhotoCarousel__paragraph\"\n [innerHTML]=\"description\"\n ></p>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >{{ button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n\n <div class=\"js-slider-arrows photoslider\"></div>\n </div>\n</section>\n" }]
|
|
8541
8548
|
}], propDecorators: { title: [{
|
|
8542
8549
|
type: Input
|
|
8543
8550
|
}], subtitle: [{
|