ctt-puro 0.44.5 → 0.44.7
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-modal/puro-engine-modal.component.mjs +3 -3
- package/esm2022/lib/components/puro-engine-modal/puro-engine-modal.interface.mjs +1 -1
- package/esm2022/lib/interfaces/puro-site-config.interface.mjs +1 -1
- package/esm2022/lib/services/mapper/mapper.service.mjs +11 -8
- package/fesm2022/ctt-puro.mjs +12 -9
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/puro-engine-modal/puro-engine-modal.interface.d.ts +2 -2
- package/lib/interfaces/puro-site-config.interface.d.ts +9 -0
- package/package.json +1 -1
package/fesm2022/ctt-puro.mjs
CHANGED
|
@@ -2920,7 +2920,7 @@ class PuroEngineModalComponent {
|
|
|
2920
2920
|
this.modal.closeEngine();
|
|
2921
2921
|
}
|
|
2922
2922
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroEngineModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2923
|
-
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 data-slider_name=\"js-adv-slider\"\n [puroSlider]=\"data()?.advantages?.items\"\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?.items;\n track $index\n ) {\n <div class=\"booking__advItem\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n @if (item.title) {\n <span>{{ item.title }}</span>\n }\n @if (item.description) {\n <span>{{ item.description }}</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 }); }
|
|
2923
|
+
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 }); }
|
|
2924
2924
|
}
|
|
2925
2925
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroEngineModalComponent, decorators: [{
|
|
2926
2926
|
type: Component,
|
|
@@ -2930,7 +2930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2930
2930
|
PuroSliderDirective,
|
|
2931
2931
|
PuroDynamicHeadingComponent,
|
|
2932
2932
|
PuroScriptDirective,
|
|
2933
|
-
], 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 data-slider_name=\"js-adv-slider\"\n [puroSlider]=\"data()?.advantages?.items\"\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?.items;\n track $index\n ) {\n <div class=\"booking__advItem\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n @if (item.title) {\n <span>{{ item.title }}</span>\n }\n @if (item.description) {\n <span>{{ item.description }}</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"] }]
|
|
2933
|
+
], 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"] }]
|
|
2934
2934
|
}], ctorParameters: () => [], propDecorators: { isHotel: [{
|
|
2935
2935
|
type: Input
|
|
2936
2936
|
}] } });
|
|
@@ -4608,7 +4608,7 @@ class MapperService {
|
|
|
4608
4608
|
mapTopSlider(props, actions) {
|
|
4609
4609
|
const { texts, multimedia } = props;
|
|
4610
4610
|
const images = this.getArrayImageResponsive(multimedia?.images || multimedia?.multimedia || multimedia?.imagenes);
|
|
4611
|
-
const imagesMobile = this.getArrayImageResponsive(multimedia.imagenesmobile);
|
|
4611
|
+
const imagesMobile = this.getArrayImageResponsive(multimedia.imagenesmobile || []);
|
|
4612
4612
|
// Precarga dinámica de la primera imagen del slider
|
|
4613
4613
|
if (images?.length) {
|
|
4614
4614
|
const heroImg = new Image();
|
|
@@ -4854,17 +4854,20 @@ class MapperService {
|
|
|
4854
4854
|
}
|
|
4855
4855
|
mapEngineModal(props, engineMapped) {
|
|
4856
4856
|
return {
|
|
4857
|
-
titleAdvantages: typeof props?.texts?.
|
|
4858
|
-
? props?.texts?.
|
|
4859
|
-
: props?.texts?.
|
|
4857
|
+
titleAdvantages: typeof props?.texts?.advantagesTitle === 'string'
|
|
4858
|
+
? props?.texts?.advantagesTitle
|
|
4859
|
+
: props?.texts?.advantagesTitle?.contain,
|
|
4860
4860
|
tags: {
|
|
4861
|
-
title: props?.texts?.
|
|
4861
|
+
title: props?.texts?.advantagesTitle?.tag,
|
|
4862
4862
|
},
|
|
4863
4863
|
textColors: {
|
|
4864
|
-
title: props?.texts?.
|
|
4864
|
+
title: props?.texts?.advantagesTitle?.color?.trim(),
|
|
4865
4865
|
},
|
|
4866
4866
|
engine: engineMapped,
|
|
4867
|
-
advantages:
|
|
4867
|
+
advantages: props?.items?.map((item) => ({
|
|
4868
|
+
icon: item?.icon,
|
|
4869
|
+
title: item?.title,
|
|
4870
|
+
})),
|
|
4868
4871
|
};
|
|
4869
4872
|
}
|
|
4870
4873
|
mapWebmap(props) {
|