ctt-puro 0.46.6 → 0.46.8
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-engine/puro-engine.component.mjs +3 -3
- package/esm2022/lib/components/puro-engine-modal/puro-engine-modal.component.mjs +3 -3
- package/esm2022/lib/components/puro-gallery/puro-gallery.component.mjs +9 -2
- package/esm2022/lib/services/mapper/mapper.service.mjs +8 -6
- package/fesm2022/ctt-puro.mjs +19 -10
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/package.json +1 -1
package/fesm2022/ctt-puro.mjs
CHANGED
|
@@ -2561,7 +2561,7 @@ class PuroEngineComponent {
|
|
|
2561
2561
|
}
|
|
2562
2562
|
}
|
|
2563
2563
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroEngineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2564
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroEngineComponent, isStandalone: true, selector: "lib-puro-engine", inputs: { datepickerIn: "datepickerIn", datepickerOut: "datepickerOut", guestsInput: "guestsInput", promoInput: "promoInput", adultsDropdown: "adultsDropdown", kidsDropdown: "kidsDropdown", btnApply: "btnApply", button: "button", lang: "lang", codigo: "codigo", glValue: "glValue" }, ngImport: i0, template: "@if (form) {\n <form\n [formGroup]=\"form\"\n scriptLoader\n [dataLoaded]=\"true\"\n (submit)=\"onSubmit($event)\"\n >\n <div class=\"banner__filter\">\n <!-- \uD83D\uDD39 FECHA DE ENTRADA -->\n @if (datepickerIn) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerIn.title) {\n <label class=\"banner__fieldLabel\" for=\"In-date1\">\n {{ datepickerIn.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"In-date1\"\n data-toggle=\"datepicker\"\n id=\"In-date1\"\n [attr.placeholder]=\"datepickerIn.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerIn\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 FECHA DE SALIDA -->\n @if (datepickerOut) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerOut.title) {\n <label class=\"banner__fieldLabel\" for=\"Out-date1\">\n {{ datepickerOut.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"Out-date1\"\n data-toggle=\"datepicker\"\n id=\"Out-date1\"\n [attr.placeholder]=\"datepickerOut.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerOut\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 HU\u00C9SPEDES -->\n @if (guestsInput) {\n <div class=\"banner__fieldGroup\">\n <div\n class=\"banner__fieldInner js-personas-subfields\"\n role=\"button\"\n [attr.aria-label]=\"guestsInput.title ?? 'Guests'\"\n >\n @if (guestsInput.title) {\n <label class=\"banner__fieldLabel\">{{ guestsInput.title }}</label>\n }\n <div class=\"banner__fieldControl\"></div>\n <div class=\"banner__fieldIcon\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </div>\n </div>\n <div class=\"banner__fieldSub js-fieldSub\">\n @if (adultsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"adult\">\n {{ adultsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"adult\"\n id=\"adult\"\n (change)=\"applyGuests()\"\n >\n @for (option of adultsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\"><i class=\"icon-92\"></i></div>\n </div>\n }\n\n @if (kidsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"child\">\n {{ kidsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"child\"\n id=\"child\"\n (change)=\"applyGuests()\"\n >\n @for (option of kidsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\"><
|
|
2564
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroEngineComponent, isStandalone: true, selector: "lib-puro-engine", inputs: { datepickerIn: "datepickerIn", datepickerOut: "datepickerOut", guestsInput: "guestsInput", promoInput: "promoInput", adultsDropdown: "adultsDropdown", kidsDropdown: "kidsDropdown", btnApply: "btnApply", button: "button", lang: "lang", codigo: "codigo", glValue: "glValue" }, ngImport: i0, template: "@if (form) {\n <form\n [formGroup]=\"form\"\n scriptLoader\n [dataLoaded]=\"true\"\n (submit)=\"onSubmit($event)\"\n >\n <div class=\"banner__filter\">\n <!-- \uD83D\uDD39 FECHA DE ENTRADA -->\n @if (datepickerIn) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerIn.title) {\n <label class=\"banner__fieldLabel\" for=\"In-date1\">\n {{ datepickerIn.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"In-date1\"\n data-toggle=\"datepicker\"\n id=\"In-date1\"\n [attr.placeholder]=\"datepickerIn.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerIn\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 FECHA DE SALIDA -->\n @if (datepickerOut) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerOut.title) {\n <label class=\"banner__fieldLabel\" for=\"Out-date1\">\n {{ datepickerOut.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"Out-date1\"\n data-toggle=\"datepicker\"\n id=\"Out-date1\"\n [attr.placeholder]=\"datepickerOut.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerOut\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 HU\u00C9SPEDES -->\n @if (guestsInput) {\n <div class=\"banner__fieldGroup\">\n <div\n class=\"banner__fieldInner js-personas-subfields\"\n role=\"button\"\n [attr.aria-label]=\"guestsInput.title ?? 'Guests'\"\n >\n @if (guestsInput.title) {\n <label class=\"banner__fieldLabel\">{{ guestsInput.title }}</label>\n }\n <div class=\"banner__fieldControl\"></div>\n <div class=\"banner__fieldIcon\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </div>\n </div>\n <div class=\"banner__fieldSub js-fieldSub\">\n @if (adultsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"adult\">\n {{ adultsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"adult\"\n id=\"adult\"\n (change)=\"applyGuests()\"\n >\n @for (option of adultsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\"><i class=\"icon-92\"></i></div>\n </div>\n }\n\n @if (kidsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"child\">\n {{ kidsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"child\"\n id=\"child\"\n (change)=\"applyGuests()\"\n >\n @for (option of kidsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\">\n <svg width=\"22\" height=\"22\"><use href=\"#little-girl\"></use></svg>\n </div>\n </div>\n }\n\n @if (btnApply) {\n <div class=\"btn__group\">\n <button\n type=\"button\"\n class=\"btn btn__primary js-apply-guests\"\n [attr.aria-label]=\"btnApply.label\"\n (click)=\"applyGuests()\"\n >\n <span>{{ btnApply.label }}</span>\n </button>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 PROMO CODE -->\n @if (promoInput) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\">{{ promoInput.title }}</label>\n <input\n type=\"text\"\n placeholder=\"xxxx\"\n class=\"banner__fieldControl\"\n formControlName=\"promoInput\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-90\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 BOT\u00D3N -->\n @if (button) {\n <div class=\"banner__fieldBtn\">\n <button\n type=\"submit\"\n class=\"btn btn__primary\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </button>\n </div>\n }\n </div>\n </form>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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: "ngmodule", type: FormsModule }, { kind: "directive", type: PuroScriptDirective, selector: "[scriptLoader]", inputs: ["dataLoaded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2565
2565
|
}
|
|
2566
2566
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroEngineComponent, decorators: [{
|
|
2567
2567
|
type: Component,
|
|
@@ -2570,7 +2570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2570
2570
|
ReactiveFormsModule,
|
|
2571
2571
|
FormsModule,
|
|
2572
2572
|
PuroScriptDirective,
|
|
2573
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (form) {\n <form\n [formGroup]=\"form\"\n scriptLoader\n [dataLoaded]=\"true\"\n (submit)=\"onSubmit($event)\"\n >\n <div class=\"banner__filter\">\n <!-- \uD83D\uDD39 FECHA DE ENTRADA -->\n @if (datepickerIn) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerIn.title) {\n <label class=\"banner__fieldLabel\" for=\"In-date1\">\n {{ datepickerIn.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"In-date1\"\n data-toggle=\"datepicker\"\n id=\"In-date1\"\n [attr.placeholder]=\"datepickerIn.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerIn\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 FECHA DE SALIDA -->\n @if (datepickerOut) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerOut.title) {\n <label class=\"banner__fieldLabel\" for=\"Out-date1\">\n {{ datepickerOut.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"Out-date1\"\n data-toggle=\"datepicker\"\n id=\"Out-date1\"\n [attr.placeholder]=\"datepickerOut.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerOut\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 HU\u00C9SPEDES -->\n @if (guestsInput) {\n <div class=\"banner__fieldGroup\">\n <div\n class=\"banner__fieldInner js-personas-subfields\"\n role=\"button\"\n [attr.aria-label]=\"guestsInput.title ?? 'Guests'\"\n >\n @if (guestsInput.title) {\n <label class=\"banner__fieldLabel\">{{ guestsInput.title }}</label>\n }\n <div class=\"banner__fieldControl\"></div>\n <div class=\"banner__fieldIcon\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </div>\n </div>\n <div class=\"banner__fieldSub js-fieldSub\">\n @if (adultsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"adult\">\n {{ adultsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"adult\"\n id=\"adult\"\n (change)=\"applyGuests()\"\n >\n @for (option of adultsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\"><i class=\"icon-92\"></i></div>\n </div>\n }\n\n @if (kidsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"child\">\n {{ kidsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"child\"\n id=\"child\"\n (change)=\"applyGuests()\"\n >\n @for (option of kidsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\"><
|
|
2573
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (form) {\n <form\n [formGroup]=\"form\"\n scriptLoader\n [dataLoaded]=\"true\"\n (submit)=\"onSubmit($event)\"\n >\n <div class=\"banner__filter\">\n <!-- \uD83D\uDD39 FECHA DE ENTRADA -->\n @if (datepickerIn) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerIn.title) {\n <label class=\"banner__fieldLabel\" for=\"In-date1\">\n {{ datepickerIn.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"In-date1\"\n data-toggle=\"datepicker\"\n id=\"In-date1\"\n [attr.placeholder]=\"datepickerIn.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerIn\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 FECHA DE SALIDA -->\n @if (datepickerOut) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n @if (datepickerOut.title) {\n <label class=\"banner__fieldLabel\" for=\"Out-date1\">\n {{ datepickerOut.title }}\n </label>\n }\n <input\n type=\"text\"\n class=\"banner__fieldControl\"\n name=\"Out-date1\"\n data-toggle=\"datepicker\"\n id=\"Out-date1\"\n [attr.placeholder]=\"datepickerOut.placeholder ?? 'dd/mm/yyyy'\"\n formControlName=\"datepickerOut\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-89\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 HU\u00C9SPEDES -->\n @if (guestsInput) {\n <div class=\"banner__fieldGroup\">\n <div\n class=\"banner__fieldInner js-personas-subfields\"\n role=\"button\"\n [attr.aria-label]=\"guestsInput.title ?? 'Guests'\"\n >\n @if (guestsInput.title) {\n <label class=\"banner__fieldLabel\">{{ guestsInput.title }}</label>\n }\n <div class=\"banner__fieldControl\"></div>\n <div class=\"banner__fieldIcon\">\n <svg aria-hidden=\"true\" focusable=\"false\" width=\"15\" height=\"8\">\n <use href=\"#select-arrow\"></use>\n </svg>\n </div>\n </div>\n <div class=\"banner__fieldSub js-fieldSub\">\n @if (adultsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"adult\">\n {{ adultsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"adult\"\n id=\"adult\"\n (change)=\"applyGuests()\"\n >\n @for (option of adultsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\"><i class=\"icon-92\"></i></div>\n </div>\n }\n\n @if (kidsDropdown) {\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\" for=\"child\">\n {{ kidsDropdown.title }}\n </label>\n <select\n class=\"banner__fieldControl\"\n name=\"child\"\n id=\"child\"\n (change)=\"applyGuests()\"\n >\n @for (option of kidsDropdown.options; track $index) {\n <option [value]=\"option.code\">{{ option.name }}</option>\n }\n </select>\n <div class=\"banner__fieldIcon\">\n <svg width=\"22\" height=\"22\"><use href=\"#little-girl\"></use></svg>\n </div>\n </div>\n }\n\n @if (btnApply) {\n <div class=\"btn__group\">\n <button\n type=\"button\"\n class=\"btn btn__primary js-apply-guests\"\n [attr.aria-label]=\"btnApply.label\"\n (click)=\"applyGuests()\"\n >\n <span>{{ btnApply.label }}</span>\n </button>\n </div>\n }\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 PROMO CODE -->\n @if (promoInput) {\n <div class=\"banner__fieldGroup\">\n <div class=\"banner__fieldInner\">\n <label class=\"banner__fieldLabel\">{{ promoInput.title }}</label>\n <input\n type=\"text\"\n placeholder=\"xxxx\"\n class=\"banner__fieldControl\"\n formControlName=\"promoInput\"\n autocomplete=\"off\"\n />\n <div class=\"banner__fieldIcon\"><i class=\"icon-90\"></i></div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 BOT\u00D3N -->\n @if (button) {\n <div class=\"banner__fieldBtn\">\n <button\n type=\"submit\"\n class=\"btn btn__primary\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </button>\n </div>\n }\n </div>\n </form>\n}\n" }]
|
|
2574
2574
|
}], propDecorators: { datepickerIn: [{
|
|
2575
2575
|
type: Input
|
|
2576
2576
|
}], datepickerOut: [{
|
|
@@ -2996,7 +2996,7 @@ class PuroEngineModalComponent {
|
|
|
2996
2996
|
this.modal.closeEngine();
|
|
2997
2997
|
}
|
|
2998
2998
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroEngineModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2999
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroEngineModalComponent, isStandalone: true, selector: "lib-puro-engine-modal", inputs: { isHotel: "isHotel" }, ngImport: i0, template: "@if (isOpen()) {\n <section class=\"engine-modal\">\n <div class=\"engine-modal__overlay\" (click)=\"close()\"></div>\n <div class=\"engine-modal__content\">\n <button class=\"engine-modal__close\" type=\"button\" (click)=\"close()\">\n \u2715\n </button>\n\n <section class=\"booking\">\n <!-- \uD83D\uDD39 Slider de ventajas -->\n <div\n class=\"booking__advantages js-active-slider\"\n [puroSlider]=\"data()?.advantages\"\n data-slidesrows_pc=\"3\"\n data-slidesrows_laptop=\"3\"\n data-slidesrows_tablet=\"3\"\n data-slidesrows_mobile=\"3\"\n data-slidesrows_mobile_small=\"3\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-adv-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <div class=\"booking__advantages--inner\">\n @if (data()?.titleAdvantages) {\n <lib-puro-dynamic-heading\n [tag]=\"data()?.tags?.title || 'span'\"\n cssClass=\"booking__title\"\n [content]=\"data()?.titleAdvantages\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"js-adv-slider adv__slider\">\n @for (\n item of data()?.advantages;\n track $index\n ) {\n <div class=\"booking__advItem\">\n @if (item.icon) {\n <div class=\"booking__advIcon\">\n <i class=\"icon-{{ item.icon }}\"></i>\n </div>\n }\n @if (item.title) {\n <span class=\"booking__advText\">{{ item.title }}</span>\n }\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 FORMULARIO -->\n @if (form) {\n <div class=\"booking__form\">\n <div class=\"booking__form--inner\">\n <form\n [formGroup]=\"form\"\n (submit)=\"onSubmit($event)\"\n scriptLoader\n [dataLoaded]=\"true\"\n >\n @if (data()?.engine?.title) {\n <span class=\"booking__title\">{{\n data()?.engine?.title\n }}</span>\n }\n\n <div class=\"booking__box\">\n @if (!isHotel) {\n <!-- \uD83D\uDD39 LOCATION -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner\"\n style=\"\n --label-left-position: 34rem;\n \"\n >\n @if (\n data()?.engine\n ?.locationDropdown\n ?.title\n ) {\n <label\n class=\"booking__fieldLabel\"\n for=\"location\"\n >\n <span>{{\n data()?.engine\n ?.locationDropdown\n ?.title\n }}</span>\n </label>\n }\n <select\n class=\"booking__fieldControl\"\n formControlName=\"location\"\n id=\"location\"\n (input)=\"\n changeHotelLabelPosition(\n $event\n )\n \"\n >\n @for (\n option of data()?.engine\n ?.locationDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-62\"></i>\n </div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 DATEPICKERS -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"In-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine?.datepickerIn\n ?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"In-date2\"\n formControlName=\"datepickerIn\"\n [placeholder]=\"\n data()?.engine?.datepickerIn\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"Out-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.datepickerOut?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"Out-date2\"\n formControlName=\"datepickerOut\"\n [placeholder]=\"\n data()?.engine\n ?.datepickerOut\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 GUESTS -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner js-personas-subfields\"\n role=\"button\"\n >\n <label\n class=\"booking__fieldLabel\"\n for=\"guests\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine?.guestsInput\n ?.title\n }}</span>\n </label>\n <div class=\"booking__fieldControl\">\n 00\n </div>\n <div class=\"booking__fieldIcon\">\n <svg width=\"15\" height=\"8\">\n <use\n href=\"#select-arrow\"\n ></use>\n </svg>\n </div>\n </div>\n\n <div\n class=\"booking__fieldSub js-fieldSub\"\n >\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"adult\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.adultsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"adult1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.adultsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-92\"></i>\n </div>\n </div>\n\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"child\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.kidsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"child1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.kidsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-93\"></i>\n </div>\n </div>\n\n <div class=\"btn__group\">\n <button\n type=\"button\"\n class=\"btn btn__primary js-apply-guests1\"\n (click)=\"applyGuests()\"\n >\n <span>{{\n data()?.engine?.btnApply\n ?.label ?? 'Apply'\n }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 PROMO -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n style=\"\n --label-left-position: 9rem;\n \"\n for=\"promo\"\n >\n <span>{{\n data()?.engine?.promoInput\n ?.title\n }}</span>\n </label>\n <input\n id=\"promo\"\n type=\"text\"\n placeholder=\"xxxx\"\n class=\"booking__fieldControl\"\n formControlName=\"promoInput\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-90\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 SUBMIT -->\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__primary\"\n >\n <span>{{\n data()?.engine?.button?.label\n }}</span>\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n }\n </section>\n </div>\n </section>\n}\n", styles: [":host ::ng-deep .booking__fieldLabel{margin-left:var(--label-left-position, 0)}.booking__fieldControl{font-family:var(--font-text)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: "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: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: PuroScriptDirective, selector: "[scriptLoader]", inputs: ["dataLoaded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2999
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroEngineModalComponent, isStandalone: true, selector: "lib-puro-engine-modal", inputs: { isHotel: "isHotel" }, ngImport: i0, template: "@if (isOpen()) {\n <section class=\"engine-modal\">\n <div class=\"engine-modal__overlay\" (click)=\"close()\"></div>\n <div class=\"engine-modal__content\">\n <button class=\"engine-modal__close\" type=\"button\" (click)=\"close()\">\n \u2715\n </button>\n\n <section class=\"booking\">\n <!-- \uD83D\uDD39 Slider de ventajas -->\n <div\n class=\"booking__advantages js-active-slider\"\n [puroSlider]=\"data()?.advantages\"\n data-slidesrows_pc=\"3\"\n data-slidesrows_laptop=\"3\"\n data-slidesrows_tablet=\"3\"\n data-slidesrows_mobile=\"3\"\n data-slidesrows_mobile_small=\"3\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-adv-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <div class=\"booking__advantages--inner\">\n @if (data()?.titleAdvantages) {\n <lib-puro-dynamic-heading\n [tag]=\"data()?.tags?.title || 'span'\"\n cssClass=\"booking__title\"\n [content]=\"data()?.titleAdvantages\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"js-adv-slider adv__slider\">\n @for (\n item of data()?.advantages;\n track $index\n ) {\n <div class=\"booking__advItem\">\n @if (item.icon) {\n <div class=\"booking__advIcon\">\n <i class=\"icon-{{ item.icon }}\"></i>\n </div>\n }\n @if (item.title) {\n <span class=\"booking__advText\">{{ item.title }}</span>\n }\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 FORMULARIO -->\n @if (form) {\n <div class=\"booking__form\">\n <div class=\"booking__form--inner\">\n <form\n [formGroup]=\"form\"\n (submit)=\"onSubmit($event)\"\n scriptLoader\n [dataLoaded]=\"true\"\n >\n @if (data()?.engine?.title) {\n <span class=\"booking__title\">{{\n data()?.engine?.title\n }}</span>\n }\n\n <div class=\"booking__box\">\n @if (!isHotel) {\n <!-- \uD83D\uDD39 LOCATION -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner\"\n style=\"\n --label-left-position: 34rem;\n \"\n >\n @if (\n data()?.engine\n ?.locationDropdown\n ?.title\n ) {\n <label\n class=\"booking__fieldLabel\"\n for=\"location\"\n >\n <span>{{\n data()?.engine\n ?.locationDropdown\n ?.title\n }}</span>\n </label>\n }\n <select\n class=\"booking__fieldControl\"\n formControlName=\"location\"\n id=\"location\"\n (input)=\"\n changeHotelLabelPosition(\n $event\n )\n \"\n >\n @for (\n option of data()?.engine\n ?.locationDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-62\"></i>\n </div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 DATEPICKERS -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"In-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine?.datepickerIn\n ?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"In-date2\"\n formControlName=\"datepickerIn\"\n [placeholder]=\"\n data()?.engine?.datepickerIn\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"Out-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.datepickerOut?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"Out-date2\"\n formControlName=\"datepickerOut\"\n [placeholder]=\"\n data()?.engine\n ?.datepickerOut\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 GUESTS -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner js-personas-subfields\"\n role=\"button\"\n >\n <label\n class=\"booking__fieldLabel\"\n for=\"guests\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine?.guestsInput\n ?.title\n }}</span>\n </label>\n <div class=\"booking__fieldControl\">\n 00\n </div>\n <div class=\"booking__fieldIcon\">\n <svg width=\"15\" height=\"8\">\n <use\n href=\"#select-arrow\"\n ></use>\n </svg>\n </div>\n </div>\n\n <div\n class=\"booking__fieldSub js-fieldSub\"\n >\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"adult\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.adultsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"adult1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.adultsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-92\"></i>\n </div>\n </div>\n\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"child\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.kidsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"child1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.kidsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <svg width=\"22\" height=\"22\"><use href=\"#little-girl\"></use></svg>\n </div>\n </div>\n\n <div class=\"btn__group\">\n <button\n type=\"button\"\n class=\"btn btn__primary js-apply-guests1\"\n (click)=\"applyGuests()\"\n >\n <span>{{\n data()?.engine?.btnApply\n ?.label ?? 'Apply'\n }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 PROMO -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n style=\"\n --label-left-position: 9rem;\n \"\n for=\"promo\"\n >\n <span>{{\n data()?.engine?.promoInput\n ?.title\n }}</span>\n </label>\n <input\n id=\"promo\"\n type=\"text\"\n placeholder=\"xxxx\"\n class=\"booking__fieldControl\"\n formControlName=\"promoInput\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-90\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 SUBMIT -->\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__primary\"\n >\n <span>{{\n data()?.engine?.button?.label\n }}</span>\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n }\n </section>\n </div>\n </section>\n}\n", styles: [":host ::ng-deep .booking__fieldLabel{margin-left:var(--label-left-position, 0)}.booking__fieldControl{font-family:var(--font-text)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: "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: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }, { kind: "directive", type: PuroScriptDirective, selector: "[scriptLoader]", inputs: ["dataLoaded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3000
3000
|
}
|
|
3001
3001
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroEngineModalComponent, decorators: [{
|
|
3002
3002
|
type: Component,
|
|
@@ -3006,7 +3006,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
3006
3006
|
PuroSliderDirective,
|
|
3007
3007
|
PuroDynamicHeadingComponent,
|
|
3008
3008
|
PuroScriptDirective,
|
|
3009
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isOpen()) {\n <section class=\"engine-modal\">\n <div class=\"engine-modal__overlay\" (click)=\"close()\"></div>\n <div class=\"engine-modal__content\">\n <button class=\"engine-modal__close\" type=\"button\" (click)=\"close()\">\n \u2715\n </button>\n\n <section class=\"booking\">\n <!-- \uD83D\uDD39 Slider de ventajas -->\n <div\n class=\"booking__advantages js-active-slider\"\n [puroSlider]=\"data()?.advantages\"\n data-slidesrows_pc=\"3\"\n data-slidesrows_laptop=\"3\"\n data-slidesrows_tablet=\"3\"\n data-slidesrows_mobile=\"3\"\n data-slidesrows_mobile_small=\"3\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-adv-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <div class=\"booking__advantages--inner\">\n @if (data()?.titleAdvantages) {\n <lib-puro-dynamic-heading\n [tag]=\"data()?.tags?.title || 'span'\"\n cssClass=\"booking__title\"\n [content]=\"data()?.titleAdvantages\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"js-adv-slider adv__slider\">\n @for (\n item of data()?.advantages;\n track $index\n ) {\n <div class=\"booking__advItem\">\n @if (item.icon) {\n <div class=\"booking__advIcon\">\n <i class=\"icon-{{ item.icon }}\"></i>\n </div>\n }\n @if (item.title) {\n <span class=\"booking__advText\">{{ item.title }}</span>\n }\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 FORMULARIO -->\n @if (form) {\n <div class=\"booking__form\">\n <div class=\"booking__form--inner\">\n <form\n [formGroup]=\"form\"\n (submit)=\"onSubmit($event)\"\n scriptLoader\n [dataLoaded]=\"true\"\n >\n @if (data()?.engine?.title) {\n <span class=\"booking__title\">{{\n data()?.engine?.title\n }}</span>\n }\n\n <div class=\"booking__box\">\n @if (!isHotel) {\n <!-- \uD83D\uDD39 LOCATION -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner\"\n style=\"\n --label-left-position: 34rem;\n \"\n >\n @if (\n data()?.engine\n ?.locationDropdown\n ?.title\n ) {\n <label\n class=\"booking__fieldLabel\"\n for=\"location\"\n >\n <span>{{\n data()?.engine\n ?.locationDropdown\n ?.title\n }}</span>\n </label>\n }\n <select\n class=\"booking__fieldControl\"\n formControlName=\"location\"\n id=\"location\"\n (input)=\"\n changeHotelLabelPosition(\n $event\n )\n \"\n >\n @for (\n option of data()?.engine\n ?.locationDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-62\"></i>\n </div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 DATEPICKERS -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"In-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine?.datepickerIn\n ?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"In-date2\"\n formControlName=\"datepickerIn\"\n [placeholder]=\"\n data()?.engine?.datepickerIn\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"Out-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.datepickerOut?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"Out-date2\"\n formControlName=\"datepickerOut\"\n [placeholder]=\"\n data()?.engine\n ?.datepickerOut\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 GUESTS -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner js-personas-subfields\"\n role=\"button\"\n >\n <label\n class=\"booking__fieldLabel\"\n for=\"guests\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine?.guestsInput\n ?.title\n }}</span>\n </label>\n <div class=\"booking__fieldControl\">\n 00\n </div>\n <div class=\"booking__fieldIcon\">\n <svg width=\"15\" height=\"8\">\n <use\n href=\"#select-arrow\"\n ></use>\n </svg>\n </div>\n </div>\n\n <div\n class=\"booking__fieldSub js-fieldSub\"\n >\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"adult\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.adultsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"adult1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.adultsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-92\"></i>\n </div>\n </div>\n\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"child\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.kidsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"child1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.kidsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-93\"></i>\n </div>\n </div>\n\n <div class=\"btn__group\">\n <button\n type=\"button\"\n class=\"btn btn__primary js-apply-guests1\"\n (click)=\"applyGuests()\"\n >\n <span>{{\n data()?.engine?.btnApply\n ?.label ?? 'Apply'\n }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 PROMO -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n style=\"\n --label-left-position: 9rem;\n \"\n for=\"promo\"\n >\n <span>{{\n data()?.engine?.promoInput\n ?.title\n }}</span>\n </label>\n <input\n id=\"promo\"\n type=\"text\"\n placeholder=\"xxxx\"\n class=\"booking__fieldControl\"\n formControlName=\"promoInput\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-90\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 SUBMIT -->\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__primary\"\n >\n <span>{{\n data()?.engine?.button?.label\n }}</span>\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n }\n </section>\n </div>\n </section>\n}\n", styles: [":host ::ng-deep .booking__fieldLabel{margin-left:var(--label-left-position, 0)}.booking__fieldControl{font-family:var(--font-text)}\n"] }]
|
|
3009
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isOpen()) {\n <section class=\"engine-modal\">\n <div class=\"engine-modal__overlay\" (click)=\"close()\"></div>\n <div class=\"engine-modal__content\">\n <button class=\"engine-modal__close\" type=\"button\" (click)=\"close()\">\n \u2715\n </button>\n\n <section class=\"booking\">\n <!-- \uD83D\uDD39 Slider de ventajas -->\n <div\n class=\"booking__advantages js-active-slider\"\n [puroSlider]=\"data()?.advantages\"\n data-slidesrows_pc=\"3\"\n data-slidesrows_laptop=\"3\"\n data-slidesrows_tablet=\"3\"\n data-slidesrows_mobile=\"3\"\n data-slidesrows_mobile_small=\"3\"\n data-slides_infinite=\"true\"\n data-slider_name=\"js-adv-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"false\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <div class=\"booking__advantages--inner\">\n @if (data()?.titleAdvantages) {\n <lib-puro-dynamic-heading\n [tag]=\"data()?.tags?.title || 'span'\"\n cssClass=\"booking__title\"\n [content]=\"data()?.titleAdvantages\"\n ></lib-puro-dynamic-heading>\n }\n <div class=\"js-adv-slider adv__slider\">\n @for (\n item of data()?.advantages;\n track $index\n ) {\n <div class=\"booking__advItem\">\n @if (item.icon) {\n <div class=\"booking__advIcon\">\n <i class=\"icon-{{ item.icon }}\"></i>\n </div>\n }\n @if (item.title) {\n <span class=\"booking__advText\">{{ item.title }}</span>\n }\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 FORMULARIO -->\n @if (form) {\n <div class=\"booking__form\">\n <div class=\"booking__form--inner\">\n <form\n [formGroup]=\"form\"\n (submit)=\"onSubmit($event)\"\n scriptLoader\n [dataLoaded]=\"true\"\n >\n @if (data()?.engine?.title) {\n <span class=\"booking__title\">{{\n data()?.engine?.title\n }}</span>\n }\n\n <div class=\"booking__box\">\n @if (!isHotel) {\n <!-- \uD83D\uDD39 LOCATION -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner\"\n style=\"\n --label-left-position: 34rem;\n \"\n >\n @if (\n data()?.engine\n ?.locationDropdown\n ?.title\n ) {\n <label\n class=\"booking__fieldLabel\"\n for=\"location\"\n >\n <span>{{\n data()?.engine\n ?.locationDropdown\n ?.title\n }}</span>\n </label>\n }\n <select\n class=\"booking__fieldControl\"\n formControlName=\"location\"\n id=\"location\"\n (input)=\"\n changeHotelLabelPosition(\n $event\n )\n \"\n >\n @for (\n option of data()?.engine\n ?.locationDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-62\"></i>\n </div>\n </div>\n </div>\n }\n\n <!-- \uD83D\uDD39 DATEPICKERS -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"In-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine?.datepickerIn\n ?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"In-date2\"\n formControlName=\"datepickerIn\"\n [placeholder]=\"\n data()?.engine?.datepickerIn\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"Out-date2\"\n style=\"\n --label-left-position: 14rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.datepickerOut?.title\n }}</span>\n </label>\n <input\n type=\"text\"\n class=\"booking__fieldControl\"\n id=\"Out-date2\"\n formControlName=\"datepickerOut\"\n [placeholder]=\"\n data()?.engine\n ?.datepickerOut\n ?.placeholder\n \"\n data-toggle=\"datepicker1\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-89\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 GUESTS -->\n <div class=\"booking__fieldGroup\">\n <div\n class=\"booking__fieldInner js-personas-subfields\"\n role=\"button\"\n >\n <label\n class=\"booking__fieldLabel\"\n for=\"guests\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine?.guestsInput\n ?.title\n }}</span>\n </label>\n <div class=\"booking__fieldControl\">\n 00\n </div>\n <div class=\"booking__fieldIcon\">\n <svg width=\"15\" height=\"8\">\n <use\n href=\"#select-arrow\"\n ></use>\n </svg>\n </div>\n </div>\n\n <div\n class=\"booking__fieldSub js-fieldSub\"\n >\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"adult\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.adultsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"adult1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.adultsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-92\"></i>\n </div>\n </div>\n\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n for=\"child\"\n style=\"\n --label-left-position: 6rem;\n \"\n >\n <span>{{\n data()?.engine\n ?.kidsDropdown\n ?.title\n }}</span>\n </label>\n <select\n class=\"booking__fieldControl\"\n id=\"child1\"\n (change)=\"applyGuests()\"\n >\n @for (\n option of data()?.engine\n ?.kidsDropdown\n ?.options;\n track $index\n ) {\n <option\n [value]=\"\n option.code\n \"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <div class=\"booking__fieldIcon\">\n <svg width=\"22\" height=\"22\"><use href=\"#little-girl\"></use></svg>\n </div>\n </div>\n\n <div class=\"btn__group\">\n <button\n type=\"button\"\n class=\"btn btn__primary js-apply-guests1\"\n (click)=\"applyGuests()\"\n >\n <span>{{\n data()?.engine?.btnApply\n ?.label ?? 'Apply'\n }}</span>\n </button>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 PROMO -->\n <div class=\"booking__fieldGroup\">\n <div class=\"booking__fieldInner\">\n <label\n class=\"booking__fieldLabel\"\n style=\"\n --label-left-position: 9rem;\n \"\n for=\"promo\"\n >\n <span>{{\n data()?.engine?.promoInput\n ?.title\n }}</span>\n </label>\n <input\n id=\"promo\"\n type=\"text\"\n placeholder=\"xxxx\"\n class=\"booking__fieldControl\"\n formControlName=\"promoInput\"\n (input)=\"\n changeLabelPosition($event)\n \"\n />\n <div class=\"booking__fieldIcon\">\n <i class=\"icon-90\"></i>\n </div>\n </div>\n </div>\n\n <!-- \uD83D\uDD39 SUBMIT -->\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__primary\"\n >\n <span>{{\n data()?.engine?.button?.label\n }}</span>\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n }\n </section>\n </div>\n </section>\n}\n", styles: [":host ::ng-deep .booking__fieldLabel{margin-left:var(--label-left-position, 0)}.booking__fieldControl{font-family:var(--font-text)}\n"] }]
|
|
3010
3010
|
}], ctorParameters: () => [], propDecorators: { isHotel: [{
|
|
3011
3011
|
type: Input
|
|
3012
3012
|
}] } });
|
|
@@ -4008,18 +4008,21 @@ class MapperService {
|
|
|
4008
4008
|
}
|
|
4009
4009
|
mapGallery(props) {
|
|
4010
4010
|
const { texts, buttons, filters = [] } = props;
|
|
4011
|
-
// 1️⃣ Filtrar filtros válidos
|
|
4012
4011
|
const validFilters = filters.filter((f) => {
|
|
4012
|
+
// Mantener "Todos" siempre
|
|
4013
|
+
if (f.all)
|
|
4014
|
+
return true;
|
|
4015
|
+
// Mantener habitaciones parent (rooms:true) siempre
|
|
4013
4016
|
if (f.rooms)
|
|
4014
|
-
return true;
|
|
4017
|
+
return true;
|
|
4018
|
+
// Habitaciones individuales → requieren multimedia
|
|
4015
4019
|
if (f.room)
|
|
4016
4020
|
return Array.isArray(f.multimedia) && f.multimedia.length > 0;
|
|
4021
|
+
// Resto de filtros → requieren multimedia
|
|
4017
4022
|
return Array.isArray(f.multimedia) && f.multimedia.length > 0;
|
|
4018
4023
|
});
|
|
4019
|
-
// 2️⃣ Crear el índice visible
|
|
4020
4024
|
const indexMap = new Map();
|
|
4021
4025
|
validFilters.forEach((f, i) => indexMap.set(f, i));
|
|
4022
|
-
// 3️⃣ Mapear filtros visibles
|
|
4023
4026
|
const mappedFilters = validFilters.map((item, index) => ({
|
|
4024
4027
|
id: index,
|
|
4025
4028
|
all: item.all,
|
|
@@ -4027,7 +4030,6 @@ class MapperService {
|
|
|
4027
4030
|
rooms: item.rooms,
|
|
4028
4031
|
text: item.name,
|
|
4029
4032
|
}));
|
|
4030
|
-
// 4️⃣ Items → controlando multimedia undefined
|
|
4031
4033
|
const items = validFilters.flatMap((filter) => {
|
|
4032
4034
|
if (!Array.isArray(filter.multimedia))
|
|
4033
4035
|
return [];
|
|
@@ -6442,7 +6444,14 @@ class PuroGalleryComponent {
|
|
|
6442
6444
|
});
|
|
6443
6445
|
}
|
|
6444
6446
|
ngOnInit() {
|
|
6445
|
-
|
|
6447
|
+
// Si existe, seleccionar "Todos"
|
|
6448
|
+
const allFilter = this.filters?.find((f) => f.all);
|
|
6449
|
+
if (allFilter) {
|
|
6450
|
+
this.filterSelected.set(allFilter);
|
|
6451
|
+
}
|
|
6452
|
+
else {
|
|
6453
|
+
this.filterSelected.set(this.filters?.[0]);
|
|
6454
|
+
}
|
|
6446
6455
|
}
|
|
6447
6456
|
// filtros normales (no rooms)
|
|
6448
6457
|
filterItems(filter) {
|