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.
@@ -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\"><i class=\"icon-93\"></i></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 }); }
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\"><i class=\"icon-93\"></i></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" }]
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; // Habitaciones siempre
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
- this.filterSelected.set(this.filters?.find((f) => f.all));
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) {