tent-lib 0.0.708 → 0.0.710
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tent-lib.mjs","sources":["../../../projects/tent/src/lib/components/atomic/button/button.component.ts","../../../projects/tent/src/lib/components/atomic/button/button.component.html","../../../projects/tent/src/lib/components/atomic/datepicker/datepicker.component.ts","../../../projects/tent/src/lib/components/atomic/datepicker/datepicker.component.html","../../../projects/tent/src/lib/components/atomic/dropdown/dropdown.component.ts","../../../projects/tent/src/lib/components/atomic/dropdown/dropdown.component.html","../../../projects/tent/src/lib/components/atomic/input/input.component.ts","../../../projects/tent/src/lib/components/atomic/input/input.component.html","../../../projects/tent/src/lib/components/atomic/badge/badge.component.ts","../../../projects/tent/src/lib/components/atomic/badge/badge.component.html","../../../projects/tent/src/lib/components/atomic/breadcrump/breadcrump.component.ts","../../../projects/tent/src/lib/components/atomic/breadcrump/breadcrump.component.html","../../../projects/tent/src/lib/components/core/advantages/advantages.component.ts","../../../projects/tent/src/lib/components/core/advantages/advantages.component.html","../../../projects/tent/src/lib/components/core/destination-info/destination-info.component.ts","../../../projects/tent/src/lib/components/core/destination-info/destination-info.component.html","../../../projects/tent/src/lib/components/core/footer-a/footer-a.component.ts","../../../projects/tent/src/lib/components/core/footer-a/footer-a.component.html","../../../projects/tent/src/lib/components/core/footer-b/footer-b.component.ts","../../../projects/tent/src/lib/components/core/footer-b/footer-b.component.html","../../../projects/tent/src/lib/components/core/footer-static/footer-static.component.ts","../../../projects/tent/src/lib/components/core/footer-static/footer-static.component.html","../../../projects/tent/src/lib/components/core/modals/hotel-list-modal/hotel-list-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/hotel-list-modal/hotel-list-modal.component.html","../../../projects/tent/src/lib/components/core/header/header.component.ts","../../../projects/tent/src/lib/components/core/header/header.component.html","../../../projects/tent/src/lib/components/core/header-mobile/header-mobile.component.ts","../../../projects/tent/src/lib/components/core/header-mobile/header-mobile.component.html","../../../projects/tent/src/lib/components/core/hotel-services/hotel-services.component.ts","../../../projects/tent/src/lib/components/core/hotel-services/hotel-services.component.html","../../../projects/tent/src/lib/components/core/hotel-slider/hotel-slider.component.ts","../../../projects/tent/src/lib/components/core/hotel-slider/hotel-slider.component.html","../../../projects/tent/src/lib/components/core/guests-popup/guests-popup.component.ts","../../../projects/tent/src/lib/components/core/guests-popup/guests-popup.component.html","../../../projects/tent/src/lib/components/core/motor/motor.component.ts","../../../projects/tent/src/lib/components/core/motor/motor.component.html","../../../projects/tent/src/lib/pipes/currency.pipe.ts","../../../projects/tent/src/lib/components/core/offer/offer.component.ts","../../../projects/tent/src/lib/components/core/offer/offer.component.html","../../../projects/tent/src/lib/components/core/offer-banner/offer-banner.component.ts","../../../projects/tent/src/lib/components/core/offer-banner/offer-banner.component.html","../../../projects/tent/src/lib/components/core/offer-slider/offer-slider.component.ts","../../../projects/tent/src/lib/components/core/offer-slider/offer-slider.component.html","../../../projects/tent/src/lib/components/core/facilities-slider/facilities-slider.component.ts","../../../projects/tent/src/lib/components/core/facilities-slider/facilities-slider.component.html","../../../projects/tent/src/lib/components/core/modals/room-zoom-modal/room-zoom-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/room-zoom-modal/room-zoom-modal.component.html","../../../projects/tent/src/lib/components/core/room-slider/room-slider.component.ts","../../../projects/tent/src/lib/components/core/room-slider/room-slider.component.html","../../../projects/tent/src/lib/components/core/top-module/top-module.component.ts","../../../projects/tent/src/lib/components/core/top-module/top-module.component.html","../../../projects/tent/src/lib/components/core/travelers/travelers.component.ts","../../../projects/tent/src/lib/components/core/travelers/travelers.component.html","../../../projects/tent/src/lib/components/core/cards-2col/cards-2col.component.ts","../../../projects/tent/src/lib/components/core/cards-2col/cards-2col.component.html","../../../projects/tent/src/lib/components/core/cards-3col/cards-3col.component.ts","../../../projects/tent/src/lib/components/core/cards-3col/cards-3col.component.html","../../../projects/tent/src/lib/components/core/modals/menu-modal/menu-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/menu-modal/menu-modal.component.html","../../../projects/tent/src/lib/components/core/modals/languages-modal/languages-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/languages-modal/languages-modal.component.html","../../../projects/tent/src/lib/components/core/modals/newsletter-modal/newsletter-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/newsletter-modal/newsletter-modal.component.html","../../../projects/tent/src/lib/components/core/modals/checkin-modal/checkin-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/checkin-modal/checkin-modal.component.html","../../../projects/tent/src/lib/components/core/modals/books-modal/books-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/books-modal/books-modal.component.html","../../../projects/tent/src/lib/components/core/contact-form/contact-form.component.ts","../../../projects/tent/src/lib/components/core/contact-form/contact-form.component.html","../../../projects/tent/src/lib/components/core/contact-office/contact-office.component.ts","../../../projects/tent/src/lib/components/core/contact-office/contact-office.component.html","../../../projects/tent/src/lib/components/core/delivery-app/delivery-app.component.ts","../../../projects/tent/src/lib/components/core/delivery-app/delivery-app.component.html","../../../projects/tent/src/lib/components/core/destination-hotels/destination-hotels.component.ts","../../../projects/tent/src/lib/components/core/destination-hotels/destination-hotels.component.html","../../../projects/tent/src/lib/components/core/destination-list/destination-list.component.ts","../../../projects/tent/src/lib/components/core/destination-list/destination-list.component.html","../../../projects/tent/src/lib/components/core/employment-benefits/employment-benefits.component.ts","../../../projects/tent/src/lib/components/core/employment-benefits/employment-benefits.component.html","../../../projects/tent/src/lib/components/core/employment-form/employment-form.component.ts","../../../projects/tent/src/lib/components/core/employment-form/employment-form.component.html","../../../projects/tent/src/lib/components/core/gallery-photos/gallery-photos.component.ts","../../../projects/tent/src/lib/components/core/gallery-photos/gallery-photos.component.html","../../../projects/tent/src/lib/components/core/hotel-about/hotel-about.component.ts","../../../projects/tent/src/lib/components/core/hotel-about/hotel-about.component.html","../../../projects/tent/src/lib/components/core/hotel-app/hotel-app.component.ts","../../../projects/tent/src/lib/components/core/hotel-app/hotel-app.component.html","../../../projects/tent/src/lib/components/core/hotel-equipment/hotel-equipment.component.ts","../../../projects/tent/src/lib/components/core/hotel-equipment/hotel-equipment.component.html","../../../projects/tent/src/lib/components/core/hotel-location/hotel-location.component.ts","../../../projects/tent/src/lib/components/core/hotel-location/hotel-location.component.html","../../../projects/tent/src/lib/components/core/hotels-list/hotels-list.component.ts","../../../projects/tent/src/lib/components/core/hotels-list/hotels-list.component.html","../../../projects/tent/src/lib/components/core/info-slider/info-slider.component.ts","../../../projects/tent/src/lib/components/core/info-slider/info-slider.component.html","../../../projects/tent/src/lib/components/core/location-beach/location-beach.component.ts","../../../projects/tent/src/lib/components/core/location-beach/location-beach.component.html","../../../projects/tent/src/lib/components/core/location-how/location-how.component.ts","../../../projects/tent/src/lib/components/core/location-how/location-how.component.html","../../../projects/tent/src/lib/components/core/location-map/location-map.component.ts","../../../projects/tent/src/lib/components/core/location-map/location-map.component.html","../../../projects/tent/src/lib/components/core/module-404/module-404.component.ts","../../../projects/tent/src/lib/components/core/module-404/module-404.component.html","../../../projects/tent/src/lib/components/core/module-google-maps/module-google-maps.component.ts","../../../projects/tent/src/lib/components/core/module-google-maps/module-google-maps.component.html","../../../projects/tent/src/lib/components/core/module-search/module-search.component.ts","../../../projects/tent/src/lib/components/core/module-search/module-search.component.html","../../../projects/tent/src/lib/components/core/offer-list/offer-list.component.ts","../../../projects/tent/src/lib/components/core/offer-list/offer-list.component.html","../../../projects/tent/src/lib/components/core/offer-details/offer-details.component.ts","../../../projects/tent/src/lib/components/core/offer-details/offer-details.component.html","../../../projects/tent/src/lib/components/core/registration/registration.component.ts","../../../projects/tent/src/lib/components/core/registration/registration.component.html","../../../projects/tent/src/lib/components/core/services-details/services-details.component.ts","../../../projects/tent/src/lib/components/core/services-details/services-details.component.html","../../../projects/tent/src/lib/components/core/submenu/submenu.component.ts","../../../projects/tent/src/lib/components/core/submenu/submenu.component.html","../../../projects/tent/src/lib/components/core/thanks/thanks.component.ts","../../../projects/tent/src/lib/components/core/thanks/thanks.component.html","../../../projects/tent/src/lib/components/core/webmap/webmap.component.ts","../../../projects/tent/src/lib/components/core/webmap/webmap.component.html","../../../projects/tent/src/lib/components/core/generic-head/generic-head.component.ts","../../../projects/tent/src/lib/components/core/generic-head/generic-head.component.html","../../../projects/tent/src/lib/components/core/modals/gallery-category/gallery-category.component.ts","../../../projects/tent/src/lib/components/core/modals/gallery-category/gallery-category.component.html","../../../projects/tent/src/lib/components/core/brunch/brunch.component.ts","../../../projects/tent/src/lib/components/core/brunch/brunch.component.html","../../../projects/tent/src/lib/components/core/brunch-gallery/brunch-gallery.component.ts","../../../projects/tent/src/lib/components/core/brunch-gallery/brunch-gallery.component.html","../../../projects/tent/src/services/screen-sizer/screen-sizer.service.token.ts","../../../projects/tent/src/services/screen-sizer/screen-sizer.service.ts","../../../projects/tent/src/public-api.ts","../../../projects/tent/src/tent-lib.ts"],"sourcesContent":["import { CommonModule, NgClass } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-button',\r\n standalone: true,\r\n imports: [CommonModule, RouterModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ButtonComponent {\r\n @Input() type: ButtonType = 'dark-box';\r\n @Input() label?: string;\r\n @Input() url?: string;\r\n @Input() linkType?: string = 'external';\r\n @Input() icon?: string;\r\n @Input() socialMedia?:\r\n | 'instagram'\r\n | 'tiktok'\r\n | 'youtube'\r\n | 'facebook'\r\n | 'linkedin';\r\n @Input() iconPosition?: 'left' | 'right' = 'left';\r\n @Input() boxWidth?: string;\r\n @Input() innerContent?: string;\r\n @Input() linkSizeIcon?: string;\r\n @Input() closeButton?: boolean;\r\n @Input() disabled?: boolean;\r\n @Input() name?: string;\r\n\r\n @Output() btnClick = new EventEmitter<void>();\r\n\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n get showBtn(): boolean {\r\n return (this.label || this.icon || this.innerContent) !== undefined;\r\n }\r\n\r\n get width(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n this.boxWidth ? `--size-btn-box: ${this.boxWidth}` : ''\r\n );\r\n }\r\n\r\n get linkIconStyle(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n this.linkSizeIcon\r\n ? `--btns-size-icon-links: ${this.linkSizeIcon}`\r\n : ''\r\n );\r\n }\r\n\r\n get isInternalLink(): boolean {\r\n return this.linkType === 'internal';\r\n }\r\n\r\n btnClicked(event: Event) {\r\n if (this.linkType === 'internal') {\r\n event?.preventDefault();\r\n }\r\n this.btnClick.emit();\r\n }\r\n}\r\n\r\nexport type ButtonType =\r\n | 'light-box'\r\n | 'dark-box'\r\n | 'dark-box-white'\r\n | 'dark-box-filled'\r\n | 'dark-link'\r\n | 'light-circle'\r\n | 'dark-circle'\r\n | 'dark-circle-filled';\r\n","@if (showBtn) { @if (url) { @if (isInternalLink) {\r\n<a\r\n class=\"btn\"\r\n [ngClass]=\"{\r\n 'btn--box':\r\n type === 'light-box' ||\r\n type === 'dark-box-white' ||\r\n type === 'dark-box' ||\r\n type === 'dark-box-filled',\r\n 'btn--dark': type === 'dark-box' || type === 'dark-circle',\r\n 'btn--dark-white': type === 'dark-box-white',\r\n 'btn--dark-filled':\r\n type === 'dark-box-filled' || type === 'dark-circle-filled',\r\n 'btn--light': type === 'light-box' || type === 'light-circle',\r\n 'btn--circle--social-media': socialMedia,\r\n disabled: disabled,\r\n 'btn--circle':\r\n type === 'dark-circle' ||\r\n type === 'light-circle' ||\r\n type === 'dark-circle-filled',\r\n 'btn--close': closeButton,\r\n 'btn--link': type === 'dark-link'\r\n }\"\r\n [routerLink]=\"[url]\"\r\n target=\"_self\"\r\n [style]=\"width\"\r\n [href]=\"url\"\r\n [attr.aria-label]=\"label\"\r\n (click)=\"btnClicked($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n} @else {\r\n<a\r\n class=\"btn\"\r\n [ngClass]=\"{\r\n 'btn--box':\r\n type === 'light-box' ||\r\n type === 'dark-box-white' ||\r\n type === 'dark-box' ||\r\n type === 'dark-box-filled',\r\n 'btn--dark': type === 'dark-box' || type === 'dark-circle',\r\n 'btn--dark-white': type === 'dark-box-white',\r\n 'btn--dark-filled':\r\n type === 'dark-box-filled' || type === 'dark-circle-filled',\r\n 'btn--light': type === 'light-box' || type === 'light-circle',\r\n 'btn--circle--social-media': socialMedia,\r\n disabled: disabled,\r\n 'btn--circle':\r\n type === 'dark-circle' ||\r\n type === 'light-circle' ||\r\n type === 'dark-circle-filled',\r\n 'btn--close': closeButton,\r\n 'btn--link': type === 'dark-link'\r\n }\"\r\n target=\"_blank\"\r\n [style]=\"width\"\r\n [href]=\"url\"\r\n [attr.aria-label]=\"label\"\r\n (click)=\"btnClicked($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n} } @else {\r\n<!--BUTTON BOX-->\r\n@if(type === 'light-box' || type ==='dark-box-white' || type ==='dark-box' ||\r\ntype ==='dark-box-filled') {\r\n<button\r\n class=\"btn btn--box\"\r\n [ngClass]=\"{\r\n 'btn--dark': type === 'dark-box',\r\n 'btn--dark-white': type === 'dark-box-white',\r\n 'btn--dark-filled': type === 'dark-box-filled',\r\n 'btn--light': type === 'light-box',\r\n 'disabled': disabled,\r\n }\"\r\n [style]=\"width\"\r\n (click)=\"btnClicked($event)\"\r\n [attr.disabled]=\"disabled ? true : null\"\r\n [name]=\"name\"\r\n [attr.aria-label]=\"name\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</button>\r\n\r\n}\r\n<!--BUTTON CIRCLE-->\r\n@if(type === 'light-circle' || type === 'dark-circle' || type ===\r\n'dark-circle-filled') {\r\n<div class=\"btn--circle-container\">\r\n <button\r\n class=\"btn btn--circle btn--circle--{{ socialMedia }}\"\r\n [ngClass]=\"{\r\n 'btn--circle--social-media': socialMedia,\r\n 'btn--dark': type === 'dark-circle',\r\n 'btn--light': type === 'light-circle',\r\n 'btn--dark-filled': type === 'dark-circle-filled',\r\n 'btn--close': closeButton\r\n }\"\r\n (click)=\"btnClicked($event)\"\r\n [name]=\"name\"\r\n [attr.aria-label]=\"name\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </button>\r\n</div>\r\n}\r\n\r\n<!--BUTTON LINK-->\r\n@if (type === 'dark-link') {\r\n<p class=\"btn btn--link\" (click)=\"btnClicked($event)\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</p>\r\n} } }\r\n\r\n<ng-template #content>\r\n <!--BUTTON BOX-->\r\n @if(type === 'light-box' || type ==='dark-box-white' || type ==='dark-box'\r\n || type ==='dark-box-filled') {\r\n\r\n <div class=\"btn--box-container\">\r\n @if(icon && iconPosition === 'left' ) {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"btn--box-icon\"\r\n [ngClass]=\"icon\"\r\n ></mat-icon>\r\n }\r\n\r\n {{ label }}\r\n\r\n @if(icon && iconPosition === 'right') {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"btn--box-icon\"\r\n [ngClass]=\"icon\"\r\n ></mat-icon>\r\n }\r\n </div>\r\n\r\n }\r\n <!--BUTTON CIRCLE-->\r\n @if(type === 'light-circle' || type === 'dark-circle' || type ===\r\n 'dark-circle-filled') { @if (icon) {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n [ngClass]=\"icon\"\r\n class=\"btn--circle-icon\"\r\n ></mat-icon>\r\n\r\n } }\r\n\r\n <!--BUTTON LINK-->\r\n @if (type === 'dark-link') { @if(icon && iconPosition === 'left' ) {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n [ngClass]=\"icon\"\r\n class=\"btn--link-icon\"\r\n ></mat-icon>\r\n } @if (label) {\r\n {{ label }}\r\n } @else {\r\n <span [innerHTML]=\"innerContent\"></span>\r\n } @if(icon && iconPosition === 'right') {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n [ngClass]=\"icon\"\r\n class=\"btn--link-icon\"\r\n [style]=\"linkIconStyle\"\r\n ></mat-icon>\r\n } }\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n forwardRef,\r\n inject,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { Calendar, CalendarModule } from 'primeng/calendar';\r\n\r\n@Component({\r\n selector: 'tent-datepicker',\r\n standalone: true,\r\n imports: [CommonModule, CalendarModule, FormsModule, MatIconModule],\r\n templateUrl: './datepicker.component.html',\r\n styleUrl: './datepicker.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DatepickerComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DatepickerComponent implements ControlValueAccessor {\r\n @ViewChild('datepicker') datepicker!: Calendar;\r\n @Input() value?: Date[];\r\n @Input() title?: string;\r\n @Input() placeholder?: string;\r\n @Input() icon?: string;\r\n @Input() isDisabled = false;\r\n @Input() bordered = false;\r\n @Input() sameTitlePlaceholder = false;\r\n\r\n @Output() change = new EventEmitter<typeof this.value>();\r\n\r\n dateFormat = 'dd-mm-yy';\r\n minDate = new Date();\r\n\r\n onChange = (_: Date[] | undefined) => {};\r\n onTouch = () => {};\r\n\r\n dateChange(date: Date[] | undefined): void {\r\n this.value = date;\r\n\r\n if (date && this.sameTitlePlaceholder && !this.title) {\r\n this.title = this.placeholder;\r\n }\r\n\r\n this.onTouch();\r\n this.onChange(this.value);\r\n this.change.emit(this.value);\r\n }\r\n\r\n openCalendar(): void {\r\n this.datepicker.toggle();\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: Date[] | undefined): void {\r\n if (value) {\r\n this.value = value;\r\n } else {\r\n this.value = undefined;\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n}\r\n","<div class=\"datepicker--wrapper\">\r\n <div class=\"datepicker--content\">\r\n @if (title) {\r\n <p class=\"datepicker--title\">\r\n {{ title }}\r\n </p>\r\n }\r\n <p-calendar\r\n class=\"datepicker\"\r\n [showOtherMonths]=\"false\"\r\n [minDate]=\"minDate\"\r\n [dateFormat]=\"dateFormat\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"isDisabled\"\r\n selectionMode=\"range\"\r\n [numberOfMonths]=\"2\"\r\n [placeholder]=\"placeholder\"\r\n (ngModelChange)=\"dateChange($event)\"\r\n #datepicker\r\n >\r\n </p-calendar>\r\n </div>\r\n\r\n <mat-icon\r\n (click)=\"openCalendar()\"\r\n fontSet=\"icomoon\"\r\n class=\"datepicker--icon flex-row flex-row--center\"\r\n [ngClass]=\"icon\"\r\n ></mat-icon>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n forwardRef,\r\n viewChild,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\r\n\r\n@Component({\r\n selector: 'tent-dropdown',\r\n standalone: true,\r\n imports: [CommonModule, DropdownModule, FormsModule, CommonModule],\r\n templateUrl: './dropdown.component.html',\r\n styleUrl: './dropdown.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class DropdownComponent implements ControlValueAccessor, OnInit {\r\n @Input() value?: DropdownOption;\r\n @Input() placeholder?: string;\r\n @Input() title?: string;\r\n @Input() smallTitle?: string;\r\n @Input() options?: DropdownOption[];\r\n @Input() name!: string;\r\n @Input() iconLeft?: string;\r\n @Input() error?: string;\r\n @Input() theme?: string;\r\n @Input() valid = true;\r\n @Input() isDisabled = false;\r\n @Input() light = false;\r\n @Input() showTitleTop = false;\r\n @Input() sameTitlePlaceholder = false;\r\n @Input() staticPosition = true;\r\n\r\n @Output() change = new EventEmitter<DropdownOption>();\r\n @Output() dropdownBlur = new EventEmitter<void>();\r\n\r\n optionsWithSubcategories: DropdownOption[] = [];\r\n\r\n isThereSubcategories?: boolean;\r\n\r\n onChange = (_: DropdownOption | undefined) => {};\r\n onTouch = () => {};\r\n\r\n constructor(\r\n private readonly renderer: Renderer2,\r\n private readonly cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.isThereSubcategories = this.options?.some(\r\n (option) => option.subcategories !== undefined\r\n );\r\n if (this.isThereSubcategories) {\r\n this.options?.forEach((option) => {\r\n this.optionsWithSubcategories.push(option);\r\n\r\n if (option.subcategories?.length) {\r\n option.subcategories.forEach((suboption) => {\r\n this.optionsWithSubcategories.push(suboption);\r\n });\r\n }\r\n });\r\n\r\n this.options = this.optionsWithSubcategories;\r\n }\r\n }\r\n\r\n onShowDropdown(): void {\r\n if (this.isThereSubcategories) {\r\n let i = 0;\r\n this.options?.forEach((option) => {\r\n if (!option.subcategories?.length && i > 0) {\r\n this.renderer.setStyle(\r\n document.getElementsByTagName('p-dropdownitem')[i]\r\n .children[0],\r\n 'padding-left',\r\n '30px'\r\n );\r\n } else {\r\n this.renderer.setStyle(\r\n document.getElementsByTagName('p-dropdownitem')[i]\r\n .children[0],\r\n 'font-weight',\r\n '700'\r\n );\r\n }\r\n i++;\r\n });\r\n }\r\n }\r\n\r\n valueChange(value: DropdownOption | undefined): void {\r\n this.value = value;\r\n\r\n if (value && this.sameTitlePlaceholder && !this.title) {\r\n this.title = this.placeholder;\r\n }\r\n\r\n this.onTouch();\r\n this.onChange(this.value);\r\n this.change.emit(this.value);\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: DropdownOption | undefined): void {\r\n if (value) {\r\n this.value = value;\r\n } else {\r\n this.value = undefined;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n}\r\n\r\nexport interface DropdownOption {\r\n name: string;\r\n code: string;\r\n subcategories?: DropdownOption[];\r\n ticker?: string;\r\n}\r\n","<div\r\n class=\"dropdown--wrapper\"\r\n [ngClass]=\"{\r\n 'dropdown--wrapper--light': light,\r\n 'dropdown--wrapper--laundry': theme === 'theme-laundry',\r\n invalid: !valid\r\n }\"\r\n>\r\n <div class=\"dropdown--content\">\r\n @if (iconLeft) {\r\n <mat-icon\r\n fontset=\"icomoon\"\r\n class=\"color--brown\"\r\n [ngClass]=\"iconLeft\"\r\n ></mat-icon>\r\n }\r\n <div class=\"dropdown--dropdown\">\r\n @if (title) {\r\n <div class=\"dropdown--title-wrapper\">\r\n <span class=\"dropdown--title color--brown\">\r\n {{ title }}\r\n </span>\r\n @if (smallTitle) {\r\n <small class=\"dropdown--small-title\">\r\n {{ smallTitle }}\r\n </small>\r\n\r\n }\r\n </div>\r\n\r\n }\r\n <p-dropdown\r\n [ngClass]=\"{\r\n 'dropdown--big': iconLeft,\r\n 'dropdown--static': staticPosition\r\n }\"\r\n class=\"dropdown\"\r\n [options]=\"options\"\r\n [(ngModel)]=\"value\"\r\n optionLabel=\"name\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled\"\r\n [name]=\"name\"\r\n dropdownIcon=\"icon-pointer-down\"\r\n (ngModelChange)=\"valueChange($event)\"\r\n (onShow)=\"onShowDropdown()\"\r\n (onHide)=\"dropdownBlur.emit()\"\r\n >\r\n </p-dropdown>\r\n </div>\r\n </div>\r\n <span class=\"icon-pointer-down dropdown--icon\"></span>\r\n</div>\r\n@if (!valid) {\r\n<span class=\"form-error\">{{ error }}</span>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n forwardRef,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { InputI } from '../../../interfaces/atomic/input.interface';\r\n\r\n@Component({\r\n selector: 'tent-input',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './input.component.html',\r\n styleUrl: './input.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputComponent implements InputI, ControlValueAccessor {\r\n @Input() type!: 'email' | 'password' | 'text' | 'number' | 'file' | 'tel';\r\n @Input() value?: string | File = '';\r\n @Input() placeholder?: string;\r\n @Input() icon?: string;\r\n @Input() title?: string;\r\n @Input() required?: boolean;\r\n @Input() name!: string;\r\n @Input() error?: string;\r\n @Input() isDisabled = false;\r\n @Input() valid = true;\r\n @Input() iconBackOffice = false;\r\n\r\n @Output() change = new EventEmitter<string | File>();\r\n @Output() inputBlur = new EventEmitter<void>();\r\n\r\n onChange = (_: string | File) => {};\r\n onTouch = () => {};\r\n\r\n constructor() {}\r\n\r\n onInputChange(event: Event): void {\r\n const inputElement = event.target as HTMLInputElement;\r\n\r\n if (this.type === 'tel') {\r\n inputElement.value = inputElement.value.replace(/[^0-9+]/g, '');\r\n }\r\n\r\n if (this.type === 'file') {\r\n const files = inputElement.files;\r\n if (files && files.length > 0) {\r\n this.valueChange(Array.from(files)[0]); // Maneja archivos\r\n }\r\n } else {\r\n this.valueChange(inputElement.value); // Maneja valores de texto\r\n }\r\n }\r\n\r\n valueChange(value: string | File): void {\r\n this.value = value;\r\n this.onChange(value);\r\n this.onTouch();\r\n this.change.emit(value);\r\n this.inputBlur.emit();\r\n }\r\n\r\n getValuePath(): string {\r\n return (this.value as File)?.name ?? '';\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: string | File): void {\r\n this.value = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n}\r\n","<div class=\"flex-col\">\r\n @if (title) {\r\n <p class=\"input--title\">\r\n @if (required) {\r\n <span class=\"input--required\"></span>\r\n }\r\n {{ title }}\r\n </p>\r\n }\r\n <div class=\"input--wrapper\" [ngClass]=\"{ invalid: !valid }\">\r\n <input\r\n class=\"input\"\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [value]=\"type !== 'file' ? value : ''\"\r\n [placeholder]=\"placeholder ?? ''\"\r\n (change)=\"onInputChange($event)\"\r\n [attr.accept]=\"type === 'file' ? 'application/pdf' : null\"\r\n (blur)=\"inputBlur.emit()\"\r\n />\r\n @if (type === 'file' && value) {\r\n <span class=\"input--path\">{{ getValuePath() }}</span>\r\n } @if (icon) {\r\n <span\r\n class=\"input--icon \"\r\n [ngClass]=\"{ 'input--icon--backoffice': iconBackOffice }\" >\r\n <span class=\"icon-{{ icon }}\">\r\n </span>\r\n </span>\r\n }\r\n </div>\r\n @if (!valid) {\r\n <span class=\"form-error\">\r\n {{ error }}\r\n </span>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'tent-badge',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent {\n @Input() orientation: 'left' | 'right' = 'right';\n @Input() rounded?: boolean;\n @Input() label?: string;\n}\n","<div\n class=\"badge bg-orange color--white\"\n [ngClass]=\"{\n 'badge--rounded': rounded,\n 'badge--left': orientation === 'left' && !rounded,\n 'badge--right': orientation === 'right' && !rounded\n }\"\n>\n <span>{{ label }}</span>\n</div>\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { BreadcrumpI } from '../../../interfaces/atomic/breadcrump.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-breadcrump',\r\n standalone: true,\r\n imports: [CommonModule, RouterModule],\r\n templateUrl: './breadcrump.component.html',\r\n styleUrl: './breadcrump.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BreadcrumpComponent implements BreadcrumpI, OnInit {\r\n @Input({ required: true }) breadcrumps!: Breadcrump[];\r\n @Input() selected?: Breadcrump;\r\n\r\n @Output() breadcrumpClick = new EventEmitter<Breadcrump>();\r\n\r\n breadcrumpClicked(breadcrump: Breadcrump, event: Event): void {\r\n event.preventDefault();\r\n this.selected = this.breadcrumps.find((item) => item === breadcrump);\r\n this.breadcrumpClick.emit(breadcrump);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.selected = this.breadcrumps[this.breadcrumps.length - 1];\r\n }\r\n}\r\n\r\nexport interface Breadcrump {\r\n label: string;\r\n url: string;\r\n}\r\n","<ol class=\"breadcrump\">\r\n @for (breadcrump of breadcrumps; track $index; let last = $last) {\r\n <li class=\"breadcrump__element\">\r\n <a\r\n [href]=\"breadcrump.url\"\r\n [routerLink]=\"[breadcrump.url]\"\r\n [attr.aria-label]=\"breadcrump.label\"\r\n class=\"breadcrump__item\"\r\n (click)=\"breadcrumpClicked(breadcrump, $event)\"\r\n [ngClass]=\"{\r\n 'breadcrump__item--active': selected?.label === breadcrump.label\r\n }\"\r\n >\r\n {{ breadcrump.label }}\r\n </a>\r\n @if (!last) {\r\n <div class=\"breadcrump__separator\">·</div>\r\n }\r\n </li>\r\n }\r\n</ol>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport {\r\n CarouselComponent,\r\n CarouselModule,\r\n OwlOptions,\r\n} from 'ngx-owl-carousel-o';\r\n\r\n@Component({\r\n selector: 'tent-advantages',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule, MatIconModule],\r\n templateUrl: './advantages.component.html',\r\n styleUrl: './advantages.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AdvantagesComponent {\r\n @ViewChild(CarouselComponent) carousel!: CarouselComponent;\r\n\r\n @Input() title?: string;\r\n @Input() items?: AdvantageItem[];\r\n @Input() sliderControls = [\r\n '/assets/tent/img/arrow-left.svg',\r\n '/assets/tent/img/arrow-right.svg',\r\n ];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n nav: false,\r\n navText: [\r\n '<img src=\"/assets/tent/img/arrow-left.svg\" alt=\"left\" class=\" \" >',\r\n '<img src=\"/assets/tent/img/arrow-right.svg\" alt=\"left\" class=\" \" >',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n margin: 0,\r\n },\r\n 688: {\r\n items: 2,\r\n margin: 0,\r\n },\r\n 1024: {\r\n items: 2,\r\n margin: 0,\r\n },\r\n 1130: {\r\n items: 3,\r\n margin: 0,\r\n },\r\n },\r\n };\r\n\r\n prevClick(): void {\r\n this.carousel.prev();\r\n }\r\n\r\n nextClick(): void {\r\n this.carousel.next();\r\n }\r\n}\r\n\r\nexport interface AdvantageItem {\r\n title: string;\r\n icon: string;\r\n}\r\n","<section class=\"advantages module-spacer--bottom\">\r\n <div class=\"advantages--content wrapper-big\">\r\n @if (title) {\r\n <h4 class=\"title--42 pb--20 color--brown\">{{ title }}</h4>\r\n }\r\n\r\n <div class=\"advantages--box\">\r\n <owl-carousel-o\r\n class=\"slider-arrows--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) { @if (item.title) {\r\n <ng-template carouselSlide>\r\n <div class=\"advantages--slide flex-row flex-row--between\">\r\n <p class=\"advantages--text color--brown\">\r\n {{ item.title }}\r\n </p>\r\n\r\n @if (item.icon) {\r\n <mat-icon\r\n [ngClass]=\"item.icon\"\r\n class=\"color--brown\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n }\r\n\r\n <div class=\"advantages--separator\"></div>\r\n </div>\r\n </ng-template>\r\n\r\n } }\r\n </owl-carousel-o>\r\n <div class=\"advantages--nav\">\r\n <div class=\"advantages--nav--inner\">\r\n <div class=\"advantages--nav--left\">\r\n <img\r\n (click)=\"prevClick()\"\r\n [src]=\"sliderControls[0]\"\r\n alt=\"left\"\r\n class=\"\"\r\n />\r\n </div>\r\n <div class=\"advantages--nav--right\">\r\n <img\r\n (click)=\"nextClick()\"\r\n [src]=\"sliderControls[1]\"\r\n alt=\"right\"\r\n class=\" \"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-destination-info',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './destination-info.component.html',\r\n styleUrl: './destination-info.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DestinationInfoComponent {\r\n @Input() image!: string;\r\n @Input() title!: string;\r\n @Input() bannerTitle!: string;\r\n @Input() bannerDescription?: string;\r\n @Input() titleDark!: string;\r\n @Input() buttons!: ButtonI[];\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n}\r\n","<section class=\"destinantion-info module-spacer--bottom\">\r\n <div class=\"destinantion-info--content wrapper-big\">\r\n @if (title) {\r\n <h3 class=\"destinantion-info--title title--80 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h3>\r\n }\r\n <div class=\"destinantion-info--inner\">\r\n @if (image) {\r\n <div class=\"destinantion-info--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n </div>\r\n }\r\n <div class=\"destinantion-info--des bg-brown-90\">\r\n @if (bannerTitle) {\r\n <h4 class=\"title--54 color--white\">\r\n {{ bannerTitle }}\r\n </h4>\r\n } @if (bannerDescription) {\r\n <p class=\"text color--white\">\r\n {{ bannerDescription }}\r\n </p>\r\n } @if (buttons.length) {\r\n <div\r\n class=\"destinantion-info--btns flex-row flex-row--left mt--20\"\r\n >\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n type=\"light-box\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-footer-a',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './footer-a.component.html',\r\n styleUrl: './footer-a.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FooterAComponent {\r\n collapsed1 = false;\r\n collapsed2 = true;\r\n collapsed3 = true;\r\n collapsed4 = true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n toggleCollapse2(): void {\r\n this.collapsed2 = !this.collapsed2;\r\n }\r\n toggleCollapse3(): void {\r\n this.collapsed3 = !this.collapsed3;\r\n }\r\n toggleCollapse4(): void {\r\n this.collapsed4 = !this.collapsed4;\r\n }\r\n}\r\n"," \r\n\r\n\r\n<section class=\"footer-a module-spacer-small--bottom wrapper-medium\">\r\n <div class=\"footer-a--content\">\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse1()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed2 ? 'close' : 'open'\">\r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse2()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed3 ? 'close' : 'open'\"> \r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse3()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed4 ? 'close' : 'open'\"> \r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse4()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4> \r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n </div>\r\n</section>","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../public-api';\r\n\r\n@Component({\r\n selector: 'tent-footer-b',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './footer-b.component.html',\r\n styleUrl: './footer-b.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FooterBComponent {\r\n @Input() linksWithImage?: FooterBLinkWithImage[];\r\n @Input() logo?: FooterBLinkWithImage;\r\n @Input() title?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() buttons?: ButtonI[];\r\n}\r\n\r\nexport interface FooterBLinkWithImage {\r\n img: string;\r\n alt?: string;\r\n url: string;\r\n}\r\n","<section class=\"footer-b wrapper-medium\">\r\n <div class=\"footer-b--content\">\r\n @if (logo || linksWithImage?.length) {\r\n <div class=\"footer-b--box footer-b--box--left\">\r\n <div class=\"footer-b--box--inner\">\r\n @if (logo) {\r\n <a\r\n class=\"footer-b--logo\"\r\n [href]=\"logo.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"logo.alt\"\r\n >\r\n <img [src]=\"logo.img\" [alt]=\"logo.alt\" />\r\n </a>\r\n } @if (linksWithImage?.length) {\r\n <div class=\"footer-b--logos\">\r\n @for (link of linksWithImage; track $index) {\r\n <a\r\n class=\"footer-b--logos--logo\"\r\n [href]=\"link.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"link.alt\"\r\n >\r\n <img [src]=\"link.img\" [alt]=\"link.alt\" />\r\n </a>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n } @if (links?.length || buttons?.length) {\r\n\r\n <div class=\"footer-b--box footer-b--box--right\">\r\n <div class=\"footer-b--box--inner\">\r\n @if (title || links?.length) {\r\n <div class=\"footer-b--info\">\r\n @if (title) {\r\n <h3 class=\"title--42 color--brown\">{{ title }}</h3>\r\n } @if (links) { @for (link of links; track $index) {\r\n <a\r\n [href]=\"link.url\"\r\n class=\"link-regular color--brown\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n } }\r\n </div>\r\n } @if (buttons?.length) {\r\n <div class=\"footer-b--btns\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n type=\"dark-box-white\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-footer-static',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './footer-static.component.html',\r\n styleUrl: './footer-static.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FooterStaticComponent {\r\n @Input({ required: true }) footerLinks?: ButtonI[];\r\n @Input() title?: string;\r\n @Input() scrollBtn?: ButtonI;\r\n\r\n isInternalLink(link: ButtonI): boolean {\r\n return link.linkType === 'internal';\r\n }\r\n\r\n linkClicked(event: Event, link: ButtonI): void {\r\n if (link.linkType === 'internal') {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n scrollClicked(): void {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n }\r\n}\r\n","<footer class=\"footer wrapper-medium\">\r\n @if (title) {\r\n <div class=\"footer__copyright\">\r\n <p class=\"text color--brown text--small\">{{ title }}</p>\r\n </div>\r\n } @if (footerLinks?.length) {\r\n <ul class=\"footer__links\">\r\n @for (link of footerLinks; track $index) {\r\n <li class=\"footer__link\">\r\n @if (isInternalLink(link)) {\r\n <a\r\n class=\"link link--brown\"\r\n [href]=\"link.url\"\r\n [routerLink]=\"[link.url]\"\r\n (click)=\"linkClicked($event, link)\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n\r\n } @else {\r\n <a\r\n class=\"link link--brown\"\r\n [href]=\"link.url\"\r\n target=\"_blank\"\r\n (click)=\"linkClicked($event, link)\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n } @if (scrollBtn) {\r\n <div class=\"scroll-top\">\r\n <span class=\"text color--brown text--small\">{{ scrollBtn.label }}</span>\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"scrollBtn.icon\"\r\n (click)=\"scrollClicked()\"\r\n [name]=\"scrollBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n }\r\n</footer>\r\n","import { CommonModule, Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-hotel-list-modal',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './hotel-list-modal.component.html',\r\n styleUrl: './hotel-list-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelListModalComponent implements OnInit {\r\n @Input() hotels?: HotelListModalCity[];\r\n @Input() button?: ButtonI;\r\n @Input() destinyButton?: ButtonI;\r\n @Input() title?: string;\r\n\r\n @Output() elementClick = new EventEmitter<ElementObject>();\r\n\r\n collapsed: boolean[] = [];\r\n\r\n constructor(private readonly location: Location) {}\r\n\r\n ngOnInit(): void {\r\n if (this.hotels?.length) {\r\n this.collapsed = new Array(this.hotels.length).fill(true);\r\n }\r\n }\r\n\r\n elementClicked(\r\n event: Event | undefined,\r\n element: ButtonI,\r\n type: ElementType\r\n ): void {\r\n event?.preventDefault();\r\n this.elementClick.emit({ element, type });\r\n }\r\n\r\n toggleCollapsed(index: number): void {\r\n this.collapsed[index] = !this.collapsed[index];\r\n }\r\n\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n\r\nexport interface HotelListModalCity {\r\n city: ButtonI;\r\n items: HotelListModalItem[];\r\n}\r\n\r\nexport interface HotelListModalItem {\r\n title: ButtonI;\r\n hotels: {\r\n img: string;\r\n btn: ButtonI;\r\n }[];\r\n}\r\n\r\nexport type ElementType = 'destinyParent' | 'destiny' | 'hotel';\r\nexport interface ElementObject {\r\n element: ButtonI;\r\n type: ElementType;\r\n}\r\n","<div class=\"hotel-list\">\r\n <div class=\"hotel-list--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"back()\"\r\n ></tent-button>\r\n </div>\r\n\r\n <!--DESKTOP-->\r\n\r\n @if (button) {\r\n <div class=\"hotel-list--btn\">\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n boxWidth=\"308px\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType!\"\r\n class=\"hotel-list--main-button\"\r\n ></tent-button>\r\n </div>\r\n }\r\n\r\n <div class=\"hotel-list--content\">\r\n @for (destiny of hotels; track $index) {\r\n <div class=\"hotel-list--container\">\r\n @if (destiny.city) {\r\n <a\r\n [href]=\"destiny.city.url\"\r\n [routerLink]=\"destiny.city.url\"\r\n [attr.aria-label]=\"destiny.city.label\"\r\n (click)=\"elementClicked($event, destiny.city, 'destinyParent')\"\r\n class=\"hotel-list--container--title\"\r\n >\r\n {{ destiny.city.label }}\r\n </a>\r\n }\r\n\r\n <div class=\"hotel-list--row\">\r\n @for (item of destiny.items; track $index) {\r\n <div class=\"hotel-list--column\">\r\n @if (item.title) {\r\n <div class=\"hotel-list--column--header\">\r\n <a\r\n [href]=\"item.title.url\"\r\n [attr.aria-label]=\"item.title.label\"\r\n [routerLink]=\"item.title.url\"\r\n (click)=\"\r\n elementClicked($event, item.title, 'destiny')\r\n \"\r\n class=\"hotel-list--column--title\"\r\n >\r\n {{ item.title.label }}\r\n </a>\r\n </div>\r\n } @for (element of item.hotels; track $index) {\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n [href]=\"element.btn.url\"\r\n [routerLink]=\"[element.btn.url]\"\r\n [attr.aria-label]=\"element.btn.label\"\r\n (click)=\"\r\n elementClicked($event, element.btn, 'hotel')\r\n \"\r\n class=\"hotel-list--column--element\"\r\n >\r\n {{ element.btn.label }}\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <!--MOBILE-->\r\n\r\n <div class=\"hotel-list--content--mobile\">\r\n @if (title) {\r\n <p class=\"hotel-list--title color--camel\">{{ title }}</p>\r\n } @for (destiny of hotels; track $index) {\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed($index)\"\r\n >\r\n @if (destiny.city) {\r\n <a\r\n [href]=\"destiny.city.url\"\r\n [routerLink]=\"destiny.city.url\"\r\n [attr.aria-label]=\"destiny.city.label\"\r\n (click)=\"\r\n elementClicked($event, destiny.city, 'destinyParent')\r\n \"\r\n class=\"hotel-list--container--title\"\r\n >\r\n {{ destiny.city.label }}\r\n </a>\r\n\r\n <tent-button\r\n [ngClass]=\"collapsed[$index] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n name=\"signal-up\"\r\n ></tent-button>\r\n }\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"\r\n collapsed[$index] ? 'hotel-list--row--collapsed' : ''\r\n \"\r\n >\r\n @if (destiny.items.length) { @for (item of destiny.items; track\r\n $index) {\r\n <div class=\"hotel-list--column\">\r\n @if (item.title) {\r\n <div class=\"hotel-list--column--header\">\r\n <a\r\n [href]=\"item.title.url\"\r\n [routerLink]=\"item.title.url\"\r\n [attr.aria-label]=\"item.title.label\"\r\n (click)=\"\r\n elementClicked($event, item.title, 'destiny')\r\n \"\r\n class=\"hotel-list--column--title\"\r\n >\r\n {{ item.title.label }}\r\n </a>\r\n </div>\r\n } @if (item.hotels.length) {\r\n <div class=\"hotel-list--column--content\">\r\n @for (element of item.hotels; track $index) {\r\n <a\r\n [href]=\"element.btn.url\"\r\n [routerLink]=\"[element.btn.url]\"\r\n [attr.aria-label]=\"element.btn.label\"\r\n (click)=\"\r\n elementClicked($event, element.btn, 'hotel')\r\n \"\r\n class=\"hotel-list--column--element\"\r\n >\r\n <div class=\"hotel-list--column--text\">\r\n <span>{{ element.btn.label }}</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-down\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n } } @if (destinyButton) {\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n [label]=\"destinyButton.label\"\r\n [url]=\"destiny.city.url\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n (btnClick)=\"\r\n elementClicked(undefined, destiny.city, 'destinyParent')\r\n \"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../public-api';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HotelListModalComponent } from '../modals/hotel-list-modal/hotel-list-modal.component';\r\n\r\n@Component({\r\n selector: 'tent-header',\r\n standalone: true,\r\n imports: [CommonModule, MatIconModule, ButtonComponent, RouterModule],\r\n templateUrl: './header.component.html',\r\n styleUrl: './header.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderComponent {\r\n @Input() scrolled?: boolean;\r\n @Input({ required: true }) logo!: string;\r\n @Input() navLinks?: NavLink[];\r\n @Input() menuIcon?: string;\r\n @Input() altLogo?: string;\r\n @Input() rightButtons?: RightButtons;\r\n @Input() btnBook?: ButtonI;\r\n\r\n @Output() menuClick = new EventEmitter<void>();\r\n @Output() languagesClick = new EventEmitter<void>();\r\n @Output() newsletterClick = new EventEmitter<void>();\r\n @Output() checkinClick = new EventEmitter<void>();\r\n @Output() booksClick = new EventEmitter<void>();\r\n @Output() motorClick = new EventEmitter<void>();\r\n @Output() navLinkClick = new EventEmitter<NavLink>();\r\n\r\n constructor(private readonly dialog: MatDialog) {}\r\n\r\n openMotor(): void {\r\n this.motorClick.emit();\r\n }\r\n\r\n navLinkClicked(event: Event, navLink?: NavLink): void {\r\n event.preventDefault();\r\n this.navLinkClick.emit(navLink);\r\n }\r\n\r\n isInternalLink(navLink: NavLink): boolean {\r\n return navLink.type === 'internal';\r\n }\r\n\r\n openHotelList() {\r\n const dialogRef = this.dialog.open(HotelListModalComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'hotel-list'],\r\n hasBackdrop: false,\r\n });\r\n }\r\n}\r\n\r\nexport interface NavLink {\r\n label?: string;\r\n url?: string;\r\n icon?: string;\r\n type: 'internal' | 'external' | 'component';\r\n order: number;\r\n componentId?: string;\r\n}\r\n\r\nexport interface RightButtons {\r\n phone: RightBtn | undefined;\r\n books: RightBtn | undefined;\r\n newsletter: RightBtn | undefined;\r\n checkin: RightBtn | undefined;\r\n languages: RightBtn | undefined;\r\n}\r\n\r\nexport interface RightBtn {\r\n icon?: string;\r\n label: string;\r\n url?: string;\r\n comment?: string;\r\n}\r\n","<nav class=\"header\" [ngClass]=\"{ 'header--scrolled': scrolled }\">\r\n <div class=\"header--left-slot\">\r\n @if (logo) {\r\n <a\r\n (click)=\"navLinkClicked($event, navLinks![0])\"\r\n [routerLink]=\"\r\n isInternalLink(navLinks![0]) ? [navLinks![0].url] : null\r\n \"\r\n [href]=\"navLinks![0].url\"\r\n [attr.aria-label]=\"altLogo\"\r\n >\r\n <img\r\n class=\"header--logo\"\r\n [src]=\"logo\"\r\n [alt]=\"altLogo\"\r\n width=\"150\"\r\n height=\"100\"\r\n />\r\n </a>\r\n } @if (navLinks?.length) {\r\n <div class=\"header--nav-links\">\r\n @for (navLink of navLinks; track $index) {\r\n <a\r\n (click)=\"navLinkClicked($event, navLink)\"\r\n [routerLink]=\"isInternalLink(navLink) ? [navLink.url] : null\"\r\n [href]=\"navLink.url\"\r\n class=\"link color--brown\"\r\n [attr.aria-label]=\"navLink.label\"\r\n >{{ navLink.label }}</a\r\n >\r\n }\r\n </div>\r\n } @if (menuIcon) {\r\n <div class=\"header--menu-btn\" (click)=\"menuClick.emit()\">\r\n <mat-icon\r\n class=\"color--brown\"\r\n [ngClass]=\"menuIcon\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n </div>\r\n }\r\n </div>\r\n @if (rightButtons && rightButtons.checkin) {\r\n <div class=\"header--center-slot\">\r\n <div class=\"header--check-in\" (click)=\"checkinClick.emit()\">\r\n <span class=\"color--white\">{{ rightButtons.checkin.label }}</span>\r\n </div>\r\n </div>\r\n } @if (rightButtons) {\r\n <div class=\"header--right-slot\">\r\n @if (rightButtons.phone) {\r\n <a\r\n [href]=\"rightButtons.phone.url\"\r\n class=\"color--brown header--link-phone\"\r\n [attr.aria-label]=\"rightButtons.phone.label\"\r\n >\r\n <mat-icon\r\n class=\"color--brown icon-phone-plus\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n <span>{{ rightButtons.phone.label }}</span>\r\n </a>\r\n\r\n } @if (rightButtons.books) {\r\n <span\r\n (click)=\"booksClick.emit()\"\r\n class=\"link color--brown header--books\"\r\n >\r\n {{ rightButtons.books.label }}\r\n </span>\r\n } @if (rightButtons.newsletter) {\r\n <span class=\"header--mail\" (click)=\"newsletterClick.emit()\">\r\n <mat-icon\r\n class=\"color--brown\"\r\n [ngClass]=\"rightButtons.newsletter.icon\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n <span class=\"header--mail-comment\">\r\n {{ rightButtons.newsletter.comment }}\r\n </span>\r\n </span>\r\n } @if (rightButtons.languages) {\r\n <span\r\n (click)=\"languagesClick.emit()\"\r\n class=\"color--brown header--language\"\r\n >\r\n {{ rightButtons.languages.label }}\r\n <span class=\"header--language-comment\">{{\r\n rightButtons.languages.comment\r\n }}</span></span\r\n >\r\n\r\n } @if (menuIcon) {\r\n <div class=\"header--menu-btn\" (click)=\"menuClick.emit()\">\r\n <mat-icon\r\n class=\"color--brown\"\r\n [ngClass]=\"menuIcon\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n </div>\r\n } @if (btnBook || rightButtons.checkin) {\r\n <div\r\n class=\"header--btn-book\"\r\n [ngClass]=\"{ 'header--btn-book--scrolled': scrolled }\"\r\n >\r\n @if (btnBook) {\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n (btnClick)=\"openMotor()\"\r\n [name]=\"btnBook.label\"\r\n ></tent-button>\r\n } @if (rightButtons.checkin) {\r\n <div\r\n class=\"header--check-in header--check-in--right\"\r\n (click)=\"checkinClick.emit()\"\r\n >\r\n <span class=\"color--white\">{{\r\n rightButtons.checkin.label\r\n }}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n</nav>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { ButtonI, RightBtn } from '../../../../public-api';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-header-mobile',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, MatIconModule],\r\n templateUrl: './header-mobile.component.html',\r\n styleUrl: './header-mobile.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderMobileComponent {\r\n @Input() btnBook?: ButtonI;\r\n @Input() phoneLink?: RightBtn;\r\n @Output() motorClick = new EventEmitter<void>();\r\n constructor() {}\r\n\r\n openMotor(): void {\r\n this.motorClick.emit();\r\n }\r\n}\r\n","<nav class=\"header-mobile\">\r\n @if (btnBook) {\r\n <tent-button\r\n (btnClick)=\"openMotor()\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n [name]=\"btnBook.label\"\r\n ></tent-button>\r\n } @if (phoneLink) {\r\n <a\r\n class=\"header-mobile--phone-link\"\r\n [href]=\"phoneLink.url\"\r\n [attr.aria-label]=\"phoneLink.label\"\r\n >\r\n <mat-icon [ngClass]=\"phoneLink.icon\" class=\"color--brown\"></mat-icon>\r\n <span class=\"color--brown\">{{ phoneLink.label }}</span>\r\n </a>\r\n\r\n }\r\n</nav>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-hotel-services',\r\n standalone: true,\r\n imports: [ButtonComponent, RouterModule],\r\n templateUrl: './hotel-services.component.html',\r\n styleUrl: './hotel-services.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelServicesComponent {\r\n @Input() title!: string;\r\n @Input() titleDark!: string;\r\n @Input() items!: HotelServicesItem[];\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n itemClicked(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n\r\nexport interface HotelServicesItem {\r\n image: string;\r\n title?: string;\r\n subtitle?: string;\r\n description?: string;\r\n buttons?: ButtonI[];\r\n}\r\n","<section class=\"hotel-intro wrapper-big module-spacer--bottom\">\r\n <div class=\"hotel-intro--content\">\r\n <h2 class=\"hotel-intro--title title--80 color--camel\">\r\n {{ title }}\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n </h2>\r\n </div>\r\n <div class=\"hotel-intro--services\">\r\n @for (item of items; track $index) {\r\n <div class=\"hotel-intro--service\">\r\n <a\r\n class=\"hotel-intro--photo figure-content figure-zoom\"\r\n [href]=\"item.buttons?.[0]?.url\"\r\n [routerLink]=\"item.buttons?.[0]?.url\"\r\n [attr.aria-label]=\"item.buttons?.[0]?.url\"\r\n (click)=\"itemClicked($event)\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </a>\r\n <div class=\"hotel-intro--info pt--10\">\r\n <h3 class=\"hotel-intro--title title--42 color--brown\">\r\n {{ item.title }}\r\n\r\n @if (item.subtitle) {\r\n <span class=\"title--24 color--camel\">{{\r\n item.subtitle\r\n }}</span>\r\n }\r\n </h3>\r\n <p class=\"hotel-intro--text text color--gray1\">\r\n {{ item.description }}\r\n </p>\r\n @if (item.buttons) {\r\n <div class=\"hotel-intro--btns flex-row flex-row--left pt--20\">\r\n @for (btn of item.buttons; track $index) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n [icon]=\"btn.icon\"\r\n [iconPosition]=\"btn.iconPosition\"\r\n [label]=\"btn.label\"\r\n [name]=\"btn.label\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-hotel-slider',\r\n standalone: true,\r\n imports: [ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './hotel-slider.component.html',\r\n styleUrl: './hotel-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelSliderComponent implements OnInit {\r\n @Input() iconControlLeft = 'icon-signal-left';\r\n @Input() iconControlRight = 'icon-signal-right';\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() items?: HotelSliderItem[];\r\n\r\n @Output() hotelClick = new EventEmitter<HotelSliderItem>();\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: false,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1024: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions.navText = [\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\r\n ];\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n\r\nexport interface HotelSliderItem {\r\n id: string | number;\r\n image: string;\r\n title: string;\r\n description: string;\r\n ndTitle?: string;\r\n badge: BadgeI;\r\n buttons: ButtonI[];\r\n ticker?: string;\r\n}\r\n","<section class=\"hotel-slider module-spacer--bottom\">\r\n <div class=\"hotel-slider--content wrapper-big\">\r\n @if (title) {\r\n <div class=\"hotel-slider--head\">\r\n <h3 class=\"hotel-slider--title title--80 color--camel\">\r\n {{ title }} <span class=\"color--brown\">{{ titleDark }}</span>\r\n </h3>\r\n </div>\r\n } @if (items?.length) {\r\n <div class=\"hotel-slider--inner\">\r\n <owl-carousel-o\r\n class=\"hotel-slider--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"hotel-slider--slide\">\r\n @if (item.image) {\r\n <div class=\"hotel-slider--img\">\r\n <div class=\"hotel-slider--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"hotel-slider--des\">\r\n @if (item.badge) {\r\n <tent-badge\r\n class=\"hotel-slider--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"item.badge.label\"\r\n ></tent-badge>\r\n } @if (item.title) {\r\n <h4\r\n class=\"hotel-slider--slideTitle color--brown title--80\"\r\n >\r\n {{ item.title }}\r\n @if (item.ndTitle) {\r\n <span class=\"color--brown\">{{\r\n item.ndTitle\r\n }}</span>\r\n\r\n }\r\n </h4>\r\n } @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.buttons.length) {\r\n <div class=\"hotel-slider--btns pt--20\">\r\n @for (btn of item.buttons; track $index) {\r\n <tent-button\r\n [type]=\"btn.type!\"\r\n [icon]=\"btn.icon\"\r\n [iconPosition]=\"btn.iconPosition\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n (btnClick)=\"hotelClick.emit(item)\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-guests-popup',\r\n standalone: true,\r\n imports: [CommonModule, DropdownComponent, ButtonComponent],\r\n templateUrl: './guests-popup.component.html',\r\n styleUrl: './guests-popup.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GuestsPopupComponent implements OnInit {\r\n @Input() adultsDropdown!: DropdownI;\r\n @Input() kidsDropdown!: DropdownI;\r\n @Input() ageDropdown!: DropdownI;\r\n @Input() babysDropdown!: DropdownI;\r\n @Input() title?: string;\r\n @Input() kidLabel?: string;\r\n @Input() btnApply!: ButtonI;\r\n @Input() modal?: boolean;\r\n\r\n @Output() appliedData = new EventEmitter<GuestsValue>();\r\n\r\n kids?: number[] = [];\r\n applied = false;\r\n\r\n kidsOption!: DropdownOption;\r\n adultsOption!: DropdownOption;\r\n babysOption!: DropdownOption;\r\n\r\n ages: number[] = [];\r\n\r\n ngOnInit(): void {\r\n this.kidsOption = this.kidsDropdown.options![0];\r\n this.adultsOption = this.adultsDropdown.options![0];\r\n this.babysOption = this.babysDropdown.options![0];\r\n }\r\n\r\n kidsChange(option: DropdownOption) {\r\n this.kids = [];\r\n this.kidsOption = option;\r\n for (let i = 0; i < Number(option.code); i++) {\r\n this.kids?.push(i);\r\n }\r\n\r\n this.ages = Array(this.kids.length).fill(\r\n Number(this.ageDropdown.options[0].code)\r\n );\r\n\r\n const popup = document.getElementsByClassName('p-dialog-mask')[0];\r\n\r\n if (popup) {\r\n if (Number(option.code) > 2) {\r\n popup.classList.add('bigger');\r\n } else {\r\n if (popup.classList.contains('bigger')) {\r\n popup.classList.remove('bigger');\r\n }\r\n }\r\n }\r\n }\r\n\r\n agesChange(kidIndex: number, option: DropdownOption): void {\r\n this.ages[kidIndex] = Number(option.code);\r\n }\r\n\r\n babysChange(option: DropdownOption): void {\r\n this.babysOption = option;\r\n }\r\n\r\n adultsChange(option: DropdownOption): void {\r\n this.adultsOption = option;\r\n }\r\n\r\n applyData(): void {\r\n this.appliedData.emit({\r\n adults: Number(this.adultsOption?.code) ?? 0,\r\n kids: Number(this.kidsOption?.code) ?? 0,\r\n babys: Number(this.babysOption?.code) ?? 0,\r\n kidsAges: this.ages ?? [],\r\n totalGuests:\r\n Number(this.babysOption?.code) +\r\n Number(this.kidsOption?.code) +\r\n Number(this.adultsOption?.code),\r\n } as GuestsValue);\r\n }\r\n}\r\n\r\nexport interface GuestsValue {\r\n adults?: number;\r\n kids?: number;\r\n babys?: number;\r\n kidsAges?: number[];\r\n totalGuests: number;\r\n}\r\n","<div class=\"guests flex-col flex-col--center\">\r\n <tent-dropdown\r\n [title]=\"adultsDropdown.title\"\r\n iconLeft=\"icon-user\"\r\n [options]=\"adultsDropdown.options\"\r\n [showTitleTop]=\"true\"\r\n [value]=\"adultsDropdown.options[0]\"\r\n (change)=\"adultsChange($event)\"\r\n ></tent-dropdown>\r\n <tent-dropdown\r\n [title]=\"kidsDropdown.title\"\r\n iconLeft=\"icon-user-small\"\r\n [smallTitle]=\"kidsDropdown.smallTitle\"\r\n [options]=\"kidsDropdown.options\"\r\n [value]=\"kidsDropdown.options[0]\"\r\n [showTitleTop]=\"true\"\r\n (change)=\"kidsChange($event)\"\r\n ></tent-dropdown>\r\n\r\n <div\r\n class=\"guests--kids\"\r\n [ngClass]=\"{ 'guests--kids--show': !applied && kids?.length }\"\r\n >\r\n @if (title) {\r\n <header class=\"guests--kids--header\">\r\n <p class=\"color--brown guests--kids--header--title\">edades</p>\r\n </header>\r\n }\r\n\r\n <div class=\"guests--kids--content\">\r\n @for (kid of kids; track $index; let even = $even, last = $last) {\r\n <div\r\n class=\"guests--kids--dropdown\"\r\n [ngClass]=\"{\r\n 'guests--kids--dropdown--centered': even && last\r\n }\"\r\n >\r\n <span class=\"color--brown guests--kids--title\"\r\n >{{ kidLabel }}{{ $index + 1 }}</span\r\n >\r\n <tent-dropdown\r\n [light]=\"true\"\r\n [options]=\"ageDropdown.options\"\r\n [value]=\"ageDropdown.options[0]\"\r\n (change)=\"agesChange($index, $event)\"\r\n ></tent-dropdown>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <tent-dropdown\r\n [ngClass]=\"{ 'guests--babys': applied || !kids?.length }\"\r\n [showTitleTop]=\"true\"\r\n [title]=\"babysDropdown.title\"\r\n iconLeft=\"icon-user-small\"\r\n [smallTitle]=\"babysDropdown.smallTitle\"\r\n [value]=\"babysDropdown.options[0]\"\r\n [options]=\"babysDropdown.options\"\r\n (change)=\"babysChange($event)\"\r\n ></tent-dropdown>\r\n\r\n <tent-button\r\n class=\"guests--btn\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnApply.label\"\r\n boxWidth=\"240px\"\r\n (btnClick)=\"applyData()\"\r\n [name]=\"btnApply.label\"\r\n ></tent-button>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DatepickerComponent } from '../../atomic/datepicker/datepicker.component';\r\nimport { DropdownComponent } from '../../atomic/dropdown/dropdown.component';\r\nimport { GuestsPopupComponent } from '../guests-popup/guests-popup.component';\r\n\r\n@Component({\r\n selector: 'tent-motor',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n DatepickerComponent,\r\n DropdownComponent,\r\n GuestsPopupComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DialogModule,\r\n GuestsPopupComponent,\r\n MatIconModule,\r\n ],\r\n templateUrl: './motor.component.html',\r\n styleUrl: './motor.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MotorComponent implements OnDestroy, AfterViewInit {\r\n @ViewChild('wrapper', { read: ElementRef }) wrapper!: ElementRef;\r\n @Input() modal = false;\r\n @Input() square = false;\r\n @Input({ required: true }) lang!: string;\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Output() close = new EventEmitter<void>();\r\n\r\n isComponent?: boolean = false;\r\n\r\n constructor() {}\r\n\r\n ngAfterViewInit(): void {\r\n this.isComponent = (\r\n this.wrapper.nativeElement as HTMLElement\r\n ).parentElement?.classList.contains('component');\r\n\r\n if (this.modal && !this.isComponent) {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: hidden');\r\n\r\n (\r\n this.wrapper.nativeElement as HTMLElement\r\n ).parentElement?.classList.add('modal');\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.modal && !this.isComponent) {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: auto');\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n this.close.emit();\r\n }\r\n}\r\n","<div\r\n #wrapper\r\n class=\"motor--wrapper\"\r\n [ngClass]=\"{\r\n 'motor--wrapper--modal': modal,\r\n }\"\r\n>\r\n @if (modal) {\r\n <div class=\"motor--close-button\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"closeModal()\"\r\n name=\"close\"\r\n ></tent-button>\r\n </div>\r\n } @if ((title || subtitle) && modal) {\r\n <header class=\"motor--header\">\r\n @if (title) {\r\n <h3 class=\"motor--title color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (subtitle) {\r\n <h3 class=\"motor--title color--camel\">\r\n {{ subtitle }}\r\n </h3>\r\n }\r\n </header>\r\n } @if (square) {\r\n <div class=\"mi-be-square\">\r\n <div\r\n data-mirai-engine=\"mirai_be\"\r\n [attr.data-lang]=\"lang\"\r\n data-idchain=\"502045\"\r\n ></div>\r\n </div>\r\n } @else {\r\n <div\r\n data-mirai-engine=\"mirai_be\"\r\n [attr.data-lang]=\"lang\"\r\n data-idchain=\"502045\"\r\n ></div>\r\n }\r\n <!-- <form\r\n class=\"motor flex-row flex-row--center\"\r\n [formGroup]=\"motorForm\"\r\n [ngClass]=\"{ 'motor--modal': modal }\"\r\n >\r\n <tent-dropdown\r\n [options]=\"dropdown.options\"\r\n [placeholder]=\"dropdown.placeholder\"\r\n [sameTitlePlaceholder]=\"true\"\r\n formControlName=\"hotel\"\r\n [staticPosition]=\"false\"\r\n ></tent-dropdown>\r\n <tent-datepicker\r\n [placeholder]=\"date.title\"\r\n [icon]=\"date.icon\"\r\n [value]=\"date.value\"\r\n [sameTitlePlaceholder]=\"true\"\r\n formControlName=\"date\"\r\n ></tent-datepicker>\r\n <div\r\n class=\"motor--input--wrapper flex-row flex-row--between\"\r\n (click)=\"togglePopup()\"\r\n >\r\n <div class=\"motor--input--content\">\r\n @if (guestsInput.value !== '') {\r\n <p class=\"motor--input--title\">{{ guestsInput.placeholder }}</p>\r\n }\r\n <input\r\n [disabled]=\"true\"\r\n class=\"motor--input\"\r\n type=\"text\"\r\n [value]=\"guestsInput.value\"\r\n [placeholder]=\"guestsInput.placeholder\"\r\n formControlName=\"guests\"\r\n />\r\n </div>\r\n\r\n <span\r\n class=\"motor--input--icon\"\r\n [ngClass]=\"guestsInput.icon\"\r\n ></span>\r\n </div>\r\n\r\n @if (!modal) {\r\n <p-dialog\r\n class=\"motor--dialog\"\r\n [(visible)]=\"dialogVisible\"\r\n (onShow)=\"toggleMotorDialogReady()\"\r\n (onHide)=\"toggleMotorDialogReady()\"\r\n >\r\n <tent-guests-popup\r\n [adultsDropdown]=\"guestsPopup.adultsDropdown\"\r\n [kidsDropdown]=\"guestsPopup.kidsDropdown\"\r\n [ageDropdown]=\"guestsPopup.ageDropdown\"\r\n [babysDropdown]=\"guestsPopup.babysDropdown\"\r\n [title]=\"guestsPopup.title\"\r\n [kidLabel]=\"guestsPopup.kidLabel\"\r\n [btnApply]=\"guestsPopup.btnApply\"\r\n (appliedData)=\"guestsChange($event)\"\r\n ></tent-guests-popup>\r\n </p-dialog>\r\n } @else if(dialogVisible) {\r\n <tent-guests-popup\r\n [adultsDropdown]=\"guestsPopup.adultsDropdown\"\r\n [kidsDropdown]=\"guestsPopup.kidsDropdown\"\r\n [ageDropdown]=\"guestsPopup.ageDropdown\"\r\n [babysDropdown]=\"guestsPopup.babysDropdown\"\r\n [title]=\"guestsPopup.title\"\r\n [kidLabel]=\"guestsPopup.kidLabel\"\r\n [btnApply]=\"guestsPopup.btnApply\"\r\n (appliedData)=\"guestsChange($event)\"\r\n ></tent-guests-popup>\r\n }\r\n\r\n <div\r\n class=\"motor--input--wrapper flex-row flex-row--between\"\r\n [ngClass]=\"{ 'motor--input--wrapper--left': !modal }\"\r\n (click)=\"promoInputRef.focus()\"\r\n >\r\n <div class=\"motor--input--content\">\r\n @if (promoInput.value !== '') {\r\n <p class=\"motor--input--title\">{{ promoInput.placeholder }}</p>\r\n }\r\n <input\r\n #promoInputRef\r\n class=\"motor--input\"\r\n type=\"text\"\r\n [value]=\"promoInput.value\"\r\n [placeholder]=\"promoInput.placeholder\"\r\n formControlName=\"promo\"\r\n (input)=\"changeInput($event)\"\r\n />\r\n </div>\r\n\r\n <span class=\"motor--input--icon\" [ngClass]=\"promoInput.icon\"></span>\r\n </div>\r\n\r\n <div class=\"motor--dark-btn-wrapper\">\r\n <tent-button\r\n [ngClass]=\"{ 'motor--dark-btn--modal': modal }\"\r\n class=\"motor--dark-btn\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnSubmit.label\"\r\n boxWidth=\"200px\"\r\n (btnClick)=\"btnClicked()\"\r\n [name]=\"btnSubmit.label\"\r\n ></tent-button>\r\n </div>\r\n </form> -->\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nconst CURRENCY_SYMBOLS: { [key: string]: string } = {\r\n USD: '$',\r\n EUR: '€',\r\n GBP: '£',\r\n JPY: '¥',\r\n AUD: 'A$',\r\n CAD: 'C$',\r\n CHF: 'CHF',\r\n CNY: '¥',\r\n SEK: 'kr',\r\n NZD: 'NZ$',\r\n};\r\n\r\n@Pipe({\r\n name: 'currencySymbol',\r\n standalone: true,\r\n})\r\nexport class CurrencyPipe implements PipeTransform {\r\n transform(value: string): string {\r\n return CURRENCY_SYMBOLS[value] || value;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\n@Component({\r\n selector: 'tent-offer',\r\n standalone: true,\r\n imports: [ButtonComponent, BadgeComponent, RouterModule, CurrencyPipe],\r\n templateUrl: './offer.component.html',\r\n styleUrl: './offer.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferComponent {\r\n @Input() image!: string;\r\n @Input() title!: string;\r\n @Input() price!: string;\r\n @Input() priceLabel!: string;\r\n @Input() currency!: string;\r\n @Input() badge?: BadgeI;\r\n @Input() badgePrice?: BadgeI;\r\n @Input() buttons?: ButtonI[];\r\n\r\n @Output() btnClicked = new EventEmitter();\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n offerClicked(event: Event): void {\r\n event.preventDefault();\r\n this.btnClicked.emit();\r\n }\r\n}\r\n","<section class=\"offer-box\">\r\n <a\r\n [attr.aria-label]=\"title\"\r\n [href]=\"buttons ? buttons[0].url : null\"\r\n [routerLink]=\"buttons ? [buttons[0].url] : null\"\r\n (click)=\"offerClicked($event)\"\r\n >\r\n <div class=\"offer-box--content\">\r\n @if(badge) {\r\n <tent-badge\r\n class=\"offer-box--badgetHotel\"\r\n [rounded]=\"true\"\r\n [label]=\"badge.label\"\r\n ></tent-badge>\r\n } @if (image) {\r\n <div class=\"offer-box--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n </div>\r\n }\r\n\r\n <div class=\"offer-box--head\">\r\n <div class=\"offer-box--headinner\">\r\n <div class=\"offer-box--infocontent\">\r\n @if(badgePrice) {\r\n <tent-badge\r\n class=\"offer-box--badgetPrice\"\r\n [rounded]=\"true\"\r\n [label]=\"badgePrice.label\"\r\n ></tent-badge>\r\n }\r\n <div class=\"offer-box--info\">\r\n @if (title) {\r\n <h3 class=\"title--30 color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (price && priceLabel && currency) {\r\n <div class=\"offer-box--price\">\r\n <span class=\"title--18 color--camel\">{{\r\n priceLabel\r\n }}</span>\r\n <p class=\"title--42 color--brown\">\r\n {{ price\r\n }}<span class=\"title--32\">{{\r\n currency | currencySymbol\r\n }}</span>\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n @if (buttons?.length) {\r\n <div class=\"offer-box--btns\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n [type]=\"btn.type!\"\r\n [icon]=\"btn.icon\"\r\n [iconPosition]=\"btn.iconPosition\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n (btnClick)=\"btnClicked.emit()\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n</section>\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { fromEvent, tap } from 'rxjs';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'tent-offer-banner',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n BadgeComponent,\r\n ButtonComponent,\r\n RouterModule,\r\n CurrencyPipe,\r\n ],\r\n templateUrl: './offer-banner.component.html',\r\n styleUrl: './offer-banner.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferBannerComponent implements AfterViewInit {\r\n @ViewChild('close', { read: ElementRef }) closeBtn!: ElementRef;\r\n @ViewChild('closeBanner', { read: ElementRef }) closeBanner!: ElementRef;\r\n @Input() badge?: BadgeI;\r\n @Input() btnClose?: ButtonI;\r\n @Input() mainLabel?: string;\r\n @Input() priceLabel?: string;\r\n @Input() closeLabel?: string;\r\n @Input() price?: string;\r\n @Input() currency?: string;\r\n @Input() btnInfo?: ButtonI;\r\n @Input() img?: ImageI;\r\n @Input() desktop?: boolean;\r\n @Input() left?: boolean;\r\n\r\n @Output() closeClick = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngAfterViewInit(): void {\r\n fromEvent(this.closeBtn.nativeElement, 'mouseenter')\r\n .pipe(\r\n tap(() => {\r\n (\r\n this.closeBanner.nativeElement as HTMLElement\r\n ).classList.add(\r\n this.left\r\n ? 'offer-banner--close--container--displayed--left'\r\n : 'offer-banner--close--container--displayed'\r\n );\r\n if (this.desktop) {\r\n (\r\n this.closeBtn.nativeElement as HTMLElement\r\n ).style.opacity = '0';\r\n }\r\n })\r\n )\r\n .subscribe();\r\n fromEvent(\r\n document.getElementsByTagName('tent-offer-banner')[0],\r\n 'mouseleave'\r\n )\r\n .pipe(\r\n tap(() => {\r\n (\r\n this.closeBanner.nativeElement as HTMLElement\r\n ).classList.remove(\r\n this.left\r\n ? 'offer-banner--close--container--displayed--left'\r\n : 'offer-banner--close--container--displayed'\r\n );\r\n (this.closeBtn.nativeElement as HTMLElement).style.opacity =\r\n '1';\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n closeModal(): void {\r\n this.closeClick.emit();\r\n }\r\n\r\n bannerClicked(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n","<div\r\n #closeBanner\r\n class=\"offer-banner--close--container\"\r\n [ngClass]=\"{ 'offer-banner--close--container--left': left }\"\r\n (click)=\"closeClick.emit()\"\r\n>\r\n {{ closeLabel }}\r\n</div>\r\n\r\n<div class=\"offer-banner\" [ngClass]=\"{ 'offer-banner--left': left }\">\r\n @if (badge) {\r\n <tent-badge\r\n class=\"offer-banner--badge\"\r\n [rounded]=\"true\"\r\n [label]=\"badge.label\"\r\n ></tent-badge>\r\n\r\n } @if (btnClose) {\r\n <tent-button\r\n #close\r\n class=\"offer-banner--close\"\r\n type=\"dark-circle\"\r\n [icon]=\"btnClose.icon\"\r\n (btnClick)=\"closeClick.emit()\"\r\n name=\"close\"\r\n ></tent-button>\r\n }\r\n <a\r\n [attr.aria-label]=\"mainLabel\"\r\n class=\"offer-banner--container\"\r\n [href]=\"btnInfo?.url\"\r\n [routerLink]=\"[btnInfo?.url]\"\r\n (click)=\"bannerClicked($event)\"\r\n >\r\n <div class=\"flex-col flex-col--between offer-banner--content\">\r\n @if (mainLabel) {\r\n <p class=\"offer-banner--title\">\r\n {{ mainLabel }}\r\n </p>\r\n }\r\n <div class=\"flex-row flex-row--between\">\r\n @if (price || priceLabel) {\r\n <div class=\"flex-row offer-banner--price\">\r\n @if (priceLabel) {\r\n <span class=\"color--white offer-banner--sublabel\">\r\n {{ priceLabel }}\r\n </span>\r\n } @if (price) {\r\n <span class=\"color--white offer-banner--offer\">\r\n {{ price }}\r\n @if (currency) {\r\n {{ currency | currencySymbol }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n } @if (btnInfo) {\r\n <tent-button\r\n class=\"offer-banner--btn-info offer-banner--btn-info--desktop\"\r\n type=\"dark-box\"\r\n [label]=\"btnInfo.label\"\r\n [url]=\"btnInfo.url\"\r\n [linkType]=\"btnInfo.linkType!\"\r\n boxWidth=\"154px\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"offer-banner--btn-info offer-banner--btn-info--mobile\"\r\n type=\"dark-box\"\r\n [label]=\"btnInfo.label\"\r\n [url]=\"btnInfo.url\"\r\n [linkType]=\"btnInfo.linkType!\"\r\n boxWidth=\"115px\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n @if (img?.src) {\r\n <img\r\n [src]=\"img?.src\"\r\n [alt]=\"img?.alt\"\r\n class=\"offer-banner--image\"\r\n width=\"150\"\r\n height=\"100\"\r\n />\r\n }\r\n </a>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { OfferComponent } from '../offer/offer.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { OfferI } from '../../../interfaces/core/offer.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\n@Component({\r\n selector: 'tent-offer-slider',\r\n standalone: true,\r\n imports: [CarouselModule, OfferComponent, ButtonComponent, CurrencyPipe],\r\n templateUrl: './offer-slider.component.html',\r\n styleUrl: './offer-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferSliderComponent implements OnInit {\r\n @Input() offers!: OfferI[];\r\n @Input() title!: string;\r\n @Input() titleDark!: string;\r\n @Input() iconControlLeft = 'icon-pointer-left';\r\n @Input() iconControlRight = 'icon-pointer-right';\r\n @Input() link?: ButtonI;\r\n @Input() defaultImage?: string;\r\n @Input() defaultLabel?: string;\r\n\r\n @Output() offerClick = new EventEmitter<number>();\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 40,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 540: {\r\n items: 1,\r\n },\r\n 768: {\r\n items: 1,\r\n },\r\n\r\n 1000: {\r\n items: 1,\r\n },\r\n 1024: {\r\n items: 1,\r\n },\r\n\r\n 1280: {\r\n items: 2,\r\n },\r\n\r\n 1350: {\r\n items: 2,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.defaultImage})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions.navText = [\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\r\n ];\r\n\r\n if (this.offers.length === 1) {\r\n this.sliderOptions = {\r\n ...this.sliderOptions,\r\n loop: false,\r\n autoplay: false,\r\n nav: false,\r\n };\r\n }\r\n }\r\n\r\n offerClicked(id: number): void {\r\n this.offerClick.emit(id);\r\n }\r\n}\r\n","<section class=\"offer-slider module-spacer--bottom\">\r\n <div class=\"offer-slider--content wrapper-big\">\r\n <div class=\"offer-slider--head\">\r\n @if (titleDark) {\r\n <h3 class=\"offer-slider--title title--80 color--brown\">\r\n {{ titleDark }} @if (title) {\r\n\r\n <span class=\"color--camel\">{{ title }}</span\r\n >}\r\n </h3>\r\n } @if (link) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [icon]=\"link.icon\"\r\n [iconPosition]=\"link.iconPosition\"\r\n [label]=\"link.label\"\r\n [url]=\"link.url\"\r\n [linkType]=\"link.linkType!\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n <div class=\"offer-slider--inner\">\r\n <owl-carousel-o\r\n class=\"offer-slider--slider slider-circle--center slider-circle--center--centerFull\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (offer of offers; track $index) {\r\n <ng-template carouselSlide>\r\n <tent-offer\r\n [badge]=\"offer.badge\"\r\n [badgePrice]=\"offer.badgePrice\"\r\n [title]=\"offer.title\"\r\n [buttons]=\"offer.buttons\"\r\n [image]=\"offer.image\"\r\n [price]=\"offer.price\"\r\n [priceLabel]=\"offer.priceLabel\"\r\n [currency]=\"offer.currency | currencySymbol\"\r\n (btnClicked)=\"offerClicked($event)\"\r\n ></tent-offer>\r\n </ng-template>\r\n } @if(offers.length === 1 && defaultImage) {\r\n <ng-template carouselSlide>\r\n <div class=\"offer-slider--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n @if (defaultLabel) {\r\n <p class=\"offer-slider--photo--text\">\r\n {{ defaultLabel }}\r\n </p>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-facilities-slider',\r\n standalone: true,\r\n imports: [ButtonComponent, CarouselModule],\r\n templateUrl: './facilities-slider.component.html',\r\n styleUrl: './facilities-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FacilitiesSliderComponent implements OnInit {\r\n @Input() iconControlLeft!: string;\r\n @Input() iconControlRight!: string;\r\n @Input() title?: string;\r\n @Input() items!: FacilitiesSliderItem[];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n stagePadding: 0,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n stagePadding: 120,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions.navText = [\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\r\n ];\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n\r\nexport interface FacilitiesSliderItem {\r\n image: string;\r\n title: string;\r\n description: string;\r\n buttons: ButtonI[];\r\n}\r\n","<section class=\"rooms-slider module-spacer--bottom\">\r\n <div class=\"rooms-slider--content wrapper-big\">\r\n @if (title) {\r\n <div class=\"rooms-slider--head\">\r\n <h3 class=\"rooms-slider--title title--80 color--camel\">\r\n {{ title }}\r\n </h3>\r\n </div>\r\n }\r\n\r\n <owl-carousel-o\r\n class=\"rooms-slider--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"rooms-slider--slide\">\r\n @if (item.title) {\r\n <h4 class=\"rooms-slider--slideTitle color--brown title--80\">\r\n {{ item.title }}\r\n </h4>\r\n } @if (item.image) {\r\n <div class=\"rooms-slider--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n } @if (item.buttons.length || item.description) {\r\n <div class=\"rooms-slider--des\">\r\n <div class=\"rooms-slider--des-inner bg-white\">\r\n @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.buttons.length) {\r\n <div class=\"rooms-slider--btns pt--20\">\r\n @for (button of item.buttons; track $index) {\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType!\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-room-zoom-modal',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule, ButtonComponent],\r\n templateUrl: './room-zoom-modal.component.html',\r\n styleUrl: './room-zoom-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RoomZoomModalComponent {\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<RoomZoomModalComponent>,\r\n private readonly sanitizer: DomSanitizer\r\n ) {}\r\n\r\n @Input() title?: string;\r\n @Input() images?: string[];\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"room-zoom flex-col\">\r\n <div class=\"room-zoom--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n name=\"close\"\r\n ></tent-button>\r\n </div>\r\n <p class=\"room-zoom--title\">{{ title }}</p>\r\n <owl-carousel-o\r\n class=\"room-zoom--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"room-zoom--image--wrapper\">\r\n <figure\r\n class=\"room-zoom--image figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { fromEvent, tap } from 'rxjs';\r\n@Component({\r\n selector: 'tent-room-slider',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './room-slider.component.html',\r\n styleUrl: './room-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RoomSliderComponent implements OnInit, OnChanges, AfterViewInit {\r\n @Input({ required: true }) items!: RoomsSliderRoom[];\r\n @Input() linkDescriptionMore?: ButtonI;\r\n @Input() linkDescriptionLess?: ButtonI;\r\n @Input() linkEquipmentMore?: ButtonI;\r\n @Input() linkEquipmentLess?: ButtonI;\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 3000,\r\n navSpeed: 3000,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n collapsed: boolean[] = [];\r\n viewmore: boolean[] = [];\r\n\r\n itemsToShow = 4;\r\n constructor(\r\n private readonly dialog: MatDialog,\r\n private readonly sanitizer: DomSanitizer\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.collapsed = new Array(this.items.length).fill(true);\r\n this.viewmore = new Array(this.items.length).fill(true);\r\n this.itemsToShow = window.innerWidth >= 540 ? 6 : 3;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['items']?.currentValue) {\r\n this.collapsed = new Array(this.items.length).fill(true);\r\n this.viewmore = new Array(this.items.length).fill(true);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n fromEvent(window, 'resize')\r\n .pipe(\r\n tap(() => {\r\n this.itemsToShow = window.innerWidth >= 540 ? 6 : 3;\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n toggleCollapse(index: number): void {\r\n this.collapsed[index] = !this.collapsed[index];\r\n }\r\n\r\n toggleViewmore(index: number): void {\r\n this.viewmore[index] = !this.viewmore[index];\r\n }\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n openRoomModal(item: RoomsSliderRoom, index: number): void {\r\n const dialogRef = this.dialog.open(RoomZoomModalComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: 'full-screen',\r\n hasBackdrop: true,\r\n });\r\n\r\n dialogRef.componentInstance.title = item.title;\r\n dialogRef.componentInstance.images =\r\n index === 0\r\n ? item.images\r\n : item.images?.slice(index).concat(item.images.slice(0, index));\r\n }\r\n}\r\n\r\nexport interface RoomsSliderRoom {\r\n id?: string | number;\r\n title?: string;\r\n info?: {\r\n label: string;\r\n icon: string;\r\n }[];\r\n description?: string;\r\n additionalDescription?: string;\r\n images?: string[];\r\n equipment?: {\r\n title?: string;\r\n items?: string[];\r\n };\r\n}\r\n","<section class=\"room-slider module-spacer--bottom\">\r\n <div class=\"room-slider--content wrapper-big\">\r\n @for (item of items; track mainIndex; let mainIndex = $index; let odd =\r\n $odd) {\r\n <div\r\n class=\"room-slider--box\"\r\n [ngClass]=\"{\r\n 'info-right': !odd,\r\n 'info-left': odd,\r\n 'module-spacer-small--bottom': mainIndex !== items.length - 1\r\n }\"\r\n >\r\n <owl-carousel-o\r\n class=\"room-slider--slider slider-circle--center figure-sticky\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of item.images; track imageIndex; let imageIndex =\r\n $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"room-slider--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n <div class=\"btn_search--wrapper\">\r\n <div\r\n class=\"btn btn__circle btn__white btn_search--full\"\r\n (click)=\"openRoomModal(item, imageIndex)\"\r\n >\r\n <span class=\"btn_search--text\">\r\n ampliar foto</span\r\n >\r\n <span\r\n class=\"btn__circle-icon icon-search-plus icon--size22\"\r\n >\r\n </span>\r\n </div>\r\n <div\r\n class=\"btn btn__circle btn__white btn_search\"\r\n (click)=\"openRoomModal(item, imageIndex)\"\r\n >\r\n <span\r\n class=\"btn__circle-icon icon-search-plus icon--size22\"\r\n >\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n <div class=\"room-slider--info\">\r\n @if (item.title) {\r\n <h2 class=\"room-slider--info--title title--60 color--brown\">\r\n {{ item.title }}\r\n </h2>\r\n } @if (item.info) {\r\n <ul class=\"room-slider--info--icons\">\r\n @for (infoItem of item.info; track $index) {\r\n <li>\r\n <span class=\"info--icon\">\r\n <span\r\n class=\"info--icon--svg\"\r\n [ngClass]=\"infoItem.icon\"\r\n ></span>\r\n </span>\r\n <p class=\"text\">{{ infoItem.label }}</p>\r\n </li>\r\n }\r\n </ul>\r\n } @if (item.description || item.additionalDescription) {\r\n <div\r\n class=\"room-slider--info--des\"\r\n [ngClass]=\"collapsed[mainIndex] ? 'close' : 'open'\"\r\n >\r\n @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n\r\n } @if (item.additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n } @if (linkDescriptionMore && linkDescriptionLess &&\r\n item.additionalDescription) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkDescriptionMore.label\"\r\n (click)=\"toggleCollapse(mainIndex)\"\r\n [name]=\"linkDescriptionMore.label\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"linkDescriptionLess.label\"\r\n (click)=\"toggleCollapse(mainIndex)\"\r\n [name]=\"linkDescriptionLess.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n <div\r\n class=\"room-slider--info--equipament\"\r\n [ngClass]=\"viewmore[mainIndex] ? 'close' : 'open'\"\r\n >\r\n @if (item.equipment?.title) {\r\n <h2\r\n class=\"room-slider--info--subtit title--24 color--brown\"\r\n >\r\n {{ item.equipment?.title }}\r\n </h2>\r\n\r\n } @if (item.equipment?.items) {\r\n <ul>\r\n @for (equipmentItem of item.equipment?.items; track\r\n $index) {\r\n <li>\r\n <span class=\"icon-check\"></span>\r\n <p class=\"text\">{{ equipmentItem }}</p>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n\r\n <div class=\"room-slider--info--btns\">\r\n @if (linkEquipmentMore && linkEquipmentLess &&\r\n item.equipment?.items?.length! > itemsToShow) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkEquipmentMore.label\"\r\n (click)=\"toggleViewmore(mainIndex)\"\r\n [name]=\"linkEquipmentMore.label\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"linkEquipmentLess.label\"\r\n (click)=\"toggleViewmore(mainIndex)\"\r\n [name]=\"linkEquipmentLess.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport {\r\n CarouselModule,\r\n OwlOptions,\r\n CarouselComponent,\r\n} from 'ngx-owl-carousel-o';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-top-module',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n BadgeComponent,\r\n CarouselModule,\r\n MatIconModule,\r\n ],\r\n templateUrl: './top-module.component.html',\r\n styleUrl: './top-module.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TopModuleComponent implements AfterViewInit, OnInit {\r\n @ViewChild(CarouselComponent) carousel!: CarouselComponent;\r\n @ViewChild('nav', { read: ElementRef }) nav!: ElementRef;\r\n @ViewChild('module', { read: ElementRef }) module!: ElementRef;\r\n @Input() btnScroll!: ButtonI;\r\n @Input({ required: true }) items!: TopModuleItem[];\r\n @Input() desktop?: boolean;\r\n @Input() scrollLabel?: string;\r\n\r\n showScrollLabel = false;\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: true,\r\n nav: false,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 540: {\r\n items: 1,\r\n },\r\n 768: {\r\n items: 1,\r\n },\r\n 1024: {\r\n items: 1,\r\n },\r\n 1280: {\r\n items: 1,\r\n },\r\n 1366: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n };\r\n\r\n constructor(\r\n private readonly renderer: Renderer2,\r\n private readonly sanitizer: DomSanitizer\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const dots = document.getElementsByClassName('owl-dots')[0];\r\n this.renderer.appendChild(dots, this.nav.nativeElement);\r\n this.renderer.setStyle(\r\n this.nav.nativeElement,\r\n 'width',\r\n `${dots.clientWidth + 40}px`\r\n );\r\n }\r\n\r\n prevClick(): void {\r\n this.carousel.prev();\r\n }\r\n\r\n nextClick(): void {\r\n this.carousel.next();\r\n }\r\n\r\n scrollClicked(): void {\r\n window.scrollTo({\r\n top:\r\n (this.module.nativeElement as HTMLElement).clientHeight +\r\n Number(\r\n window\r\n .getComputedStyle(this.module.nativeElement)\r\n .getPropertyValue('padding-bottom')\r\n .split('px')[0]\r\n ) -\r\n document.getElementsByTagName('tent-header')[0].clientHeight,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n toggleScrollLabel(): void {\r\n this.showScrollLabel = !this.showScrollLabel;\r\n }\r\n}\r\n\r\nexport interface TopModuleItem {\r\n mainBadge?: BadgeI;\r\n title?: string;\r\n badgePromo?: BadgeI;\r\n badgeDiscount?: BadgeI;\r\n btn?: ButtonI;\r\n img?: string;\r\n}\r\n","<section class=\"top-module module-spacer--bottom\" #module>\r\n <div class=\"top-module--nav flex-row flex-row--between\" #nav>\r\n <span\r\n class=\"icon-pointer-down color--white\"\r\n (click)=\"prevClick()\"\r\n ></span>\r\n <span\r\n class=\"icon-pointer-down color--white\"\r\n (click)=\"nextClick()\"\r\n ></span>\r\n </div>\r\n <owl-carousel-o class=\"top-module--slider\" [options]=\"sliderOptions\">\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"top-module--content\">\r\n @if (item.mainBadge) {\r\n <div class=\"top-module--badge\">\r\n <tent-badge\r\n [rounded]=\"true\"\r\n [label]=\"item.mainBadge.label\"\r\n ></tent-badge>\r\n </div>\r\n } @if (item.title) {\r\n <h3 class=\"title--80 color--white\">{{ item.title }}</h3>\r\n } @if (item.badgePromo || item.badgeDiscount) {\r\n <div class=\"top-module--offers flex-row\">\r\n @if (item.badgePromo) {\r\n <tent-badge\r\n class=\"top-module--promo\"\r\n [rounded]=\"true\"\r\n [label]=\"item.badgePromo.label\"\r\n ></tent-badge>\r\n } @if (item.badgeDiscount) {\r\n <tent-badge\r\n class=\"top-module--discount\"\r\n [rounded]=\"true\"\r\n [label]=\"item.badgeDiscount.label\"\r\n ></tent-badge>\r\n }\r\n </div>\r\n } @if (item.btn) {\r\n <div class=\"top-module--btn-info\">\r\n <tent-button\r\n type=\"light-box\"\r\n [label]=\"item.btn.label\"\r\n [url]=\"item.btn.url\"\r\n [linkType]=\"item.btn.linkType!\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n @if (item.img) {\r\n <figure\r\n class=\"top-module--image\"\r\n [style]=\"getImage(item.img)\"\r\n ></figure>\r\n }\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n\r\n <div\r\n class=\"top-module--btn-scroll\"\r\n (mouseenter)=\"toggleScrollLabel()\"\r\n (mouseleave)=\"toggleScrollLabel()\"\r\n >\r\n @if (showScrollLabel && scrollLabel) {\r\n <p class=\"top-module--btn-scroll--label\">\r\n {{ scrollLabel }}\r\n </p>\r\n\r\n }\r\n <tent-button\r\n type=\"light-circle\"\r\n [icon]=\"btnScroll.icon\"\r\n (click)=\"scrollClicked()\"\r\n name=\"tent-hotels\"\r\n ></tent-button>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-travelers',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule],\r\n templateUrl: './travelers.component.html',\r\n styleUrl: './travelers.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TravelersComponent {\r\n @Input() images?: string[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() links?: ButtonI[];\r\n\r\n get instagramLink(): string {\r\n return (\r\n this.links?.find((link) => link.icon === 'icon-instagram')?.url ??\r\n ''\r\n );\r\n }\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: false,\r\n autoWidth: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n center: false,\r\n dots: false,\r\n navText: [\r\n '<img src=\"/assets/tent/img/arrow-left.svg\" alt=\"left\" class=\" \" >',\r\n '<img src=\"/assets/tent/img/arrow-right.svg\" alt=\"left\" class=\" \" >',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 2,\r\n },\r\n 540: {\r\n items: 3,\r\n },\r\n 768: {\r\n items: 4,\r\n },\r\n 1024: {\r\n items: 5,\r\n },\r\n 1280: {\r\n items: 6,\r\n },\r\n 1366: {\r\n items: 7,\r\n },\r\n 1680: {\r\n items: 7,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n","<section class=\"module-travelers wrapper-medium module-spacer-small--bottom\">\r\n @if (images?.length) {\r\n <div class=\"module-travelers--inner\">\r\n <owl-carousel-o\r\n class=\"module-travelers--slider slider-arrows--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"module-travelers--slide\">\r\n <a\r\n [href]=\"instagramLink\"\r\n aria-label=\"tent-hotels\"\r\n target=\"_blank\"\r\n class=\"module-travelers--img figure-zoom\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </a>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n }\r\n <div class=\"module-travelers--info mt--20\">\r\n <div class=\"flex-row flex-row--center\">\r\n @if (title) {\r\n <h2 class=\"module-travelers--title title--80 color--camel\">\r\n <!---->{{ title\r\n }}<!---->\r\n </h2>\r\n } @if (titleDark) {\r\n <span class=\"color--brown title--80\">{{ titleDark }}</span>\r\n }\r\n </div>\r\n @if (links?.length) {\r\n <ul class=\"module-travelers--socials\">\r\n @for (link of links; track $index) {\r\n <li>\r\n <a\r\n aria-label=\"tent-hotels\"\r\n [href]=\"link.url\"\r\n rel=\"external\"\r\n target=\"_blank\"\r\n class=\"module-travelers--social color--brown\"\r\n [ngClass]=\"link.icon\"\r\n ></a>\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n\r\n@Component({\r\n selector: 'tent-cards-2col',\r\n standalone: true,\r\n imports: [ButtonComponent, RouterModule],\r\n templateUrl: './cards-2col.component.html',\r\n styleUrl: './cards-2col.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Cards2colComponent {\r\n @Input() itemLeft?: Cards2colItem;\r\n @Input() itemRight?: Cards2colItem;\r\n\r\n get itemLeftLink(): string {\r\n return this.itemLeft?.btns?.[0]?.url!;\r\n }\r\n\r\n get itemRightLink(): string {\r\n return this.itemRight?.btns?.[0]?.url!;\r\n }\r\n\r\n linkClicked(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n\r\nexport interface Cards2colItem {\r\n title: string;\r\n titleLight: string;\r\n description: string;\r\n image: ImageI;\r\n imageBackground: string;\r\n btns?: ButtonI[];\r\n}\r\n","<section class=\"services-col2 wrapper-big module-spacer--bottom\">\r\n <div class=\"services-col2--content\">\r\n @if (itemLeft) {\r\n <div class=\"services-col2--box\">\r\n <a\r\n [routerLink]=\"itemLeftLink\"\r\n class=\"services-col2--box--inner bg-blue\"\r\n [href]=\"itemLeftLink\"\r\n [attr.aria-label]=\"itemLeft.title\"\r\n (click)=\"linkClicked($event)\"\r\n >\r\n <div class=\"services-col2--box--info\">\r\n @if (itemLeft.image) {\r\n <img\r\n [src]=\"itemLeft.image.src\"\r\n [alt]=\"itemLeft.image.alt\"\r\n class=\"services-col2--logoTitle\"\r\n />\r\n } @if (itemLeft.imageBackground) {\r\n <img\r\n [src]=\"itemLeft.imageBackground\"\r\n [alt]=\"itemLeft.image.alt\"\r\n class=\"services-col2--markWater water1\"\r\n />\r\n } @if (itemLeft.title && itemLeft.description) {\r\n <div class=\"services-col2--des\">\r\n <h3 class=\"services-col2--title title--42 color--blue\">\r\n {{ itemLeft.title }}\r\n @if (itemLeft.titleLight) {\r\n <span class=\"color--white\">{{\r\n itemLeft.titleLight\r\n }}</span>\r\n }\r\n </h3>\r\n <p class=\"services-col2--text text color--white\">\r\n {{ itemLeft.description }}\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n <tent-button\r\n class=\"services-col2--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n icon=\"icon-plus\"\r\n name=\"icon-plus\"\r\n ></tent-button>\r\n </a>\r\n </div>\r\n\r\n } @if (itemRight) {\r\n <div class=\"services-col2--box\">\r\n <a\r\n [routerLink]=\"itemRightLink\"\r\n class=\"services-col2--box--inner bg-camel\"\r\n [href]=\"itemRightLink\"\r\n (click)=\"linkClicked($event)\"\r\n [attr.aria-label]=\"itemRight.title\"\r\n >\r\n <div class=\"services-col2--box--info\">\r\n @if (itemRight.image) {\r\n <img\r\n [src]=\"itemRight.image.src\"\r\n [alt]=\"itemRight.image.alt\"\r\n class=\"services-col2--logoTitle\"\r\n />\r\n } @if (itemRight.imageBackground) {\r\n <img\r\n [src]=\"itemRight.imageBackground\"\r\n [alt]=\"itemRight.image.alt\"\r\n class=\"services-col2--markWater water2\"\r\n width=\"450\"\r\n height=\"400\"\r\n />\r\n } @if (itemRight.title && itemRight.description) {\r\n <div class=\"services-col2--des\">\r\n <h3 class=\"services-col2--title title--42 color--brown\">\r\n {{ itemRight.title }}\r\n @if (itemRight.titleLight) {\r\n <span class=\"color--white\">{{\r\n itemRight.titleLight\r\n }}</span>\r\n }\r\n </h3>\r\n <p class=\"services-col2--text text color--white\">\r\n {{ itemRight.description }}\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n <tent-button\r\n class=\"services-col2--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n icon=\"icon-plus\"\r\n name=\"icon-plus\"\r\n ></tent-button>\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-cards-3col',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule, ButtonComponent],\r\n templateUrl: './cards-3col.component.html',\r\n styleUrl: './cards-3col.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Cards3colComponent {\r\n @Input() items!: Cards3colItem[];\r\n\r\n collapsed = true;\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: false,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n loop: true,\r\n },\r\n 540: {\r\n items: 1,\r\n loop: true,\r\n },\r\n 714: {\r\n items: 2,\r\n },\r\n 1024: {\r\n items: 3,\r\n },\r\n 1280: {\r\n items: 3,\r\n },\r\n 1366: {\r\n items: 3,\r\n },\r\n 1680: {\r\n items: 3,\r\n },\r\n },\r\n nav: true,\r\n };\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface Cards3colItem {\r\n title: string;\r\n smalltitle: string;\r\n ndTitle: string;\r\n icon: string;\r\n btnCollapsed: ButtonI;\r\n btn: ButtonI;\r\n}\r\n","<section class=\"services-col3 wrapper-big module-spacer--bottom\">\r\n <div class=\"services-col3--content\">\r\n <owl-carousel-o\r\n class=\"services-col3--slider slider-circle--center slider-circle--center--centerFull\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"services-col3--slide\">\r\n <div\r\n class=\"services-col3--box\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n [ngClass]=\"{\r\n close: collapsed,\r\n open: !collapsed,\r\n 'bg-yellow': $index === 0,\r\n 'bg-orange': $index === 1,\r\n 'bg-brown': $index === 2\r\n }\"\r\n >\r\n <div class=\"services-col3--box--inner\">\r\n @if (item.title) {\r\n <h4\r\n class=\"services-col3--titleTop title--42 color--brown\"\r\n [innerHTML]=\"item.title\"\r\n ></h4>\r\n } @if (item.smalltitle) {\r\n <p class=\"services-col3--btn color--brown\">\r\n @if (item.icon) {\r\n <span [ngClass]=\"item.icon\"></span>\r\n }\r\n <span class=\"title--30\">\r\n {{ item.smalltitle }}</span\r\n >\r\n </p>\r\n } @if (item.ndTitle) {\r\n <h3\r\n class=\"services-col3--titleBottom title--54 color--brown\"\r\n [innerHTML]=\"item.ndTitle\"\r\n ></h3>\r\n }\r\n </div>\r\n @if (item.btn && item.btnCollapsed) { @if (collapsed) {\r\n <tent-button\r\n class=\"services-col3--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n [icon]=\"item.btnCollapsed.icon\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"item.btnCollapsed.icon\"\r\n ></tent-button>\r\n } @else {\r\n <tent-button\r\n class=\"services-col3--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n [icon]=\"item.btn.icon\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"item.btn.icon\"\r\n ></tent-button>\r\n\r\n } }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-menu-modal',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './menu-modal.component.html',\r\n styleUrl: './menu-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MenuModalComponent implements OnInit, OnDestroy {\r\n @Input() closeBtn!: ButtonI;\r\n @Input() logo?: string;\r\n @Input() checkinLabel?: string;\r\n @Input() altLogo?: string;\r\n @Input() items?: MenuItem[];\r\n @Input() booksBtn?: ButtonI;\r\n @Input() buttonItem?: ButtonI;\r\n @Input() phoneBtn?: ButtonI;\r\n @Input() newsletterBtn?: ButtonI;\r\n @Input() socialButtons?: ButtonI[];\r\n\r\n @Output() checkinClick = new EventEmitter<void>();\r\n @Output() newsletterClick = new EventEmitter<void>();\r\n @Output() booksClick = new EventEmitter<void>();\r\n @Output() elementClick = new EventEmitter<MenuItem>();\r\n\r\n isInternalLink(item: MenuItem): boolean {\r\n return item.type === 'internal';\r\n }\r\n\r\n private readonly dialogRef: MatDialogRef<MenuModalComponent> =\r\n inject(MatDialogRef);\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n ngOnInit(): void {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: hidden');\r\n }\r\n\r\n ngOnDestroy(): void {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: auto');\r\n }\r\n\r\n getImage(image?: string): SafeStyle | undefined {\r\n return image\r\n ? this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n )\r\n : undefined;\r\n }\r\n\r\n linkClicked(item: MenuItem, event: Event): void {\r\n if (item.type !== 'external') {\r\n event.preventDefault();\r\n }\r\n this.elementClick.emit(item);\r\n this.closeModal();\r\n }\r\n\r\n closeModal(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\nexport interface MenuItem {\r\n id?: string | number;\r\n title: string;\r\n image?: string;\r\n url?: string;\r\n type: 'internal' | 'external' | 'component';\r\n componentId?: string;\r\n}\r\n","<div class=\"menu-modal\">\r\n <div class=\"menu-modal--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"closeModal()\"\r\n [name]=\"closeBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n\r\n <div class=\"menu-modal--content\">\r\n @if (logo) {\r\n <div class=\"flex-row flex-row--center menu-modal--logo\">\r\n <img\r\n class=\"menu-modal--logo--img\"\r\n [src]=\"logo\"\r\n [alt]=\"altLogo\"\r\n width=\"100\"\r\n height=\"100\"\r\n />\r\n </div>\r\n }\r\n <div class=\"menu-modal--links\">\r\n @if (items?.length) { @for (item of items; track $index) { @if\r\n (item.title) {\r\n <a\r\n [href]=\"item.url\"\r\n [routerLink]=\"isInternalLink(item) ? [item.url] : null\"\r\n [attr.aria-label]=\"item.title\"\r\n class=\"menu-modal--link-wrapper\"\r\n (click)=\"linkClicked(item, $event)\"\r\n >\r\n @if (item.image) {\r\n <div class=\"menu-modal--image-wrapper\">\r\n <figure\r\n class=\"menu-modal--image\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n }\r\n <div class=\"menu-modal--link\">\r\n <p>\r\n {{ item.title }}\r\n </p>\r\n @if (buttonItem) {\r\n <tent-button\r\n class=\"menu-modal--btn\"\r\n type=\"dark-circle\"\r\n [icon]=\"buttonItem.icon\"\r\n [name]=\"buttonItem.icon\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </a>\r\n } }} @if (checkinLabel) {\r\n <div\r\n class=\"menu-modal--check-in--wrapper flex-row flex-row--center\"\r\n >\r\n <div class=\"menu-modal--check-in\" (click)=\"checkinClick.emit()\">\r\n <span class=\"color--white\">{{ checkinLabel }}</span>\r\n </div>\r\n </div>\r\n } @if (newsletterBtn || socialButtons) {\r\n <div class=\"flex-row flex-row--between menu-modal--social-media\">\r\n @if (newsletterBtn) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"newsletterBtn.label\"\r\n icon=\"icon-envelope-plus\"\r\n iconPosition=\"right\"\r\n (btnClick)=\"newsletterClick.emit()\"\r\n [name]=\"newsletterBtn.label\"\r\n ></tent-button>\r\n } @if (socialButtons?.length) {\r\n <ul class=\"menu-modal--socials\">\r\n @for (socialBtn of socialButtons; track $index) {\r\n <li>\r\n <a\r\n [attr.aria-label]=\"socialBtn.icon\"\r\n [href]=\"socialBtn.url\"\r\n rel=\"external\"\r\n target=\"_blank\"\r\n [ngClass]=\"socialBtn.icon\"\r\n class=\"module-travelers--social color--brown\"\r\n ></a>\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n </div>\r\n } @if (phoneBtn) {\r\n <div class=\"flex-row flex-row--between menu-modal--books\">\r\n <!-- <tent-button\r\n type=\"dark-link\"\r\n [label]=\"booksBtn.label\"\r\n [icon]=\"booksBtn.icon\"\r\n (btnClick)=\"booksClick.emit()\"\r\n ></tent-button> -->\r\n\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"phoneBtn.label\"\r\n [url]=\"phoneBtn.url\"\r\n icon=\"icon-phone\"\r\n iconPosition=\"left\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-languages-modal',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, MatIconModule],\r\n templateUrl: './languages-modal.component.html',\r\n styleUrl: './languages-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LanguagesModalComponent {\r\n @Input() title?: string;\r\n @Input() closeBtn?: ButtonI;\r\n @Input() buttons?: ButtonI[];\r\n\r\n @Output() languageSelect = new EventEmitter<ButtonI>();\r\n\r\n selected = 'inglés';\r\n\r\n private readonly dialogRef: MatDialogRef<LanguagesModalComponent> =\r\n inject(MatDialogRef);\r\n\r\n selectLanguage(language: ButtonI): void {\r\n this.selected = language.label!;\r\n this.languageSelect.emit(language);\r\n this.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"languages-modal\">\r\n @if (closeBtn?.icon) {\r\n <div class=\"languages-modal--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn?.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn?.icon\"\r\n ></tent-button>\r\n </div>\r\n } @if (title) {\r\n <div class=\"languages-modal--header\">\r\n <h4 class=\"languages-modal--header--title\">{{ title }}</h4>\r\n </div>\r\n } @if (buttons?.length) {\r\n <div class=\"languages-modal--content\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'languages-modal--selected': btn.label == selected\r\n }\"\r\n type=\"dark-box\"\r\n [label]=\"btn.label\"\r\n (btnClick)=\"selectLanguage(btn)\"\r\n [name]=\"btn.label\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { InputI } from '../../../../interfaces/atomic/input.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'tent-newsletter-modal',\r\n standalone: true,\r\n imports: [\r\n MatCheckboxModule,\r\n ButtonComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n ],\r\n templateUrl: './newsletter-modal.component.html',\r\n styleUrl: './newsletter-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NewsletterModalComponent implements OnInit {\r\n @Input() closeBtn?: ButtonI;\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() conditions?: string;\r\n @Input() image?: string;\r\n @Input() input?: InputI;\r\n\r\n @Output() submitForm = new EventEmitter<string>();\r\n\r\n get imageInstant(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n form!: FormGroup;\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<NewsletterModalComponent>,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n input: ['', [Validators.email, Validators.required]],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\r\n }\r\n\r\n validateInput(): void {\r\n this.input!.valid = this.form.controls['input'].errors === null;\r\n }\r\n\r\n inputChange(event: Event): void {\r\n this.input!.value = (event.target as HTMLInputElement).value;\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n submit(): void {\r\n this.submitForm.emit(this.input!.value as string);\r\n }\r\n}\r\n","<div class=\"newsletter-modal\">\r\n @if (closeBtn?.icon) {\r\n <div class=\"newsletter-modal--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn?.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn?.icon\"\r\n ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"newsletter-modal--left-slot\">\r\n <figure class=\"figure-full\" [style]=\"imageInstant\"></figure>\r\n </div>\r\n\r\n }\r\n <div class=\"newsletter-modal--right-slot\">\r\n <div class=\"flex-col\">\r\n @if (title || titleDark) {\r\n <div>\r\n @if (titleDark) {\r\n <h3 class=\"newsletter-modal--title color--brown\">\r\n {{ titleDark }}\r\n </h3>\r\n } @if (title) {\r\n <h3 class=\"newsletter-modal--title color--camel\">\r\n {{ title }}\r\n </h3>\r\n }\r\n </div>\r\n } @if (description) {\r\n <p class=\"newsletter-modal--subtitle\">\r\n {{ description }}\r\n </p>\r\n }\r\n\r\n <form class=\"flex-col\" [formGroup]=\"form\">\r\n <div class=\"newsletter-modal--input\">\r\n @if (input) {\r\n <input\r\n type=\"email\"\r\n [value]=\"input.value\"\r\n [placeholder]=\"input.placeholder\"\r\n (blur)=\"validateInput()\"\r\n (change)=\"inputChange($event)\"\r\n formControlName=\"input\"\r\n />\r\n <span\r\n class=\"icon-pointer-down\"\r\n [ngClass]=\"{ invalid: !form.valid }\"\r\n (click)=\"submit()\"\r\n ></span>\r\n }\r\n </div>\r\n @if (!input?.valid) {\r\n <span class=\"form-error\">\r\n {{ input?.error }}\r\n </span>\r\n }\r\n\r\n <div class=\"flex-row\">\r\n <mat-checkbox\r\n class=\"newsletter-modal--checkbox\"\r\n formControlName=\"checkbox\"\r\n ></mat-checkbox>\r\n @if (conditions) {\r\n <span\r\n [innerHTML]=\"conditions\"\r\n class=\"newsletter-modal--conditions color--brown\"\r\n >\r\n </span>\r\n }\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n inject,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-checkin-modal',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './checkin-modal.component.html',\r\n styleUrl: './checkin-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CheckinModalComponent {\r\n @Input() image!: string;\r\n @Input() title?: string;\r\n @Input() script?: string;\r\n @Input() closeBtn!: ButtonI;\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n get urlScript(): SafeUrl {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(this.script!);\r\n }\r\n\r\n private readonly sanitizer = inject(DomSanitizer);\r\n private readonly dialogRef: MatDialogRef<CheckinModalComponent> =\r\n inject(MatDialogRef);\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"checkin\">\r\n @if (closeBtn) {\r\n <div class=\"checkin--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"checkin--image-wrapper\">\r\n <figure [style]=\"getImage\" class=\"checkin--image\"></figure>\r\n </div>\r\n }\r\n <div class=\"checkin--right-slot\">\r\n @if (title) {\r\n <div class=\"checkin--header\">\r\n <p class=\"checkin--title color--brown\">{{ title }}</p>\r\n </div>\r\n } @if (script) {\r\n <iframe\r\n [src]=\"urlScript\"\r\n width=\"600\"\r\n height=\"400\"\r\n frameborder=\"0\"\r\n allow=\"camera\"\r\n scrolling=\"yes\"\r\n ></iframe>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { InputI } from '../../../../interfaces/atomic/input.interface';\r\nimport {\r\n FormControl,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-books-modal',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RouterModule,\r\n ],\r\n templateUrl: './books-modal.component.html',\r\n styleUrl: './books-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BooksModalComponent implements OnInit {\r\n @Input() tabs!: NewsletterTab[];\r\n @Input() closeBtn!: ButtonI;\r\n\r\n @Output() submitBtnclick = new EventEmitter<any>();\r\n\r\n selected!: NewsletterTab;\r\n\r\n forms: FormGroup[] = [new FormGroup({}), new FormGroup({})];\r\n formsReady = false;\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<BooksModalComponent>\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.selected = this.tabs[0];\r\n\r\n this.tabs.sort((a, b) => a.order - b.order);\r\n\r\n this.initForm();\r\n }\r\n\r\n selectTab(tab: NewsletterTab, event: Event): void {\r\n this.selected = tab;\r\n\r\n if (tab.link) {\r\n if (tab.link.linkType === 'internal') {\r\n }\r\n event.preventDefault();\r\n this.close();\r\n }\r\n }\r\n\r\n initForm(): void {\r\n this.tabs.forEach((tab) => {\r\n let i = 0;\r\n if (!tab.link) {\r\n tab.form.inputs.forEach((input) => {\r\n this.forms[i].addControl(\r\n input.name,\r\n new FormControl(input.value)\r\n );\r\n });\r\n }\r\n i++;\r\n });\r\n\r\n this.formsReady = true;\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n submitBtnClicked(index: number): void {\r\n this.submitBtnclick.emit(this.forms[index].value);\r\n }\r\n}\r\n\r\nexport interface NewsletterTab {\r\n label: string;\r\n link?: ButtonI;\r\n order: number;\r\n form: TabData;\r\n}\r\n\r\nexport interface TabData {\r\n title: string;\r\n inputs: InputI[];\r\n submitBtn: ButtonI;\r\n}\r\n","<div class=\"books\">\r\n <div class=\"books--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n <div class=\"books--main-wrapper\">\r\n @for (tab of tabs; track $index) { @if (!tab.link && formsReady) {\r\n\r\n <div\r\n class=\"books--wrapper\"\r\n [ngClass]=\"{\r\n 'books--wrapper--selected': selected === tab\r\n }\"\r\n >\r\n <div class=\"books--main-content flex-col flex-col--center\">\r\n <h3 class=\"books--title color--brown\">\r\n {{ tab.form.title }}\r\n </h3>\r\n\r\n <form\r\n [formGroup]=\"forms[$index]\"\r\n class=\"flex-col flex-col--center books--form\"\r\n >\r\n @for (input of tab.form.inputs; track $index) {\r\n <div class=\"flex-col\">\r\n <p class=\"books--input--title\">{{ input.title }}</p>\r\n <input\r\n class=\"books--input\"\r\n [type]=\"input.type\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControlName]=\"input.name\"\r\n />\r\n </div>\r\n\r\n }\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n [label]=\"tab.form.submitBtn.label\"\r\n (btnClick)=\"submitBtnClicked($index)\"\r\n [name]=\"tab.form.submitBtn.label\"\r\n ></tent-button>\r\n </form>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n\r\n <div class=\"books--submenu flex-row flex-row--center\">\r\n @for (tab of tabs; track $index; let last = $last) { @if (!tab.link) {\r\n <span\r\n class=\"books--tab\"\r\n (click)=\"selectTab(tab, $event)\"\r\n [ngClass]=\"{ 'books--tab--selected': tab === selected }\"\r\n >{{ tab.label }}\r\n </span>\r\n\r\n } @else {\r\n <a\r\n class=\"books--tab\"\r\n (click)=\"selectTab(tab, $event)\"\r\n [href]=\"tab.link.url\"\r\n [routerLink]=\"\r\n tab.link.linkType === 'internal' ? [tab.link.url] : null\r\n \"\r\n [ngClass]=\"{ 'books--tab--selected': tab === selected }\"\r\n >\r\n {{ tab.label }}\r\n </a>\r\n } @if (!last) { | } }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n signal,\r\n} from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { tap } from 'rxjs';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\r\nimport { InputI } from '../../../interfaces/atomic/input.interface';\r\nimport { TextareaI } from '../../../interfaces/atomic/textarea.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\nimport { InputComponent } from '../../atomic/input/input.component';\r\n\r\n@Component({\r\n selector: 'tent-contact-form',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n MatCheckboxModule,\r\n InputComponent,\r\n DropdownComponent,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ],\r\n templateUrl: './contact-form.component.html',\r\n styleUrl: './contact-form.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContactFormComponent implements AfterViewInit {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() conditions?: string;\r\n @Input() requiredFieldsLabel?: string;\r\n @Input({ required: true }) dropdown!: DropdownI;\r\n @Input({ required: true }) inputs!: InputI[];\r\n @Input({ required: true }) textarea!: TextareaI;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() formSubmit = new EventEmitter<ContactFormValue>();\r\n\r\n form!: FormGroup;\r\n\r\n isValid = signal(false);\r\n\r\n formReady = signal(false);\r\n\r\n constructor(private readonly fb: FormBuilder) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeForm();\r\n }\r\n\r\n initializeForm(): void {\r\n this.form = this.fb.group({\r\n dropdown: [this.dropdown.value, [Validators.required]],\r\n email: [\r\n this.inputs[1].value,\r\n [\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.email,\r\n ],\r\n ],\r\n name: [\r\n this.inputs[0].value,\r\n [Validators.required, Validators.minLength(3)],\r\n ],\r\n textarea: [this.textarea.value],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\r\n\r\n this.form.statusChanges\r\n .pipe(\r\n tap((status) => {\r\n this.isValid.set(status === 'VALID');\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.formReady.set(true);\r\n }\r\n\r\n validateInput(name: string) {\r\n this.inputs[name === 'name' ? 0 : 1].valid =\r\n this.form.controls[name].errors === null;\r\n }\r\n\r\n validateDropdown(): void {\r\n this.dropdown.valid = this.form.controls['dropdown'].errors === null;\r\n }\r\n\r\n submitForm(): void {\r\n this.formSubmit.emit(this.form.value);\r\n this.resetForm();\r\n }\r\n\r\n resetForm(): void {\r\n this.form.reset();\r\n this.dropdown.value = undefined;\r\n this.textarea.value = '';\r\n this.inputs.forEach((input) => {\r\n input.value = '';\r\n });\r\n }\r\n}\r\n\r\nexport interface ContactFormValue {\r\n dropdown?: DropdownOption;\r\n email: string;\r\n name: string;\r\n checkbox: boolean;\r\n textarea?: string;\r\n}\r\n","<section class=\"contact-form\">\r\n @if (title || description) {\r\n <div class=\"flex-col contact-form--header\">\r\n @if (title) {\r\n <h3 class=\"contact-form--title color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (description) {\r\n <p class=\"contact-form--description\">\r\n {{ description }}\r\n </p>\r\n }\r\n </div>\r\n } @if (formReady()) {\r\n <form class=\"contact-form--form\" [formGroup]=\"form\">\r\n <div class=\"contact-form--left\">\r\n @if (dropdown) {\r\n <div class=\"contact-form--dropdown flex-col\">\r\n <p class=\"contact-form--msg--title\">\r\n <span class=\"input--required\"></span>{{ dropdown.title }}\r\n </p>\r\n <tent-dropdown\r\n [options]=\"dropdown.options\"\r\n formControlName=\"dropdown\"\r\n name=\"hotels\"\r\n [value]=\"dropdown.value\"\r\n [valid]=\"dropdown.valid!\"\r\n [error]=\"dropdown.error\"\r\n (dropdownBlur)=\"validateDropdown()\"\r\n ></tent-dropdown>\r\n </div>\r\n } @if (inputs && inputs.length) { @for (input of inputs; track\r\n $index; let first = $first) {\r\n <tent-input\r\n [iconBackOffice]=\"true\"\r\n [title]=\"input.title\"\r\n [name]=\"input.name\"\r\n [type]=\"input.type\"\r\n [placeholder]=\"input.placeholder\"\r\n [icon]=\"input.icon\"\r\n [required]=\"true\"\r\n [value]=\"input.value!\"\r\n [error]=\"input.error\"\r\n [valid]=\"input.valid!\"\r\n (inputBlur)=\"validateInput(first ? 'name' : 'email')\"\r\n [formControlName]=\"first ? 'name' : 'email'\"\r\n ></tent-input>\r\n\r\n } }\r\n </div>\r\n <div class=\"contact-form--right\">\r\n @if (textarea) {\r\n <div class=\"contact-form--msg flex-col\">\r\n <p class=\"contact-form--msg--title\">\r\n {{ textarea.title }}\r\n </p>\r\n <textarea\r\n class=\"contact-form--msg--textarea\"\r\n [placeholder]=\"textarea.placeholder\"\r\n [value]=\"textarea.value\"\r\n name=\"textarea\"\r\n formControlName=\"textarea\"\r\n ></textarea>\r\n </div>\r\n\r\n }\r\n <div class=\"contact-form--footer\">\r\n <div class=\"flex-col\">\r\n <div class=\"contact-form--checkbox--wrapper\">\r\n <mat-checkbox\r\n class=\"contact-form--checkbox\"\r\n formControlName=\"checkbox\"\r\n ></mat-checkbox>\r\n @if (conditions) {\r\n <span\r\n class=\"contact-form--conditions color--brown\"\r\n [innerHTML]=\"conditions\"\r\n >\r\n </span>\r\n }\r\n </div>\r\n @if (requiredFieldsLabel) {\r\n <span class=\"contact-form--required--text\">\r\n <span class=\"contact-form--required\"></span>\r\n {{ requiredFieldsLabel }}\r\n </span>\r\n }\r\n </div>\r\n\r\n @if (button) {\r\n <tent-button\r\n class=\"contact-form--submit\"\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n [label]=\"button.label\"\r\n [disabled]=\"!isValid()\"\r\n (btnClick)=\"submitForm()\"\r\n [name]=\"button.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n </form>\r\n }\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-contact-office',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule],\r\n templateUrl: './contact-office.component.html',\r\n styleUrl: './contact-office.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContactOfficeComponent {\r\n @Input() images?: string[];\r\n @Input() title?: string;\r\n @Input() links?: ButtonI[];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n collapsed = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n","<section class=\"contact-office module-spacer--bottom\">\r\n <div class=\"contact-office--content wrapper-big\">\r\n <div class=\"contact-office--box info-right\">\r\n @if (images && images.length) {\r\n <owl-carousel-o\r\n class=\"contact-office--slider slider-circle--center figure-sticky\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"contact-office--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n }\r\n <div\r\n class=\"contact-office--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n <div class=\"contact-office--info--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"contact-office--info--title title--30 color--brown-70\"\r\n >\r\n {{ title }}\r\n </h2>\r\n } @if (links && links.length) {\r\n <ul class=\"contact-office--list\">\r\n @for (link of links; track $index; let last = $last) {\r\n <li [ngClass]=\"{ 'border-top': last }\">\r\n <span class=\"contact-office--icon\"\r\n ><span [ngClass]=\"link.icon\"></span\r\n ></span>\r\n <a\r\n [innerHTML]=\"link.label\"\r\n [href]=\"link.url\"\r\n class=\"text link\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-delivery-app',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './delivery-app.component.html',\r\n styleUrl: './delivery-app.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DeliveryAppComponent {\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() buttons?: ButtonI[];\r\n}\r\n","<section class=\"delivery-app module-spacer--bottom\">\r\n <div class=\"delivery-app--content wrapper-big\">\r\n <div class=\"delivery-app--box\">\r\n <div class=\"delivery-app--info\">\r\n @if (title) {\r\n <h2 class=\"delivery-app--title title--60 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h2>\r\n } @if (buttons?.length && buttons) {\r\n <div class=\"delivery-app--btns btns-desktop\">\r\n @if (buttons[0]) {\r\n <tent-button\r\n type=\"dark-box-white\"\r\n [label]=\"buttons[0].label\"\r\n [name]=\"buttons[0].label\"\r\n [url]=\"buttons[0].url\"\r\n [linkType]=\"buttons[0].linkType\"\r\n icon=\"icon-google-play\"\r\n ></tent-button>\r\n } @if (buttons[1]) {\r\n <tent-button\r\n type=\"dark-box-white\"\r\n [label]=\"buttons[1].label\"\r\n [name]=\"buttons[1].label\"\r\n [url]=\"buttons[1].url\"\r\n [linkType]=\"buttons[1].linkType\"\r\n icon=\"icon-apple\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"delivery-app--photo\">\r\n <img\r\n src=\"/assets/tent/img/movil.png\"\r\n alt=\"delivery\"\r\n class=\" \"\r\n width=\"\"\r\n height=\"\"\r\n />\r\n </div>\r\n @if (description) {\r\n <div class=\"delivery-app--des\">\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n </div>\r\n } @if (buttons?.length && buttons) {\r\n <div class=\"delivery-app--btns btns-mobile\">\r\n @if (buttons[0]) {\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"buttons[0].label\"\r\n [name]=\"buttons[0].label\"\r\n [url]=\"buttons[0].url\"\r\n [linkType]=\"buttons[0].linkType\"\r\n icon=\"icon-google-play\"\r\n ></tent-button>\r\n } @if (buttons[1]) {\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"buttons[1].label\"\r\n [name]=\"buttons[1].label\"\r\n [url]=\"buttons[1].url\"\r\n [linkType]=\"buttons[1].linkType\"\r\n icon=\"icon-apple\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-destination-hotels',\r\n standalone: true,\r\n imports: [ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './destination-hotels.component.html',\r\n styleUrl: './destination-hotels.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DestinationHotelsComponent {\r\n @Input() items?: DestinationHotelItem[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n\r\n @Output() hotelClick = new EventEmitter<DestinationHotelItem>();\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1000: {\r\n items: 2,\r\n },\r\n 1680: {\r\n items: 2,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n}\r\n\r\nexport interface DestinationHotelItem {\r\n id: string | number;\r\n image?: string;\r\n title?: string;\r\n ndTitle?: string;\r\n button?: ButtonI;\r\n link?: ButtonI;\r\n}\r\n","<section class=\"destination-hotels module-spacer--bottom\">\r\n <div class=\"destination-hotels--content wrapper-big\">\r\n @if (title) {\r\n <div class=\"destination-hotels--head\">\r\n <h3 class=\"destination-hotels--title title--80 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h3>\r\n </div>\r\n } @if (items?.length) {\r\n <div class=\"destination-hotels--inner\">\r\n <owl-carousel-o\r\n class=\"destination-hotels--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"destination-hotels--slide\">\r\n @if (item.image) {\r\n <div class=\"destination-hotels--img\">\r\n <div\r\n class=\"destination-hotels--photo figure-content\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n </div>\r\n } @if (item.title || item.button || item.link) {}\r\n <div class=\"destination-hotels--des\">\r\n @if (item.title) {\r\n <h4\r\n class=\"destination-hotels--slideTitle color--brown title--42\"\r\n >\r\n {{ item.title }}\r\n @if (item.ndTitle) {\r\n <span class=\"color--brown\">{{\r\n item.ndTitle\r\n }}</span>\r\n }\r\n </h4>\r\n } @if (item.button ||item.link) {\r\n <div class=\"destination-hotels--btns\">\r\n @if (item.button) {\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n class=\"btn-small\"\r\n [label]=\"item.button.label\"\r\n [url]=\"item.button.url\"\r\n [linkType]=\"item.button.linkType\"\r\n ></tent-button>\r\n } @if (item.link) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"item.link.label\"\r\n [url]=\"item.link.url\"\r\n [linkType]=\"item.link.linkType\"\r\n (btnClick)=\"hotelClick.emit(item)\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-destination-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './destination-list.component.html',\r\n styleUrl: './destination-list.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DestinationListComponent {\r\n @Input() infoTitle?: string;\r\n @Input() infoTitleDark?: string;\r\n @Input() infoDescription?: string;\r\n @Input() items?: DestinationListItem[];\r\n\r\n @Output() destinyClick = new EventEmitter<string>();\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n destinyClicked(item: DestinationListItem) {\r\n this.destinyClick.emit(item.id);\r\n }\r\n}\r\n\r\nexport interface DestinationListItem {\r\n id?: string;\r\n image?: string;\r\n title?: string;\r\n subtitle?: string;\r\n button?: ButtonI;\r\n link?: ButtonI;\r\n}\r\n","@if (items?.length) {\r\n<section class=\"destination-list module-spacer--bottom\">\r\n <div class=\"destination-list--content wrapper-big\">\r\n <div class=\"destination-list--inner\">\r\n @for (item of items; track $index) {\r\n <div class=\"destination-list--item\">\r\n <a\r\n [href]=\"item.link?.url\"\r\n [routerLink]=\"item.link?.url\"\r\n (click)=\"$event.preventDefault(); destinyClicked(item)\"\r\n class=\"destination-list--photo figure-content figure-zoom\"\r\n [attr.aria-label]=\"item.title\"\r\n >\r\n @if (item.image) {\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n } @if (item.title || item.subtitle) {\r\n <div class=\"destination-list--info\">\r\n @if (item.title) {\r\n <h2 class=\"offer-detail--tit title--38 color--white\">\r\n {{ item.title }}\r\n </h2>\r\n } @if (item.subtitle) {\r\n <h3 class=\"subtitle--medium\">{{ item.subtitle }}</h3>\r\n }\r\n </div>\r\n }\r\n </a>\r\n @if (item.button || item.link) {\r\n\r\n <div class=\"destination-list--btns\">\r\n @if (item.button) {\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"item.button.label\"\r\n [linkType]=\"item.button.linkType!\"\r\n [url]=\"item.button.url\"\r\n (btnClick)=\"destinyClicked(item)\"\r\n ></tent-button>\r\n } @if (item.link) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"item.link.label\"\r\n acka\r\n [linkType]=\"item.link.linkType!\"\r\n [url]=\"item.link.url\"\r\n (btnClick)=\"destinyClicked(item)\"\r\n ></tent-button\r\n >}\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n}\r\n\r\n<section class=\"module-info module-spacer--bottom\">\r\n <div class=\"module-info--content wrapper-big\">\r\n <div class=\"module-info--inner\">\r\n <div class=\"module-info--box\">\r\n @if (infoTitle) {\r\n <h3 class=\"module-info--title title--80 color--camel\">\r\n {{ infoTitle }}\r\n @if (infoTitleDark) {\r\n\r\n <span class=\"color--brown\"> {{ infoTitleDark }} </span>}\r\n </h3>\r\n } @if (infoDescription) {\r\n <div class=\"module-info--des\">\r\n <p class=\"text\">\r\n {{ infoDescription }}\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'tent-employment-benefits',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './employment-benefits.component.html',\n styleUrl: './employment-benefits.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmploymentBenefitsComponent {\n @Input() title?: string;\n @Input() items?: EmploymentBenefitsItem[];\n}\n\nexport interface EmploymentBenefitsItem {\n icon?: string;\n title?: string;\n}\n","<section class=\"employment-benefits module-spacer--bottom\">\r\n <div class=\"employment-benefits--content wrapper-big\">\r\n <div class=\"employment-benefits--box\">\r\n @if (title) {\r\n <div class=\"employment-benefits--info\">\r\n <h2 class=\"employment-benefits--title title--60 color--brown\">\r\n {{ title }}\r\n </h2>\r\n </div>\r\n } @if (items && items.length) {\r\n <div class=\"employment-benefits--list\">\r\n @for (item of items; track $index) {\r\n <div class=\"employment-benefits--item bg-beige\">\r\n <div class=\"employment-benefits--item--inner\">\r\n @if (item.title) {\r\n <h3 class=\"title--24 color--brown-70\">\r\n {{ item.title }}\r\n </h3>\r\n } @if (item.icon) {\r\n <span\r\n [ngClass]=\"item.icon\"\r\n class=\"employment-benefits--icon\"\r\n ></span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n signal,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { InputComponent } from '../../atomic/input/input.component';\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { tap } from 'rxjs';\r\nimport { InputI } from '../../../interfaces/atomic/input.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-employment-form',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n MatCheckboxModule,\r\n InputComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './employment-form.component.html',\r\n styleUrl: './employment-form.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EmploymentFormComponent {\r\n @Input() inputs?: InputI[];\r\n @Input() conditionsLink?: string;\r\n @Input() requiredLabel?: string;\r\n @Input() title?: string;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() formSubmit = new EventEmitter();\r\n\r\n form: FormGroup = this.fb.group({\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\r\n\r\n formReady = false;\r\n\r\n isValid = signal(false);\r\n\r\n constructor(private readonly fb: FormBuilder) {}\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n }\r\n\r\n initializeForm(): void {\r\n this.inputs?.forEach((input) => {\r\n this.form.addControl(\r\n input.name,\r\n new FormControl(\r\n input.value,\r\n input.name === 'email'\r\n ? [\r\n Validators.required,\r\n Validators.email,\r\n Validators.minLength(3),\r\n ]\r\n : [Validators.required, Validators.minLength(3)]\r\n )\r\n );\r\n });\r\n\r\n this.form.statusChanges\r\n .pipe(\r\n tap((status) => {\r\n this.isValid.set(status === 'VALID');\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.formReady = true;\r\n }\r\n\r\n validateInput(name: string) {\r\n this.inputs!.find((input) => input.name === name)!.valid =\r\n this.form.controls[name].errors === null;\r\n }\r\n\r\n submitForm(): void {\r\n this.formSubmit.emit(this.form.value);\r\n this.resetForm();\r\n }\r\n\r\n resetForm(): void {\r\n this.form.reset();\r\n this.inputs?.forEach((input) => {\r\n input.value = '';\r\n });\r\n }\r\n}\r\n","<section class=\"employment-form--wrapper\">\r\n <div class=\"employment-form\">\r\n @if (title) {\r\n <h3 class=\"employment-form--title color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (formReady) {\r\n <form class=\"employment-form--form\" [formGroup]=\"form\">\r\n @if (inputs && inputs.length) {\r\n <div class=\"employment-form--form--wrapper\">\r\n @for (input of inputs; track $index) {\r\n <tent-input\r\n [title]=\"input.title\"\r\n [type]=\"input.type\"\r\n [placeholder]=\"input.placeholder\"\r\n [icon]=\"input.icon\"\r\n [required]=\"true\"\r\n [formControlName]=\"input.name\"\r\n [valid]=\"input.valid!\"\r\n [error]=\"input.error\"\r\n [name]=\"input.name\"\r\n (inputBlur)=\"validateInput(input.name)\"\r\n [ngClass]=\"{ 'input-cv': $last }\"\r\n ></tent-input>\r\n }\r\n </div>\r\n }\r\n <div class=\"employment-form--footer\">\r\n <div class=\"flex-col\">\r\n <div class=\"employment-form--checkbox--wrapper\">\r\n <mat-checkbox\r\n class=\"employment-form--checkbox\"\r\n formControlName=\"checkbox\"\r\n ></mat-checkbox>\r\n @if (conditionsLink) {\r\n <span\r\n class=\"employment-form--conditions color--brown\"\r\n [innerHTML]=\"conditionsLink\"\r\n >\r\n </span>\r\n }\r\n </div>\r\n @if (requiredLabel) {\r\n <span class=\"employment-form--required--text\">\r\n <span class=\"employment-form--required\"></span>\r\n {{ requiredLabel }}\r\n </span>\r\n }\r\n </div>\r\n\r\n @if (button) {\r\n <div class=\"employment-form--submit\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n [label]=\"button.label\"\r\n [disabled]=\"!isValid()\"\r\n [name]=\"button.label\"\r\n (btnClick)=\"submitForm()\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-gallery-photos',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './gallery-photos.component.html',\r\n styleUrl: './gallery-photos.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GalleryPhotosComponent implements OnChanges {\r\n @Input({ required: true }) items!: GalleryPhotosItem[];\r\n @Input() links?: ButtonI[];\r\n\r\n itemsOrdered: GalleryPhotosItem[][] = [];\r\n collapsed = true;\r\n\r\n constructor(\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly dialog: MatDialog\r\n ) {}\r\n\r\n openModal(photo: GalleryPhotosItem): void {\r\n const dialogRef = this.dialog.open(RoomZoomModalComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: 'full-screen',\r\n hasBackdrop: true,\r\n });\r\n dialogRef.componentInstance.title = photo.title;\r\n dialogRef.componentInstance.images = this.items\r\n ?.slice(this.items.indexOf(photo))\r\n .concat(this.items?.slice(0, this.items.indexOf(photo)))\r\n .map((item) => item.image);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['items']?.currentValue) {\r\n this.splitArray();\r\n }\r\n }\r\n\r\n splitArray(): void {\r\n let i = 0;\r\n this.itemsOrdered = [];\r\n\r\n while (i < this.items.length) {\r\n if (this.itemsOrdered.length % 2 === 0) {\r\n this.itemsOrdered.push(this.items.slice(i, i + 4));\r\n i += 4;\r\n } else {\r\n this.itemsOrdered.push(this.items.slice(i, i + 3));\r\n i += 3;\r\n }\r\n }\r\n }\r\n\r\n getImageUrl(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface GalleryPhotosItem {\r\n image: string;\r\n title: string;\r\n category: string[];\r\n}\r\n","<section class=\"gallery-photos module-spacer--bottom-small\">\r\n <div class=\"gallery-photos--content wrapper-big\">\r\n <div class=\"gallery-photos--list\">\r\n @for (item of itemsOrdered; track $index) { @if ($index < 4 ||\r\n !collapsed) {\r\n <div\r\n [ngClass]=\"{\r\n 'gallery-photos--box1': $index % 4 === 0,\r\n 'gallery-photos--box2': $index % 4 === 1,\r\n 'gallery-photos--box3': $index % 4 === 2,\r\n 'gallery-photos--box4': $index % 4 === 3,\r\n }\"\r\n >\r\n @for (photo of item; let subIndex = $index; track subIndex) {\r\n <div\r\n class=\"gallery-photos--item\"\r\n [ngClass]=\"'photo' + (subIndex + 1)\"\r\n >\r\n <div\r\n class=\"gallery-photos--photo figure-content\"\r\n (click)=\"openModal(photo)\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImageUrl(photo.image)\"\r\n ></figure>\r\n </div>\r\n @if (photo.title) {\r\n <div class=\"gallery-photos--label\">\r\n <p class=\"text color--brown\">{{ photo.title }}</p>\r\n <span\r\n class=\"icon-search-plus icon--size22 color--brown\"\r\n >\r\n </span>\r\n </div>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n @if (links && links.length && items.length > 14) {\r\n <div class=\"gallery-photos--links\">\r\n @if (collapsed) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"links[0].label\"\r\n (btnClick)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } @else {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"links[1].label\"\r\n (btnClick)=\"toggleCollapse()\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n@Component({\r\n selector: 'tent-hotel-about',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './hotel-about.component.html',\r\n styleUrl: './hotel-about.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelAboutComponent {\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() btnMore?: ButtonI;\r\n @Input() btnLess?: ButtonI;\r\n @Input() slides?: HotelAboutSlide[];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed1 = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n\r\n getImageUrl(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n\r\nexport interface HotelAboutSlide {\r\n image: ImageI;\r\n badge: string;\r\n}\r\n","<section class=\"hotel-about module-spacer--bottom\">\r\n <div class=\"hotel-about--content wrapper-big\">\r\n <div class=\"hotel-about--box\">\r\n <owl-carousel-o\r\n class=\"hotel-about--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (slide of slides; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"hotel-about--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImageUrl(slide.image.src)\"\r\n ></figure>\r\n <tent-badge\r\n class=\"hotel-about--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"slide.badge\"\r\n ></tent-badge>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n <div\r\n class=\"hotel-about--info\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <div class=\"hotel-about--info--inner\">\r\n @if (title) {\r\n <h2 class=\"hotel-about--info--title title--60 color--brown\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--camel\">{{ titleDark }}</span>\r\n }\r\n </h2>\r\n }\r\n <div class=\"hotel-about--info--des\">\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ additionalDescription }}\r\n </p>\r\n } @if (btnMore && btnLess) {\r\n <div class=\"hotel-about--btns\">\r\n @if (btnMore) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n } @if (btnLess) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n\r\n@Component({\r\n selector: 'tent-hotel-app',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './hotel-app.component.html',\r\n styleUrl: './hotel-app.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelAppComponent {\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() ndTitle?: string;\r\n @Input() img?: ImageI;\r\n @Input() buttons?: ButtonI[];\r\n @Input() items?: HotelAppItem[];\r\n}\r\n\r\nexport interface HotelAppItem {\r\n title: string;\r\n icon: string;\r\n}\r\n","<section class=\"hotel-app module-spacer--bottom\">\r\n <div class=\"hotel-app--content wrapper-big\">\r\n <div class=\"hotel-app--box\">\r\n @if (title) {\r\n <header class=\"hotel-app--header\">\r\n <h2 class=\"hotel-app--title title--60 color--camel\">\r\n {{ title }}\r\n </h2>\r\n @if (titleDark) {\r\n <h2 class=\"hotel-app--title title--60 color--brown\">\r\n {{ titleDark }}\r\n </h2>\r\n }\r\n </header>\r\n }\r\n <div class=\"hotel-app--list\">\r\n @if (img) {\r\n <img\r\n class=\"hotel-app--image\"\r\n [src]=\"img.src\"\r\n alt=\"app\"\r\n width=\"400\"\r\n height=\"650\"\r\n />\r\n } @if (description) {\r\n <p class=\"hotel-app--description text\">\r\n {{ description }}\r\n </p>\r\n } @if (ndTitle) {\r\n <h3 class=\"hotel-app--nd-title title--30 color--brown-70\">\r\n {{ ndTitle }}\r\n </h3>\r\n } @if (buttons) {\r\n <div class=\"hotel-app--buttons\">\r\n <tent-button\r\n type=\"dark-box\"\r\n icon=\"icon-apple\"\r\n iconPosition=\"left\"\r\n [label]=\"buttons[0].label\"\r\n [url]=\"buttons[0].url\"\r\n [linkType]=\"buttons[0].linkType\"\r\n ></tent-button>\r\n <tent-button\r\n type=\"dark-box\"\r\n icon=\"icon-google-play\"\r\n iconPosition=\"left\"\r\n [label]=\"buttons[1].label\"\r\n [url]=\"buttons[1].url\"\r\n [linkType]=\"buttons[1].linkType\"\r\n ></tent-button>\r\n </div>\r\n } @if (items?.length) {\r\n <ul class=\"hotel-app--info\">\r\n @for (item of items; track $index) {\r\n <li class=\"hotel-app--info--element\">\r\n <div class=\"hotel-app--info--element--icon--wrapper\">\r\n <span\r\n class=\"hotel-app--info--element--icon\"\r\n [ngClass]=\"item.icon\"\r\n >\r\n </span>\r\n </div>\r\n <span class=\"hotel-app--info--element--text text\">\r\n {{ item.title }}\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { fromEvent, tap } from 'rxjs';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-hotel-equipment',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './hotel-equipment.component.html',\r\n styleUrl: './hotel-equipment.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelEquipmentComponent implements OnInit, AfterViewInit {\r\n @Input() items?: HotelEquipmentItem[];\r\n @Input() itemsBelow?: HotelEquipmentItem[];\r\n @Input() title?: string;\r\n @Input() btnMore?: ButtonI;\r\n @Input() btnLess?: ButtonI;\r\n\r\n collapsed1 = true;\r\n\r\n itemsToShow = 6;\r\n\r\n ngOnInit(): void {\r\n this.itemsToShow = window.innerWidth >= 1680 ? 6 : 4;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n fromEvent(window, 'resize')\r\n .pipe(\r\n tap(() => {\r\n this.itemsToShow = window.innerWidth >= 1680 ? 6 : 4;\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n collapsed2 = true;\r\n toggleCollapse2(): void {\r\n this.collapsed2 = !this.collapsed2;\r\n }\r\n}\r\n\r\nexport interface HotelEquipmentItem {\r\n title: string;\r\n icon: string;\r\n alt: string;\r\n}\r\n","<section class=\"hotel-benefits module-spacer--bottom\">\r\n <div class=\"hotel-benefits--content wrapper-big\">\r\n <div class=\"hotel-benefits--box\">\r\n <div\r\n class=\"hotel-benefits--equipament\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n @if (title) {\r\n <div class=\"hotel-benefits--info\">\r\n <h2 class=\"hotel-benefits--title title--60 color--brown\">\r\n {{ title }}\r\n </h2>\r\n </div>\r\n } @if (items?.length) {\r\n <div class=\"hotel-benefits--list\">\r\n @for (item of items; track $index) {\r\n <div class=\"hotel-benefits--item bg-beige\">\r\n <div class=\"hotel-benefits--item--inner\">\r\n @if (item.title) {\r\n <h3\r\n class=\"title--24 color--brown-70\"\r\n [innerHTML]=\"item.title\"\r\n ></h3>\r\n } @if (item.icon) {\r\n <span\r\n [ngClass]=\"item.icon\"\r\n class=\"hotel-benefits--icon\"\r\n ></span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n } @if (btnMore && btnLess && (items?.length ?? 4) > itemsToShow)\r\n {\r\n <div class=\"hotel-benefits--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n @if (itemsBelow?.length) {\r\n <div\r\n class=\"hotel-benefits--services\"\r\n [ngClass]=\"collapsed2 ? 'close' : 'open'\"\r\n >\r\n <ul class=\"hotel-benefits--services--list\">\r\n @for (item of itemsBelow; track $index) {\r\n <li>\r\n <span [ngClass]=\"item.icon\"></span>\r\n <p class=\"text\">{{ item.title }}</p>\r\n </li>\r\n }\r\n </ul>\r\n @if (btnMore && btnLess) {\r\n <div class=\"hotel-benefits--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse2()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse2()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../public-api';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-hotel-location',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './hotel-location.component.html',\r\n styleUrl: './hotel-location.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelLocationComponent {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() subtitle?: string;\r\n @Input() image?: string;\r\n @Input() items?: HotelLocationsItem[];\r\n @Input() btnMore?: ButtonI;\r\n @Input() btnLess?: ButtonI;\r\n @Input() address?: string;\r\n @Input() linkMap?: string;\r\n collapsed = true;\r\n\r\n get getImageUrl(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface HotelLocationsItem {\r\n title: string;\r\n icon: string;\r\n}\r\n","<section class=\"hotel-location module-spacer--bottom\">\r\n <div\r\n class=\"hotel-location--content wrapper-big\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n <div class=\"hotel-location--inner\">\r\n <div class=\"hotel-location--inner--left\">\r\n @if (title) {\r\n <h3 class=\"hotel-location--tit title--60 color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n }\r\n </div>\r\n <div class=\"hotel-location--inner--right\">\r\n @if (subtitle) {\r\n <h4 class=\"hotel-location--subtit title--24 color--brown-70\">\r\n {{ subtitle }}\r\n </h4>\r\n } @if (items) {\r\n <ul class=\"hotel-location--list\">\r\n @for (item of items; track $index) {\r\n <li>\r\n <span class=\"hotel-location--icon\">\r\n <span\r\n class=\"hotel-location--iconsvg\"\r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n </span>\r\n <p class=\"text\">{{ item.title }}</p>\r\n </li>\r\n\r\n }\r\n </ul>\r\n\r\n }\r\n </div>\r\n @if (btnMore && btnLess) {\r\n <div class=\"hotel-location--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"hotel-location--maps\">\r\n <a\r\n class=\"hotel-location--photo figure-content\"\r\n [href]=\"linkMap\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"linkMap\"\r\n >\r\n <figure class=\"figure-full\" [style]=\"getImageUrl\"></figure>\r\n </a>\r\n <ul class=\"hotel-location--maps--address\">\r\n <li>\r\n <span class=\"hotel-location--icon icon-home\"></span>\r\n <span class=\"text\" [innerHTML]=\"address\"> </span>\r\n </li>\r\n </ul>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { RouterModule } from '@angular/router';\r\n@Component({\r\n selector: 'tent-hotels-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CurrencyPipe, RouterModule],\r\n templateUrl: './hotels-list.component.html',\r\n styleUrl: './hotels-list.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelsListComponent implements OnInit, OnChanges {\r\n @Input() infoTitle?: string;\r\n @Input() infoTitleDark?: string;\r\n @Input() infoDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() items?: HotelsListItem[];\r\n\r\n @Output() hotelClick = new EventEmitter<HotelsListItem>();\r\n\r\n collapsed?: boolean[];\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.collapsed = new Array(this.items?.length).fill(true);\r\n this.items?.sort((a, b) => {\r\n const subtitleA = a.subtitle ? a.subtitle.toLowerCase() : '';\r\n const subtitleB = b.subtitle ? b.subtitle.toLowerCase() : '';\r\n const destinyA = a.parentDestiny ? Number(a.parentDestiny) : 0;\r\n const destinyB = b.parentDestiny ? Number(b.parentDestiny) : 0;\r\n return destinyA < destinyB\r\n ? -1\r\n : destinyA > destinyB\r\n ? 1\r\n : subtitleA < subtitleB\r\n ? -1\r\n : subtitleA > subtitleB\r\n ? 1\r\n : 0;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['items']?.currentValue) {\r\n this.collapsed = new Array(this.items?.length).fill(true);\r\n this.items?.sort((a, b) => {\r\n const subtitleA = a.subtitle ? a.subtitle.toLowerCase() : '';\r\n const subtitleB = b.subtitle ? b.subtitle.toLowerCase() : '';\r\n return subtitleA < subtitleB\r\n ? -1\r\n : subtitleA > subtitleB\r\n ? 1\r\n : 0;\r\n });\r\n }\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n toggleCollapse(index: number): void {\r\n if (this.collapsed?.length) {\r\n const itemCollapse = this.collapsed[index];\r\n this.collapsed.fill(true);\r\n this.collapsed[index] = !itemCollapse;\r\n }\r\n }\r\n}\r\n\r\nexport interface HotelsListItem {\r\n title?: string;\r\n ndTitle?: string;\r\n subtitle?: string;\r\n description?: string;\r\n additionalDescription?: string;\r\n priceTitle?: string;\r\n priceSubtitle?: string;\r\n price?: string | number;\r\n currency?: string;\r\n image?: string;\r\n services?: string[];\r\n button?: ButtonI;\r\n hotelUrl?: string;\r\n destinyId?: string | number;\r\n parentDestiny?: string | number;\r\n id: number;\r\n}\r\n","@if (items?.length) {\r\n<section class=\"hotels-list module-spacer--bottom\">\r\n <div class=\"hotels-list--content wrapper-big\">\r\n <div class=\"hotels-list--inner\">\r\n @for (item of items; track mainIndex; let mainIndex = $index) {\r\n <div class=\"hotels-list--item\">\r\n @if (item.image) {\r\n <a\r\n [href]=\"item.hotelUrl\"\r\n [routerLink]=\"[item.hotelUrl]\"\r\n [attr.aria-label]=\"item.title\"\r\n (click)=\"$event.preventDefault(); hotelClick.emit(item)\"\r\n class=\"hotels-list--photo figure-content figure-zoom\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"this.getImage(item.image)\"\r\n ></figure>\r\n </a>\r\n } @if (item.title || item.description) {\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed?.[mainIndex] ? 'close' : 'open'\"\r\n >\r\n @if (item.title) {\r\n <a\r\n [href]=\"item.hotelUrl\"\r\n [routerLink]=\"[item.hotelUrl]\"\r\n [attr.aria-label]=\"item.title\"\r\n (click)=\"$event.preventDefault(); hotelClick.emit(item)\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n {{ item.title }} <br />{{ item.ndTitle }}\r\n </h2>\r\n </a>\r\n } @if (item.subtitle) {\r\n <h3 class=\"subtitle--medium color--brown-dark\">\r\n {{ item.subtitle }}\r\n </h3>\r\n } @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n } @if (links?.length) {\r\n <div class=\"hotels-list--btns\">\r\n @for (link of links; track $index; let first = $first) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse(mainIndex)\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n } @if (item.services?.length || (item.priceTitle && item.price\r\n && item.currency)) {\r\n <ul class=\"hotels-list--services bg-beige\">\r\n @if (item.services?.length) { @for (service of\r\n item.services; track $index) {\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">{{ service }}</p>\r\n </li>\r\n } } @if (item.priceTitle && item.price && item.currency) {\r\n <div class=\"hotels-list--footer\">\r\n <div class=\"hotels-list--footer--text\">\r\n <p class=\"hotels-list--footer--title color--brown\">\r\n {{ item.priceTitle }}\r\n </p>\r\n @if (item.priceSubtitle) {\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n {{ item.priceSubtitle }}\r\n </p>\r\n }\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >{{ item.price\r\n }}<span>{{\r\n item.currency | currencySymbol\r\n }}</span></span\r\n >\r\n </div>\r\n }\r\n </ul>\r\n } @if (item.button) {\r\n <div class=\"hotels-list--book\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n class=\"btn-small\"\r\n [label]=\"item.button.label\"\r\n [url]=\"item.button.url\"\r\n [linkType]=\"item.button.linkType\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n} @if(infoTitle || infoDescription){\r\n<section class=\"module-info module-spacer--bottom\">\r\n <div class=\"module-info--content wrapper-big\">\r\n <div class=\"module-info--inner\">\r\n <div class=\"module-info--box\">\r\n @if (infoTitle) {\r\n <h3 class=\"module-info--title title--80 color--camel\">\r\n {{ infoTitle }} @if (infoTitleDark) {\r\n <span class=\"color--brown\">\r\n {{ infoTitleDark }}\r\n </span>\r\n }\r\n </h3>\r\n } @if (infoDescription) {\r\n <div class=\"module-info--des\">\r\n <p class=\"text\" [innerHTML]=\"infoDescription\"></p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-info-slider',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule],\r\n templateUrl: './info-slider.component.html',\r\n styleUrl: './info-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class InfoSliderComponent implements OnInit {\r\n @Input() theme?: string = '';\r\n @Input() infoalign?: string = 'info-right';\r\n @Input() images?: string[];\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() slim?: boolean;\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions = {\r\n ...this.sliderOptions,\r\n navText: [\r\n `<div class=\"btn btn__circle btn__circle-- ${\r\n this.theme === 'theme-laundry'\r\n ? 'btn__laundry'\r\n : 'btn__dark'\r\n }\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>`,\r\n `<div class=\"btn btn__circle btn__circle-- ${\r\n this.theme === 'theme-laundry'\r\n ? 'btn__laundry'\r\n : 'btn__dark'\r\n }\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>`,\r\n ],\r\n };\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n","<section class=\"info-slider module-spacer--bottom\" [ngClass]=\"[theme]\">\r\n <div\r\n class=\"info-slider--content wrapper-big\"\r\n [ngClass]=\"{ 'info-slider--content--slim': slim }\"\r\n >\r\n <div class=\"info-slider--box\" [ngClass]=\"[infoalign]\">\r\n @if (images?.length) {\r\n <owl-carousel-o\r\n class=\"info-slider--slider slider-circle--center figure-sticky\"\r\n [ngClass]=\"{ 'info-slider--slider--slim': slim }\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div\r\n class=\"info-slider--photo figure-content\"\r\n [ngClass]=\"{ 'info-slider--photo--slim': slim }\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n }\r\n <div\r\n class=\"info-slider--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @if (title || description) {\r\n <div class=\"info-slider--info--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"location-beach--info--title title--60 color--brown\"\r\n >\r\n {{ title }}\r\n </h2>\r\n\r\n } @if (description) {\r\n <div class=\"info-slider--info--des\">\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n @if (additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ additionalDescription }}\r\n </p>\r\n } @if (links?.length) {\r\n <div class=\"info-slider--btns\">\r\n @for (link of links; track $index; let first =\r\n $first) {\r\n <tent-button\r\n class=\"btn-more\"\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-location-beach',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './location-beach.component.html',\r\n styleUrl: './location-beach.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LocationBeachComponent {\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() description?: string;\r\n @Input() infoItems?: LocationBeachInfoItem[];\r\n @Input() items?: LocationBeachItem[];\r\n @Input() links?: ButtonI[];\r\n @Input() button?: ButtonI;\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface LocationBeachItem {\r\n image?: string;\r\n tag?: BadgeI;\r\n}\r\n\r\nexport interface LocationBeachInfoItem {\r\n title?: string;\r\n icon?: string;\r\n}\r\n","<section class=\"location-beach module-spacer--bottom\">\r\n <div class=\"location-beach--content wrapper-big\">\r\n <div class=\"location-beach--box info-right\">\r\n @if (items?.length) {\r\n <owl-carousel-o\r\n class=\"location-beach--slider slider-circle--center figure-sticky\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"location-beach--photo figure-content\">\r\n @if (item.image) {\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n } @if (item.tag?.label && item.tag) {\r\n <tent-badge\r\n class=\"location-beach--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"item.tag.label\"\r\n ></tent-badge>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n }\r\n <div\r\n class=\"location-beach--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n <div class=\"location-beach--info--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"location-beach--info--title title--60 color--brown\"\r\n >\r\n {{ title }}\r\n </h2>\r\n } @if (subtitle) {\r\n <h3\r\n class=\"location-beach--info--subtit subtitle color--brown-70\"\r\n >\r\n {{ subtitle }}\r\n </h3>\r\n } @if (infoItems?.length && infoItems) {\r\n <ul class=\"location-beach--info--icons\">\r\n @for (item of infoItems; track $index) {\r\n <li>\r\n <span class=\"info--icon\">\r\n <span\r\n class=\"info--icon--svg\"\r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n </span>\r\n @if (item.title) {\r\n <p class=\"text\">{{ item.title }}</p>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n } @if (links && links.length > 2) { @if (links[0]) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"links[0].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } @if (links[1]) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"links[1].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } } @if (description) {\r\n <div class=\"location-beach--info--des\">\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n </div>\r\n } @if (button) {\r\n <div class=\"location-beach--info--btns\">\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box\"\r\n [linkType]=\"button.linkType\"\r\n [url]=\"button.url\"\r\n [label]=\"button.label\"\r\n [name]=\"button.label\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-location-how',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './location-how.component.html',\r\n styleUrl: './location-how.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LocationHowComponent {\r\n @Input() backgroundImage?: string;\r\n @Input() title?: string;\r\n @Input() items?: LocationHowItem[];\r\n @Input() links?: ButtonI[];\r\n\r\n tabActive = 'tab1';\r\n collapsed = true;\r\n\r\n get image(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.backgroundImage})`\r\n );\r\n }\r\n\r\n get hasItemActiveAdditionalDescription() {\r\n return this.items?.[Number(this.tabActive.substring(-1)) - 1]\r\n ?.additionalDescription;\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n viewTab(tabActive: string): void {\r\n this.tabActive = tabActive;\r\n }\r\n}\r\n\r\nexport interface LocationHowItem {\r\n icon?: string;\r\n title?: string;\r\n description?: string;\r\n additionalDescription?: string;\r\n}\r\n","<section class=\"location-how module-spacer--bottom\">\r\n <div class=\"location-how--content wrapper-big\">\r\n @if (backgroundImage) {\r\n <div class=\"location-how--maps figure-sticky\">\r\n <div class=\"location-how--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"image\"></figure>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"location-how--inner\" [ngClass]=\"[tabActive]\">\r\n @if (title) {\r\n <h3 class=\"location-how--tit title--60 color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (items?.length && items) {\r\n <ul class=\"location-how--icons\">\r\n @for (item of items; track $index) {\r\n <li>\r\n <img\r\n src=\"/assets/tent/img/icon-location.svg\"\r\n alt=\"left\"\r\n class=\"location-how--iconactive\"\r\n />\r\n <span\r\n class=\"location-how--icon\" \r\n (click)=\"viewTab('tab' + ($index + 1))\"\r\n >\r\n <span\r\n class=\"location-how--icon--svg\" \r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n <div\r\n class=\"location-how--infor\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @for (item of items; track $index) {\r\n <div class=\"location-how--infor--tab\">\r\n @if (item.title) {\r\n <h3\r\n class=\"location-beach--info--subtit subtitle color--brown-70\"\r\n >\r\n {{ item.title }}\r\n </h3>\r\n } @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n }\r\n </div>\r\n\r\n } @if (links && links.length &&\r\n hasItemActiveAdditionalDescription) { @if (links[0]) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"links[0].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } @if (links[1]) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"links[1].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../public-api';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-location-map',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './location-map.component.html',\r\n styleUrl: './location-map.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LocationMapComponent {\r\n @Input() image?: string;\r\n @Input() linkImage?: string;\r\n @Input() title?: string;\r\n @Input() ndTitle?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() copyRight?: string;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() btnClick = new EventEmitter<void>();\r\n\r\n get getMainImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n btnMapClicked() {\r\n (document.getElementById('how') as HTMLElement).scrollIntoView({\r\n behavior: 'smooth',\r\n });\r\n }\r\n}\r\n","<section class=\"location-map module-spacer--bottom\">\r\n <div class=\"location-map--content wrapper-big\">\r\n @if (image && linkImage) {\r\n <div class=\"location-map--maps\">\r\n <a\r\n class=\"location-map--photo figure-content\"\r\n [href]=\"linkImage\"\r\n target=\"_blank\"\r\n >\r\n <figure class=\"figure-full\" [style]=\"getMainImage\"></figure>\r\n </a>\r\n </div>\r\n }\r\n <div class=\"location-map--inner\">\r\n @if (title) {\r\n <h3 class=\"location-map--tit title--30 color--brown-70\">\r\n {{ title }}\r\n @if (ndTitle) {\r\n <span class=\"color--brown-70\"> {{ ndTitle }}</span>\r\n }\r\n </h3>\r\n } @if (links?.length) {\r\n <ul class=\"location-map--list\">\r\n @for (link of links; track $index) {\r\n <li>\r\n <span\r\n class=\"location-map--icon\"\r\n [ngClass]=\"{\r\n 'icon-home': $index === 0,\r\n 'icon-phone-2': $index === 1,\r\n 'icon-envelope': $index === 2\r\n }\"\r\n ></span>\r\n @if (link.linkType === 'nolink') {\r\n <span class=\"text text--18\" [innerHTML]=\"link.label\">\r\n </span>\r\n } @else {\r\n <a\r\n class=\"link\"\r\n [href]=\"link.url\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n } @if (copyRight) {\r\n <ul class=\"location-map--list copyright\">\r\n <li>\r\n <span class=\"location-map--icon icon-copyright\"></span>\r\n <p class=\"text text--18\">{{ copyRight }}</p>\r\n </li>\r\n </ul>\r\n } @if (button) {\r\n <div class=\"location-map--btns\">\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n [name]=\"button.name\"\r\n (btnClick)=\"btnMapClicked()\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-module-404',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './module-404.component.html',\r\n styleUrl: './module-404.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Module404Component {\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() description?: string;\r\n @Input() buttons?: ButtonI[];\r\n}\r\n","<section class=\"module-404 bg-beige\">\r\n <div class=\"module-404--content\">\r\n <div class=\"module-404--inner\">\r\n @if (title || subtitle) {\r\n <div class=\"module-404--card bg-camel\">\r\n <div class=\"module-404--card--box\">\r\n @if (title) {\r\n <h4 class=\"module-404--titleTop title--42 color--brown\">\r\n {{ title }}\r\n </h4>\r\n } @if (subtitle) {\r\n <p class=\"module-404--btn color--brown\">\r\n <span class=\"title--30\"> {{ subtitle }}</span>\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n } @if (description || buttons?.length) {}\r\n <div class=\"module-404--info bg-white\">\r\n <div class=\"module-404--info--des\">\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (buttons?.length) {\r\n <div class=\"module-404--btns\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n class=\"btn-book btn-small\"\r\n type=\"dark-box\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { GoogleMap, GoogleMapsModule } from '@angular/google-maps';\r\nimport { MarkerClusterer } from '@googlemaps/markerclusterer';\r\nimport { fromEvent, tap } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'tent-module-google-maps',\r\n standalone: true,\r\n imports: [CommonModule, GoogleMapsModule],\r\n templateUrl: './module-google-maps.component.html',\r\n styleUrl: './module-google-maps.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ModuleGoogleMapsComponent\r\n implements OnInit, AfterViewInit, OnChanges\r\n{\r\n @ViewChild('googleMap') googleMaps!: GoogleMap;\r\n @ViewChild('googleMap', { read: ElementRef })\r\n googleMapsElement!: ElementRef;\r\n @Input() markers?: GoogleMarker[];\r\n @Input() zoom = 6;\r\n\r\n existingScript?: boolean;\r\n\r\n private markersArray: google.maps.Marker[] = [];\r\n private customMarkersArray: google.maps.OverlayView[] = [];\r\n private markerCluster?: MarkerClusterer;\r\n\r\n //map config\r\n width!: number;\r\n map!: google.maps.Map;\r\n\r\n options: google.maps.MapOptions = {\r\n styles: [\r\n {\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ebe3cd' }],\r\n },\r\n {\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#523735' }],\r\n },\r\n {\r\n elementType: 'labels.text.stroke',\r\n stylers: [{ color: '#f5f1e6' }],\r\n },\r\n {\r\n featureType: 'administrative',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#c9b2a6' }],\r\n },\r\n {\r\n featureType: 'administrative.land_parcel',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#dcd2be' }],\r\n },\r\n {\r\n featureType: 'administrative.land_parcel',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#ae9e90' }],\r\n },\r\n {\r\n featureType: 'landscape.natural',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'poi',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'poi',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#93817c' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'geometry.fill',\r\n stylers: [{ color: '#a5b076' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#447530' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.arterial',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway.controlled_access',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway.controlled_access',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.local',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'transit.line',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'transit.line',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#8f7d77' }],\r\n },\r\n {\r\n featureType: 'transit.line',\r\n elementType: 'labels.text.stroke',\r\n stylers: [{ color: '#f0d0e4' }],\r\n },\r\n {\r\n featureType: 'transit.station',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'geometry.fill',\r\n stylers: [{ color: '#c5d0d1' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#c5d0d1' }],\r\n },\r\n ],\r\n };\r\n\r\n get centerMark(): GoogleMarker['position'] {\r\n return this.markers?.[0]?.position!;\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n fromEvent(window, 'resize')\r\n .pipe(\r\n tap(() => {\r\n this.width = (\r\n this.googleMapsElement?.nativeElement as HTMLElement\r\n ).clientWidth;\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['markers']?.currentValue &&\r\n !changes['markers']?.firstChange\r\n ) {\r\n this.addCustomMarkers();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.googleMaps?.googleMap) {\r\n this.width = (\r\n this.googleMapsElement?.nativeElement as HTMLElement\r\n ).clientWidth;\r\n this.map = this.googleMaps?.googleMap;\r\n this.cdr.detectChanges();\r\n this.addCustomMarkers();\r\n }\r\n }\r\n\r\n addCustomMarkers() {\r\n this.clearMarkers();\r\n this.markers?.forEach((data) => {\r\n const marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(\r\n data.position.lat,\r\n data.position.lng\r\n ),\r\n map: null,\r\n });\r\n\r\n this.markersArray.push(marker);\r\n\r\n const markerDiv = document.createElement('div');\r\n markerDiv.classList.add('custom-marker');\r\n\r\n const img = document.createElement('img');\r\n img.src = '/assets/tent/img/marker_maps.svg';\r\n\r\n const labelDiv = document.createElement('div');\r\n labelDiv.classList.add('label');\r\n labelDiv.innerText = data.label;\r\n\r\n markerDiv.appendChild(img);\r\n markerDiv.appendChild(labelDiv);\r\n\r\n markerDiv.addEventListener('click', () => {\r\n window.open(data.url, '_blank');\r\n });\r\n\r\n const customMarker = new google.maps.OverlayView();\r\n\r\n customMarker.onAdd = function () {\r\n const panes = this.getPanes();\r\n panes?.overlayMouseTarget.appendChild(markerDiv);\r\n };\r\n\r\n customMarker.draw = function () {\r\n const projection = this.getProjection();\r\n const position = projection.fromLatLngToDivPixel(\r\n new google.maps.LatLng(data.position.lat, data.position.lng)\r\n );\r\n if (position) {\r\n markerDiv.style.left = `${position.x}px`;\r\n markerDiv.style.top = `${position.y}px`;\r\n }\r\n };\r\n\r\n customMarker.onRemove = function () {\r\n if (markerDiv.parentNode) {\r\n markerDiv.parentNode.removeChild(markerDiv);\r\n }\r\n };\r\n\r\n customMarker.setMap(this.map);\r\n this.customMarkersArray.push(customMarker);\r\n });\r\n\r\n this.markerCluster = new MarkerClusterer({\r\n map: this.map,\r\n markers: this.markersArray,\r\n renderer: {\r\n render: ({ count, position }) => {\r\n const div = document.createElement('div');\r\n div.textContent = count.toString();\r\n div.className = 'custom-cluster';\r\n return new google.maps.Marker({\r\n position,\r\n icon: {\r\n url: '/assets/tent/img/marker_maps-empty.svg',\r\n scaledSize: new google.maps.Size(53, 53),\r\n anchor: new google.maps.Point(26.5, 53),\r\n labelOrigin: new google.maps.Point(26.5, 26.5),\r\n },\r\n label: {\r\n text: count.toString(),\r\n color: '#fff',\r\n fontWeight: 'bold',\r\n fontSize: '16px',\r\n },\r\n });\r\n },\r\n },\r\n });\r\n\r\n google.maps.event.addListener(\r\n this.markerCluster,\r\n 'clusteringend',\r\n () => {\r\n this.customMarkersArray.forEach((customMarker, index) => {\r\n const isVisible =\r\n this.markersArray[index].getMap() !== null;\r\n customMarker.getMap() && customMarker.onRemove();\r\n if (isVisible) {\r\n customMarker.setMap(this.map);\r\n } else {\r\n customMarker.setMap(null);\r\n }\r\n });\r\n }\r\n );\r\n }\r\n\r\n private clearMarkers() {\r\n // Limpiar los marcadores estándar\r\n this.markersArray.forEach((marker) => marker.setMap(null));\r\n this.markersArray = [];\r\n\r\n // Limpiar los custom markers (OverlayView)\r\n this.customMarkersArray.forEach((customMarker) =>\r\n customMarker.setMap(null)\r\n );\r\n this.customMarkersArray = [];\r\n\r\n // Limpiar el cluster anterior\r\n if (this.markerCluster) {\r\n this.markerCluster.clearMarkers(); // Quitar los marcadores del cluster\r\n this.markerCluster = undefined; // Resetear el cluster\r\n }\r\n }\r\n}\r\nexport interface GoogleMarker {\r\n position: {\r\n lat: number;\r\n lng: number;\r\n };\r\n label: string;\r\n url: string;\r\n hotelId: number;\r\n}\r\n","@if (markers?.length) {\r\n<section class=\"google-maps wrapper-medium module-spacer--bottom\">\r\n <google-map\r\n #googleMap\r\n [options]=\"options\"\r\n [width]=\"width\"\r\n [center]=\"centerMark\"\r\n [zoom]=\"zoom\"\r\n >\r\n </google-map>\r\n</section>\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\n@Component({\r\n selector: 'tent-module-search',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, DropdownComponent],\r\n templateUrl: './module-search.component.html',\r\n styleUrl: './module-search.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ModuleSearchComponent implements OnInit {\r\n @Input() theme?: string;\r\n @Input() title?: string;\r\n @Input() placeholder?: string;\r\n @Input() hotels?: ModuleSearchHotel[];\r\n\r\n itemsToShow: ModuleSearchHotel[] = [];\r\n\r\n options: DropdownOption[] = [];\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n if (this.hotels) {\r\n for (let i = 0; i < this.hotels.length; i++) {\r\n this.options.push({\r\n code: i.toString(),\r\n name: this.hotels[i].title!,\r\n });\r\n }\r\n }\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n onSelect(option: DropdownOption): void {\r\n const selected = this.hotels?.find(\r\n (hotel) => hotel.title === option.name\r\n );\r\n this.itemsToShow = selected ? [selected] : [];\r\n }\r\n\r\n search(text: any): void {\r\n this.itemsToShow = [];\r\n\r\n this.hotels?.forEach((hotel) => {\r\n if (\r\n (hotel.title\r\n ?.toLowerCase()\r\n .includes(text.target.value.toLowerCase()) ||\r\n hotel.address\r\n ?.toLowerCase()\r\n .includes(text.target.value.toLowerCase())) &&\r\n text?.target.value !== ''\r\n ) {\r\n this.itemsToShow.push(hotel);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface ModuleSearchHotel {\r\n img?: string;\r\n title?: string;\r\n address?: string;\r\n contactLinks?: ButtonI[];\r\n links?: ButtonI[];\r\n footerTitle?: string;\r\n footerDescription?: string;\r\n}\r\n","<div class=\"module-spacer--bottom\">\r\n <section\r\n class=\"module-search wrapper-medium\"\r\n [ngClass]=\"{ 'module-search--laundry': theme === 'theme-laundry' }\"\r\n >\r\n <div class=\"module-search--header\">\r\n @if (title) {\r\n <p class=\"module-search--title color--brown\">\r\n {{ title }}\r\n </p>\r\n } @if (theme !== 'theme-laundry') {\r\n <div class=\"module-search--input--wrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"module-search--input\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"search($event)\"\r\n />\r\n <span\r\n class=\"module-search--input--icon\"\r\n class=\"icon-search\"\r\n ></span>\r\n </div>\r\n } @else {\r\n <tent-dropdown\r\n [placeholder]=\"placeholder\"\r\n [options]=\"options\"\r\n theme=\"theme-laundry\"\r\n (change)=\"onSelect($event)\"\r\n ></tent-dropdown>\r\n }\r\n </div>\r\n\r\n @if (itemsToShow.length) {\r\n <div class=\"module-search--content\">\r\n @for (item of itemsToShow; track $index) {\r\n <div class=\"module-search--item\">\r\n @if (item.img) {\r\n <div class=\"module-search--item--image--wrapper\">\r\n <figure\r\n class=\"figure-full module-search--item--image\"\r\n [style]=\"getImage(item.img)\"\r\n ></figure>\r\n </div>\r\n }\r\n <div class=\"module-search--item--content\">\r\n @if (item.title || item.address) {\r\n <div class=\"module-search--item--header\">\r\n @if (item.title) {\r\n <p class=\"module-search--item--title color--brown\">\r\n {{ item.title }}\r\n </p>\r\n } @if (item.address) {\r\n <p\r\n class=\"module-search--item--address\"\r\n [innerHTML]=\"item.address\"\r\n ></p>\r\n }\r\n </div>\r\n } @if (theme !== 'theme-laundry') { @if (item.contactLinks)\r\n {\r\n <div class=\"module-search--item--links\">\r\n @for (link of item.contactLinks; track $index) {\r\n <a\r\n class=\"link\"\r\n [href]=\"link.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n } @for (link of item.links; track $index) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n [url]=\"link.url\"\r\n ></tent-button>\r\n }\r\n </div>\r\n } } @else {\r\n\r\n <img\r\n class=\"module-search--icon-map\"\r\n src=\"/assets/tent/img/icon-map-palma.svg\"\r\n alt=\"\"\r\n />\r\n @if (item.footerTitle || item.footerDescription) {\r\n <div class=\"module-search--footer\">\r\n @if (item.footerTitle) {\r\n <p class=\"module-search--footer--title\">\r\n {{ item.footerTitle }}\r\n </p>\r\n } @if (item.footerDescription) {\r\n <p class=\"module-search--footer--description\">\r\n {{ item.footerDescription }}\r\n </p>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n }\r\n </section>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { OfferComponent } from '../offer/offer.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { OfferI } from '../../../interfaces/core/offer.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-offer-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, OfferComponent],\r\n templateUrl: './offer-list.component.html',\r\n styleUrl: './offer-list.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferListComponent {\r\n @Input() items?: OfferI[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n\r\n @Output() offerClick = new EventEmitter();\r\n\r\n collapsed = true;\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n","<section class=\"offer-list module-spacer--bottom\">\r\n <div class=\"offer-list--content wrapper-big\">\r\n <div class=\"offer-list--inner\">\r\n @if (items && items.length) { @for (offer of items; track $index) {\r\n <div class=\"offer-list--item\">\r\n <tent-offer\r\n [badge]=\"offer.badge\"\r\n [badgePrice]=\"offer.badgePrice\"\r\n [title]=\"offer.title\"\r\n [buttons]=\"offer.buttons\"\r\n [image]=\"offer.image\"\r\n [price]=\"offer.price\"\r\n [priceLabel]=\"offer.priceLabel\"\r\n [currency]=\"offer.currency\"\r\n (btnClicked)=\"offerClick.emit(offer.id)\"\r\n ></tent-offer>\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n</section>\r\n<section class=\"offer-ours module-spacer--bottom\">\r\n <div class=\"offer-ours--content wrapper-big\">\r\n <div class=\"offer-ours--inner\">\r\n <div class=\"offer-ours--box bg-beige\">\r\n @if (title || titleDark) {\r\n <h3 class=\"offer-ours--title title--80 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h3>\r\n\r\n }\r\n <div\r\n class=\"offer-ours--des\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ additionalDescription }}\r\n </p>\r\n } @if (additionalDescription && links && links.length) {\r\n <div class=\"offer-ours--btns\">\r\n @for (link of links; track $index; let first = $first) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\n@Component({\r\n selector: 'tent-offer-details',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, BadgeComponent, CurrencyPipe],\r\n templateUrl: './offer-details.component.html',\r\n styleUrl: './offer-details.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferDetailsComponent {\r\n @Input() image?: string;\r\n @Input() badge?: BadgeI;\r\n @Input() innerBadge?: BadgeI;\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() linkBack?: ButtonI;\r\n @Input() conditionsTitle?: string;\r\n @Input() conditions?: string[];\r\n @Input() priceLabel?: string;\r\n @Input() price?: string | number;\r\n @Input() currency?: string;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() backClick = new EventEmitter();\r\n\r\n conditionActive = false;\r\n collapsed = true;\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n toggleConditions(): void {\r\n this.conditionActive = !this.conditionActive;\r\n }\r\n}\r\n","<section class=\"offer-detail module-spacer--bottom\">\r\n <div class=\"offer-detail--content wrapper-big\">\r\n <div class=\"offer-detail--picture\">\r\n @if (image) {\r\n <div class=\"offer-detail--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n </div>\r\n } @if (badge) {\r\n <tent-badge\r\n class=\"offer-detail--picture--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"badge.label\"\r\n ></tent-badge>\r\n }\r\n </div>\r\n <div class=\"offer-detail--inner\">\r\n @if (title) {\r\n <h2 class=\"offer-detail--tit title--60 color--brown\">\r\n {{ title }}\r\n </h2>\r\n } @if (innerBadge) {\r\n <tent-badge\r\n class=\"offer-detail--inner--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"innerBadge.label\"\r\n ></tent-badge>\r\n }\r\n\r\n <div\r\n class=\"offer-detail--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (additionalDescription) {\r\n <p class=\"text text-more\">{{ additionalDescription }}.</p>\r\n } @if (additionalDescription && links && links.length) {\r\n <div class=\"offer-detail--info--btns\">\r\n @for (link of links; track $index; let first = $first) { @if\r\n ($index < 2) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n <div\r\n class=\"offer-detail--conditions\"\r\n [ngClass]=\"!conditionActive ? 'close' : 'open'\"\r\n >\r\n <div class=\"offer-detail--conditions--box\">\r\n @if (conditionsTitle) {\r\n <h3\r\n class=\"offer-detail--conditions--subtit subtitle color--brown-70\"\r\n >\r\n {{ conditionsTitle }}\r\n </h3>\r\n } @if (conditions && conditions.length) {\r\n <ul class=\"offer-detail--conditions--list\">\r\n @for (condition of conditions; track $index) {\r\n <li class=\"offer-detail--conditions--item\">\r\n <p class=\"text\">\r\n {{ condition }}\r\n </p>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n\r\n @if (conditions && conditions.length) { }\r\n <div class=\"offer-detail--conditions--btns\">\r\n @for (link of links; track $index; let last = $last) { @if\r\n ($index > 1) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': !last,\r\n 'btn-minus': last\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleConditions()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n </div>\r\n\r\n <div class=\"offer-detail--prices\">\r\n <div class=\"offer-detail--prices--info\">\r\n <div class=\"offer-detail--prices--price\">\r\n @if (priceLabel) {\r\n <span class=\"title--18 color--brown\">{{\r\n priceLabel\r\n }}</span>\r\n } @if (price) {\r\n <p class=\"title--42 color--brown\">\r\n {{ price }}\r\n @if (currency) {\r\n <span class=\"title--32\">{{\r\n currency | currencySymbol\r\n }}</span>\r\n }\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n @if (button) {\r\n <div class=\"offer-detail--prices--btns\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"button.label\"\r\n [name]=\"button.label\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n @if (linkBack) {\r\n <tent-button\r\n class=\"offer-detail--link-back\"\r\n type=\"dark-link\"\r\n icon=\"icon-signal-left\"\r\n [label]=\"linkBack.label\"\r\n [name]=\"linkBack.label\"\r\n [url]=\"linkBack.url\"\r\n [linkType]=\"linkBack.linkType\"\r\n (btnClick)=\"backClick.emit()\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\n@Component({\r\n selector: 'tent-registration',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n MatCheckboxModule,\r\n DropdownComponent,\r\n ],\r\n templateUrl: './registration.component.html',\r\n styleUrl: './registration.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RegistrationComponent {\r\n tabs = ['login', 'recuperar', 'registrarse'];\r\n\r\n selected = 'registrarse';\r\n\r\n days: DropdownOption[] = [\r\n {\r\n name: '01',\r\n code: '1',\r\n },\r\n {\r\n name: '02',\r\n code: '2',\r\n },\r\n {\r\n name: '03',\r\n code: '3',\r\n },\r\n {\r\n name: '04',\r\n code: '4',\r\n },\r\n {\r\n name: '05',\r\n code: '5',\r\n },\r\n {\r\n name: '06',\r\n code: '6',\r\n },\r\n {\r\n name: '07',\r\n code: '7',\r\n },\r\n {\r\n name: '08',\r\n code: '8',\r\n },\r\n {\r\n name: '09',\r\n code: '9',\r\n },\r\n {\r\n name: '10',\r\n code: '10',\r\n },\r\n {\r\n name: '11',\r\n code: '11',\r\n },\r\n {\r\n name: '12',\r\n code: '12',\r\n },\r\n {\r\n name: '13',\r\n code: '13',\r\n },\r\n {\r\n name: '14',\r\n code: '14',\r\n },\r\n {\r\n name: '15',\r\n code: '15',\r\n },\r\n {\r\n name: '16',\r\n code: '16',\r\n },\r\n {\r\n name: '17',\r\n code: '17',\r\n },\r\n {\r\n name: '18',\r\n code: '18',\r\n },\r\n {\r\n name: '19',\r\n code: '19',\r\n },\r\n {\r\n name: '20',\r\n code: '20',\r\n },\r\n {\r\n name: '21',\r\n code: '21',\r\n },\r\n {\r\n name: '22',\r\n code: '22',\r\n },\r\n {\r\n name: '23',\r\n code: '23',\r\n },\r\n {\r\n name: '24',\r\n code: '24',\r\n },\r\n {\r\n name: '25',\r\n code: '25',\r\n },\r\n {\r\n name: '26',\r\n code: '26',\r\n },\r\n {\r\n name: '27',\r\n code: '27',\r\n },\r\n {\r\n name: '28',\r\n code: '28',\r\n },\r\n {\r\n name: '29',\r\n code: '29',\r\n },\r\n {\r\n name: '30',\r\n code: '30',\r\n },\r\n {\r\n name: '31',\r\n code: '31',\r\n },\r\n ];\r\n\r\n months: DropdownOption[] = [\r\n {\r\n name: 'enero',\r\n code: '1',\r\n },\r\n {\r\n name: 'febrero',\r\n code: '2',\r\n },\r\n {\r\n name: 'marzo',\r\n code: '3',\r\n },\r\n {\r\n name: 'abril',\r\n code: '4',\r\n },\r\n {\r\n name: 'mayo',\r\n code: '5',\r\n },\r\n {\r\n name: 'junio',\r\n code: '6',\r\n },\r\n {\r\n name: 'julio',\r\n code: '7',\r\n },\r\n {\r\n name: 'agosto',\r\n code: '8',\r\n },\r\n {\r\n name: 'septiembre',\r\n code: '9',\r\n },\r\n {\r\n name: 'octubre',\r\n code: '10',\r\n },\r\n {\r\n name: 'noviembre',\r\n code: '11',\r\n },\r\n {\r\n name: 'diciembre',\r\n code: '12',\r\n },\r\n ];\r\n years: DropdownOption[] = [\r\n {\r\n name: '2024',\r\n code: '2024',\r\n },\r\n {\r\n name: '2023',\r\n code: '2023',\r\n },\r\n {\r\n name: '2022',\r\n code: '2022',\r\n },\r\n {\r\n name: '2021',\r\n code: '2021',\r\n },\r\n {\r\n name: '2020',\r\n code: '2020',\r\n },\r\n {\r\n name: '2019',\r\n code: '2019',\r\n },\r\n {\r\n name: '2018',\r\n code: '2018',\r\n },\r\n {\r\n name: '2017',\r\n code: '2017',\r\n },\r\n {\r\n name: '2016',\r\n code: '2016',\r\n },\r\n {\r\n name: '2015',\r\n code: '2015',\r\n },\r\n {\r\n name: '2014',\r\n code: '2014',\r\n },\r\n {\r\n name: '2013',\r\n code: '2013',\r\n },\r\n {\r\n name: '2012',\r\n code: '2012',\r\n },\r\n {\r\n name: '2011',\r\n code: '2011',\r\n },\r\n {\r\n name: '2010',\r\n code: '2010',\r\n },\r\n {\r\n name: '2009',\r\n code: '2009',\r\n },\r\n {\r\n name: '2008',\r\n code: '2008',\r\n },\r\n {\r\n name: '2007',\r\n code: '2007',\r\n },\r\n {\r\n name: '2006',\r\n code: '2006',\r\n },\r\n {\r\n name: '2005',\r\n code: '2005',\r\n },\r\n {\r\n name: '2004',\r\n code: '2004',\r\n },\r\n {\r\n name: '2003',\r\n code: '2003',\r\n },\r\n {\r\n name: '2002',\r\n code: '2002',\r\n },\r\n {\r\n name: '2001',\r\n code: '2001',\r\n },\r\n {\r\n name: '2000',\r\n code: '2000',\r\n },\r\n {\r\n name: '1999',\r\n code: '1999',\r\n },\r\n {\r\n name: '1998',\r\n code: '1998',\r\n },\r\n {\r\n name: '1997',\r\n code: '1997',\r\n },\r\n {\r\n name: '1996',\r\n code: '1996',\r\n },\r\n {\r\n name: '1995',\r\n code: '1995',\r\n },\r\n ];\r\n\r\n @Output() tabClick = new EventEmitter<string>();\r\n\r\n selectTab(tab: string): void {\r\n this.selected = tab;\r\n this.tabClick.emit(tab);\r\n\r\n if (tab === 'registrarse') {\r\n }\r\n }\r\n}\r\n","<div class=\"registration\">\r\n <div>\r\n <div class=\"registration--main-wrapper\">\r\n <div class=\"registration--main-content flex-col flex-col--center\">\r\n <h3 class=\"registration--title color--brown\">registrarse</h3>\r\n\r\n <form class=\"registration--form\">\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n nombre\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-user\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n apellidos\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-user\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n email\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-envelope\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n repetir email\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">teléfono</p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-phone\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n fecha de nacimiento\r\n </p>\r\n <div class=\"registration--date\">\r\n <tent-dropdown\r\n class=\"registration--dropdown registration--dropdown--days\"\r\n [options]=\"days\"\r\n [value]=\"days[0]\"\r\n ></tent-dropdown>\r\n <tent-dropdown\r\n class=\"registration--dropdown registration--dropdown--months\"\r\n [options]=\"months\"\r\n [value]=\"months[0]\"\r\n ></tent-dropdown>\r\n <tent-dropdown\r\n class=\"registration--dropdown registration--dropdown--years\"\r\n [options]=\"years\"\r\n [value]=\"years[0]\"\r\n ></tent-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n contraseña\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"password\"\r\n placeholder=\"mínimo 6 carácteres\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n repetir contraseña\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"password\"\r\n placeholder=\"...\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-col\">\r\n <div class=\"registration--checkbox--wrapper\">\r\n <mat-checkbox\r\n class=\"registration--checkbox\"\r\n ></mat-checkbox>\r\n <span class=\"registration--conditions color--brown\"\r\n >he leído y\r\n <a\r\n class=\"registration--conditions--link color--brown\"\r\n href=\"\"\r\n >\r\n acepto el aviso</a\r\n >\r\n legal y la\r\n <a\r\n class=\"registration--conditions--link color--brown\"\r\n href=\"\"\r\n >\r\n política de privacidad\r\n </a>\r\n </span>\r\n </div>\r\n <span class=\"registration--required--text\">\r\n <span class=\"registration--input--required\"></span>\r\n campos obligatorios\r\n </span>\r\n </div>\r\n\r\n <tent-button\r\n class=\"registration--submit\"\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n label=\"acceder\"\r\n name=\"acceder\"\r\n ></tent-button>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div class=\"registration--submenu flex-row flex-row--center\">\r\n <span\r\n class=\"registration--tab\"\r\n (click)=\"selectTab(tabs[0])\"\r\n [ngClass]=\"{\r\n 'registration--tab--selected': tabs[0] === selected\r\n }\"\r\n >{{ tabs[0] }}\r\n </span>\r\n |\r\n <span\r\n class=\"registration--tab\"\r\n (click)=\"selectTab(tabs[1])\"\r\n [ngClass]=\"{\r\n 'registration--tab--selected': tabs[1] === selected\r\n }\"\r\n >{{ tabs[1] }}\r\n </span>\r\n |\r\n <a\r\n class=\"registration--tab\"\r\n (click)=\"selectTab(tabs[2])\"\r\n href=\"\"\r\n [ngClass]=\"{\r\n 'registration--tab--selected': tabs[2] === selected\r\n }\"\r\n >\r\n {{ tabs[2] }}\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-services-details',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './services-details.component.html',\r\n styleUrl: './services-details.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ServicesDetailsComponent {\r\n @Input() items?: ServicesDetailsItem[];\r\n @Input() title?: string;\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed1 = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n}\r\n\r\nexport interface ServicesDetailsItem {\r\n image?: string;\r\n title?: string;\r\n description?: string;\r\n links?: ButtonI[];\r\n}\r\n","<section class=\"services-details module-spacer--bottom\">\r\n <div class=\"services-details--content wrapper-big\">\r\n <div class=\"services-details--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"services-details--title title--60 color--brown\"\r\n [innerHTML]=\"title\"\r\n ></h2>\r\n } @if (items?.length) {\r\n <div class=\"services-details--items\">\r\n @for (item of items; track $index) {\r\n <div class=\"services-details--item\">\r\n @if (item.image || item.title) {\r\n <div class=\"services-details--photo figure-content\">\r\n @if (item.image) {\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n } @if (item.title) {\r\n <div class=\"services-details--info\">\r\n <h2\r\n class=\"services-details--tit title--38 color--white\"\r\n [innerHTML]=\"item.title\"\r\n ></h2>\r\n </div>\r\n }\r\n </div>\r\n } @if (item.description || item.links) {\r\n <div class=\"services-details--des\">\r\n @if (item.description) {\r\n <p class=\"text\">{{ item.description }}</p>\r\n\r\n } @if (item.links?.length && item.links) {\r\n <div class=\"flex-row\">\r\n @for (link of item.links; track $index) { @if (link)\r\n {\r\n <tent-button\r\n type=\"dark-link\"\r\n [url]=\"link.url\"\r\n [label]=\"link.label\"\r\n [linkType]=\"link.linkType\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-submenu',\r\n standalone: true,\r\n imports: [CommonModule, RouterModule],\r\n templateUrl: './submenu.component.html',\r\n styleUrl: './submenu.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SubmenuComponent {\r\n @Input() links?: ButtonI[];\r\n @Input() selected?: ButtonI;\r\n @Input() title?: string;\r\n}\r\n","<div class=\"submenu\">\r\n @if (title) {\r\n <h3 class=\"submenu--title color--camel\">{{ title }}</h3>\r\n } @if (links) {\r\n <div class=\"submenu--links\">\r\n @for (link of links; track $index) {\r\n <a\r\n [href]=\"link.url\"\r\n [routerLink]=\"[link.url]\"\r\n [attr.aria-label]=\"link.label\"\r\n [ngClass]=\"{\r\n 'submenu--link--selected':\r\n selected?.label?.toLowerCase() ===\r\n link?.label?.toLowerCase()\r\n }\"\r\n class=\"submenu--link link color--white\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-thanks',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './thanks.component.html',\r\n styleUrl: './thanks.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ThanksComponent {\r\n @Input() image?: string;\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() description?: string;\r\n @Input() button?: ButtonI;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n get imageInstant(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n}\r\n","<div class=\"thanks\">\r\n <div class=\"thanks--left-slot\">\r\n <figure class=\"figure-full\" [style]=\"imageInstant\"></figure>\r\n </div>\r\n <div class=\"thanks--right-slot\">\r\n @if (title) {\r\n <p class=\"thanks--title\">{{ title }}</p>\r\n }\r\n\r\n <div class=\"thanks--footer\">\r\n @if (subtitle) {\r\n <p class=\"thanks--subtitle\">\r\n {{ subtitle }}\r\n </p>\r\n } @if (description) {\r\n <p class=\"thanks--description\" [innerHTML]=\"description\"></p>\r\n } @if (button) {\r\n <tent-button\r\n [label]=\"button.label\"\r\n type=\"dark-link\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n\n@Component({\n selector: 'tent-webmap',\n standalone: true,\n imports: [],\n templateUrl: './webmap.component.html',\n styleUrl: './webmap.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WebmapComponent {\n @Input() title?: string;\n @Input() links?: ButtonI[];\n}\n","<section class=\"webmap bg-beige\">\r\n <div class=\"webmap--content\">\r\n <div class=\"webmap--inner\">\r\n @if (title) {\r\n <h3 class=\"webmap--title title--30 color--brown-70\">\r\n {{ title }}\r\n </h3>\r\n } @if (links && links.length) {\r\n <ul class=\"webmap--list\">\r\n @for (link of links; track $index) {\r\n <li class=\"webmap--item\">\r\n <a\r\n [href]=\"link.url\"\r\n [attr.aria-label]=\"link.label\"\r\n class=\"text link-regular\"\r\n >{{ link.label }}</a\r\n >\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumpI } from '../../../interfaces/atomic/breadcrump.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\r\nimport { BreadcrumpComponent } from '../../atomic/breadcrump/breadcrump.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-generic-head',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n DropdownComponent,\r\n ButtonComponent,\r\n BreadcrumpComponent,\r\n ],\r\n templateUrl: './generic-head.component.html',\r\n styleUrl: './generic-head.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GenericHeadComponent implements OnInit {\r\n @Input() theme?: string;\r\n @Input() galleryFilterOptions?: GalleryFilterOption[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() breadcrumps?: BreadcrumpI;\r\n @Input() filter?: DropdownI;\r\n @Input() button?: ButtonI;\r\n @Input() galleryBtns?: string[];\r\n @Input() linkMaps?: ButtonI;\r\n @Input() linkBack?: ButtonI;\r\n @Input() bigger = true;\r\n\r\n @Output() filterChange = new EventEmitter<DropdownOption>();\r\n @Output() filterGalleryChange = new EventEmitter<GalleryFilterOption>();\r\n @Output() openCategoryModal = new EventEmitter<void>();\r\n @Output() btnClick = new EventEmitter<void>();\r\n\r\n galleryFilterSelected!: GalleryFilterOption;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.galleryFilterSelected = this.galleryFilterOptions?.[0]!;\r\n }\r\n\r\n filterChanged(option: DropdownOption): void {\r\n this.filterChange.emit(option);\r\n }\r\n\r\n filterGalleryClicked(option: GalleryFilterOption): void {\r\n this.galleryFilterSelected = option;\r\n this.filterGalleryChange.emit(option);\r\n }\r\n\r\n openGalleryCategoryModal(): void {\r\n this.openCategoryModal.emit();\r\n }\r\n\r\n btnClicked(): void {\r\n this.btnClick.emit();\r\n }\r\n}\r\n\r\nexport interface GalleryFilterOption {\r\n id?: string | number;\r\n label?: string;\r\n rooms?: boolean;\r\n room?: boolean;\r\n allCategories?: boolean;\r\n videoSrc?: string;\r\n}\r\n","<section class=\"generic-head-module module-spacer-small--bottom\">\r\n <div class=\"wrapper-big\">\r\n <div\r\n class=\"generic-head\"\r\n [ngClass]=\"{ 'generic-head--bigger': bigger }\"\r\n >\r\n @if (breadcrumps) {\r\n <tent-breadcrump\r\n class=\"generic-head--breadcrumps\"\r\n [ngClass]=\"{ 'generic-head--breadcrumps--absolute': titleDark }\"\r\n [breadcrumps]=\"breadcrumps.breadcrumps\"\r\n [selected]=\"breadcrumps.selected\"\r\n ></tent-breadcrump>\r\n }\r\n <div class=\"generic-head--content\">\r\n @if (title) {\r\n <h1\r\n class=\"generic-head--title title--80 color--camel\"\r\n [ngClass]=\"{\r\n 'generic-head--title--laundry': theme === 'laundry'\r\n }\"\r\n >\r\n {{ title }}\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n </h1>\r\n }\r\n <div [ngClass]=\"{ 'generic-head--content--end': linkMaps }\">\r\n @if (filter) {\r\n <div class=\"generic-head--filter\">\r\n <tent-dropdown\r\n [options]=\"filter.options\"\r\n [placeholder]=\"filter.placeholder\"\r\n [value]=\"filter.value\"\r\n (change)=\"filterChanged($event)\"\r\n ></tent-dropdown>\r\n </div>\r\n\r\n } @if (galleryFilterOptions) {\r\n <div class=\"generic-head--filter-gallery\">\r\n @for (filter of galleryFilterOptions; track $index) {\r\n @if (!filter.room) {\r\n <span\r\n class=\"generic-head--gallery-option\"\r\n [ngClass]=\"{\r\n 'generic-head--gallery-option--selected':\r\n filter === galleryFilterSelected\r\n }\"\r\n (click)=\"filterGalleryClicked(filter)\"\r\n >\r\n {{ filter.label }}\r\n </span>\r\n } } @if (galleryBtns?.length) { @if (galleryBtns?.[0] &&\r\n galleryBtns) {\r\n <div\r\n class=\"generic-head--gallery-btn\"\r\n (click)=\"openGalleryCategoryModal()\"\r\n >\r\n <span class=\"generic-head--gallery-btn--text\">\r\n {{ galleryBtns[0] }}\r\n </span>\r\n <span\r\n class=\"generic-head--gallery-btn--icon icon-menu\"\r\n ></span>\r\n </div>\r\n } }\r\n </div>\r\n } @if (button) {\r\n <tent-button\r\n class=\"generic-head--contact\"\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n [url]=\"button.url\"\r\n (btnClick)=\"btnClicked()\"\r\n ></tent-button>\r\n } @if (linkMaps) {\r\n <a\r\n class=\"generic-head--location\"\r\n [href]=\"linkMaps.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"linkMaps.label\"\r\n >\r\n <span\r\n class=\"generic-head--location--icon icon-map\"\r\n ></span>\r\n <p class=\"text link\">{{ linkMaps.label }}</p>\r\n </a>\r\n } @if (linkBack) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"linkBack.label\"\r\n [icon]=\"linkBack.icon\"\r\n iconPosition=\"left\"\r\n linkSizeIcon=\"8px\"\r\n [url]=\"linkBack.url\"\r\n (btnClick)=\"btnClicked()\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { GalleryFilterOption } from '../../generic-head/generic-head.component';\r\n\r\n@Component({\r\n selector: 'tent-gallery-category',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './gallery-category.component.html',\r\n styleUrl: './gallery-category.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GalleryCategoryComponent {\r\n @Input() title?: string;\r\n @Input() items?: GalleryFilterOption[];\r\n\r\n @Output() itemClick = new EventEmitter<GalleryFilterOption>();\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<GalleryCategoryComponent>\r\n ) {}\r\n\r\n itemClicked(item: GalleryFilterOption): void {\r\n this.itemClick.emit(item);\r\n this.closeModal();\r\n }\r\n\r\n closeModal(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"gallery-category\">\r\n <div class=\"gallery-category--header\">\r\n @if (title) {\r\n <p class=\"color--brown\" [innerHTML]=\"title\"></p>\r\n }\r\n\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"closeModal()\"\r\n name=\"close\"\r\n ></tent-button>\r\n </div>\r\n @if (items?.length) {\r\n <ul class=\"gallery-category--list\">\r\n @for (item of items; track $index) {\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked(item)\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> {{ item.label }}\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n\r\n@Component({\r\n selector: 'tent-brunch',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './brunch.component.html',\r\n styleUrl: './brunch.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BrunchComponent {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() image?: ImageI;\r\n @Input() video?: ImageI;\r\n @Input() timmingTitle?: string;\r\n @Input() timmingItems?: TimingItem[];\r\n showMore = false;\r\n\r\n toggleShowMore(): void {\r\n this.showMore = !this.showMore;\r\n }\r\n}\r\n\r\nexport interface TimingItem {\r\n label: string;\r\n icon?: string;\r\n}\r\n","<div class=\"wrapper-big module-spacer--bottom\">\r\n <div class=\"brunch\">\r\n @if (video || image) {\r\n <div class=\"brunch--video-wrapper figure-sticky\">\r\n @if (video) {\r\n <video class=\"brunch--video\">\r\n <source [src]=\"video.src\" type=\"video/mp4\" />\r\n {{ video.alt }}\r\n </video>\r\n } @else if (image) {\r\n <img class=\"brunch--video\" [src]=\"image.src\" [alt]=\"image.alt\" width=\"600\" height=\"600\" />\r\n }\r\n </div>\r\n }\r\n <div class=\"brunch--content-wrapper\">\r\n @if (title) {\r\n <h2 class=\"brunch--title title--60 color--brown\">{{ title }}</h2>\r\n } @if (description) {\r\n <p class=\"brunch--description text\">\r\n {{ description }}\r\n </p>\r\n } @if (showMore && additionalDescription) {\r\n <p class=\"brunch--description text\">\r\n {{ additionalDescription }}\r\n </p>\r\n\r\n } @if (additionalDescription && links?.length) { @if (!showMore) {\r\n <tent-button\r\n class=\"brunch--show-more\"\r\n type=\"dark-link\"\r\n [label]=\"links?.[0]?.label\"\r\n (btnClick)=\"toggleShowMore()\"\r\n [name]=\"links?.[0]?.label\"\r\n >\r\n </tent-button>\r\n } @else {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"links?.[1]?.label\"\r\n (btnClick)=\"toggleShowMore()\"\r\n [name]=\"links?.[1]?.label\"\r\n >\r\n </tent-button>\r\n } } @if (timmingItems?.length) {\r\n <div class=\"brunch--timing-info\">\r\n @if (timmingTitle) {\r\n <p class=\"brunch--timing-title\">horarios</p>\r\n }\r\n <ul class=\"brunch--timing-list\">\r\n @for (item of timmingItems; track $index) { @if (item.label)\r\n {\r\n <li class=\"brunch--timing-item\">\r\n @if (item.icon) {\r\n <span\r\n class=\"brunch--timing-item--icon\"\r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n }\r\n <span class=\"brunch--timing-item--text\">\r\n {{ item.label }}\r\n </span>\r\n </li>\r\n } }\r\n </ul>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'tent-brunch-gallery',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './brunch-gallery.component.html',\r\n styleUrl: './brunch-gallery.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BrunchGalleryComponent {\r\n @Input() title?: string;\r\n @Input() ndTitle?: string;\r\n @Input() images?: string[];\r\n @Input() holidayHouse?: boolean;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustUrl(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n","@if (!holidayHouse) {\r\n<div class=\"brunch-gallery wrapper-big brunch-gallery-box\">\r\n <div class=\"brunch-gallery--image-group\">\r\n <div class=\"brunch-gallery--inner\">\r\n @if (title) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-mobile\"\r\n >\r\n {{ title }}\r\n </h1>\r\n } @if (images?.length) {\r\n <div class=\"brunch-gallery--grid\">\r\n @for (img of images; track $index) { @if ($index < 6 ) {\r\n <div class=\"brunch-gallery--item\" [id]=\"'item-' + ($index + 1)\">\r\n @if ($index === 0) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-desktop\"\r\n >\r\n {{ title }}\r\n </h1>\r\n }\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n\r\n } } @if (ndTitle) {\r\n <div class=\"brunch-gallery--item\" id=\"item-8\">\r\n <h1 class=\"brunch-gallery--title title--54 color--camel\">\r\n {{ ndTitle }}\r\n </h1>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n} @else {\r\n<!-- //Holiday -->\r\n<div\r\n class=\"brunch-gallery wrapper-big module-spacer--bottom holiday-gallery-box\"\r\n>\r\n <div class=\"brunch-gallery--image-group\">\r\n <div class=\"brunch-gallery--inner\">\r\n @if (title) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-mobile\"\r\n >\r\n {{ title }}\r\n </h1>\r\n\r\n } @if (images?.length) {\r\n <div class=\"brunch-gallery--grid\">\r\n @for (img of images; track $index) { @if ($index < 8 ) {\r\n <div class=\"brunch-gallery--item\" [id]=\"'item-' + ($index + 1)\">\r\n @if ($index === 0) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-desktop\"\r\n >\r\n {{ title }}\r\n </h1>\r\n }\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ScreenSizerParams } from './screen-sizer.interface';\r\n\r\nexport const SCREEN_SIZER_PARAMS_TOKEN = new InjectionToken<ScreenSizerParams>(\r\n 'ScreenSizerParams'\r\n);\r\n","import { Injectable, inject, signal } from '@angular/core';\nimport { SCREEN_SIZER_PARAMS_TOKEN } from './screen-sizer.service.token';\nimport {\n debounceTime,\n distinctUntilChanged,\n fromEvent,\n map,\n startWith,\n} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScreenSizerService {\n readonly mobile = signal(false);\n readonly smallTablet = signal(false);\n readonly mediumTablet = signal(false);\n readonly fullTablet = signal(false);\n readonly smallDesktop = signal(false);\n readonly mediumDesktop = signal(false);\n readonly fullDesktop = signal(false);\n readonly fullBigDesktop = signal(false);\n readonly maxDesktop = signal(false);\n\n readonly minSmallTablet = signal(false);\n readonly minMediumTablet = signal(false);\n readonly minFullTablet = signal(false);\n readonly minSmallDesktop = signal(false);\n readonly minMediumDesktop = signal(false);\n readonly minFullDesktop = signal(false);\n readonly minFullBigDesktop = signal(false);\n\n get width(): number {\n if (window.innerWidth > window.outerWidth) {\n return window.outerWidth;\n }\n return window.innerWidth;\n }\n\n private readonly screenSizerParams = inject(SCREEN_SIZER_PARAMS_TOKEN)\n .pixelBreakpoints;\n\n constructor() {\n fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n map(() => this.width),\n distinctUntilChanged(),\n startWith(this.width)\n )\n .subscribe((size) => {\n if (size) {\n this.mobile.set(size < this.screenSizerParams.smallTablet);\n\n this.smallTablet.set(\n size >= this.screenSizerParams.smallTablet &&\n size < this.screenSizerParams.mediumTablet\n );\n\n this.mediumTablet.set(\n size >= this.screenSizerParams.mediumTablet &&\n size < this.screenSizerParams.fullTablet\n );\n\n this.fullTablet.set(\n size >= this.screenSizerParams.fullTablet &&\n size < this.screenSizerParams.smallDesktop\n );\n\n this.smallDesktop.set(\n size >= this.screenSizerParams.smallDesktop &&\n size < this.screenSizerParams.mediumDesktop\n );\n\n this.mediumDesktop.set(\n size >= this.screenSizerParams.mediumDesktop &&\n size < this.screenSizerParams.fullDesktop\n );\n\n this.fullDesktop.set(\n size >= this.screenSizerParams.fullDesktop &&\n size < this.screenSizerParams.fullBigDesktop\n );\n\n this.fullBigDesktop.set(\n size >= this.screenSizerParams.fullBigDesktop &&\n size < this.screenSizerParams.maxDesktop\n );\n\n this.maxDesktop.set(\n size >= this.screenSizerParams.maxDesktop\n );\n\n this.minSmallTablet.set(\n size >= this.screenSizerParams.smallTablet\n );\n\n this.minMediumTablet.set(\n size >= this.screenSizerParams.mediumTablet\n );\n\n this.minFullTablet.set(\n size >= this.screenSizerParams.fullTablet\n );\n\n this.minSmallDesktop.set(\n size >= this.screenSizerParams.smallDesktop\n );\n\n this.minMediumDesktop.set(\n size >= this.screenSizerParams.mediumDesktop\n );\n\n this.minFullDesktop.set(\n size >= this.screenSizerParams.fullDesktop\n );\n\n this.minFullBigDesktop.set(\n size >= this.screenSizerParams.fullBigDesktop\n );\n }\n });\n }\n\n isMobileInstant(): boolean {\n return this.mobile();\n }\n\n isSmallTabletInstant(): boolean {\n return this.smallTablet();\n }\n\n isMediumTabletInstant(): boolean {\n return this.mediumTablet();\n }\n\n isFullTabletInstant(): boolean {\n return this.fullTablet();\n }\n\n isSmallDesktopInstant(): boolean {\n return this.smallDesktop();\n }\n\n isMediumDesktopInstant(): boolean {\n return this.mediumDesktop();\n }\n\n isFullDesktopInstant(): boolean {\n return this.fullDesktop();\n }\n\n isFullBigDesktopInstant(): boolean {\n return this.fullBigDesktop();\n }\n\n isMaxDesktopInstant(): boolean {\n return this.maxDesktop();\n }\n\n minSmallTabletInstant(): boolean {\n return this.minSmallTablet();\n }\n\n minMediumTabletInstant(): boolean {\n return this.minMediumTablet();\n }\n\n minFullTabletInstant(): boolean {\n return this.minFullTablet();\n }\n\n minSmallDesktopInstant(): boolean {\n return this.minSmallDesktop();\n }\n\n minMediumDesktopInstant(): boolean {\n return this.minMediumDesktop();\n }\n\n minFullDesktopInstant(): boolean {\n return this.minFullDesktop();\n }\n\n minFullBigDesktopInstant(): boolean {\n return this.minFullBigDesktop();\n }\n}\n","/*\r\n * Public API Surface of tent\r\n */\r\n\r\n/* ATOMIC COMPONENTS */\r\nexport * from './lib/components/atomic/button/button.component';\r\nexport * from './lib/components/atomic/datepicker/datepicker.component';\r\nexport * from './lib/components/atomic/dropdown/dropdown.component';\r\nexport * from './lib/components/atomic/input/input.component';\r\nexport * from './lib/components/atomic/badge/badge.component';\r\nexport * from './lib/components/atomic/breadcrump/breadcrump.component';\r\n\r\n/* CORE COMPONENTS */\r\nexport * from './lib/components/core/advantages/advantages.component';\r\nexport * from './lib/components/core/destination-info/destination-info.component';\r\nexport * from './lib/components/core/footer-a/footer-a.component';\r\nexport * from './lib/components/core/footer-b/footer-b.component';\r\nexport * from './lib/components/core/footer-static/footer-static.component';\r\nexport * from './lib/components/core/header/header.component';\r\nexport * from './lib/components/core/header-mobile/header-mobile.component';\r\nexport * from './lib/components/core/hotel-services/hotel-services.component';\r\nexport * from './lib/components/core/hotel-slider/hotel-slider.component';\r\nexport * from './lib/components/core/motor/motor.component';\r\nexport * from './lib/components/core/offer/offer.component';\r\nexport * from './lib/components/core/offer-banner/offer-banner.component';\r\nexport * from './lib/components/core/offer-slider/offer-slider.component';\r\nexport * from './lib/components/core/facilities-slider/facilities-slider.component';\r\nexport * from './lib/components/core/room-slider/room-slider.component';\r\nexport * from './lib/components/core/top-module/top-module.component';\r\nexport * from './lib/components/core/travelers/travelers.component';\r\nexport * from './lib/components/core/cards-2col/cards-2col.component';\r\nexport * from './lib/components/core/cards-3col/cards-3col.component';\r\nexport * from './lib/components/core/modals/menu-modal/menu-modal.component';\r\nexport * from './lib/components/core/modals/languages-modal/languages-modal.component';\r\nexport * from './lib/components/core/modals/newsletter-modal/newsletter-modal.component';\r\nexport * from './lib/components/core/modals/checkin-modal/checkin-modal.component';\r\nexport * from './lib/components/core/modals/books-modal/books-modal.component';\r\nexport * from './lib/components/core/modals/hotel-list-modal/hotel-list-modal.component';\r\nexport * from './lib/components/core/modals/room-zoom-modal/room-zoom-modal.component';\r\nexport * from './lib/components/core/contact-form/contact-form.component';\r\nexport * from './lib/components/core/contact-office/contact-office.component';\r\nexport * from './lib/components/core/delivery-app/delivery-app.component';\r\nexport * from './lib/components/core/destination-hotels/destination-hotels.component';\r\nexport * from './lib/components/core/destination-list/destination-list.component';\r\nexport * from './lib/components/core/employment-benefits/employment-benefits.component';\r\nexport * from './lib/components/core/employment-form/employment-form.component';\r\nexport * from './lib/components/core/gallery-photos/gallery-photos.component';\r\nexport * from './lib/components/core/guests-popup/guests-popup.component';\r\nexport * from './lib/components/core/hotel-about/hotel-about.component';\r\nexport * from './lib/components/core/hotel-app/hotel-app.component';\r\nexport * from './lib/components/core/hotel-equipment/hotel-equipment.component';\r\nexport * from './lib/components/core/hotel-location/hotel-location.component';\r\nexport * from './lib/components/core/hotels-list/hotels-list.component';\r\nexport * from './lib/components/core/info-slider/info-slider.component';\r\nexport * from './lib/components/core/location-beach/location-beach.component';\r\nexport * from './lib/components/core/location-how/location-how.component';\r\nexport * from './lib/components/core/location-map/location-map.component';\r\nexport * from './lib/components/core/module-404/module-404.component';\r\nexport * from './lib/components/core/module-google-maps/module-google-maps.component';\r\nexport * from './lib/components/core/module-search/module-search.component';\r\nexport * from './lib/components/core/offer/offer.component';\r\nexport * from './lib/components/core/offer-list/offer-list.component';\r\nexport * from './lib/components/core/offer-details/offer-details.component';\r\nexport * from './lib/components/core/registration/registration.component';\r\nexport * from './lib/components/core/services-details/services-details.component';\r\nexport * from './lib/components/core/submenu/submenu.component';\r\nexport * from './lib/components/core/thanks/thanks.component';\r\nexport * from './lib/components/core/webmap/webmap.component';\r\nexport * from './lib/components/core/generic-head/generic-head.component';\r\nexport * from './lib/components/core/modals/gallery-category/gallery-category.component';\r\nexport * from './lib/components/core/brunch/brunch.component';\r\nexport * from './lib/components/core/brunch-gallery/brunch-gallery.component';\r\n/* ATOMIC INTERFACES */\r\nexport * from './lib/interfaces/atomic/button.interface';\r\nexport * from './lib/interfaces/atomic/datepicker.interface';\r\nexport * from './lib/interfaces/atomic/dropdown.interface';\r\nexport * from './lib/interfaces/atomic/input.interface';\r\nexport * from './lib/interfaces/atomic/badge.interface';\r\nexport * from './lib/interfaces/atomic/breadcrump.interface';\r\nexport * from './lib/interfaces/atomic/image.interface';\r\nexport * from './lib/interfaces/atomic/textarea.interface';\r\n\r\n/* CORE INTERFACES */\r\nexport * from './lib/interfaces/core/advantages.interface';\r\nexport * from './lib/interfaces/core/cards3col.interface';\r\nexport * from './lib/interfaces/core/cards2col.interface';\r\nexport * from './lib/interfaces/core/destination-info.interface';\r\nexport * from './lib/interfaces/core/footer-a.interface';\r\nexport * from './lib/interfaces/core/footer-b.interface';\r\nexport * from './lib/interfaces/core/footer-static.interface';\r\nexport * from './lib/interfaces/core/header.interface';\r\nexport * from './lib/interfaces/core/header-mobile.interface';\r\nexport * from './lib/interfaces/core/hotel-services.interface';\r\nexport * from './lib/interfaces/core/hotel-slider.interface';\r\nexport * from './lib/interfaces/core/motor.interface';\r\nexport * from './lib/interfaces/core/offer.interface';\r\nexport * from './lib/interfaces/core/offer-banner.interface';\r\nexport * from './lib/interfaces/core/offer-slider.interface';\r\nexport * from './lib/interfaces/core/facilities-slider.interface';\r\nexport * from './lib/interfaces/core/simple-card.interface';\r\nexport * from './lib/interfaces/core/top-module.interface';\r\nexport * from './lib/interfaces/core/guests-popup.interface';\r\nexport * from './lib/interfaces/core/newsletter-modal.interface';\r\nexport * from './lib/interfaces/core/books-modal.interface';\r\nexport * from './lib/interfaces/core/checkin-modal.interface';\r\nexport * from './lib/interfaces/core/languages-modal.interface';\r\nexport * from './lib/interfaces/core/menu-modal.interface';\r\nexport * from './lib/interfaces/core/travelers.interface';\r\nexport * from './lib/interfaces/core/hotel-about.interface';\r\nexport * from './lib/interfaces/core/hotel-app.interface';\r\nexport * from './lib/interfaces/core/hotel-equipment.interface';\r\nexport * from './lib/interfaces/core/hotel-location.interface';\r\nexport * from './lib/interfaces/core/submenu.interface';\r\nexport * from './lib/interfaces/core/generic-head.interface';\r\nexport * from './lib/interfaces/core/room-slider.interface';\r\nexport * from './lib/interfaces/core/gallery-photos.interface';\r\nexport * from './lib/interfaces/core/module-404.interface';\r\nexport * from './lib/interfaces/core/brunch.interface';\r\nexport * from './lib/interfaces/core/brunch-gallery.interface';\r\nexport * from './lib/interfaces/core/destination-list.interface';\r\nexport * from './lib/interfaces/core/module-google-maps.interface';\r\nexport * from './lib/interfaces/core/hotel-list-modal.interface';\r\nexport * from './lib/interfaces/core/info-slider.interface';\r\nexport * from './lib/interfaces/core/destination-hotels.interface';\r\nexport * from './lib/interfaces/core/hotels-list.interface';\r\nexport * from './lib/interfaces/core/gallery-category.interface';\r\nexport * from './lib/interfaces/core/location-map.interface';\r\nexport * from './lib/interfaces/core/location-beach.interface';\r\nexport * from './lib/interfaces/core/location-how.interface';\r\nexport * from './lib/interfaces/core/services-deatils.interface';\r\nexport * from './lib/interfaces/core/delivery-app.interface';\r\nexport * from './lib/interfaces/core/module-search.interface';\r\nexport * from './lib/interfaces/core/contact-office.interface';\r\nexport * from './lib/interfaces/core/contact-form.interface';\r\nexport * from './lib/interfaces/core/employment-benefits.interface';\r\nexport * from './lib/interfaces/core/employment-form.interface';\r\nexport * from './lib/interfaces/core/offer-list.interface';\r\nexport * from './lib/interfaces/core/offer-details.interface';\r\nexport * from './lib/interfaces/core/webmap.interface';\r\nexport * from './lib/interfaces/core/thanks.interface';\r\n\r\n/* SERVICES */\r\nexport * from './services';\r\n\r\n/* PIPES */\r\nexport * from './lib/pipes/currency.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i4","i3","i1","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tent-lib.mjs","sources":["../../../projects/tent/src/lib/components/atomic/button/button.component.ts","../../../projects/tent/src/lib/components/atomic/button/button.component.html","../../../projects/tent/src/lib/components/atomic/datepicker/datepicker.component.ts","../../../projects/tent/src/lib/components/atomic/datepicker/datepicker.component.html","../../../projects/tent/src/lib/components/atomic/dropdown/dropdown.component.ts","../../../projects/tent/src/lib/components/atomic/dropdown/dropdown.component.html","../../../projects/tent/src/lib/components/atomic/input/input.component.ts","../../../projects/tent/src/lib/components/atomic/input/input.component.html","../../../projects/tent/src/lib/components/atomic/badge/badge.component.ts","../../../projects/tent/src/lib/components/atomic/badge/badge.component.html","../../../projects/tent/src/lib/components/atomic/breadcrump/breadcrump.component.ts","../../../projects/tent/src/lib/components/atomic/breadcrump/breadcrump.component.html","../../../projects/tent/src/lib/components/core/advantages/advantages.component.ts","../../../projects/tent/src/lib/components/core/advantages/advantages.component.html","../../../projects/tent/src/lib/components/core/destination-info/destination-info.component.ts","../../../projects/tent/src/lib/components/core/destination-info/destination-info.component.html","../../../projects/tent/src/lib/components/core/footer-a/footer-a.component.ts","../../../projects/tent/src/lib/components/core/footer-a/footer-a.component.html","../../../projects/tent/src/lib/components/core/footer-b/footer-b.component.ts","../../../projects/tent/src/lib/components/core/footer-b/footer-b.component.html","../../../projects/tent/src/lib/components/core/footer-static/footer-static.component.ts","../../../projects/tent/src/lib/components/core/footer-static/footer-static.component.html","../../../projects/tent/src/lib/components/core/modals/hotel-list-modal/hotel-list-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/hotel-list-modal/hotel-list-modal.component.html","../../../projects/tent/src/lib/components/core/header/header.component.ts","../../../projects/tent/src/lib/components/core/header/header.component.html","../../../projects/tent/src/lib/components/core/header-mobile/header-mobile.component.ts","../../../projects/tent/src/lib/components/core/header-mobile/header-mobile.component.html","../../../projects/tent/src/lib/components/core/hotel-services/hotel-services.component.ts","../../../projects/tent/src/lib/components/core/hotel-services/hotel-services.component.html","../../../projects/tent/src/lib/components/core/hotel-slider/hotel-slider.component.ts","../../../projects/tent/src/lib/components/core/hotel-slider/hotel-slider.component.html","../../../projects/tent/src/lib/components/core/guests-popup/guests-popup.component.ts","../../../projects/tent/src/lib/components/core/guests-popup/guests-popup.component.html","../../../projects/tent/src/lib/components/core/motor/motor.component.ts","../../../projects/tent/src/lib/components/core/motor/motor.component.html","../../../projects/tent/src/lib/pipes/currency.pipe.ts","../../../projects/tent/src/lib/components/core/offer/offer.component.ts","../../../projects/tent/src/lib/components/core/offer/offer.component.html","../../../projects/tent/src/lib/components/core/offer-banner/offer-banner.component.ts","../../../projects/tent/src/lib/components/core/offer-banner/offer-banner.component.html","../../../projects/tent/src/lib/components/core/offer-slider/offer-slider.component.ts","../../../projects/tent/src/lib/components/core/offer-slider/offer-slider.component.html","../../../projects/tent/src/lib/components/core/facilities-slider/facilities-slider.component.ts","../../../projects/tent/src/lib/components/core/facilities-slider/facilities-slider.component.html","../../../projects/tent/src/lib/components/core/modals/room-zoom-modal/room-zoom-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/room-zoom-modal/room-zoom-modal.component.html","../../../projects/tent/src/lib/components/core/room-slider/room-slider.component.ts","../../../projects/tent/src/lib/components/core/room-slider/room-slider.component.html","../../../projects/tent/src/lib/components/core/top-module/top-module.component.ts","../../../projects/tent/src/lib/components/core/top-module/top-module.component.html","../../../projects/tent/src/lib/components/core/travelers/travelers.component.ts","../../../projects/tent/src/lib/components/core/travelers/travelers.component.html","../../../projects/tent/src/lib/components/core/cards-2col/cards-2col.component.ts","../../../projects/tent/src/lib/components/core/cards-2col/cards-2col.component.html","../../../projects/tent/src/lib/components/core/cards-3col/cards-3col.component.ts","../../../projects/tent/src/lib/components/core/cards-3col/cards-3col.component.html","../../../projects/tent/src/lib/components/core/modals/menu-modal/menu-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/menu-modal/menu-modal.component.html","../../../projects/tent/src/lib/components/core/modals/languages-modal/languages-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/languages-modal/languages-modal.component.html","../../../projects/tent/src/lib/components/core/modals/newsletter-modal/newsletter-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/newsletter-modal/newsletter-modal.component.html","../../../projects/tent/src/lib/components/core/modals/checkin-modal/checkin-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/checkin-modal/checkin-modal.component.html","../../../projects/tent/src/lib/components/core/modals/books-modal/books-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/books-modal/books-modal.component.html","../../../projects/tent/src/lib/components/core/contact-form/contact-form.component.ts","../../../projects/tent/src/lib/components/core/contact-form/contact-form.component.html","../../../projects/tent/src/lib/components/core/contact-office/contact-office.component.ts","../../../projects/tent/src/lib/components/core/contact-office/contact-office.component.html","../../../projects/tent/src/lib/components/core/delivery-app/delivery-app.component.ts","../../../projects/tent/src/lib/components/core/delivery-app/delivery-app.component.html","../../../projects/tent/src/lib/components/core/destination-hotels/destination-hotels.component.ts","../../../projects/tent/src/lib/components/core/destination-hotels/destination-hotels.component.html","../../../projects/tent/src/lib/components/core/destination-list/destination-list.component.ts","../../../projects/tent/src/lib/components/core/destination-list/destination-list.component.html","../../../projects/tent/src/lib/components/core/employment-benefits/employment-benefits.component.ts","../../../projects/tent/src/lib/components/core/employment-benefits/employment-benefits.component.html","../../../projects/tent/src/lib/components/core/employment-form/employment-form.component.ts","../../../projects/tent/src/lib/components/core/employment-form/employment-form.component.html","../../../projects/tent/src/lib/components/core/gallery-photos/gallery-photos.component.ts","../../../projects/tent/src/lib/components/core/gallery-photos/gallery-photos.component.html","../../../projects/tent/src/lib/components/core/hotel-about/hotel-about.component.ts","../../../projects/tent/src/lib/components/core/hotel-about/hotel-about.component.html","../../../projects/tent/src/lib/components/core/hotel-app/hotel-app.component.ts","../../../projects/tent/src/lib/components/core/hotel-app/hotel-app.component.html","../../../projects/tent/src/lib/components/core/hotel-equipment/hotel-equipment.component.ts","../../../projects/tent/src/lib/components/core/hotel-equipment/hotel-equipment.component.html","../../../projects/tent/src/lib/components/core/hotel-location/hotel-location.component.ts","../../../projects/tent/src/lib/components/core/hotel-location/hotel-location.component.html","../../../projects/tent/src/lib/components/core/hotels-list/hotels-list.component.ts","../../../projects/tent/src/lib/components/core/hotels-list/hotels-list.component.html","../../../projects/tent/src/lib/components/core/info-slider/info-slider.component.ts","../../../projects/tent/src/lib/components/core/info-slider/info-slider.component.html","../../../projects/tent/src/lib/components/core/location-beach/location-beach.component.ts","../../../projects/tent/src/lib/components/core/location-beach/location-beach.component.html","../../../projects/tent/src/lib/components/core/location-how/location-how.component.ts","../../../projects/tent/src/lib/components/core/location-how/location-how.component.html","../../../projects/tent/src/lib/components/core/location-map/location-map.component.ts","../../../projects/tent/src/lib/components/core/location-map/location-map.component.html","../../../projects/tent/src/lib/components/core/module-404/module-404.component.ts","../../../projects/tent/src/lib/components/core/module-404/module-404.component.html","../../../projects/tent/src/lib/components/core/module-google-maps/module-google-maps.component.ts","../../../projects/tent/src/lib/components/core/module-google-maps/module-google-maps.component.html","../../../projects/tent/src/lib/components/core/module-search/module-search.component.ts","../../../projects/tent/src/lib/components/core/module-search/module-search.component.html","../../../projects/tent/src/lib/components/core/offer-list/offer-list.component.ts","../../../projects/tent/src/lib/components/core/offer-list/offer-list.component.html","../../../projects/tent/src/lib/components/core/offer-details/offer-details.component.ts","../../../projects/tent/src/lib/components/core/offer-details/offer-details.component.html","../../../projects/tent/src/lib/components/core/registration/registration.component.ts","../../../projects/tent/src/lib/components/core/registration/registration.component.html","../../../projects/tent/src/lib/components/core/services-details/services-details.component.ts","../../../projects/tent/src/lib/components/core/services-details/services-details.component.html","../../../projects/tent/src/lib/components/core/submenu/submenu.component.ts","../../../projects/tent/src/lib/components/core/submenu/submenu.component.html","../../../projects/tent/src/lib/components/core/thanks/thanks.component.ts","../../../projects/tent/src/lib/components/core/thanks/thanks.component.html","../../../projects/tent/src/lib/components/core/webmap/webmap.component.ts","../../../projects/tent/src/lib/components/core/webmap/webmap.component.html","../../../projects/tent/src/lib/components/core/generic-head/generic-head.component.ts","../../../projects/tent/src/lib/components/core/generic-head/generic-head.component.html","../../../projects/tent/src/lib/components/core/modals/gallery-category/gallery-category.component.ts","../../../projects/tent/src/lib/components/core/modals/gallery-category/gallery-category.component.html","../../../projects/tent/src/lib/components/core/brunch/brunch.component.ts","../../../projects/tent/src/lib/components/core/brunch/brunch.component.html","../../../projects/tent/src/lib/components/core/brunch-gallery/brunch-gallery.component.ts","../../../projects/tent/src/lib/components/core/brunch-gallery/brunch-gallery.component.html","../../../projects/tent/src/services/screen-sizer/screen-sizer.service.token.ts","../../../projects/tent/src/services/screen-sizer/screen-sizer.service.ts","../../../projects/tent/src/public-api.ts","../../../projects/tent/src/tent-lib.ts"],"sourcesContent":["import { CommonModule, NgClass } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-button',\r\n standalone: true,\r\n imports: [CommonModule, RouterModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ButtonComponent {\r\n @Input() type: ButtonType = 'dark-box';\r\n @Input() label?: string;\r\n @Input() url?: string;\r\n @Input() linkType?: string = 'external';\r\n @Input() icon?: string;\r\n @Input() socialMedia?:\r\n | 'instagram'\r\n | 'tiktok'\r\n | 'youtube'\r\n | 'facebook'\r\n | 'linkedin';\r\n @Input() iconPosition?: 'left' | 'right' = 'left';\r\n @Input() boxWidth?: string;\r\n @Input() innerContent?: string;\r\n @Input() linkSizeIcon?: string;\r\n @Input() closeButton?: boolean;\r\n @Input() disabled?: boolean;\r\n @Input() name?: string;\r\n\r\n @Output() btnClick = new EventEmitter<void>();\r\n\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n get showBtn(): boolean {\r\n return (this.label || this.icon || this.innerContent) !== undefined;\r\n }\r\n\r\n get width(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n this.boxWidth ? `--size-btn-box: ${this.boxWidth}` : ''\r\n );\r\n }\r\n\r\n get linkIconStyle(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n this.linkSizeIcon\r\n ? `--btns-size-icon-links: ${this.linkSizeIcon}`\r\n : ''\r\n );\r\n }\r\n\r\n get isInternalLink(): boolean {\r\n return this.linkType === 'internal';\r\n }\r\n\r\n btnClicked(event: Event) {\r\n if (this.linkType === 'internal') {\r\n event?.preventDefault();\r\n }\r\n this.btnClick.emit();\r\n }\r\n}\r\n\r\nexport type ButtonType =\r\n | 'light-box'\r\n | 'dark-box'\r\n | 'dark-box-white'\r\n | 'dark-box-filled'\r\n | 'dark-link'\r\n | 'light-circle'\r\n | 'dark-circle'\r\n | 'dark-circle-filled';\r\n","@if (showBtn) { @if (url) { @if (isInternalLink) {\r\n<a\r\n class=\"btn\"\r\n [ngClass]=\"{\r\n 'btn--box':\r\n type === 'light-box' ||\r\n type === 'dark-box-white' ||\r\n type === 'dark-box' ||\r\n type === 'dark-box-filled',\r\n 'btn--dark': type === 'dark-box' || type === 'dark-circle',\r\n 'btn--dark-white': type === 'dark-box-white',\r\n 'btn--dark-filled':\r\n type === 'dark-box-filled' || type === 'dark-circle-filled',\r\n 'btn--light': type === 'light-box' || type === 'light-circle',\r\n 'btn--circle--social-media': socialMedia,\r\n disabled: disabled,\r\n 'btn--circle':\r\n type === 'dark-circle' ||\r\n type === 'light-circle' ||\r\n type === 'dark-circle-filled',\r\n 'btn--close': closeButton,\r\n 'btn--link': type === 'dark-link'\r\n }\"\r\n [routerLink]=\"[url]\"\r\n target=\"_self\"\r\n [style]=\"width\"\r\n [href]=\"url\"\r\n [attr.aria-label]=\"label\"\r\n (click)=\"btnClicked($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n} @else {\r\n<a\r\n class=\"btn\"\r\n [ngClass]=\"{\r\n 'btn--box':\r\n type === 'light-box' ||\r\n type === 'dark-box-white' ||\r\n type === 'dark-box' ||\r\n type === 'dark-box-filled',\r\n 'btn--dark': type === 'dark-box' || type === 'dark-circle',\r\n 'btn--dark-white': type === 'dark-box-white',\r\n 'btn--dark-filled':\r\n type === 'dark-box-filled' || type === 'dark-circle-filled',\r\n 'btn--light': type === 'light-box' || type === 'light-circle',\r\n 'btn--circle--social-media': socialMedia,\r\n disabled: disabled,\r\n 'btn--circle':\r\n type === 'dark-circle' ||\r\n type === 'light-circle' ||\r\n type === 'dark-circle-filled',\r\n 'btn--close': closeButton,\r\n 'btn--link': type === 'dark-link'\r\n }\"\r\n target=\"_blank\"\r\n [style]=\"width\"\r\n [href]=\"url\"\r\n [attr.aria-label]=\"label\"\r\n (click)=\"btnClicked($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</a>\r\n} } @else {\r\n<!--BUTTON BOX-->\r\n@if(type === 'light-box' || type ==='dark-box-white' || type ==='dark-box' ||\r\ntype ==='dark-box-filled') {\r\n<button\r\n class=\"btn btn--box\"\r\n [ngClass]=\"{\r\n 'btn--dark': type === 'dark-box',\r\n 'btn--dark-white': type === 'dark-box-white',\r\n 'btn--dark-filled': type === 'dark-box-filled',\r\n 'btn--light': type === 'light-box',\r\n 'disabled': disabled,\r\n }\"\r\n [style]=\"width\"\r\n (click)=\"btnClicked($event)\"\r\n [attr.disabled]=\"disabled ? true : null\"\r\n [name]=\"name\"\r\n [attr.aria-label]=\"name\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</button>\r\n\r\n}\r\n<!--BUTTON CIRCLE-->\r\n@if(type === 'light-circle' || type === 'dark-circle' || type ===\r\n'dark-circle-filled') {\r\n<div class=\"btn--circle-container\">\r\n <button\r\n class=\"btn btn--circle btn--circle--{{ socialMedia }}\"\r\n [ngClass]=\"{\r\n 'btn--circle--social-media': socialMedia,\r\n 'btn--dark': type === 'dark-circle',\r\n 'btn--light': type === 'light-circle',\r\n 'btn--dark-filled': type === 'dark-circle-filled',\r\n 'btn--close': closeButton\r\n }\"\r\n (click)=\"btnClicked($event)\"\r\n [name]=\"name\"\r\n [attr.aria-label]=\"name\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </button>\r\n</div>\r\n}\r\n\r\n<!--BUTTON LINK-->\r\n@if (type === 'dark-link') {\r\n<p class=\"btn btn--link\" (click)=\"btnClicked($event)\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</p>\r\n} } }\r\n\r\n<ng-template #content>\r\n <!--BUTTON BOX-->\r\n @if(type === 'light-box' || type ==='dark-box-white' || type ==='dark-box'\r\n || type ==='dark-box-filled') {\r\n\r\n <div class=\"btn--box-container\">\r\n @if(icon && iconPosition === 'left' ) {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"btn--box-icon\"\r\n [ngClass]=\"icon\"\r\n ></mat-icon>\r\n }\r\n\r\n {{ label }}\r\n\r\n @if(icon && iconPosition === 'right') {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"btn--box-icon\"\r\n [ngClass]=\"icon\"\r\n ></mat-icon>\r\n }\r\n </div>\r\n\r\n }\r\n <!--BUTTON CIRCLE-->\r\n @if(type === 'light-circle' || type === 'dark-circle' || type ===\r\n 'dark-circle-filled') { @if (icon) {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n [ngClass]=\"icon\"\r\n class=\"btn--circle-icon\"\r\n ></mat-icon>\r\n\r\n } }\r\n\r\n <!--BUTTON LINK-->\r\n @if (type === 'dark-link') { @if(icon && iconPosition === 'left' ) {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n [ngClass]=\"icon\"\r\n class=\"btn--link-icon\"\r\n ></mat-icon>\r\n } @if (label) {\r\n {{ label }}\r\n } @else {\r\n <span [innerHTML]=\"innerContent\"></span>\r\n } @if(icon && iconPosition === 'right') {\r\n <mat-icon\r\n fontSet=\"icomoon\"\r\n [ngClass]=\"icon\"\r\n class=\"btn--link-icon\"\r\n [style]=\"linkIconStyle\"\r\n ></mat-icon>\r\n } }\r\n</ng-template>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n forwardRef,\r\n inject,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { Calendar, CalendarModule } from 'primeng/calendar';\r\n\r\n@Component({\r\n selector: 'tent-datepicker',\r\n standalone: true,\r\n imports: [CommonModule, CalendarModule, FormsModule, MatIconModule],\r\n templateUrl: './datepicker.component.html',\r\n styleUrl: './datepicker.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DatepickerComponent),\r\n multi: true,\r\n },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DatepickerComponent implements ControlValueAccessor {\r\n @ViewChild('datepicker') datepicker!: Calendar;\r\n @Input() value?: Date[];\r\n @Input() title?: string;\r\n @Input() placeholder?: string;\r\n @Input() icon?: string;\r\n @Input() isDisabled = false;\r\n @Input() bordered = false;\r\n @Input() sameTitlePlaceholder = false;\r\n\r\n @Output() change = new EventEmitter<typeof this.value>();\r\n\r\n dateFormat = 'dd-mm-yy';\r\n minDate = new Date();\r\n\r\n onChange = (_: Date[] | undefined) => {};\r\n onTouch = () => {};\r\n\r\n dateChange(date: Date[] | undefined): void {\r\n this.value = date;\r\n\r\n if (date && this.sameTitlePlaceholder && !this.title) {\r\n this.title = this.placeholder;\r\n }\r\n\r\n this.onTouch();\r\n this.onChange(this.value);\r\n this.change.emit(this.value);\r\n }\r\n\r\n openCalendar(): void {\r\n this.datepicker.toggle();\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: Date[] | undefined): void {\r\n if (value) {\r\n this.value = value;\r\n } else {\r\n this.value = undefined;\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n}\r\n","<div class=\"datepicker--wrapper\">\r\n <div class=\"datepicker--content\">\r\n @if (title) {\r\n <p class=\"datepicker--title\">\r\n {{ title }}\r\n </p>\r\n }\r\n <p-calendar\r\n class=\"datepicker\"\r\n [showOtherMonths]=\"false\"\r\n [minDate]=\"minDate\"\r\n [dateFormat]=\"dateFormat\"\r\n [(ngModel)]=\"value\"\r\n [disabled]=\"isDisabled\"\r\n selectionMode=\"range\"\r\n [numberOfMonths]=\"2\"\r\n [placeholder]=\"placeholder\"\r\n (ngModelChange)=\"dateChange($event)\"\r\n #datepicker\r\n >\r\n </p-calendar>\r\n </div>\r\n\r\n <mat-icon\r\n (click)=\"openCalendar()\"\r\n fontSet=\"icomoon\"\r\n class=\"datepicker--icon flex-row flex-row--center\"\r\n [ngClass]=\"icon\"\r\n ></mat-icon>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n forwardRef,\r\n viewChild,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\r\n\r\n@Component({\r\n selector: 'tent-dropdown',\r\n standalone: true,\r\n imports: [CommonModule, DropdownModule, FormsModule, CommonModule],\r\n templateUrl: './dropdown.component.html',\r\n styleUrl: './dropdown.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class DropdownComponent implements ControlValueAccessor, OnInit {\r\n @Input() value?: DropdownOption;\r\n @Input() placeholder?: string;\r\n @Input() title?: string;\r\n @Input() smallTitle?: string;\r\n @Input() options?: DropdownOption[];\r\n @Input() name!: string;\r\n @Input() iconLeft?: string;\r\n @Input() error?: string;\r\n @Input() theme?: string;\r\n @Input() valid = true;\r\n @Input() isDisabled = false;\r\n @Input() light = false;\r\n @Input() showTitleTop = false;\r\n @Input() sameTitlePlaceholder = false;\r\n @Input() staticPosition = true;\r\n\r\n @Output() change = new EventEmitter<DropdownOption>();\r\n @Output() dropdownBlur = new EventEmitter<void>();\r\n\r\n optionsWithSubcategories: DropdownOption[] = [];\r\n\r\n isThereSubcategories?: boolean;\r\n\r\n onChange = (_: DropdownOption | undefined) => {};\r\n onTouch = () => {};\r\n\r\n constructor(\r\n private readonly renderer: Renderer2,\r\n private readonly cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.isThereSubcategories = this.options?.some(\r\n (option) => option.subcategories !== undefined\r\n );\r\n if (this.isThereSubcategories) {\r\n this.options?.forEach((option) => {\r\n this.optionsWithSubcategories.push(option);\r\n\r\n if (option.subcategories?.length) {\r\n option.subcategories.forEach((suboption) => {\r\n this.optionsWithSubcategories.push(suboption);\r\n });\r\n }\r\n });\r\n\r\n this.options = this.optionsWithSubcategories;\r\n }\r\n }\r\n\r\n onShowDropdown(): void {\r\n if (this.isThereSubcategories) {\r\n let i = 0;\r\n this.options?.forEach((option) => {\r\n if (!option.subcategories?.length && i > 0) {\r\n this.renderer.setStyle(\r\n document.getElementsByTagName('p-dropdownitem')[i]\r\n .children[0],\r\n 'padding-left',\r\n '30px'\r\n );\r\n } else {\r\n this.renderer.setStyle(\r\n document.getElementsByTagName('p-dropdownitem')[i]\r\n .children[0],\r\n 'font-weight',\r\n '700'\r\n );\r\n }\r\n i++;\r\n });\r\n }\r\n }\r\n\r\n valueChange(value: DropdownOption | undefined): void {\r\n this.value = value;\r\n\r\n if (value && this.sameTitlePlaceholder && !this.title) {\r\n this.title = this.placeholder;\r\n }\r\n\r\n this.onTouch();\r\n this.onChange(this.value);\r\n this.change.emit(this.value);\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: DropdownOption | undefined): void {\r\n if (value) {\r\n this.value = value;\r\n } else {\r\n this.value = undefined;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n}\r\n\r\nexport interface DropdownOption {\r\n name: string;\r\n code: string;\r\n subcategories?: DropdownOption[];\r\n ticker?: string;\r\n}\r\n","<div\r\n class=\"dropdown--wrapper\"\r\n [ngClass]=\"{\r\n 'dropdown--wrapper--light': light,\r\n 'dropdown--wrapper--laundry': theme === 'theme-laundry',\r\n invalid: !valid\r\n }\"\r\n>\r\n <div class=\"dropdown--content\">\r\n @if (iconLeft) {\r\n <mat-icon\r\n fontset=\"icomoon\"\r\n class=\"color--brown\"\r\n [ngClass]=\"iconLeft\"\r\n ></mat-icon>\r\n }\r\n <div class=\"dropdown--dropdown\">\r\n @if (title) {\r\n <div class=\"dropdown--title-wrapper\">\r\n <span class=\"dropdown--title color--brown\">\r\n {{ title }}\r\n </span>\r\n @if (smallTitle) {\r\n <small class=\"dropdown--small-title\">\r\n {{ smallTitle }}\r\n </small>\r\n\r\n }\r\n </div>\r\n\r\n }\r\n <p-dropdown\r\n [ngClass]=\"{\r\n 'dropdown--big': iconLeft,\r\n 'dropdown--static': staticPosition\r\n }\"\r\n class=\"dropdown\"\r\n [options]=\"options\"\r\n [(ngModel)]=\"value\"\r\n optionLabel=\"name\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled\"\r\n [name]=\"name\"\r\n dropdownIcon=\"icon-pointer-down\"\r\n (ngModelChange)=\"valueChange($event)\"\r\n (onShow)=\"onShowDropdown()\"\r\n (onHide)=\"dropdownBlur.emit()\"\r\n >\r\n </p-dropdown>\r\n </div>\r\n </div>\r\n <span class=\"icon-pointer-down dropdown--icon\"></span>\r\n</div>\r\n@if (!valid) {\r\n<span class=\"form-error\">{{ error }}</span>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n forwardRef,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormsModule,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\nimport { InputI } from '../../../interfaces/atomic/input.interface';\r\n\r\n@Component({\r\n selector: 'tent-input',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './input.component.html',\r\n styleUrl: './input.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InputComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class InputComponent implements InputI, ControlValueAccessor {\r\n @Input() type!: 'email' | 'password' | 'text' | 'number' | 'file' | 'tel';\r\n @Input() value?: string | File = '';\r\n @Input() placeholder?: string;\r\n @Input() icon?: string;\r\n @Input() title?: string;\r\n @Input() required?: boolean;\r\n @Input() name!: string;\r\n @Input() error?: string;\r\n @Input() isDisabled = false;\r\n @Input() valid = true;\r\n @Input() iconBackOffice = false;\r\n\r\n @Output() change = new EventEmitter<string | File>();\r\n @Output() inputBlur = new EventEmitter<void>();\r\n\r\n onChange = (_: string | File) => {};\r\n onTouch = () => {};\r\n\r\n constructor() {}\r\n\r\n onInputChange(event: Event): void {\r\n const inputElement = event.target as HTMLInputElement;\r\n\r\n if (this.type === 'tel') {\r\n inputElement.value = inputElement.value.replace(/[^0-9+]/g, '');\r\n }\r\n\r\n if (this.type === 'file') {\r\n const files = inputElement.files;\r\n if (files && files.length > 0) {\r\n this.valueChange(Array.from(files)[0]); // Maneja archivos\r\n }\r\n } else {\r\n this.valueChange(inputElement.value); // Maneja valores de texto\r\n }\r\n }\r\n\r\n valueChange(value: string | File): void {\r\n this.value = value;\r\n this.onChange(value);\r\n this.onTouch();\r\n this.change.emit(value);\r\n this.inputBlur.emit();\r\n }\r\n\r\n getValuePath(): string {\r\n return (this.value as File)?.name ?? '';\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: string | File): void {\r\n this.value = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n}\r\n","<div class=\"flex-col\">\r\n @if (title) {\r\n <p class=\"input--title\">\r\n @if (required) {\r\n <span class=\"input--required\"></span>\r\n }\r\n {{ title }}\r\n </p>\r\n }\r\n <div class=\"input--wrapper\" [ngClass]=\"{ invalid: !valid }\">\r\n <input\r\n class=\"input\"\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [value]=\"type !== 'file' ? value : ''\"\r\n [placeholder]=\"placeholder ?? ''\"\r\n (change)=\"onInputChange($event)\"\r\n [attr.accept]=\"type === 'file' ? 'application/pdf' : null\"\r\n (blur)=\"inputBlur.emit()\"\r\n />\r\n @if (type === 'file' && value) {\r\n <span class=\"input--path\">{{ getValuePath() }}</span>\r\n } @if (icon) {\r\n <span\r\n class=\"input--icon \"\r\n [ngClass]=\"{ 'input--icon--backoffice': iconBackOffice }\" >\r\n <span class=\"icon-{{ icon }}\">\r\n </span>\r\n </span>\r\n }\r\n </div>\r\n @if (!valid) {\r\n <span class=\"form-error\">\r\n {{ error }}\r\n </span>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'tent-badge',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent {\n @Input() orientation: 'left' | 'right' = 'right';\n @Input() rounded?: boolean;\n @Input() label?: string;\n}\n","<div\n class=\"badge bg-orange color--white\"\n [ngClass]=\"{\n 'badge--rounded': rounded,\n 'badge--left': orientation === 'left' && !rounded,\n 'badge--right': orientation === 'right' && !rounded\n }\"\n>\n <span>{{ label }}</span>\n</div>\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { BreadcrumpI } from '../../../interfaces/atomic/breadcrump.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-breadcrump',\r\n standalone: true,\r\n imports: [CommonModule, RouterModule],\r\n templateUrl: './breadcrump.component.html',\r\n styleUrl: './breadcrump.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BreadcrumpComponent implements BreadcrumpI, OnInit {\r\n @Input({ required: true }) breadcrumps!: Breadcrump[];\r\n @Input() selected?: Breadcrump;\r\n\r\n @Output() breadcrumpClick = new EventEmitter<Breadcrump>();\r\n\r\n breadcrumpClicked(breadcrump: Breadcrump, event: Event): void {\r\n event.preventDefault();\r\n this.selected = this.breadcrumps.find((item) => item === breadcrump);\r\n this.breadcrumpClick.emit(breadcrump);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.selected = this.breadcrumps[this.breadcrumps.length - 1];\r\n }\r\n}\r\n\r\nexport interface Breadcrump {\r\n label: string;\r\n url: string;\r\n}\r\n","<ol class=\"breadcrump\">\r\n @for (breadcrump of breadcrumps; track $index; let last = $last) {\r\n <li class=\"breadcrump__element\">\r\n <a\r\n [href]=\"breadcrump.url\"\r\n [routerLink]=\"[breadcrump.url]\"\r\n [attr.aria-label]=\"breadcrump.label\"\r\n class=\"breadcrump__item\"\r\n (click)=\"breadcrumpClicked(breadcrump, $event)\"\r\n [ngClass]=\"{\r\n 'breadcrump__item--active': selected?.label === breadcrump.label\r\n }\"\r\n >\r\n {{ breadcrump.label }}\r\n </a>\r\n @if (!last) {\r\n <div class=\"breadcrump__separator\">·</div>\r\n }\r\n </li>\r\n }\r\n</ol>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport {\r\n CarouselComponent,\r\n CarouselModule,\r\n OwlOptions,\r\n} from 'ngx-owl-carousel-o';\r\n\r\n@Component({\r\n selector: 'tent-advantages',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule, MatIconModule],\r\n templateUrl: './advantages.component.html',\r\n styleUrl: './advantages.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AdvantagesComponent {\r\n @ViewChild(CarouselComponent) carousel!: CarouselComponent;\r\n\r\n @Input() title?: string;\r\n @Input() items?: AdvantageItem[];\r\n @Input() sliderControls = [\r\n '/assets/tent/img/arrow-left.svg',\r\n '/assets/tent/img/arrow-right.svg',\r\n ];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n nav: false,\r\n navText: [\r\n '<img src=\"/assets/tent/img/arrow-left.svg\" alt=\"left\" class=\" \" >',\r\n '<img src=\"/assets/tent/img/arrow-right.svg\" alt=\"left\" class=\" \" >',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n margin: 0,\r\n },\r\n 688: {\r\n items: 2,\r\n margin: 0,\r\n },\r\n 1024: {\r\n items: 2,\r\n margin: 0,\r\n },\r\n 1130: {\r\n items: 3,\r\n margin: 0,\r\n },\r\n },\r\n };\r\n\r\n prevClick(): void {\r\n this.carousel.prev();\r\n }\r\n\r\n nextClick(): void {\r\n this.carousel.next();\r\n }\r\n}\r\n\r\nexport interface AdvantageItem {\r\n title: string;\r\n icon: string;\r\n}\r\n","<section class=\"advantages module-spacer--bottom\">\r\n <div class=\"advantages--content wrapper-big\">\r\n @if (title) {\r\n <h4 class=\"title--42 pb--20 color--brown\">{{ title }}</h4>\r\n }\r\n\r\n <div class=\"advantages--box\">\r\n <owl-carousel-o\r\n class=\"slider-arrows--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) { @if (item.title) {\r\n <ng-template carouselSlide>\r\n <div class=\"advantages--slide flex-row flex-row--between\">\r\n <p class=\"advantages--text color--brown\">\r\n {{ item.title }}\r\n </p>\r\n\r\n @if (item.icon) {\r\n <mat-icon\r\n [ngClass]=\"item.icon\"\r\n class=\"color--brown\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n }\r\n\r\n <div class=\"advantages--separator\"></div>\r\n </div>\r\n </ng-template>\r\n\r\n } }\r\n </owl-carousel-o>\r\n <div class=\"advantages--nav\">\r\n <div class=\"advantages--nav--inner\">\r\n <div class=\"advantages--nav--left\">\r\n <img\r\n (click)=\"prevClick()\"\r\n [src]=\"sliderControls[0]\"\r\n alt=\"left\"\r\n class=\"\"\r\n />\r\n </div>\r\n <div class=\"advantages--nav--right\">\r\n <img\r\n (click)=\"nextClick()\"\r\n [src]=\"sliderControls[1]\"\r\n alt=\"right\"\r\n class=\" \"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-destination-info',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './destination-info.component.html',\r\n styleUrl: './destination-info.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DestinationInfoComponent {\r\n @Input() image!: string;\r\n @Input() title!: string;\r\n @Input() bannerTitle!: string;\r\n @Input() bannerDescription?: string;\r\n @Input() titleDark!: string;\r\n @Input() buttons!: ButtonI[];\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n}\r\n","<section class=\"destinantion-info module-spacer--bottom\">\r\n <div class=\"destinantion-info--content wrapper-big\">\r\n @if (title) {\r\n <h3 class=\"destinantion-info--title title--80 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h3>\r\n }\r\n <div class=\"destinantion-info--inner\">\r\n @if (image) {\r\n <div class=\"destinantion-info--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n </div>\r\n }\r\n <div class=\"destinantion-info--des bg-brown-90\">\r\n @if (bannerTitle) {\r\n <h4 class=\"title--54 color--white\">\r\n {{ bannerTitle }}\r\n </h4>\r\n } @if (bannerDescription) {\r\n <p class=\"text color--white\">\r\n {{ bannerDescription }}\r\n </p>\r\n } @if (buttons.length) {\r\n <div\r\n class=\"destinantion-info--btns flex-row flex-row--left mt--20\"\r\n >\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n type=\"light-box\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-footer-a',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './footer-a.component.html',\r\n styleUrl: './footer-a.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FooterAComponent {\r\n collapsed1 = false;\r\n collapsed2 = true;\r\n collapsed3 = true;\r\n collapsed4 = true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n toggleCollapse2(): void {\r\n this.collapsed2 = !this.collapsed2;\r\n }\r\n toggleCollapse3(): void {\r\n this.collapsed3 = !this.collapsed3;\r\n }\r\n toggleCollapse4(): void {\r\n this.collapsed4 = !this.collapsed4;\r\n }\r\n}\r\n"," \r\n\r\n\r\n<section class=\"footer-a module-spacer-small--bottom wrapper-medium\">\r\n <div class=\"footer-a--content\">\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse1()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed2 ? 'close' : 'open'\">\r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse2()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed3 ? 'close' : 'open'\"> \r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse3()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n <div class=\"footer-a--box\" [ngClass]=\"collapsed4 ? 'close' : 'open'\"> \r\n <h4 class=\"footer-a--title\" (click)=\"toggleCollapse4()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4> \r\n <ul class=\"footer-a--list\">\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n <li>\r\n <a href=\"\" class=\"link-opacity color--brown\">\r\n faqs\r\n </a>\r\n </li>\r\n </ul> \r\n </div>\r\n </div>\r\n</section>","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../public-api';\r\n\r\n@Component({\r\n selector: 'tent-footer-b',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './footer-b.component.html',\r\n styleUrl: './footer-b.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FooterBComponent {\r\n @Input() linksWithImage?: FooterBLinkWithImage[];\r\n @Input() logo?: FooterBLinkWithImage;\r\n @Input() title?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() buttons?: ButtonI[];\r\n}\r\n\r\nexport interface FooterBLinkWithImage {\r\n img: string;\r\n alt?: string;\r\n url: string;\r\n}\r\n","<section class=\"footer-b wrapper-medium\">\r\n <div class=\"footer-b--content\">\r\n @if (logo || linksWithImage?.length) {\r\n <div class=\"footer-b--box footer-b--box--left\">\r\n <div class=\"footer-b--box--inner\">\r\n @if (logo) {\r\n <a\r\n class=\"footer-b--logo\"\r\n [href]=\"logo.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"logo.alt\"\r\n >\r\n <img [src]=\"logo.img\" [alt]=\"logo.alt\" />\r\n </a>\r\n } @if (linksWithImage?.length) {\r\n <div class=\"footer-b--logos\">\r\n @for (link of linksWithImage; track $index) {\r\n <a\r\n class=\"footer-b--logos--logo\"\r\n [href]=\"link.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"link.alt\"\r\n >\r\n <img [src]=\"link.img\" [alt]=\"link.alt\" />\r\n </a>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n } @if (links?.length || buttons?.length) {\r\n\r\n <div class=\"footer-b--box footer-b--box--right\">\r\n <div class=\"footer-b--box--inner\">\r\n @if (title || links?.length) {\r\n <div class=\"footer-b--info\">\r\n @if (title) {\r\n <h3 class=\"title--42 color--brown\">{{ title }}</h3>\r\n } @if (links) { @for (link of links; track $index) {\r\n <a\r\n [href]=\"link.url\"\r\n class=\"link-regular color--brown\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n } }\r\n </div>\r\n } @if (buttons?.length) {\r\n <div class=\"footer-b--btns\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n type=\"dark-box-white\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-footer-static',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './footer-static.component.html',\r\n styleUrl: './footer-static.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FooterStaticComponent {\r\n @Input({ required: true }) footerLinks?: ButtonI[];\r\n @Input() title?: string;\r\n @Input() scrollBtn?: ButtonI;\r\n\r\n isInternalLink(link: ButtonI): boolean {\r\n return link.linkType === 'internal';\r\n }\r\n\r\n linkClicked(event: Event, link: ButtonI): void {\r\n if (link.linkType === 'internal') {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n scrollClicked(): void {\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth',\r\n });\r\n }\r\n}\r\n","<footer class=\"footer wrapper-medium\">\r\n @if (title) {\r\n <div class=\"footer__copyright\">\r\n <p class=\"text color--brown text--small\">{{ title }}</p>\r\n </div>\r\n } @if (footerLinks?.length) {\r\n <ul class=\"footer__links\">\r\n @for (link of footerLinks; track $index) {\r\n <li class=\"footer__link\">\r\n @if (isInternalLink(link)) {\r\n <a\r\n class=\"link link--brown\"\r\n [href]=\"link.url\"\r\n [routerLink]=\"[link.url]\"\r\n (click)=\"linkClicked($event, link)\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n\r\n } @else {\r\n <a\r\n class=\"link link--brown\"\r\n [href]=\"link.url\"\r\n target=\"_blank\"\r\n (click)=\"linkClicked($event, link)\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n } @if (scrollBtn) {\r\n <div class=\"scroll-top\">\r\n <span class=\"text color--brown text--small\">{{ scrollBtn.label }}</span>\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"scrollBtn.icon\"\r\n (click)=\"scrollClicked()\"\r\n [name]=\"scrollBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n }\r\n</footer>\r\n","import { CommonModule, Location } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-hotel-list-modal',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './hotel-list-modal.component.html',\r\n styleUrl: './hotel-list-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelListModalComponent implements OnInit {\r\n @Input() hotels?: HotelListModalCity[];\r\n @Input() button?: ButtonI;\r\n @Input() destinyButton?: ButtonI;\r\n @Input() title?: string;\r\n\r\n @Output() elementClick = new EventEmitter<ElementObject>();\r\n\r\n collapsed: boolean[] = [];\r\n\r\n constructor(private readonly location: Location) {}\r\n\r\n ngOnInit(): void {\r\n if (this.hotels?.length) {\r\n this.collapsed = new Array(this.hotels.length).fill(true);\r\n }\r\n }\r\n\r\n elementClicked(\r\n event: Event | undefined,\r\n element: ButtonI,\r\n type: ElementType\r\n ): void {\r\n event?.preventDefault();\r\n this.elementClick.emit({ element, type });\r\n }\r\n\r\n toggleCollapsed(index: number): void {\r\n this.collapsed[index] = !this.collapsed[index];\r\n }\r\n\r\n back(): void {\r\n this.location.back();\r\n }\r\n}\r\n\r\nexport interface HotelListModalCity {\r\n city: ButtonI;\r\n items: HotelListModalItem[];\r\n}\r\n\r\nexport interface HotelListModalItem {\r\n title: ButtonI;\r\n hotels: {\r\n img: string;\r\n btn: ButtonI;\r\n }[];\r\n}\r\n\r\nexport type ElementType = 'destinyParent' | 'destiny' | 'hotel';\r\nexport interface ElementObject {\r\n element: ButtonI;\r\n type: ElementType;\r\n}\r\n","<div class=\"hotel-list\">\r\n <div class=\"hotel-list--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"back()\"\r\n ></tent-button>\r\n </div>\r\n\r\n <!--DESKTOP-->\r\n\r\n @if (button) {\r\n <div class=\"hotel-list--btn\">\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n boxWidth=\"308px\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType!\"\r\n class=\"hotel-list--main-button\"\r\n ></tent-button>\r\n </div>\r\n }\r\n\r\n <div class=\"hotel-list--content\">\r\n @for (destiny of hotels; track $index) {\r\n <div class=\"hotel-list--container\">\r\n @if (destiny.city) {\r\n <a\r\n [href]=\"destiny.city.url\"\r\n [routerLink]=\"destiny.city.url\"\r\n [attr.aria-label]=\"destiny.city.label\"\r\n (click)=\"elementClicked($event, destiny.city, 'destinyParent')\"\r\n class=\"hotel-list--container--title\"\r\n >\r\n {{ destiny.city.label }}\r\n </a>\r\n }\r\n\r\n <div class=\"hotel-list--row\">\r\n @for (item of destiny.items; track $index) {\r\n <div class=\"hotel-list--column\">\r\n @if (item.title) {\r\n <div class=\"hotel-list--column--header\">\r\n <a\r\n [href]=\"item.title.url\"\r\n [attr.aria-label]=\"item.title.label\"\r\n [routerLink]=\"item.title.url\"\r\n (click)=\"\r\n elementClicked($event, item.title, 'destiny')\r\n \"\r\n class=\"hotel-list--column--title\"\r\n >\r\n {{ item.title.label }}\r\n </a>\r\n </div>\r\n } @for (element of item.hotels; track $index) {\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n [href]=\"element.btn.url\"\r\n [routerLink]=\"[element.btn.url]\"\r\n [attr.aria-label]=\"element.btn.label\"\r\n (click)=\"\r\n elementClicked($event, element.btn, 'hotel')\r\n \"\r\n class=\"hotel-list--column--element\"\r\n >\r\n {{ element.btn.label }}\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n <!--MOBILE-->\r\n\r\n <div class=\"hotel-list--content--mobile\">\r\n @if (title) {\r\n <p class=\"hotel-list--title color--camel\">{{ title }}</p>\r\n } @for (destiny of hotels; track $index) {\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed($index)\"\r\n >\r\n @if (destiny.city) {\r\n <a\r\n [href]=\"destiny.city.url\"\r\n [routerLink]=\"destiny.city.url\"\r\n [attr.aria-label]=\"destiny.city.label\"\r\n (click)=\"\r\n elementClicked($event, destiny.city, 'destinyParent')\r\n \"\r\n class=\"hotel-list--container--title\"\r\n >\r\n {{ destiny.city.label }}\r\n </a>\r\n\r\n <tent-button\r\n [ngClass]=\"collapsed[$index] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n name=\"signal-up\"\r\n ></tent-button>\r\n }\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"\r\n collapsed[$index] ? 'hotel-list--row--collapsed' : ''\r\n \"\r\n >\r\n @if (destiny.items.length) { @for (item of destiny.items; track\r\n $index) {\r\n <div class=\"hotel-list--column\">\r\n @if (item.title) {\r\n <div class=\"hotel-list--column--header\">\r\n <a\r\n [href]=\"item.title.url\"\r\n [routerLink]=\"item.title.url\"\r\n [attr.aria-label]=\"item.title.label\"\r\n (click)=\"\r\n elementClicked($event, item.title, 'destiny')\r\n \"\r\n class=\"hotel-list--column--title\"\r\n >\r\n {{ item.title.label }}\r\n </a>\r\n </div>\r\n } @if (item.hotels.length) {\r\n <div class=\"hotel-list--column--content\">\r\n @for (element of item.hotels; track $index) {\r\n <a\r\n [href]=\"element.btn.url\"\r\n [routerLink]=\"[element.btn.url]\"\r\n [attr.aria-label]=\"element.btn.label\"\r\n (click)=\"\r\n elementClicked($event, element.btn, 'hotel')\r\n \"\r\n class=\"hotel-list--column--element\"\r\n >\r\n <div class=\"hotel-list--column--text\">\r\n <span>{{ element.btn.label }}</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-down\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n } } @if (destinyButton) {\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n [label]=\"destinyButton.label\"\r\n [url]=\"destiny.city.url\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n (btnClick)=\"\r\n elementClicked(undefined, destiny.city, 'destinyParent')\r\n \"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../public-api';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HotelListModalComponent } from '../modals/hotel-list-modal/hotel-list-modal.component';\r\n\r\n@Component({\r\n selector: 'tent-header',\r\n standalone: true,\r\n imports: [CommonModule, MatIconModule, ButtonComponent, RouterModule],\r\n templateUrl: './header.component.html',\r\n styleUrl: './header.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderComponent {\r\n @Input() scrolled?: boolean;\r\n @Input({ required: true }) logo!: string;\r\n @Input() navLinks?: NavLink[];\r\n @Input() menuIcon?: string;\r\n @Input() altLogo?: string;\r\n @Input() rightButtons?: RightButtons;\r\n @Input() btnBook?: ButtonI;\r\n\r\n @Output() menuClick = new EventEmitter<void>();\r\n @Output() languagesClick = new EventEmitter<void>();\r\n @Output() newsletterClick = new EventEmitter<void>();\r\n @Output() checkinClick = new EventEmitter<void>();\r\n @Output() booksClick = new EventEmitter<void>();\r\n @Output() motorClick = new EventEmitter<void>();\r\n @Output() navLinkClick = new EventEmitter<NavLink>();\r\n\r\n constructor(private readonly dialog: MatDialog) {}\r\n\r\n openMotor(): void {\r\n this.motorClick.emit();\r\n }\r\n\r\n navLinkClicked(event: Event, navLink?: NavLink): void {\r\n event.preventDefault();\r\n this.navLinkClick.emit(navLink);\r\n }\r\n\r\n isInternalLink(navLink: NavLink): boolean {\r\n return navLink.type === 'internal';\r\n }\r\n\r\n openHotelList() {\r\n const dialogRef = this.dialog.open(HotelListModalComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'hotel-list'],\r\n hasBackdrop: false,\r\n });\r\n }\r\n}\r\n\r\nexport interface NavLink {\r\n label?: string;\r\n url?: string;\r\n icon?: string;\r\n type: 'internal' | 'external' | 'component';\r\n order: number;\r\n componentId?: string;\r\n}\r\n\r\nexport interface RightButtons {\r\n phone: RightBtn | undefined;\r\n books: RightBtn | undefined;\r\n newsletter: RightBtn | undefined;\r\n checkin: RightBtn | undefined;\r\n languages: RightBtn | undefined;\r\n}\r\n\r\nexport interface RightBtn {\r\n icon?: string;\r\n label: string;\r\n url?: string;\r\n comment?: string;\r\n}\r\n","<nav class=\"header\" [ngClass]=\"{ 'header--scrolled': scrolled }\">\r\n <div class=\"header--left-slot\">\r\n @if (logo) {\r\n <a\r\n (click)=\"navLinkClicked($event, navLinks![0])\"\r\n [routerLink]=\"\r\n isInternalLink(navLinks![0]) ? [navLinks![0].url] : null\r\n \"\r\n [href]=\"navLinks![0].url\"\r\n [attr.aria-label]=\"altLogo\"\r\n >\r\n <img\r\n class=\"header--logo\"\r\n [src]=\"logo\"\r\n [alt]=\"altLogo\"\r\n width=\"150\"\r\n height=\"100\"\r\n />\r\n </a>\r\n } @if (navLinks?.length) {\r\n <div class=\"header--nav-links\">\r\n @for (navLink of navLinks; track $index) {\r\n <a\r\n (click)=\"navLinkClicked($event, navLink)\"\r\n [routerLink]=\"isInternalLink(navLink) ? [navLink.url] : null\"\r\n [href]=\"navLink.url\"\r\n class=\"link color--brown\"\r\n [attr.aria-label]=\"navLink.label\"\r\n >{{ navLink.label }}</a\r\n >\r\n }\r\n </div>\r\n } @if (menuIcon) {\r\n <div class=\"header--menu-btn\" (click)=\"menuClick.emit()\">\r\n <mat-icon\r\n class=\"color--brown\"\r\n [ngClass]=\"menuIcon\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n </div>\r\n }\r\n </div>\r\n @if (rightButtons && rightButtons.checkin) {\r\n <div class=\"header--center-slot\">\r\n <div class=\"header--check-in\" (click)=\"checkinClick.emit()\">\r\n <span class=\"color--white\">{{ rightButtons.checkin.label }}</span>\r\n </div>\r\n </div>\r\n } @if (rightButtons) {\r\n <div class=\"header--right-slot\">\r\n @if (rightButtons.phone) {\r\n <a\r\n [href]=\"rightButtons.phone.url\"\r\n class=\"color--brown header--link-phone\"\r\n [attr.aria-label]=\"rightButtons.phone.label\"\r\n >\r\n <mat-icon\r\n class=\"color--brown icon-phone-plus\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n <span>{{ rightButtons.phone.label }}</span>\r\n </a>\r\n\r\n } @if (rightButtons.books) {\r\n <span\r\n (click)=\"booksClick.emit()\"\r\n class=\"link color--brown header--books\"\r\n >\r\n {{ rightButtons.books.label }}\r\n </span>\r\n } @if (rightButtons.newsletter) {\r\n <span class=\"header--mail\" (click)=\"newsletterClick.emit()\">\r\n <mat-icon\r\n class=\"color--brown\"\r\n [ngClass]=\"rightButtons.newsletter.icon\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n <span class=\"header--mail-comment\">\r\n {{ rightButtons.newsletter.comment }}\r\n </span>\r\n </span>\r\n } @if (rightButtons.languages) {\r\n <span\r\n (click)=\"languagesClick.emit()\"\r\n class=\"color--brown header--language\"\r\n >\r\n {{ rightButtons.languages.label }}\r\n <span class=\"header--language-comment\">{{\r\n rightButtons.languages.comment\r\n }}</span></span\r\n >\r\n\r\n } @if (menuIcon) {\r\n <div class=\"header--menu-btn\" (click)=\"menuClick.emit()\">\r\n <mat-icon\r\n class=\"color--brown\"\r\n [ngClass]=\"menuIcon\"\r\n fontSet=\"icomoon\"\r\n ></mat-icon>\r\n </div>\r\n } @if (btnBook || rightButtons.checkin) {\r\n <div\r\n class=\"header--btn-book\"\r\n [ngClass]=\"{ 'header--btn-book--scrolled': scrolled }\"\r\n >\r\n @if (btnBook) {\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n (btnClick)=\"openMotor()\"\r\n [name]=\"btnBook.label\"\r\n ></tent-button>\r\n } @if (rightButtons.checkin) {\r\n <div\r\n class=\"header--check-in header--check-in--right\"\r\n (click)=\"checkinClick.emit()\"\r\n >\r\n <span class=\"color--white\">{{\r\n rightButtons.checkin.label\r\n }}</span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n</nav>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { ButtonI, RightBtn } from '../../../../public-api';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-header-mobile',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, MatIconModule],\r\n templateUrl: './header-mobile.component.html',\r\n styleUrl: './header-mobile.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderMobileComponent {\r\n @Input() btnBook?: ButtonI;\r\n @Input() phoneLink?: RightBtn;\r\n @Output() motorClick = new EventEmitter<void>();\r\n constructor() {}\r\n\r\n openMotor(): void {\r\n this.motorClick.emit();\r\n }\r\n}\r\n","<nav class=\"header-mobile\">\r\n @if (btnBook) {\r\n <tent-button\r\n (btnClick)=\"openMotor()\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n [name]=\"btnBook.label\"\r\n ></tent-button>\r\n } @if (phoneLink) {\r\n <a\r\n class=\"header-mobile--phone-link\"\r\n [href]=\"phoneLink.url\"\r\n [attr.aria-label]=\"phoneLink.label\"\r\n >\r\n <mat-icon [ngClass]=\"phoneLink.icon\" class=\"color--brown\"></mat-icon>\r\n <span class=\"color--brown\">{{ phoneLink.label }}</span>\r\n </a>\r\n\r\n }\r\n</nav>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-hotel-services',\r\n standalone: true,\r\n imports: [ButtonComponent, RouterModule],\r\n templateUrl: './hotel-services.component.html',\r\n styleUrl: './hotel-services.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelServicesComponent {\r\n @Input() title!: string;\r\n @Input() titleDark!: string;\r\n @Input() items!: HotelServicesItem[];\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n itemClicked(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n\r\nexport interface HotelServicesItem {\r\n image: string;\r\n title?: string;\r\n subtitle?: string;\r\n description?: string;\r\n buttons?: ButtonI[];\r\n}\r\n","<section class=\"hotel-intro wrapper-big module-spacer--bottom\">\r\n <div class=\"hotel-intro--content\">\r\n <h2 class=\"hotel-intro--title title--80 color--camel\">\r\n {{ title }}\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n </h2>\r\n </div>\r\n <div class=\"hotel-intro--services\">\r\n @for (item of items; track $index) {\r\n <div class=\"hotel-intro--service\">\r\n <a\r\n class=\"hotel-intro--photo figure-content figure-zoom\"\r\n [href]=\"item.buttons?.[0]?.url\"\r\n [routerLink]=\"item.buttons?.[0]?.url\"\r\n [attr.aria-label]=\"item.buttons?.[0]?.url\"\r\n (click)=\"itemClicked($event)\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </a>\r\n <div class=\"hotel-intro--info pt--10\">\r\n <h3 class=\"hotel-intro--title title--42 color--brown\">\r\n {{ item.title }}\r\n\r\n @if (item.subtitle) {\r\n <span class=\"title--24 color--camel\">{{\r\n item.subtitle\r\n }}</span>\r\n }\r\n </h3>\r\n <p class=\"hotel-intro--text text color--gray1\">\r\n {{ item.description }}\r\n </p>\r\n @if (item.buttons) {\r\n <div class=\"hotel-intro--btns flex-row flex-row--left pt--20\">\r\n @for (btn of item.buttons; track $index) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n [icon]=\"btn.icon\"\r\n [iconPosition]=\"btn.iconPosition\"\r\n [label]=\"btn.label\"\r\n [name]=\"btn.label\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-hotel-slider',\r\n standalone: true,\r\n imports: [ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './hotel-slider.component.html',\r\n styleUrl: './hotel-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelSliderComponent implements OnInit {\r\n @Input() iconControlLeft = 'icon-signal-left';\r\n @Input() iconControlRight = 'icon-signal-right';\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() items?: HotelSliderItem[];\r\n\r\n @Output() hotelClick = new EventEmitter<HotelSliderItem>();\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: false,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1024: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions.navText = [\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\r\n ];\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n\r\nexport interface HotelSliderItem {\r\n id: string | number;\r\n image: string;\r\n title: string;\r\n description: string;\r\n ndTitle?: string;\r\n badge: BadgeI;\r\n buttons: ButtonI[];\r\n ticker?: string;\r\n}\r\n","<section class=\"hotel-slider module-spacer--bottom\">\r\n <div class=\"hotel-slider--content wrapper-big\">\r\n @if (title) {\r\n <div class=\"hotel-slider--head\">\r\n <h3 class=\"hotel-slider--title title--80 color--camel\">\r\n {{ title }} <span class=\"color--brown\">{{ titleDark }}</span>\r\n </h3>\r\n </div>\r\n } @if (items?.length) {\r\n <div class=\"hotel-slider--inner\">\r\n <owl-carousel-o\r\n class=\"hotel-slider--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"hotel-slider--slide\">\r\n @if (item.image) {\r\n <div class=\"hotel-slider--img\">\r\n <div class=\"hotel-slider--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"hotel-slider--des\">\r\n @if (item.badge) {\r\n <tent-badge\r\n class=\"hotel-slider--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"item.badge.label\"\r\n ></tent-badge>\r\n } @if (item.title) {\r\n <h4\r\n class=\"hotel-slider--slideTitle color--brown title--80\"\r\n >\r\n {{ item.title }}\r\n @if (item.ndTitle) {\r\n <span class=\"color--brown\">{{\r\n item.ndTitle\r\n }}</span>\r\n\r\n }\r\n </h4>\r\n } @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.buttons.length) {\r\n <div class=\"hotel-slider--btns pt--20\">\r\n @for (btn of item.buttons; track $index) {\r\n <tent-button\r\n [type]=\"btn.type!\"\r\n [icon]=\"btn.icon\"\r\n [iconPosition]=\"btn.iconPosition\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n (btnClick)=\"hotelClick.emit(item)\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-guests-popup',\r\n standalone: true,\r\n imports: [CommonModule, DropdownComponent, ButtonComponent],\r\n templateUrl: './guests-popup.component.html',\r\n styleUrl: './guests-popup.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GuestsPopupComponent implements OnInit {\r\n @Input() adultsDropdown!: DropdownI;\r\n @Input() kidsDropdown!: DropdownI;\r\n @Input() ageDropdown!: DropdownI;\r\n @Input() babysDropdown!: DropdownI;\r\n @Input() title?: string;\r\n @Input() kidLabel?: string;\r\n @Input() btnApply!: ButtonI;\r\n @Input() modal?: boolean;\r\n\r\n @Output() appliedData = new EventEmitter<GuestsValue>();\r\n\r\n kids?: number[] = [];\r\n applied = false;\r\n\r\n kidsOption!: DropdownOption;\r\n adultsOption!: DropdownOption;\r\n babysOption!: DropdownOption;\r\n\r\n ages: number[] = [];\r\n\r\n ngOnInit(): void {\r\n this.kidsOption = this.kidsDropdown.options![0];\r\n this.adultsOption = this.adultsDropdown.options![0];\r\n this.babysOption = this.babysDropdown.options![0];\r\n }\r\n\r\n kidsChange(option: DropdownOption) {\r\n this.kids = [];\r\n this.kidsOption = option;\r\n for (let i = 0; i < Number(option.code); i++) {\r\n this.kids?.push(i);\r\n }\r\n\r\n this.ages = Array(this.kids.length).fill(\r\n Number(this.ageDropdown.options[0].code)\r\n );\r\n\r\n const popup = document.getElementsByClassName('p-dialog-mask')[0];\r\n\r\n if (popup) {\r\n if (Number(option.code) > 2) {\r\n popup.classList.add('bigger');\r\n } else {\r\n if (popup.classList.contains('bigger')) {\r\n popup.classList.remove('bigger');\r\n }\r\n }\r\n }\r\n }\r\n\r\n agesChange(kidIndex: number, option: DropdownOption): void {\r\n this.ages[kidIndex] = Number(option.code);\r\n }\r\n\r\n babysChange(option: DropdownOption): void {\r\n this.babysOption = option;\r\n }\r\n\r\n adultsChange(option: DropdownOption): void {\r\n this.adultsOption = option;\r\n }\r\n\r\n applyData(): void {\r\n this.appliedData.emit({\r\n adults: Number(this.adultsOption?.code) ?? 0,\r\n kids: Number(this.kidsOption?.code) ?? 0,\r\n babys: Number(this.babysOption?.code) ?? 0,\r\n kidsAges: this.ages ?? [],\r\n totalGuests:\r\n Number(this.babysOption?.code) +\r\n Number(this.kidsOption?.code) +\r\n Number(this.adultsOption?.code),\r\n } as GuestsValue);\r\n }\r\n}\r\n\r\nexport interface GuestsValue {\r\n adults?: number;\r\n kids?: number;\r\n babys?: number;\r\n kidsAges?: number[];\r\n totalGuests: number;\r\n}\r\n","<div class=\"guests flex-col flex-col--center\">\r\n <tent-dropdown\r\n [title]=\"adultsDropdown.title\"\r\n iconLeft=\"icon-user\"\r\n [options]=\"adultsDropdown.options\"\r\n [showTitleTop]=\"true\"\r\n [value]=\"adultsDropdown.options[0]\"\r\n (change)=\"adultsChange($event)\"\r\n ></tent-dropdown>\r\n <tent-dropdown\r\n [title]=\"kidsDropdown.title\"\r\n iconLeft=\"icon-user-small\"\r\n [smallTitle]=\"kidsDropdown.smallTitle\"\r\n [options]=\"kidsDropdown.options\"\r\n [value]=\"kidsDropdown.options[0]\"\r\n [showTitleTop]=\"true\"\r\n (change)=\"kidsChange($event)\"\r\n ></tent-dropdown>\r\n\r\n <div\r\n class=\"guests--kids\"\r\n [ngClass]=\"{ 'guests--kids--show': !applied && kids?.length }\"\r\n >\r\n @if (title) {\r\n <header class=\"guests--kids--header\">\r\n <p class=\"color--brown guests--kids--header--title\">edades</p>\r\n </header>\r\n }\r\n\r\n <div class=\"guests--kids--content\">\r\n @for (kid of kids; track $index; let even = $even, last = $last) {\r\n <div\r\n class=\"guests--kids--dropdown\"\r\n [ngClass]=\"{\r\n 'guests--kids--dropdown--centered': even && last\r\n }\"\r\n >\r\n <span class=\"color--brown guests--kids--title\"\r\n >{{ kidLabel }}{{ $index + 1 }}</span\r\n >\r\n <tent-dropdown\r\n [light]=\"true\"\r\n [options]=\"ageDropdown.options\"\r\n [value]=\"ageDropdown.options[0]\"\r\n (change)=\"agesChange($index, $event)\"\r\n ></tent-dropdown>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <tent-dropdown\r\n [ngClass]=\"{ 'guests--babys': applied || !kids?.length }\"\r\n [showTitleTop]=\"true\"\r\n [title]=\"babysDropdown.title\"\r\n iconLeft=\"icon-user-small\"\r\n [smallTitle]=\"babysDropdown.smallTitle\"\r\n [value]=\"babysDropdown.options[0]\"\r\n [options]=\"babysDropdown.options\"\r\n (change)=\"babysChange($event)\"\r\n ></tent-dropdown>\r\n\r\n <tent-button\r\n class=\"guests--btn\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnApply.label\"\r\n boxWidth=\"240px\"\r\n (btnClick)=\"applyData()\"\r\n [name]=\"btnApply.label\"\r\n ></tent-button>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { DatepickerComponent } from '../../atomic/datepicker/datepicker.component';\r\nimport { DropdownComponent } from '../../atomic/dropdown/dropdown.component';\r\nimport { GuestsPopupComponent } from '../guests-popup/guests-popup.component';\r\n\r\n@Component({\r\n selector: 'tent-motor',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n DatepickerComponent,\r\n DropdownComponent,\r\n GuestsPopupComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DialogModule,\r\n GuestsPopupComponent,\r\n MatIconModule,\r\n ],\r\n templateUrl: './motor.component.html',\r\n styleUrl: './motor.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MotorComponent implements OnDestroy, AfterViewInit {\r\n @ViewChild('wrapper', { read: ElementRef }) wrapper!: ElementRef;\r\n @Input() modal = false;\r\n @Input() square = false;\r\n @Input({ required: true }) lang!: string;\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Output() close = new EventEmitter<void>();\r\n\r\n isComponent?: boolean = false;\r\n\r\n constructor() {}\r\n\r\n ngAfterViewInit(): void {\r\n this.isComponent = (\r\n this.wrapper.nativeElement as HTMLElement\r\n ).parentElement?.classList.contains('component');\r\n\r\n if (this.modal && !this.isComponent) {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: hidden');\r\n\r\n (\r\n this.wrapper.nativeElement as HTMLElement\r\n ).parentElement?.classList.add('modal');\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.modal && !this.isComponent) {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: unset');\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n this.close.emit();\r\n }\r\n}\r\n","<div\r\n #wrapper\r\n class=\"motor--wrapper\"\r\n [ngClass]=\"{\r\n 'motor--wrapper--modal': modal,\r\n }\"\r\n>\r\n @if (modal) {\r\n <div class=\"motor--close-button\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"closeModal()\"\r\n name=\"close\"\r\n ></tent-button>\r\n </div>\r\n } @if ((title || subtitle) && modal) {\r\n <header class=\"motor--header\">\r\n @if (title) {\r\n <h3 class=\"motor--title color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (subtitle) {\r\n <h3 class=\"motor--title color--camel\">\r\n {{ subtitle }}\r\n </h3>\r\n }\r\n </header>\r\n } @if (square) {\r\n <div class=\"mi-be-square\">\r\n <div\r\n data-mirai-engine=\"mirai_be\"\r\n [attr.data-lang]=\"lang\"\r\n data-idchain=\"502045\"\r\n ></div>\r\n </div>\r\n } @else {\r\n <div\r\n data-mirai-engine=\"mirai_be\"\r\n [attr.data-lang]=\"lang\"\r\n data-idchain=\"502045\"\r\n ></div>\r\n }\r\n <!-- <form\r\n class=\"motor flex-row flex-row--center\"\r\n [formGroup]=\"motorForm\"\r\n [ngClass]=\"{ 'motor--modal': modal }\"\r\n >\r\n <tent-dropdown\r\n [options]=\"dropdown.options\"\r\n [placeholder]=\"dropdown.placeholder\"\r\n [sameTitlePlaceholder]=\"true\"\r\n formControlName=\"hotel\"\r\n [staticPosition]=\"false\"\r\n ></tent-dropdown>\r\n <tent-datepicker\r\n [placeholder]=\"date.title\"\r\n [icon]=\"date.icon\"\r\n [value]=\"date.value\"\r\n [sameTitlePlaceholder]=\"true\"\r\n formControlName=\"date\"\r\n ></tent-datepicker>\r\n <div\r\n class=\"motor--input--wrapper flex-row flex-row--between\"\r\n (click)=\"togglePopup()\"\r\n >\r\n <div class=\"motor--input--content\">\r\n @if (guestsInput.value !== '') {\r\n <p class=\"motor--input--title\">{{ guestsInput.placeholder }}</p>\r\n }\r\n <input\r\n [disabled]=\"true\"\r\n class=\"motor--input\"\r\n type=\"text\"\r\n [value]=\"guestsInput.value\"\r\n [placeholder]=\"guestsInput.placeholder\"\r\n formControlName=\"guests\"\r\n />\r\n </div>\r\n\r\n <span\r\n class=\"motor--input--icon\"\r\n [ngClass]=\"guestsInput.icon\"\r\n ></span>\r\n </div>\r\n\r\n @if (!modal) {\r\n <p-dialog\r\n class=\"motor--dialog\"\r\n [(visible)]=\"dialogVisible\"\r\n (onShow)=\"toggleMotorDialogReady()\"\r\n (onHide)=\"toggleMotorDialogReady()\"\r\n >\r\n <tent-guests-popup\r\n [adultsDropdown]=\"guestsPopup.adultsDropdown\"\r\n [kidsDropdown]=\"guestsPopup.kidsDropdown\"\r\n [ageDropdown]=\"guestsPopup.ageDropdown\"\r\n [babysDropdown]=\"guestsPopup.babysDropdown\"\r\n [title]=\"guestsPopup.title\"\r\n [kidLabel]=\"guestsPopup.kidLabel\"\r\n [btnApply]=\"guestsPopup.btnApply\"\r\n (appliedData)=\"guestsChange($event)\"\r\n ></tent-guests-popup>\r\n </p-dialog>\r\n } @else if(dialogVisible) {\r\n <tent-guests-popup\r\n [adultsDropdown]=\"guestsPopup.adultsDropdown\"\r\n [kidsDropdown]=\"guestsPopup.kidsDropdown\"\r\n [ageDropdown]=\"guestsPopup.ageDropdown\"\r\n [babysDropdown]=\"guestsPopup.babysDropdown\"\r\n [title]=\"guestsPopup.title\"\r\n [kidLabel]=\"guestsPopup.kidLabel\"\r\n [btnApply]=\"guestsPopup.btnApply\"\r\n (appliedData)=\"guestsChange($event)\"\r\n ></tent-guests-popup>\r\n }\r\n\r\n <div\r\n class=\"motor--input--wrapper flex-row flex-row--between\"\r\n [ngClass]=\"{ 'motor--input--wrapper--left': !modal }\"\r\n (click)=\"promoInputRef.focus()\"\r\n >\r\n <div class=\"motor--input--content\">\r\n @if (promoInput.value !== '') {\r\n <p class=\"motor--input--title\">{{ promoInput.placeholder }}</p>\r\n }\r\n <input\r\n #promoInputRef\r\n class=\"motor--input\"\r\n type=\"text\"\r\n [value]=\"promoInput.value\"\r\n [placeholder]=\"promoInput.placeholder\"\r\n formControlName=\"promo\"\r\n (input)=\"changeInput($event)\"\r\n />\r\n </div>\r\n\r\n <span class=\"motor--input--icon\" [ngClass]=\"promoInput.icon\"></span>\r\n </div>\r\n\r\n <div class=\"motor--dark-btn-wrapper\">\r\n <tent-button\r\n [ngClass]=\"{ 'motor--dark-btn--modal': modal }\"\r\n class=\"motor--dark-btn\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnSubmit.label\"\r\n boxWidth=\"200px\"\r\n (btnClick)=\"btnClicked()\"\r\n [name]=\"btnSubmit.label\"\r\n ></tent-button>\r\n </div>\r\n </form> -->\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nconst CURRENCY_SYMBOLS: { [key: string]: string } = {\r\n USD: '$',\r\n EUR: '€',\r\n GBP: '£',\r\n JPY: '¥',\r\n AUD: 'A$',\r\n CAD: 'C$',\r\n CHF: 'CHF',\r\n CNY: '¥',\r\n SEK: 'kr',\r\n NZD: 'NZ$',\r\n};\r\n\r\n@Pipe({\r\n name: 'currencySymbol',\r\n standalone: true,\r\n})\r\nexport class CurrencyPipe implements PipeTransform {\r\n transform(value: string): string {\r\n return CURRENCY_SYMBOLS[value] || value;\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\n@Component({\r\n selector: 'tent-offer',\r\n standalone: true,\r\n imports: [ButtonComponent, BadgeComponent, RouterModule, CurrencyPipe],\r\n templateUrl: './offer.component.html',\r\n styleUrl: './offer.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferComponent {\r\n @Input() image!: string;\r\n @Input() title!: string;\r\n @Input() price!: string;\r\n @Input() priceLabel!: string;\r\n @Input() currency!: string;\r\n @Input() badge?: BadgeI;\r\n @Input() badgePrice?: BadgeI;\r\n @Input() buttons?: ButtonI[];\r\n\r\n @Output() btnClicked = new EventEmitter();\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n offerClicked(event: Event): void {\r\n event.preventDefault();\r\n this.btnClicked.emit();\r\n }\r\n}\r\n","<section class=\"offer-box\">\r\n <a\r\n [attr.aria-label]=\"title\"\r\n [href]=\"buttons ? buttons[0].url : null\"\r\n [routerLink]=\"buttons ? [buttons[0].url] : null\"\r\n (click)=\"offerClicked($event)\"\r\n >\r\n <div class=\"offer-box--content\">\r\n @if(badge) {\r\n <tent-badge\r\n class=\"offer-box--badgetHotel\"\r\n [rounded]=\"true\"\r\n [label]=\"badge.label\"\r\n ></tent-badge>\r\n } @if (image) {\r\n <div class=\"offer-box--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n </div>\r\n }\r\n\r\n <div class=\"offer-box--head\">\r\n <div class=\"offer-box--headinner\">\r\n <div class=\"offer-box--infocontent\">\r\n @if(badgePrice) {\r\n <tent-badge\r\n class=\"offer-box--badgetPrice\"\r\n [rounded]=\"true\"\r\n [label]=\"badgePrice.label\"\r\n ></tent-badge>\r\n }\r\n <div class=\"offer-box--info\">\r\n @if (title) {\r\n <h3 class=\"title--30 color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (price && priceLabel && currency) {\r\n <div class=\"offer-box--price\">\r\n <span class=\"title--18 color--camel\">{{\r\n priceLabel\r\n }}</span>\r\n <p class=\"title--42 color--brown\">\r\n {{ price\r\n }}<span class=\"title--32\">{{\r\n currency | currencySymbol\r\n }}</span>\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n @if (buttons?.length) {\r\n <div class=\"offer-box--btns\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n [type]=\"btn.type!\"\r\n [icon]=\"btn.icon\"\r\n [iconPosition]=\"btn.iconPosition\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n (btnClick)=\"btnClicked.emit()\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </a>\r\n</section>\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { fromEvent, tap } from 'rxjs';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'tent-offer-banner',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n BadgeComponent,\r\n ButtonComponent,\r\n RouterModule,\r\n CurrencyPipe,\r\n ],\r\n templateUrl: './offer-banner.component.html',\r\n styleUrl: './offer-banner.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferBannerComponent implements AfterViewInit {\r\n @ViewChild('close', { read: ElementRef }) closeBtn!: ElementRef;\r\n @ViewChild('closeBanner', { read: ElementRef }) closeBanner!: ElementRef;\r\n @Input() badge?: BadgeI;\r\n @Input() btnClose?: ButtonI;\r\n @Input() mainLabel?: string;\r\n @Input() priceLabel?: string;\r\n @Input() closeLabel?: string;\r\n @Input() price?: string;\r\n @Input() currency?: string;\r\n @Input() btnInfo?: ButtonI;\r\n @Input() img?: ImageI;\r\n @Input() desktop?: boolean;\r\n @Input() left?: boolean;\r\n\r\n @Output() closeClick = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngAfterViewInit(): void {\r\n fromEvent(this.closeBtn.nativeElement, 'mouseenter')\r\n .pipe(\r\n tap(() => {\r\n (\r\n this.closeBanner.nativeElement as HTMLElement\r\n ).classList.add(\r\n this.left\r\n ? 'offer-banner--close--container--displayed--left'\r\n : 'offer-banner--close--container--displayed'\r\n );\r\n if (this.desktop) {\r\n (\r\n this.closeBtn.nativeElement as HTMLElement\r\n ).style.opacity = '0';\r\n }\r\n })\r\n )\r\n .subscribe();\r\n fromEvent(\r\n document.getElementsByTagName('tent-offer-banner')[0],\r\n 'mouseleave'\r\n )\r\n .pipe(\r\n tap(() => {\r\n (\r\n this.closeBanner.nativeElement as HTMLElement\r\n ).classList.remove(\r\n this.left\r\n ? 'offer-banner--close--container--displayed--left'\r\n : 'offer-banner--close--container--displayed'\r\n );\r\n (this.closeBtn.nativeElement as HTMLElement).style.opacity =\r\n '1';\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n closeModal(): void {\r\n this.closeClick.emit();\r\n }\r\n\r\n bannerClicked(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n","<div\r\n #closeBanner\r\n class=\"offer-banner--close--container\"\r\n [ngClass]=\"{ 'offer-banner--close--container--left': left }\"\r\n (click)=\"closeClick.emit()\"\r\n>\r\n {{ closeLabel }}\r\n</div>\r\n\r\n<div class=\"offer-banner\" [ngClass]=\"{ 'offer-banner--left': left }\">\r\n @if (badge) {\r\n <tent-badge\r\n class=\"offer-banner--badge\"\r\n [rounded]=\"true\"\r\n [label]=\"badge.label\"\r\n ></tent-badge>\r\n\r\n } @if (btnClose) {\r\n <tent-button\r\n #close\r\n class=\"offer-banner--close\"\r\n type=\"dark-circle\"\r\n [icon]=\"btnClose.icon\"\r\n (btnClick)=\"closeClick.emit()\"\r\n name=\"close\"\r\n ></tent-button>\r\n }\r\n <a\r\n [attr.aria-label]=\"mainLabel\"\r\n class=\"offer-banner--container\"\r\n [href]=\"btnInfo?.url\"\r\n [routerLink]=\"[btnInfo?.url]\"\r\n (click)=\"bannerClicked($event)\"\r\n >\r\n <div class=\"flex-col flex-col--between offer-banner--content\">\r\n @if (mainLabel) {\r\n <p class=\"offer-banner--title\">\r\n {{ mainLabel }}\r\n </p>\r\n }\r\n <div class=\"flex-row flex-row--between\">\r\n @if (price || priceLabel) {\r\n <div class=\"flex-row offer-banner--price\">\r\n @if (priceLabel) {\r\n <span class=\"color--white offer-banner--sublabel\">\r\n {{ priceLabel }}\r\n </span>\r\n } @if (price) {\r\n <span class=\"color--white offer-banner--offer\">\r\n {{ price }}\r\n @if (currency) {\r\n {{ currency | currencySymbol }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n } @if (btnInfo) {\r\n <tent-button\r\n class=\"offer-banner--btn-info offer-banner--btn-info--desktop\"\r\n type=\"dark-box\"\r\n [label]=\"btnInfo.label\"\r\n [url]=\"btnInfo.url\"\r\n [linkType]=\"btnInfo.linkType!\"\r\n boxWidth=\"154px\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"offer-banner--btn-info offer-banner--btn-info--mobile\"\r\n type=\"dark-box\"\r\n [label]=\"btnInfo.label\"\r\n [url]=\"btnInfo.url\"\r\n [linkType]=\"btnInfo.linkType!\"\r\n boxWidth=\"115px\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n @if (img?.src) {\r\n <img\r\n [src]=\"img?.src\"\r\n [alt]=\"img?.alt\"\r\n class=\"offer-banner--image\"\r\n width=\"150\"\r\n height=\"100\"\r\n />\r\n }\r\n </a>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { OfferComponent } from '../offer/offer.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { OfferI } from '../../../interfaces/core/offer.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\n@Component({\r\n selector: 'tent-offer-slider',\r\n standalone: true,\r\n imports: [CarouselModule, OfferComponent, ButtonComponent, CurrencyPipe],\r\n templateUrl: './offer-slider.component.html',\r\n styleUrl: './offer-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferSliderComponent implements OnInit {\r\n @Input() offers!: OfferI[];\r\n @Input() title!: string;\r\n @Input() titleDark!: string;\r\n @Input() iconControlLeft = 'icon-pointer-left';\r\n @Input() iconControlRight = 'icon-pointer-right';\r\n @Input() link?: ButtonI;\r\n @Input() defaultImage?: string;\r\n @Input() defaultLabel?: string;\r\n\r\n @Output() offerClick = new EventEmitter<number>();\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 40,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 540: {\r\n items: 1,\r\n },\r\n 768: {\r\n items: 1,\r\n },\r\n\r\n 1000: {\r\n items: 1,\r\n },\r\n 1024: {\r\n items: 1,\r\n },\r\n\r\n 1280: {\r\n items: 2,\r\n },\r\n\r\n 1350: {\r\n items: 2,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.defaultImage})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions.navText = [\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\r\n ];\r\n\r\n if (this.offers.length === 1) {\r\n this.sliderOptions = {\r\n ...this.sliderOptions,\r\n loop: false,\r\n autoplay: false,\r\n nav: false,\r\n };\r\n }\r\n }\r\n\r\n offerClicked(id: number): void {\r\n this.offerClick.emit(id);\r\n }\r\n}\r\n","<section class=\"offer-slider module-spacer--bottom\">\r\n <div class=\"offer-slider--content wrapper-big\">\r\n <div class=\"offer-slider--head\">\r\n @if (titleDark) {\r\n <h3 class=\"offer-slider--title title--80 color--brown\">\r\n {{ titleDark }} @if (title) {\r\n\r\n <span class=\"color--camel\">{{ title }}</span\r\n >}\r\n </h3>\r\n } @if (link) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [icon]=\"link.icon\"\r\n [iconPosition]=\"link.iconPosition\"\r\n [label]=\"link.label\"\r\n [url]=\"link.url\"\r\n [linkType]=\"link.linkType!\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n <div class=\"offer-slider--inner\">\r\n <owl-carousel-o\r\n class=\"offer-slider--slider slider-circle--center slider-circle--center--centerFull\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (offer of offers; track $index) {\r\n <ng-template carouselSlide>\r\n <tent-offer\r\n [badge]=\"offer.badge\"\r\n [badgePrice]=\"offer.badgePrice\"\r\n [title]=\"offer.title\"\r\n [buttons]=\"offer.buttons\"\r\n [image]=\"offer.image\"\r\n [price]=\"offer.price\"\r\n [priceLabel]=\"offer.priceLabel\"\r\n [currency]=\"offer.currency | currencySymbol\"\r\n (btnClicked)=\"offerClicked($event)\"\r\n ></tent-offer>\r\n </ng-template>\r\n } @if(offers.length === 1 && defaultImage) {\r\n <ng-template carouselSlide>\r\n <div class=\"offer-slider--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n @if (defaultLabel) {\r\n <p class=\"offer-slider--photo--text\">\r\n {{ defaultLabel }}\r\n </p>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-facilities-slider',\r\n standalone: true,\r\n imports: [ButtonComponent, CarouselModule],\r\n templateUrl: './facilities-slider.component.html',\r\n styleUrl: './facilities-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FacilitiesSliderComponent implements OnInit {\r\n @Input() iconControlLeft!: string;\r\n @Input() iconControlRight!: string;\r\n @Input() title?: string;\r\n @Input() items!: FacilitiesSliderItem[];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n stagePadding: 0,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n stagePadding: 120,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions.navText = [\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\r\n `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\r\n ];\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n\r\nexport interface FacilitiesSliderItem {\r\n image: string;\r\n title: string;\r\n description: string;\r\n buttons: ButtonI[];\r\n}\r\n","<section class=\"rooms-slider module-spacer--bottom\">\r\n <div class=\"rooms-slider--content wrapper-big\">\r\n @if (title) {\r\n <div class=\"rooms-slider--head\">\r\n <h3 class=\"rooms-slider--title title--80 color--camel\">\r\n {{ title }}\r\n </h3>\r\n </div>\r\n }\r\n\r\n <owl-carousel-o\r\n class=\"rooms-slider--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"rooms-slider--slide\">\r\n @if (item.title) {\r\n <h4 class=\"rooms-slider--slideTitle color--brown title--80\">\r\n {{ item.title }}\r\n </h4>\r\n } @if (item.image) {\r\n <div class=\"rooms-slider--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n } @if (item.buttons.length || item.description) {\r\n <div class=\"rooms-slider--des\">\r\n <div class=\"rooms-slider--des-inner bg-white\">\r\n @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.buttons.length) {\r\n <div class=\"rooms-slider--btns pt--20\">\r\n @for (button of item.buttons; track $index) {\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType!\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-room-zoom-modal',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule, ButtonComponent],\r\n templateUrl: './room-zoom-modal.component.html',\r\n styleUrl: './room-zoom-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RoomZoomModalComponent {\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<RoomZoomModalComponent>,\r\n private readonly sanitizer: DomSanitizer\r\n ) {}\r\n\r\n @Input() title?: string;\r\n @Input() images?: string[];\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"room-zoom flex-col\">\r\n <div class=\"room-zoom--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n name=\"close\"\r\n ></tent-button>\r\n </div>\r\n <p class=\"room-zoom--title\">{{ title }}</p>\r\n <owl-carousel-o\r\n class=\"room-zoom--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"room-zoom--image--wrapper\">\r\n <figure\r\n class=\"room-zoom--image figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { fromEvent, tap } from 'rxjs';\r\n@Component({\r\n selector: 'tent-room-slider',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './room-slider.component.html',\r\n styleUrl: './room-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RoomSliderComponent implements OnInit, OnChanges, AfterViewInit {\r\n @Input({ required: true }) items!: RoomsSliderRoom[];\r\n @Input() linkDescriptionMore?: ButtonI;\r\n @Input() linkDescriptionLess?: ButtonI;\r\n @Input() linkEquipmentMore?: ButtonI;\r\n @Input() linkEquipmentLess?: ButtonI;\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 3000,\r\n navSpeed: 3000,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n collapsed: boolean[] = [];\r\n viewmore: boolean[] = [];\r\n\r\n itemsToShow = 4;\r\n constructor(\r\n private readonly dialog: MatDialog,\r\n private readonly sanitizer: DomSanitizer\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.collapsed = new Array(this.items.length).fill(true);\r\n this.viewmore = new Array(this.items.length).fill(true);\r\n this.itemsToShow = window.innerWidth >= 540 ? 6 : 3;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['items']?.currentValue) {\r\n this.collapsed = new Array(this.items.length).fill(true);\r\n this.viewmore = new Array(this.items.length).fill(true);\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n fromEvent(window, 'resize')\r\n .pipe(\r\n tap(() => {\r\n this.itemsToShow = window.innerWidth >= 540 ? 6 : 3;\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n toggleCollapse(index: number): void {\r\n this.collapsed[index] = !this.collapsed[index];\r\n }\r\n\r\n toggleViewmore(index: number): void {\r\n this.viewmore[index] = !this.viewmore[index];\r\n }\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n openRoomModal(item: RoomsSliderRoom, index: number): void {\r\n const dialogRef = this.dialog.open(RoomZoomModalComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: 'full-screen',\r\n hasBackdrop: true,\r\n });\r\n\r\n dialogRef.componentInstance.title = item.title;\r\n dialogRef.componentInstance.images =\r\n index === 0\r\n ? item.images\r\n : item.images?.slice(index).concat(item.images.slice(0, index));\r\n }\r\n}\r\n\r\nexport interface RoomsSliderRoom {\r\n id?: string | number;\r\n title?: string;\r\n info?: {\r\n label: string;\r\n icon: string;\r\n }[];\r\n description?: string;\r\n additionalDescription?: string;\r\n images?: string[];\r\n equipment?: {\r\n title?: string;\r\n items?: string[];\r\n };\r\n}\r\n","<section class=\"room-slider module-spacer--bottom\">\r\n <div class=\"room-slider--content wrapper-big\">\r\n @for (item of items; track mainIndex; let mainIndex = $index; let odd =\r\n $odd) {\r\n <div\r\n class=\"room-slider--box\"\r\n [ngClass]=\"{\r\n 'info-right': !odd,\r\n 'info-left': odd,\r\n 'module-spacer-small--bottom': mainIndex !== items.length - 1\r\n }\"\r\n >\r\n <owl-carousel-o\r\n class=\"room-slider--slider slider-circle--center figure-sticky\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of item.images; track imageIndex; let imageIndex =\r\n $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"room-slider--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n <div class=\"btn_search--wrapper\">\r\n <div\r\n class=\"btn btn__circle btn__white btn_search--full\"\r\n (click)=\"openRoomModal(item, imageIndex)\"\r\n >\r\n <span class=\"btn_search--text\">\r\n ampliar foto</span\r\n >\r\n <span\r\n class=\"btn__circle-icon icon-search-plus icon--size22\"\r\n >\r\n </span>\r\n </div>\r\n <div\r\n class=\"btn btn__circle btn__white btn_search\"\r\n (click)=\"openRoomModal(item, imageIndex)\"\r\n >\r\n <span\r\n class=\"btn__circle-icon icon-search-plus icon--size22\"\r\n >\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n <div class=\"room-slider--info\">\r\n @if (item.title) {\r\n <h2 class=\"room-slider--info--title title--60 color--brown\">\r\n {{ item.title }}\r\n </h2>\r\n } @if (item.info) {\r\n <ul class=\"room-slider--info--icons\">\r\n @for (infoItem of item.info; track $index) {\r\n <li>\r\n <span class=\"info--icon\">\r\n <span\r\n class=\"info--icon--svg\"\r\n [ngClass]=\"infoItem.icon\"\r\n ></span>\r\n </span>\r\n <p class=\"text\">{{ infoItem.label }}</p>\r\n </li>\r\n }\r\n </ul>\r\n } @if (item.description || item.additionalDescription) {\r\n <div\r\n class=\"room-slider--info--des\"\r\n [ngClass]=\"collapsed[mainIndex] ? 'close' : 'open'\"\r\n >\r\n @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n\r\n } @if (item.additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n } @if (linkDescriptionMore && linkDescriptionLess &&\r\n item.additionalDescription) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkDescriptionMore.label\"\r\n (click)=\"toggleCollapse(mainIndex)\"\r\n [name]=\"linkDescriptionMore.label\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"linkDescriptionLess.label\"\r\n (click)=\"toggleCollapse(mainIndex)\"\r\n [name]=\"linkDescriptionLess.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n <div\r\n class=\"room-slider--info--equipament\"\r\n [ngClass]=\"viewmore[mainIndex] ? 'close' : 'open'\"\r\n >\r\n @if (item.equipment?.title) {\r\n <h2\r\n class=\"room-slider--info--subtit title--24 color--brown\"\r\n >\r\n {{ item.equipment?.title }}\r\n </h2>\r\n\r\n } @if (item.equipment?.items) {\r\n <ul>\r\n @for (equipmentItem of item.equipment?.items; track\r\n $index) {\r\n <li>\r\n <span class=\"icon-check\"></span>\r\n <p class=\"text\">{{ equipmentItem }}</p>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n\r\n <div class=\"room-slider--info--btns\">\r\n @if (linkEquipmentMore && linkEquipmentLess &&\r\n item.equipment?.items?.length! > itemsToShow) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkEquipmentMore.label\"\r\n (click)=\"toggleViewmore(mainIndex)\"\r\n [name]=\"linkEquipmentMore.label\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"linkEquipmentLess.label\"\r\n (click)=\"toggleViewmore(mainIndex)\"\r\n [name]=\"linkEquipmentLess.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport {\r\n CarouselModule,\r\n OwlOptions,\r\n CarouselComponent,\r\n} from 'ngx-owl-carousel-o';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-top-module',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n BadgeComponent,\r\n CarouselModule,\r\n MatIconModule,\r\n ],\r\n templateUrl: './top-module.component.html',\r\n styleUrl: './top-module.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TopModuleComponent implements AfterViewInit, OnInit {\r\n @ViewChild(CarouselComponent) carousel!: CarouselComponent;\r\n @ViewChild('nav', { read: ElementRef }) nav!: ElementRef;\r\n @ViewChild('module', { read: ElementRef }) module!: ElementRef;\r\n @Input() btnScroll!: ButtonI;\r\n @Input({ required: true }) items!: TopModuleItem[];\r\n @Input() desktop?: boolean;\r\n @Input() scrollLabel?: string;\r\n\r\n showScrollLabel = false;\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: true,\r\n nav: false,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 540: {\r\n items: 1,\r\n },\r\n 768: {\r\n items: 1,\r\n },\r\n 1024: {\r\n items: 1,\r\n },\r\n 1280: {\r\n items: 1,\r\n },\r\n 1366: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n };\r\n\r\n constructor(\r\n private readonly renderer: Renderer2,\r\n private readonly sanitizer: DomSanitizer\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const dots = document.getElementsByClassName('owl-dots')[0];\r\n this.renderer.appendChild(dots, this.nav.nativeElement);\r\n this.renderer.setStyle(\r\n this.nav.nativeElement,\r\n 'width',\r\n `${dots.clientWidth + 40}px`\r\n );\r\n }\r\n\r\n prevClick(): void {\r\n this.carousel.prev();\r\n }\r\n\r\n nextClick(): void {\r\n this.carousel.next();\r\n }\r\n\r\n scrollClicked(): void {\r\n window.scrollTo({\r\n top:\r\n (this.module.nativeElement as HTMLElement).clientHeight +\r\n Number(\r\n window\r\n .getComputedStyle(this.module.nativeElement)\r\n .getPropertyValue('padding-bottom')\r\n .split('px')[0]\r\n ) -\r\n document.getElementsByTagName('tent-header')[0].clientHeight,\r\n behavior: 'smooth',\r\n });\r\n }\r\n\r\n toggleScrollLabel(): void {\r\n this.showScrollLabel = !this.showScrollLabel;\r\n }\r\n}\r\n\r\nexport interface TopModuleItem {\r\n mainBadge?: BadgeI;\r\n title?: string;\r\n badgePromo?: BadgeI;\r\n badgeDiscount?: BadgeI;\r\n btn?: ButtonI;\r\n img?: string;\r\n}\r\n","<section class=\"top-module module-spacer--bottom\" #module>\r\n <div class=\"top-module--nav flex-row flex-row--between\" #nav>\r\n <span\r\n class=\"icon-pointer-down color--white\"\r\n (click)=\"prevClick()\"\r\n ></span>\r\n <span\r\n class=\"icon-pointer-down color--white\"\r\n (click)=\"nextClick()\"\r\n ></span>\r\n </div>\r\n <owl-carousel-o class=\"top-module--slider\" [options]=\"sliderOptions\">\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"top-module--content\">\r\n @if (item.mainBadge) {\r\n <div class=\"top-module--badge\">\r\n <tent-badge\r\n [rounded]=\"true\"\r\n [label]=\"item.mainBadge.label\"\r\n ></tent-badge>\r\n </div>\r\n } @if (item.title) {\r\n <h3 class=\"title--80 color--white\">{{ item.title }}</h3>\r\n } @if (item.badgePromo || item.badgeDiscount) {\r\n <div class=\"top-module--offers flex-row\">\r\n @if (item.badgePromo) {\r\n <tent-badge\r\n class=\"top-module--promo\"\r\n [rounded]=\"true\"\r\n [label]=\"item.badgePromo.label\"\r\n ></tent-badge>\r\n } @if (item.badgeDiscount) {\r\n <tent-badge\r\n class=\"top-module--discount\"\r\n [rounded]=\"true\"\r\n [label]=\"item.badgeDiscount.label\"\r\n ></tent-badge>\r\n }\r\n </div>\r\n } @if (item.btn) {\r\n <div class=\"top-module--btn-info\">\r\n <tent-button\r\n type=\"light-box\"\r\n [label]=\"item.btn.label\"\r\n [url]=\"item.btn.url\"\r\n [linkType]=\"item.btn.linkType!\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n @if (item.img) {\r\n <figure\r\n class=\"top-module--image\"\r\n [style]=\"getImage(item.img)\"\r\n ></figure>\r\n }\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n\r\n <div\r\n class=\"top-module--btn-scroll\"\r\n (mouseenter)=\"toggleScrollLabel()\"\r\n (mouseleave)=\"toggleScrollLabel()\"\r\n >\r\n @if (showScrollLabel && scrollLabel) {\r\n <p class=\"top-module--btn-scroll--label\">\r\n {{ scrollLabel }}\r\n </p>\r\n\r\n }\r\n <tent-button\r\n type=\"light-circle\"\r\n [icon]=\"btnScroll.icon\"\r\n (click)=\"scrollClicked()\"\r\n name=\"tent-hotels\"\r\n ></tent-button>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-travelers',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule],\r\n templateUrl: './travelers.component.html',\r\n styleUrl: './travelers.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TravelersComponent {\r\n @Input() images?: string[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() links?: ButtonI[];\r\n\r\n get instagramLink(): string {\r\n return (\r\n this.links?.find((link) => link.icon === 'icon-instagram')?.url ??\r\n ''\r\n );\r\n }\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: false,\r\n autoWidth: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n center: false,\r\n dots: false,\r\n navText: [\r\n '<img src=\"/assets/tent/img/arrow-left.svg\" alt=\"left\" class=\" \" >',\r\n '<img src=\"/assets/tent/img/arrow-right.svg\" alt=\"left\" class=\" \" >',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 2,\r\n },\r\n 540: {\r\n items: 3,\r\n },\r\n 768: {\r\n items: 4,\r\n },\r\n 1024: {\r\n items: 5,\r\n },\r\n 1280: {\r\n items: 6,\r\n },\r\n 1366: {\r\n items: 7,\r\n },\r\n 1680: {\r\n items: 7,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n","<section class=\"module-travelers wrapper-medium module-spacer-small--bottom\">\r\n @if (images?.length) {\r\n <div class=\"module-travelers--inner\">\r\n <owl-carousel-o\r\n class=\"module-travelers--slider slider-arrows--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"module-travelers--slide\">\r\n <a\r\n [href]=\"instagramLink\"\r\n aria-label=\"tent-hotels\"\r\n target=\"_blank\"\r\n class=\"module-travelers--img figure-zoom\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </a>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n }\r\n <div class=\"module-travelers--info mt--20\">\r\n <div class=\"flex-row flex-row--center\">\r\n @if (title) {\r\n <h2 class=\"module-travelers--title title--80 color--camel\">\r\n <!---->{{ title\r\n }}<!---->\r\n </h2>\r\n } @if (titleDark) {\r\n <span class=\"color--brown title--80\">{{ titleDark }}</span>\r\n }\r\n </div>\r\n @if (links?.length) {\r\n <ul class=\"module-travelers--socials\">\r\n @for (link of links; track $index) {\r\n <li>\r\n <a\r\n aria-label=\"tent-hotels\"\r\n [href]=\"link.url\"\r\n rel=\"external\"\r\n target=\"_blank\"\r\n class=\"module-travelers--social color--brown\"\r\n [ngClass]=\"link.icon\"\r\n ></a>\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n\r\n@Component({\r\n selector: 'tent-cards-2col',\r\n standalone: true,\r\n imports: [ButtonComponent, RouterModule],\r\n templateUrl: './cards-2col.component.html',\r\n styleUrl: './cards-2col.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Cards2colComponent {\r\n @Input() itemLeft?: Cards2colItem;\r\n @Input() itemRight?: Cards2colItem;\r\n\r\n get itemLeftLink(): string {\r\n return this.itemLeft?.btns?.[0]?.url!;\r\n }\r\n\r\n get itemRightLink(): string {\r\n return this.itemRight?.btns?.[0]?.url!;\r\n }\r\n\r\n linkClicked(event: Event): void {\r\n event.preventDefault();\r\n }\r\n}\r\n\r\nexport interface Cards2colItem {\r\n title: string;\r\n titleLight: string;\r\n description: string;\r\n image: ImageI;\r\n imageBackground: string;\r\n btns?: ButtonI[];\r\n}\r\n","<section class=\"services-col2 wrapper-big module-spacer--bottom\">\r\n <div class=\"services-col2--content\">\r\n @if (itemLeft) {\r\n <div class=\"services-col2--box\">\r\n <a\r\n [routerLink]=\"itemLeftLink\"\r\n class=\"services-col2--box--inner bg-blue\"\r\n [href]=\"itemLeftLink\"\r\n [attr.aria-label]=\"itemLeft.title\"\r\n (click)=\"linkClicked($event)\"\r\n >\r\n <div class=\"services-col2--box--info\">\r\n @if (itemLeft.image) {\r\n <img\r\n [src]=\"itemLeft.image.src\"\r\n [alt]=\"itemLeft.image.alt\"\r\n class=\"services-col2--logoTitle\"\r\n />\r\n } @if (itemLeft.imageBackground) {\r\n <img\r\n [src]=\"itemLeft.imageBackground\"\r\n [alt]=\"itemLeft.image.alt\"\r\n class=\"services-col2--markWater water1\"\r\n />\r\n } @if (itemLeft.title && itemLeft.description) {\r\n <div class=\"services-col2--des\">\r\n <h3 class=\"services-col2--title title--42 color--blue\">\r\n {{ itemLeft.title }}\r\n @if (itemLeft.titleLight) {\r\n <span class=\"color--white\">{{\r\n itemLeft.titleLight\r\n }}</span>\r\n }\r\n </h3>\r\n <p class=\"services-col2--text text color--white\">\r\n {{ itemLeft.description }}\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n <tent-button\r\n class=\"services-col2--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n icon=\"icon-plus\"\r\n name=\"icon-plus\"\r\n ></tent-button>\r\n </a>\r\n </div>\r\n\r\n } @if (itemRight) {\r\n <div class=\"services-col2--box\">\r\n <a\r\n [routerLink]=\"itemRightLink\"\r\n class=\"services-col2--box--inner bg-camel\"\r\n [href]=\"itemRightLink\"\r\n (click)=\"linkClicked($event)\"\r\n [attr.aria-label]=\"itemRight.title\"\r\n >\r\n <div class=\"services-col2--box--info\">\r\n @if (itemRight.image) {\r\n <img\r\n [src]=\"itemRight.image.src\"\r\n [alt]=\"itemRight.image.alt\"\r\n class=\"services-col2--logoTitle\"\r\n />\r\n } @if (itemRight.imageBackground) {\r\n <img\r\n [src]=\"itemRight.imageBackground\"\r\n [alt]=\"itemRight.image.alt\"\r\n class=\"services-col2--markWater water2\"\r\n width=\"450\"\r\n height=\"400\"\r\n />\r\n } @if (itemRight.title && itemRight.description) {\r\n <div class=\"services-col2--des\">\r\n <h3 class=\"services-col2--title title--42 color--brown\">\r\n {{ itemRight.title }}\r\n @if (itemRight.titleLight) {\r\n <span class=\"color--white\">{{\r\n itemRight.titleLight\r\n }}</span>\r\n }\r\n </h3>\r\n <p class=\"services-col2--text text color--white\">\r\n {{ itemRight.description }}\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n <tent-button\r\n class=\"services-col2--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n icon=\"icon-plus\"\r\n name=\"icon-plus\"\r\n ></tent-button>\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-cards-3col',\r\n standalone: true,\r\n imports: [CommonModule, CarouselModule, ButtonComponent],\r\n templateUrl: './cards-3col.component.html',\r\n styleUrl: './cards-3col.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Cards3colComponent {\r\n @Input() items!: Cards3colItem[];\r\n\r\n collapsed = true;\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: false,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n loop: true,\r\n },\r\n 540: {\r\n items: 1,\r\n loop: true,\r\n },\r\n 714: {\r\n items: 2,\r\n },\r\n 1024: {\r\n items: 3,\r\n },\r\n 1280: {\r\n items: 3,\r\n },\r\n 1366: {\r\n items: 3,\r\n },\r\n 1680: {\r\n items: 3,\r\n },\r\n },\r\n nav: true,\r\n };\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface Cards3colItem {\r\n title: string;\r\n smalltitle: string;\r\n ndTitle: string;\r\n icon: string;\r\n btnCollapsed: ButtonI;\r\n btn: ButtonI;\r\n}\r\n","<section class=\"services-col3 wrapper-big module-spacer--bottom\">\r\n <div class=\"services-col3--content\">\r\n <owl-carousel-o\r\n class=\"services-col3--slider slider-circle--center slider-circle--center--centerFull\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"services-col3--slide\">\r\n <div\r\n class=\"services-col3--box\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n [ngClass]=\"{\r\n close: collapsed,\r\n open: !collapsed,\r\n 'bg-yellow': $index === 0,\r\n 'bg-orange': $index === 1,\r\n 'bg-brown': $index === 2\r\n }\"\r\n >\r\n <div class=\"services-col3--box--inner\">\r\n @if (item.title) {\r\n <h4\r\n class=\"services-col3--titleTop title--42 color--brown\"\r\n [innerHTML]=\"item.title\"\r\n ></h4>\r\n } @if (item.smalltitle) {\r\n <p class=\"services-col3--btn color--brown\">\r\n @if (item.icon) {\r\n <span [ngClass]=\"item.icon\"></span>\r\n }\r\n <span class=\"title--30\">\r\n {{ item.smalltitle }}</span\r\n >\r\n </p>\r\n } @if (item.ndTitle) {\r\n <h3\r\n class=\"services-col3--titleBottom title--54 color--brown\"\r\n [innerHTML]=\"item.ndTitle\"\r\n ></h3>\r\n }\r\n </div>\r\n @if (item.btn && item.btnCollapsed) { @if (collapsed) {\r\n <tent-button\r\n class=\"services-col3--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n [icon]=\"item.btnCollapsed.icon\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"item.btnCollapsed.icon\"\r\n ></tent-button>\r\n } @else {\r\n <tent-button\r\n class=\"services-col3--btn-plus\"\r\n type=\"dark-circle-filled\"\r\n [icon]=\"item.btn.icon\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"item.btn.icon\"\r\n ></tent-button>\r\n\r\n } }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-menu-modal',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './menu-modal.component.html',\r\n styleUrl: './menu-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MenuModalComponent implements OnInit, OnDestroy {\r\n @Input() closeBtn!: ButtonI;\r\n @Input() logo?: string;\r\n @Input() checkinLabel?: string;\r\n @Input() altLogo?: string;\r\n @Input() items?: MenuItem[];\r\n @Input() booksBtn?: ButtonI;\r\n @Input() buttonItem?: ButtonI;\r\n @Input() phoneBtn?: ButtonI;\r\n @Input() newsletterBtn?: ButtonI;\r\n @Input() socialButtons?: ButtonI[];\r\n\r\n @Output() checkinClick = new EventEmitter<void>();\r\n @Output() newsletterClick = new EventEmitter<void>();\r\n @Output() booksClick = new EventEmitter<void>();\r\n @Output() elementClick = new EventEmitter<MenuItem>();\r\n\r\n isInternalLink(item: MenuItem): boolean {\r\n return item.type === 'internal';\r\n }\r\n\r\n private readonly dialogRef: MatDialogRef<MenuModalComponent> =\r\n inject(MatDialogRef);\r\n private readonly sanitizer = inject(DomSanitizer);\r\n\r\n ngOnInit(): void {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: hidden');\r\n }\r\n\r\n ngOnDestroy(): void {\r\n document\r\n .getElementsByTagName('html')[0]\r\n .setAttribute('style', 'overflow: auto');\r\n }\r\n\r\n getImage(image?: string): SafeStyle | undefined {\r\n return image\r\n ? this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n )\r\n : undefined;\r\n }\r\n\r\n linkClicked(item: MenuItem, event: Event): void {\r\n if (item.type !== 'external') {\r\n event.preventDefault();\r\n }\r\n this.elementClick.emit(item);\r\n this.closeModal();\r\n }\r\n\r\n closeModal(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\nexport interface MenuItem {\r\n id?: string | number;\r\n title: string;\r\n image?: string;\r\n url?: string;\r\n type: 'internal' | 'external' | 'component';\r\n componentId?: string;\r\n}\r\n","<div class=\"menu-modal\">\r\n <div class=\"menu-modal--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"closeModal()\"\r\n [name]=\"closeBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n\r\n <div class=\"menu-modal--content\">\r\n @if (logo) {\r\n <div class=\"flex-row flex-row--center menu-modal--logo\">\r\n <img\r\n class=\"menu-modal--logo--img\"\r\n [src]=\"logo\"\r\n [alt]=\"altLogo\"\r\n width=\"100\"\r\n height=\"100\"\r\n />\r\n </div>\r\n }\r\n <div class=\"menu-modal--links\">\r\n @if (items?.length) { @for (item of items; track $index) { @if\r\n (item.title) {\r\n <a\r\n [href]=\"item.url\"\r\n [routerLink]=\"isInternalLink(item) ? [item.url] : null\"\r\n [attr.aria-label]=\"item.title\"\r\n class=\"menu-modal--link-wrapper\"\r\n (click)=\"linkClicked(item, $event)\"\r\n >\r\n @if (item.image) {\r\n <div class=\"menu-modal--image-wrapper\">\r\n <figure\r\n class=\"menu-modal--image\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n }\r\n <div class=\"menu-modal--link\">\r\n <p>\r\n {{ item.title }}\r\n </p>\r\n @if (buttonItem) {\r\n <tent-button\r\n class=\"menu-modal--btn\"\r\n type=\"dark-circle\"\r\n [icon]=\"buttonItem.icon\"\r\n [name]=\"buttonItem.icon\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </a>\r\n } }} @if (checkinLabel) {\r\n <div\r\n class=\"menu-modal--check-in--wrapper flex-row flex-row--center\"\r\n >\r\n <div class=\"menu-modal--check-in\" (click)=\"checkinClick.emit()\">\r\n <span class=\"color--white\">{{ checkinLabel }}</span>\r\n </div>\r\n </div>\r\n } @if (newsletterBtn || socialButtons) {\r\n <div class=\"flex-row flex-row--between menu-modal--social-media\">\r\n @if (newsletterBtn) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"newsletterBtn.label\"\r\n icon=\"icon-envelope-plus\"\r\n iconPosition=\"right\"\r\n (btnClick)=\"newsletterClick.emit()\"\r\n [name]=\"newsletterBtn.label\"\r\n ></tent-button>\r\n } @if (socialButtons?.length) {\r\n <ul class=\"menu-modal--socials\">\r\n @for (socialBtn of socialButtons; track $index) {\r\n <li>\r\n <a\r\n [attr.aria-label]=\"socialBtn.icon\"\r\n [href]=\"socialBtn.url\"\r\n rel=\"external\"\r\n target=\"_blank\"\r\n [ngClass]=\"socialBtn.icon\"\r\n class=\"module-travelers--social color--brown\"\r\n ></a>\r\n </li>\r\n\r\n }\r\n </ul>\r\n }\r\n </div>\r\n } @if (phoneBtn) {\r\n <div class=\"flex-row flex-row--between menu-modal--books\">\r\n <!-- <tent-button\r\n type=\"dark-link\"\r\n [label]=\"booksBtn.label\"\r\n [icon]=\"booksBtn.icon\"\r\n (btnClick)=\"booksClick.emit()\"\r\n ></tent-button> -->\r\n\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"phoneBtn.label\"\r\n [url]=\"phoneBtn.url\"\r\n icon=\"icon-phone\"\r\n iconPosition=\"left\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-languages-modal',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, MatIconModule],\r\n templateUrl: './languages-modal.component.html',\r\n styleUrl: './languages-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LanguagesModalComponent {\r\n @Input() title?: string;\r\n @Input() closeBtn?: ButtonI;\r\n @Input() buttons?: ButtonI[];\r\n\r\n @Output() languageSelect = new EventEmitter<ButtonI>();\r\n\r\n selected = 'inglés';\r\n\r\n private readonly dialogRef: MatDialogRef<LanguagesModalComponent> =\r\n inject(MatDialogRef);\r\n\r\n selectLanguage(language: ButtonI): void {\r\n this.selected = language.label!;\r\n this.languageSelect.emit(language);\r\n this.close();\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"languages-modal\">\r\n @if (closeBtn?.icon) {\r\n <div class=\"languages-modal--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn?.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn?.icon\"\r\n ></tent-button>\r\n </div>\r\n } @if (title) {\r\n <div class=\"languages-modal--header\">\r\n <h4 class=\"languages-modal--header--title\">{{ title }}</h4>\r\n </div>\r\n } @if (buttons?.length) {\r\n <div class=\"languages-modal--content\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'languages-modal--selected': btn.label == selected\r\n }\"\r\n type=\"dark-box\"\r\n [label]=\"btn.label\"\r\n (btnClick)=\"selectLanguage(btn)\"\r\n [name]=\"btn.label\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { InputI } from '../../../../interfaces/atomic/input.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'tent-newsletter-modal',\r\n standalone: true,\r\n imports: [\r\n MatCheckboxModule,\r\n ButtonComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n ],\r\n templateUrl: './newsletter-modal.component.html',\r\n styleUrl: './newsletter-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NewsletterModalComponent implements OnInit {\r\n @Input() closeBtn?: ButtonI;\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() conditions?: string;\r\n @Input() image?: string;\r\n @Input() input?: InputI;\r\n\r\n @Output() submitForm = new EventEmitter<string>();\r\n\r\n get imageInstant(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n form!: FormGroup;\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<NewsletterModalComponent>,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly fb: FormBuilder\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n input: ['', [Validators.email, Validators.required]],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\r\n }\r\n\r\n validateInput(): void {\r\n this.input!.valid = this.form.controls['input'].errors === null;\r\n }\r\n\r\n inputChange(event: Event): void {\r\n this.input!.value = (event.target as HTMLInputElement).value;\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n submit(): void {\r\n this.submitForm.emit(this.input!.value as string);\r\n }\r\n}\r\n","<div class=\"newsletter-modal\">\r\n @if (closeBtn?.icon) {\r\n <div class=\"newsletter-modal--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn?.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn?.icon\"\r\n ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"newsletter-modal--left-slot\">\r\n <figure class=\"figure-full\" [style]=\"imageInstant\"></figure>\r\n </div>\r\n\r\n }\r\n <div class=\"newsletter-modal--right-slot\">\r\n <div class=\"flex-col\">\r\n @if (title || titleDark) {\r\n <div>\r\n @if (titleDark) {\r\n <h3 class=\"newsletter-modal--title color--brown\">\r\n {{ titleDark }}\r\n </h3>\r\n } @if (title) {\r\n <h3 class=\"newsletter-modal--title color--camel\">\r\n {{ title }}\r\n </h3>\r\n }\r\n </div>\r\n } @if (description) {\r\n <p class=\"newsletter-modal--subtitle\">\r\n {{ description }}\r\n </p>\r\n }\r\n\r\n <form class=\"flex-col\" [formGroup]=\"form\">\r\n <div class=\"newsletter-modal--input\">\r\n @if (input) {\r\n <input\r\n type=\"email\"\r\n [value]=\"input.value\"\r\n [placeholder]=\"input.placeholder\"\r\n (blur)=\"validateInput()\"\r\n (change)=\"inputChange($event)\"\r\n formControlName=\"input\"\r\n />\r\n <span\r\n class=\"icon-pointer-down\"\r\n [ngClass]=\"{ invalid: !form.valid }\"\r\n (click)=\"submit()\"\r\n ></span>\r\n }\r\n </div>\r\n @if (!input?.valid) {\r\n <span class=\"form-error\">\r\n {{ input?.error }}\r\n </span>\r\n }\r\n\r\n <div class=\"flex-row\">\r\n <mat-checkbox\r\n class=\"newsletter-modal--checkbox\"\r\n formControlName=\"checkbox\"\r\n ></mat-checkbox>\r\n @if (conditions) {\r\n <span\r\n [innerHTML]=\"conditions\"\r\n class=\"newsletter-modal--conditions color--brown\"\r\n >\r\n </span>\r\n }\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n inject,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle, SafeUrl } from '@angular/platform-browser';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-checkin-modal',\r\n standalone: true,\r\n imports: [ButtonComponent],\r\n templateUrl: './checkin-modal.component.html',\r\n styleUrl: './checkin-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CheckinModalComponent {\r\n @Input() image!: string;\r\n @Input() title?: string;\r\n @Input() script?: string;\r\n @Input() closeBtn!: ButtonI;\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n get urlScript(): SafeUrl {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(this.script!);\r\n }\r\n\r\n private readonly sanitizer = inject(DomSanitizer);\r\n private readonly dialogRef: MatDialogRef<CheckinModalComponent> =\r\n inject(MatDialogRef);\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"checkin\">\r\n @if (closeBtn) {\r\n <div class=\"checkin--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"checkin--image-wrapper\">\r\n <figure [style]=\"getImage\" class=\"checkin--image\"></figure>\r\n </div>\r\n }\r\n <div class=\"checkin--right-slot\">\r\n @if (title) {\r\n <div class=\"checkin--header\">\r\n <p class=\"checkin--title color--brown\">{{ title }}</p>\r\n </div>\r\n } @if (script) {\r\n <iframe\r\n [src]=\"urlScript\"\r\n width=\"600\"\r\n height=\"400\"\r\n frameborder=\"0\"\r\n allow=\"camera\"\r\n scrolling=\"yes\"\r\n ></iframe>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n inject,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\r\nimport { InputI } from '../../../../interfaces/atomic/input.interface';\r\nimport {\r\n FormControl,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-books-modal',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n RouterModule,\r\n ],\r\n templateUrl: './books-modal.component.html',\r\n styleUrl: './books-modal.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BooksModalComponent implements OnInit {\r\n @Input() tabs!: NewsletterTab[];\r\n @Input() closeBtn!: ButtonI;\r\n\r\n @Output() submitBtnclick = new EventEmitter<any>();\r\n\r\n selected!: NewsletterTab;\r\n\r\n forms: FormGroup[] = [new FormGroup({}), new FormGroup({})];\r\n formsReady = false;\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<BooksModalComponent>\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.selected = this.tabs[0];\r\n\r\n this.tabs.sort((a, b) => a.order - b.order);\r\n\r\n this.initForm();\r\n }\r\n\r\n selectTab(tab: NewsletterTab, event: Event): void {\r\n this.selected = tab;\r\n\r\n if (tab.link) {\r\n if (tab.link.linkType === 'internal') {\r\n }\r\n event.preventDefault();\r\n this.close();\r\n }\r\n }\r\n\r\n initForm(): void {\r\n this.tabs.forEach((tab) => {\r\n let i = 0;\r\n if (!tab.link) {\r\n tab.form.inputs.forEach((input) => {\r\n this.forms[i].addControl(\r\n input.name,\r\n new FormControl(input.value)\r\n );\r\n });\r\n }\r\n i++;\r\n });\r\n\r\n this.formsReady = true;\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n submitBtnClicked(index: number): void {\r\n this.submitBtnclick.emit(this.forms[index].value);\r\n }\r\n}\r\n\r\nexport interface NewsletterTab {\r\n label: string;\r\n link?: ButtonI;\r\n order: number;\r\n form: TabData;\r\n}\r\n\r\nexport interface TabData {\r\n title: string;\r\n inputs: InputI[];\r\n submitBtn: ButtonI;\r\n}\r\n","<div class=\"books\">\r\n <div class=\"books--close\">\r\n <tent-button\r\n type=\"dark-circle\"\r\n [icon]=\"closeBtn.icon\"\r\n [closeButton]=\"true\"\r\n (btnClick)=\"close()\"\r\n [name]=\"closeBtn.icon\"\r\n ></tent-button>\r\n </div>\r\n <div class=\"books--main-wrapper\">\r\n @for (tab of tabs; track $index) { @if (!tab.link && formsReady) {\r\n\r\n <div\r\n class=\"books--wrapper\"\r\n [ngClass]=\"{\r\n 'books--wrapper--selected': selected === tab\r\n }\"\r\n >\r\n <div class=\"books--main-content flex-col flex-col--center\">\r\n <h3 class=\"books--title color--brown\">\r\n {{ tab.form.title }}\r\n </h3>\r\n\r\n <form\r\n [formGroup]=\"forms[$index]\"\r\n class=\"flex-col flex-col--center books--form\"\r\n >\r\n @for (input of tab.form.inputs; track $index) {\r\n <div class=\"flex-col\">\r\n <p class=\"books--input--title\">{{ input.title }}</p>\r\n <input\r\n class=\"books--input\"\r\n [type]=\"input.type\"\r\n [placeholder]=\"input.placeholder\"\r\n [formControlName]=\"input.name\"\r\n />\r\n </div>\r\n\r\n }\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n [label]=\"tab.form.submitBtn.label\"\r\n (btnClick)=\"submitBtnClicked($index)\"\r\n [name]=\"tab.form.submitBtn.label\"\r\n ></tent-button>\r\n </form>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n\r\n <div class=\"books--submenu flex-row flex-row--center\">\r\n @for (tab of tabs; track $index; let last = $last) { @if (!tab.link) {\r\n <span\r\n class=\"books--tab\"\r\n (click)=\"selectTab(tab, $event)\"\r\n [ngClass]=\"{ 'books--tab--selected': tab === selected }\"\r\n >{{ tab.label }}\r\n </span>\r\n\r\n } @else {\r\n <a\r\n class=\"books--tab\"\r\n (click)=\"selectTab(tab, $event)\"\r\n [href]=\"tab.link.url\"\r\n [routerLink]=\"\r\n tab.link.linkType === 'internal' ? [tab.link.url] : null\r\n \"\r\n [ngClass]=\"{ 'books--tab--selected': tab === selected }\"\r\n >\r\n {{ tab.label }}\r\n </a>\r\n } @if (!last) { | } }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n signal,\r\n} from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { tap } from 'rxjs';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\r\nimport { InputI } from '../../../interfaces/atomic/input.interface';\r\nimport { TextareaI } from '../../../interfaces/atomic/textarea.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\nimport { InputComponent } from '../../atomic/input/input.component';\r\n\r\n@Component({\r\n selector: 'tent-contact-form',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n MatCheckboxModule,\r\n InputComponent,\r\n DropdownComponent,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n ],\r\n templateUrl: './contact-form.component.html',\r\n styleUrl: './contact-form.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContactFormComponent implements AfterViewInit {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() conditions?: string;\r\n @Input() requiredFieldsLabel?: string;\r\n @Input({ required: true }) dropdown!: DropdownI;\r\n @Input({ required: true }) inputs!: InputI[];\r\n @Input({ required: true }) textarea!: TextareaI;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() formSubmit = new EventEmitter<ContactFormValue>();\r\n\r\n form!: FormGroup;\r\n\r\n isValid = signal(false);\r\n\r\n formReady = signal(false);\r\n\r\n constructor(private readonly fb: FormBuilder) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.initializeForm();\r\n }\r\n\r\n initializeForm(): void {\r\n this.form = this.fb.group({\r\n dropdown: [this.dropdown.value, [Validators.required]],\r\n email: [\r\n this.inputs[1].value,\r\n [\r\n Validators.required,\r\n Validators.minLength(3),\r\n Validators.email,\r\n ],\r\n ],\r\n name: [\r\n this.inputs[0].value,\r\n [Validators.required, Validators.minLength(3)],\r\n ],\r\n textarea: [this.textarea.value],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\r\n\r\n this.form.statusChanges\r\n .pipe(\r\n tap((status) => {\r\n this.isValid.set(status === 'VALID');\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.formReady.set(true);\r\n }\r\n\r\n validateInput(name: string) {\r\n this.inputs[name === 'name' ? 0 : 1].valid =\r\n this.form.controls[name].errors === null;\r\n }\r\n\r\n validateDropdown(): void {\r\n this.dropdown.valid = this.form.controls['dropdown'].errors === null;\r\n }\r\n\r\n submitForm(): void {\r\n this.formSubmit.emit(this.form.value);\r\n this.resetForm();\r\n }\r\n\r\n resetForm(): void {\r\n this.form.reset();\r\n this.dropdown.value = undefined;\r\n this.textarea.value = '';\r\n this.inputs.forEach((input) => {\r\n input.value = '';\r\n });\r\n }\r\n}\r\n\r\nexport interface ContactFormValue {\r\n dropdown?: DropdownOption;\r\n email: string;\r\n name: string;\r\n checkbox: boolean;\r\n textarea?: string;\r\n}\r\n","<section class=\"contact-form\">\r\n @if (title || description) {\r\n <div class=\"flex-col contact-form--header\">\r\n @if (title) {\r\n <h3 class=\"contact-form--title color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (description) {\r\n <p class=\"contact-form--description\">\r\n {{ description }}\r\n </p>\r\n }\r\n </div>\r\n } @if (formReady()) {\r\n <form class=\"contact-form--form\" [formGroup]=\"form\">\r\n <div class=\"contact-form--left\">\r\n @if (dropdown) {\r\n <div class=\"contact-form--dropdown flex-col\">\r\n <p class=\"contact-form--msg--title\">\r\n <span class=\"input--required\"></span>{{ dropdown.title }}\r\n </p>\r\n <tent-dropdown\r\n [options]=\"dropdown.options\"\r\n formControlName=\"dropdown\"\r\n name=\"hotels\"\r\n [value]=\"dropdown.value\"\r\n [valid]=\"dropdown.valid!\"\r\n [error]=\"dropdown.error\"\r\n (dropdownBlur)=\"validateDropdown()\"\r\n ></tent-dropdown>\r\n </div>\r\n } @if (inputs && inputs.length) { @for (input of inputs; track\r\n $index; let first = $first) {\r\n <tent-input\r\n [iconBackOffice]=\"true\"\r\n [title]=\"input.title\"\r\n [name]=\"input.name\"\r\n [type]=\"input.type\"\r\n [placeholder]=\"input.placeholder\"\r\n [icon]=\"input.icon\"\r\n [required]=\"true\"\r\n [value]=\"input.value!\"\r\n [error]=\"input.error\"\r\n [valid]=\"input.valid!\"\r\n (inputBlur)=\"validateInput(first ? 'name' : 'email')\"\r\n [formControlName]=\"first ? 'name' : 'email'\"\r\n ></tent-input>\r\n\r\n } }\r\n </div>\r\n <div class=\"contact-form--right\">\r\n @if (textarea) {\r\n <div class=\"contact-form--msg flex-col\">\r\n <p class=\"contact-form--msg--title\">\r\n {{ textarea.title }}\r\n </p>\r\n <textarea\r\n class=\"contact-form--msg--textarea\"\r\n [placeholder]=\"textarea.placeholder\"\r\n [value]=\"textarea.value\"\r\n name=\"textarea\"\r\n formControlName=\"textarea\"\r\n ></textarea>\r\n </div>\r\n\r\n }\r\n <div class=\"contact-form--footer\">\r\n <div class=\"flex-col\">\r\n <div class=\"contact-form--checkbox--wrapper\">\r\n <mat-checkbox\r\n class=\"contact-form--checkbox\"\r\n formControlName=\"checkbox\"\r\n ></mat-checkbox>\r\n @if (conditions) {\r\n <span\r\n class=\"contact-form--conditions color--brown\"\r\n [innerHTML]=\"conditions\"\r\n >\r\n </span>\r\n }\r\n </div>\r\n @if (requiredFieldsLabel) {\r\n <span class=\"contact-form--required--text\">\r\n <span class=\"contact-form--required\"></span>\r\n {{ requiredFieldsLabel }}\r\n </span>\r\n }\r\n </div>\r\n\r\n @if (button) {\r\n <tent-button\r\n class=\"contact-form--submit\"\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n [label]=\"button.label\"\r\n [disabled]=\"!isValid()\"\r\n (btnClick)=\"submitForm()\"\r\n [name]=\"button.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n </form>\r\n }\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-contact-office',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule],\r\n templateUrl: './contact-office.component.html',\r\n styleUrl: './contact-office.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ContactOfficeComponent {\r\n @Input() images?: string[];\r\n @Input() title?: string;\r\n @Input() links?: ButtonI[];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n collapsed = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n","<section class=\"contact-office module-spacer--bottom\">\r\n <div class=\"contact-office--content wrapper-big\">\r\n <div class=\"contact-office--box info-right\">\r\n @if (images && images.length) {\r\n <owl-carousel-o\r\n class=\"contact-office--slider slider-circle--center figure-sticky\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"contact-office--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n }\r\n <div\r\n class=\"contact-office--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n <div class=\"contact-office--info--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"contact-office--info--title title--30 color--brown-70\"\r\n >\r\n {{ title }}\r\n </h2>\r\n } @if (links && links.length) {\r\n <ul class=\"contact-office--list\">\r\n @for (link of links; track $index; let last = $last) {\r\n <li [ngClass]=\"{ 'border-top': last }\">\r\n <span class=\"contact-office--icon\"\r\n ><span [ngClass]=\"link.icon\"></span\r\n ></span>\r\n <a\r\n [innerHTML]=\"link.label\"\r\n [href]=\"link.url\"\r\n class=\"text link\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-delivery-app',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './delivery-app.component.html',\r\n styleUrl: './delivery-app.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DeliveryAppComponent {\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() buttons?: ButtonI[];\r\n}\r\n","<section class=\"delivery-app module-spacer--bottom\">\r\n <div class=\"delivery-app--content wrapper-big\">\r\n <div class=\"delivery-app--box\">\r\n <div class=\"delivery-app--info\">\r\n @if (title) {\r\n <h2 class=\"delivery-app--title title--60 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h2>\r\n } @if (buttons?.length && buttons) {\r\n <div class=\"delivery-app--btns btns-desktop\">\r\n @if (buttons[0]) {\r\n <tent-button\r\n type=\"dark-box-white\"\r\n [label]=\"buttons[0].label\"\r\n [name]=\"buttons[0].label\"\r\n [url]=\"buttons[0].url\"\r\n [linkType]=\"buttons[0].linkType\"\r\n icon=\"icon-google-play\"\r\n ></tent-button>\r\n } @if (buttons[1]) {\r\n <tent-button\r\n type=\"dark-box-white\"\r\n [label]=\"buttons[1].label\"\r\n [name]=\"buttons[1].label\"\r\n [url]=\"buttons[1].url\"\r\n [linkType]=\"buttons[1].linkType\"\r\n icon=\"icon-apple\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"delivery-app--photo\">\r\n <img\r\n src=\"/assets/tent/img/movil.png\"\r\n alt=\"delivery\"\r\n class=\" \"\r\n width=\"\"\r\n height=\"\"\r\n />\r\n </div>\r\n @if (description) {\r\n <div class=\"delivery-app--des\">\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n </div>\r\n } @if (buttons?.length && buttons) {\r\n <div class=\"delivery-app--btns btns-mobile\">\r\n @if (buttons[0]) {\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"buttons[0].label\"\r\n [name]=\"buttons[0].label\"\r\n [url]=\"buttons[0].url\"\r\n [linkType]=\"buttons[0].linkType\"\r\n icon=\"icon-google-play\"\r\n ></tent-button>\r\n } @if (buttons[1]) {\r\n <tent-button\r\n type=\"dark-box\"\r\n [label]=\"buttons[1].label\"\r\n [name]=\"buttons[1].label\"\r\n [url]=\"buttons[1].url\"\r\n [linkType]=\"buttons[1].linkType\"\r\n icon=\"icon-apple\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-destination-hotels',\r\n standalone: true,\r\n imports: [ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './destination-hotels.component.html',\r\n styleUrl: './destination-hotels.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DestinationHotelsComponent {\r\n @Input() items?: DestinationHotelItem[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n\r\n @Output() hotelClick = new EventEmitter<DestinationHotelItem>();\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1000: {\r\n items: 2,\r\n },\r\n 1680: {\r\n items: 2,\r\n },\r\n },\r\n nav: true,\r\n };\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n}\r\n\r\nexport interface DestinationHotelItem {\r\n id: string | number;\r\n image?: string;\r\n title?: string;\r\n ndTitle?: string;\r\n button?: ButtonI;\r\n link?: ButtonI;\r\n}\r\n","<section class=\"destination-hotels module-spacer--bottom\">\r\n <div class=\"destination-hotels--content wrapper-big\">\r\n @if (title) {\r\n <div class=\"destination-hotels--head\">\r\n <h3 class=\"destination-hotels--title title--80 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h3>\r\n </div>\r\n } @if (items?.length) {\r\n <div class=\"destination-hotels--inner\">\r\n <owl-carousel-o\r\n class=\"destination-hotels--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"destination-hotels--slide\">\r\n @if (item.image) {\r\n <div class=\"destination-hotels--img\">\r\n <div\r\n class=\"destination-hotels--photo figure-content\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n </div>\r\n </div>\r\n } @if (item.title || item.button || item.link) {}\r\n <div class=\"destination-hotels--des\">\r\n @if (item.title) {\r\n <h4\r\n class=\"destination-hotels--slideTitle color--brown title--42\"\r\n >\r\n {{ item.title }}\r\n @if (item.ndTitle) {\r\n <span class=\"color--brown\">{{\r\n item.ndTitle\r\n }}</span>\r\n }\r\n </h4>\r\n } @if (item.button ||item.link) {\r\n <div class=\"destination-hotels--btns\">\r\n @if (item.button) {\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n class=\"btn-small\"\r\n [label]=\"item.button.label\"\r\n [url]=\"item.button.url\"\r\n [linkType]=\"item.button.linkType\"\r\n ></tent-button>\r\n } @if (item.link) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"item.link.label\"\r\n [url]=\"item.link.url\"\r\n [linkType]=\"item.link.linkType\"\r\n (btnClick)=\"hotelClick.emit(item)\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'tent-destination-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, RouterModule],\r\n templateUrl: './destination-list.component.html',\r\n styleUrl: './destination-list.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DestinationListComponent {\r\n @Input() infoTitle?: string;\r\n @Input() infoTitleDark?: string;\r\n @Input() infoDescription?: string;\r\n @Input() items?: DestinationListItem[];\r\n\r\n @Output() destinyClick = new EventEmitter<string>();\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n destinyClicked(item: DestinationListItem) {\r\n this.destinyClick.emit(item.id);\r\n }\r\n}\r\n\r\nexport interface DestinationListItem {\r\n id?: string;\r\n image?: string;\r\n title?: string;\r\n subtitle?: string;\r\n button?: ButtonI;\r\n link?: ButtonI;\r\n}\r\n","@if (items?.length) {\r\n<section class=\"destination-list module-spacer--bottom\">\r\n <div class=\"destination-list--content wrapper-big\">\r\n <div class=\"destination-list--inner\">\r\n @for (item of items; track $index) {\r\n <div class=\"destination-list--item\">\r\n <a\r\n [href]=\"item.link?.url\"\r\n [routerLink]=\"item.link?.url\"\r\n (click)=\"$event.preventDefault(); destinyClicked(item)\"\r\n class=\"destination-list--photo figure-content figure-zoom\"\r\n [attr.aria-label]=\"item.title\"\r\n >\r\n @if (item.image) {\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n } @if (item.title || item.subtitle) {\r\n <div class=\"destination-list--info\">\r\n @if (item.title) {\r\n <h2 class=\"offer-detail--tit title--38 color--white\">\r\n {{ item.title }}\r\n </h2>\r\n } @if (item.subtitle) {\r\n <h3 class=\"subtitle--medium\">{{ item.subtitle }}</h3>\r\n }\r\n </div>\r\n }\r\n </a>\r\n @if (item.button || item.link) {\r\n\r\n <div class=\"destination-list--btns\">\r\n @if (item.button) {\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"item.button.label\"\r\n [linkType]=\"item.button.linkType!\"\r\n [url]=\"item.button.url\"\r\n (btnClick)=\"destinyClicked(item)\"\r\n ></tent-button>\r\n } @if (item.link) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"item.link.label\"\r\n acka\r\n [linkType]=\"item.link.linkType!\"\r\n [url]=\"item.link.url\"\r\n (btnClick)=\"destinyClicked(item)\"\r\n ></tent-button\r\n >}\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n}\r\n\r\n<section class=\"module-info module-spacer--bottom\">\r\n <div class=\"module-info--content wrapper-big\">\r\n <div class=\"module-info--inner\">\r\n <div class=\"module-info--box\">\r\n @if (infoTitle) {\r\n <h3 class=\"module-info--title title--80 color--camel\">\r\n {{ infoTitle }}\r\n @if (infoTitleDark) {\r\n\r\n <span class=\"color--brown\"> {{ infoTitleDark }} </span>}\r\n </h3>\r\n } @if (infoDescription) {\r\n <div class=\"module-info--des\">\r\n <p class=\"text\">\r\n {{ infoDescription }}\r\n </p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'tent-employment-benefits',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './employment-benefits.component.html',\n styleUrl: './employment-benefits.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmploymentBenefitsComponent {\n @Input() title?: string;\n @Input() items?: EmploymentBenefitsItem[];\n}\n\nexport interface EmploymentBenefitsItem {\n icon?: string;\n title?: string;\n}\n","<section class=\"employment-benefits module-spacer--bottom\">\r\n <div class=\"employment-benefits--content wrapper-big\">\r\n <div class=\"employment-benefits--box\">\r\n @if (title) {\r\n <div class=\"employment-benefits--info\">\r\n <h2 class=\"employment-benefits--title title--60 color--brown\">\r\n {{ title }}\r\n </h2>\r\n </div>\r\n } @if (items && items.length) {\r\n <div class=\"employment-benefits--list\">\r\n @for (item of items; track $index) {\r\n <div class=\"employment-benefits--item bg-beige\">\r\n <div class=\"employment-benefits--item--inner\">\r\n @if (item.title) {\r\n <h3 class=\"title--24 color--brown-70\">\r\n {{ item.title }}\r\n </h3>\r\n } @if (item.icon) {\r\n <span\r\n [ngClass]=\"item.icon\"\r\n class=\"employment-benefits--icon\"\r\n ></span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n signal,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { InputComponent } from '../../atomic/input/input.component';\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { tap } from 'rxjs';\r\nimport { InputI } from '../../../interfaces/atomic/input.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-employment-form',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n MatCheckboxModule,\r\n InputComponent,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n templateUrl: './employment-form.component.html',\r\n styleUrl: './employment-form.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class EmploymentFormComponent {\r\n @Input() inputs?: InputI[];\r\n @Input() conditionsLink?: string;\r\n @Input() requiredLabel?: string;\r\n @Input() title?: string;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() formSubmit = new EventEmitter();\r\n\r\n form: FormGroup = this.fb.group({\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\r\n\r\n formReady = false;\r\n\r\n isValid = signal(false);\r\n\r\n constructor(private readonly fb: FormBuilder) {}\r\n\r\n ngOnInit(): void {\r\n this.initializeForm();\r\n }\r\n\r\n initializeForm(): void {\r\n this.inputs?.forEach((input) => {\r\n this.form.addControl(\r\n input.name,\r\n new FormControl(\r\n input.value,\r\n input.name === 'email'\r\n ? [\r\n Validators.required,\r\n Validators.email,\r\n Validators.minLength(3),\r\n ]\r\n : [Validators.required, Validators.minLength(3)]\r\n )\r\n );\r\n });\r\n\r\n this.form.statusChanges\r\n .pipe(\r\n tap((status) => {\r\n this.isValid.set(status === 'VALID');\r\n })\r\n )\r\n .subscribe();\r\n\r\n this.formReady = true;\r\n }\r\n\r\n validateInput(name: string) {\r\n this.inputs!.find((input) => input.name === name)!.valid =\r\n this.form.controls[name].errors === null;\r\n }\r\n\r\n submitForm(): void {\r\n this.formSubmit.emit(this.form.value);\r\n this.resetForm();\r\n }\r\n\r\n resetForm(): void {\r\n this.form.reset();\r\n this.inputs?.forEach((input) => {\r\n input.value = '';\r\n });\r\n }\r\n}\r\n","<section class=\"employment-form--wrapper\">\r\n <div class=\"employment-form\">\r\n @if (title) {\r\n <h3 class=\"employment-form--title color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (formReady) {\r\n <form class=\"employment-form--form\" [formGroup]=\"form\">\r\n @if (inputs && inputs.length) {\r\n <div class=\"employment-form--form--wrapper\">\r\n @for (input of inputs; track $index) {\r\n <tent-input\r\n [title]=\"input.title\"\r\n [type]=\"input.type\"\r\n [placeholder]=\"input.placeholder\"\r\n [icon]=\"input.icon\"\r\n [required]=\"true\"\r\n [formControlName]=\"input.name\"\r\n [valid]=\"input.valid!\"\r\n [error]=\"input.error\"\r\n [name]=\"input.name\"\r\n (inputBlur)=\"validateInput(input.name)\"\r\n [ngClass]=\"{ 'input-cv': $last }\"\r\n ></tent-input>\r\n }\r\n </div>\r\n }\r\n <div class=\"employment-form--footer\">\r\n <div class=\"flex-col\">\r\n <div class=\"employment-form--checkbox--wrapper\">\r\n <mat-checkbox\r\n class=\"employment-form--checkbox\"\r\n formControlName=\"checkbox\"\r\n ></mat-checkbox>\r\n @if (conditionsLink) {\r\n <span\r\n class=\"employment-form--conditions color--brown\"\r\n [innerHTML]=\"conditionsLink\"\r\n >\r\n </span>\r\n }\r\n </div>\r\n @if (requiredLabel) {\r\n <span class=\"employment-form--required--text\">\r\n <span class=\"employment-form--required\"></span>\r\n {{ requiredLabel }}\r\n </span>\r\n }\r\n </div>\r\n\r\n @if (button) {\r\n <div class=\"employment-form--submit\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n [label]=\"button.label\"\r\n [disabled]=\"!isValid()\"\r\n [name]=\"button.label\"\r\n (btnClick)=\"submitForm()\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </form>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-gallery-photos',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './gallery-photos.component.html',\r\n styleUrl: './gallery-photos.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GalleryPhotosComponent implements OnChanges {\r\n @Input({ required: true }) items!: GalleryPhotosItem[];\r\n @Input() links?: ButtonI[];\r\n\r\n itemsOrdered: GalleryPhotosItem[][] = [];\r\n collapsed = true;\r\n\r\n constructor(\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly dialog: MatDialog\r\n ) {}\r\n\r\n openModal(photo: GalleryPhotosItem): void {\r\n const dialogRef = this.dialog.open(RoomZoomModalComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: 'full-screen',\r\n hasBackdrop: true,\r\n });\r\n dialogRef.componentInstance.title = photo.title;\r\n dialogRef.componentInstance.images = this.items\r\n ?.slice(this.items.indexOf(photo))\r\n .concat(this.items?.slice(0, this.items.indexOf(photo)))\r\n .map((item) => item.image);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['items']?.currentValue) {\r\n this.splitArray();\r\n }\r\n }\r\n\r\n splitArray(): void {\r\n let i = 0;\r\n this.itemsOrdered = [];\r\n\r\n while (i < this.items.length) {\r\n if (this.itemsOrdered.length % 2 === 0) {\r\n this.itemsOrdered.push(this.items.slice(i, i + 4));\r\n i += 4;\r\n } else {\r\n this.itemsOrdered.push(this.items.slice(i, i + 3));\r\n i += 3;\r\n }\r\n }\r\n }\r\n\r\n getImageUrl(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface GalleryPhotosItem {\r\n image: string;\r\n title: string;\r\n category: string[];\r\n}\r\n","<section class=\"gallery-photos module-spacer--bottom-small\">\r\n <div class=\"gallery-photos--content wrapper-big\">\r\n <div class=\"gallery-photos--list\">\r\n @for (item of itemsOrdered; track $index) { @if ($index < 4 ||\r\n !collapsed) {\r\n <div\r\n [ngClass]=\"{\r\n 'gallery-photos--box1': $index % 4 === 0,\r\n 'gallery-photos--box2': $index % 4 === 1,\r\n 'gallery-photos--box3': $index % 4 === 2,\r\n 'gallery-photos--box4': $index % 4 === 3,\r\n }\"\r\n >\r\n @for (photo of item; let subIndex = $index; track subIndex) {\r\n <div\r\n class=\"gallery-photos--item\"\r\n [ngClass]=\"'photo' + (subIndex + 1)\"\r\n >\r\n <div\r\n class=\"gallery-photos--photo figure-content\"\r\n (click)=\"openModal(photo)\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImageUrl(photo.image)\"\r\n ></figure>\r\n </div>\r\n @if (photo.title) {\r\n <div class=\"gallery-photos--label\">\r\n <p class=\"text color--brown\">{{ photo.title }}</p>\r\n <span\r\n class=\"icon-search-plus icon--size22 color--brown\"\r\n >\r\n </span>\r\n </div>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n @if (links && links.length && items.length > 14) {\r\n <div class=\"gallery-photos--links\">\r\n @if (collapsed) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"links[0].label\"\r\n (btnClick)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } @else {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"links[1].label\"\r\n (btnClick)=\"toggleCollapse()\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n@Component({\r\n selector: 'tent-hotel-about',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './hotel-about.component.html',\r\n styleUrl: './hotel-about.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelAboutComponent {\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() btnMore?: ButtonI;\r\n @Input() btnLess?: ButtonI;\r\n @Input() slides?: HotelAboutSlide[];\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed1 = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n\r\n getImageUrl(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n\r\nexport interface HotelAboutSlide {\r\n image: ImageI;\r\n badge: string;\r\n}\r\n","<section class=\"hotel-about module-spacer--bottom\">\r\n <div class=\"hotel-about--content wrapper-big\">\r\n <div class=\"hotel-about--box\">\r\n <owl-carousel-o\r\n class=\"hotel-about--slider slider-circle--center\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (slide of slides; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"hotel-about--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImageUrl(slide.image.src)\"\r\n ></figure>\r\n <tent-badge\r\n class=\"hotel-about--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"slide.badge\"\r\n ></tent-badge>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n <div\r\n class=\"hotel-about--info\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <div class=\"hotel-about--info--inner\">\r\n @if (title) {\r\n <h2 class=\"hotel-about--info--title title--60 color--brown\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--camel\">{{ titleDark }}</span>\r\n }\r\n </h2>\r\n }\r\n <div class=\"hotel-about--info--des\">\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ additionalDescription }}\r\n </p>\r\n } @if (btnMore && btnLess) {\r\n <div class=\"hotel-about--btns\">\r\n @if (btnMore) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n } @if (btnLess) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n\r\n@Component({\r\n selector: 'tent-hotel-app',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './hotel-app.component.html',\r\n styleUrl: './hotel-app.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelAppComponent {\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() ndTitle?: string;\r\n @Input() img?: ImageI;\r\n @Input() buttons?: ButtonI[];\r\n @Input() items?: HotelAppItem[];\r\n}\r\n\r\nexport interface HotelAppItem {\r\n title: string;\r\n icon: string;\r\n}\r\n","<section class=\"hotel-app module-spacer--bottom\">\r\n <div class=\"hotel-app--content wrapper-big\">\r\n <div class=\"hotel-app--box\">\r\n @if (title) {\r\n <header class=\"hotel-app--header\">\r\n <h2 class=\"hotel-app--title title--60 color--camel\">\r\n {{ title }}\r\n </h2>\r\n @if (titleDark) {\r\n <h2 class=\"hotel-app--title title--60 color--brown\">\r\n {{ titleDark }}\r\n </h2>\r\n }\r\n </header>\r\n }\r\n <div class=\"hotel-app--list\">\r\n @if (img) {\r\n <img\r\n class=\"hotel-app--image\"\r\n [src]=\"img.src\"\r\n alt=\"app\"\r\n width=\"400\"\r\n height=\"650\"\r\n />\r\n } @if (description) {\r\n <p class=\"hotel-app--description text\">\r\n {{ description }}\r\n </p>\r\n } @if (ndTitle) {\r\n <h3 class=\"hotel-app--nd-title title--30 color--brown-70\">\r\n {{ ndTitle }}\r\n </h3>\r\n } @if (buttons) {\r\n <div class=\"hotel-app--buttons\">\r\n <tent-button\r\n type=\"dark-box\"\r\n icon=\"icon-apple\"\r\n iconPosition=\"left\"\r\n [label]=\"buttons[0].label\"\r\n [url]=\"buttons[0].url\"\r\n [linkType]=\"buttons[0].linkType\"\r\n ></tent-button>\r\n <tent-button\r\n type=\"dark-box\"\r\n icon=\"icon-google-play\"\r\n iconPosition=\"left\"\r\n [label]=\"buttons[1].label\"\r\n [url]=\"buttons[1].url\"\r\n [linkType]=\"buttons[1].linkType\"\r\n ></tent-button>\r\n </div>\r\n } @if (items?.length) {\r\n <ul class=\"hotel-app--info\">\r\n @for (item of items; track $index) {\r\n <li class=\"hotel-app--info--element\">\r\n <div class=\"hotel-app--info--element--icon--wrapper\">\r\n <span\r\n class=\"hotel-app--info--element--icon\"\r\n [ngClass]=\"item.icon\"\r\n >\r\n </span>\r\n </div>\r\n <span class=\"hotel-app--info--element--text text\">\r\n {{ item.title }}\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { fromEvent, tap } from 'rxjs';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-hotel-equipment',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './hotel-equipment.component.html',\r\n styleUrl: './hotel-equipment.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelEquipmentComponent implements OnInit, AfterViewInit {\r\n @Input() items?: HotelEquipmentItem[];\r\n @Input() itemsBelow?: HotelEquipmentItem[];\r\n @Input() title?: string;\r\n @Input() btnMore?: ButtonI;\r\n @Input() btnLess?: ButtonI;\r\n\r\n collapsed1 = true;\r\n\r\n itemsToShow = 6;\r\n\r\n ngOnInit(): void {\r\n this.itemsToShow = window.innerWidth >= 1680 ? 6 : 4;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n fromEvent(window, 'resize')\r\n .pipe(\r\n tap(() => {\r\n this.itemsToShow = window.innerWidth >= 1680 ? 6 : 4;\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n collapsed2 = true;\r\n toggleCollapse2(): void {\r\n this.collapsed2 = !this.collapsed2;\r\n }\r\n}\r\n\r\nexport interface HotelEquipmentItem {\r\n title: string;\r\n icon: string;\r\n alt: string;\r\n}\r\n","<section class=\"hotel-benefits module-spacer--bottom\">\r\n <div class=\"hotel-benefits--content wrapper-big\">\r\n <div class=\"hotel-benefits--box\">\r\n <div\r\n class=\"hotel-benefits--equipament\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n @if (title) {\r\n <div class=\"hotel-benefits--info\">\r\n <h2 class=\"hotel-benefits--title title--60 color--brown\">\r\n {{ title }}\r\n </h2>\r\n </div>\r\n } @if (items?.length) {\r\n <div class=\"hotel-benefits--list\">\r\n @for (item of items; track $index) {\r\n <div class=\"hotel-benefits--item bg-beige\">\r\n <div class=\"hotel-benefits--item--inner\">\r\n @if (item.title) {\r\n <h3\r\n class=\"title--24 color--brown-70\"\r\n [innerHTML]=\"item.title\"\r\n ></h3>\r\n } @if (item.icon) {\r\n <span\r\n [ngClass]=\"item.icon\"\r\n class=\"hotel-benefits--icon\"\r\n ></span>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n } @if (btnMore && btnLess && (items?.length ?? 4) > itemsToShow)\r\n {\r\n <div class=\"hotel-benefits--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse1()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n @if (itemsBelow?.length) {\r\n <div\r\n class=\"hotel-benefits--services\"\r\n [ngClass]=\"collapsed2 ? 'close' : 'open'\"\r\n >\r\n <ul class=\"hotel-benefits--services--list\">\r\n @for (item of itemsBelow; track $index) {\r\n <li>\r\n <span [ngClass]=\"item.icon\"></span>\r\n <p class=\"text\">{{ item.title }}</p>\r\n </li>\r\n }\r\n </ul>\r\n @if (btnMore && btnLess) {\r\n <div class=\"hotel-benefits--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse2()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse2()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../public-api';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-hotel-location',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './hotel-location.component.html',\r\n styleUrl: './hotel-location.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelLocationComponent {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() subtitle?: string;\r\n @Input() image?: string;\r\n @Input() items?: HotelLocationsItem[];\r\n @Input() btnMore?: ButtonI;\r\n @Input() btnLess?: ButtonI;\r\n @Input() address?: string;\r\n @Input() linkMap?: string;\r\n collapsed = true;\r\n\r\n get getImageUrl(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface HotelLocationsItem {\r\n title: string;\r\n icon: string;\r\n}\r\n","<section class=\"hotel-location module-spacer--bottom\">\r\n <div\r\n class=\"hotel-location--content wrapper-big\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n <div class=\"hotel-location--inner\">\r\n <div class=\"hotel-location--inner--left\">\r\n @if (title) {\r\n <h3 class=\"hotel-location--tit title--60 color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n }\r\n </div>\r\n <div class=\"hotel-location--inner--right\">\r\n @if (subtitle) {\r\n <h4 class=\"hotel-location--subtit title--24 color--brown-70\">\r\n {{ subtitle }}\r\n </h4>\r\n } @if (items) {\r\n <ul class=\"hotel-location--list\">\r\n @for (item of items; track $index) {\r\n <li>\r\n <span class=\"hotel-location--icon\">\r\n <span\r\n class=\"hotel-location--iconsvg\"\r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n </span>\r\n <p class=\"text\">{{ item.title }}</p>\r\n </li>\r\n\r\n }\r\n </ul>\r\n\r\n }\r\n </div>\r\n @if (btnMore && btnLess) {\r\n <div class=\"hotel-location--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"btnMore.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"btnMore.label\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"btnLess.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"btnLess.label\"\r\n ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"hotel-location--maps\">\r\n <a\r\n class=\"hotel-location--photo figure-content\"\r\n [href]=\"linkMap\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"linkMap\"\r\n >\r\n <figure class=\"figure-full\" [style]=\"getImageUrl\"></figure>\r\n </a>\r\n <ul class=\"hotel-location--maps--address\">\r\n <li>\r\n <span class=\"hotel-location--icon icon-home\"></span>\r\n <span class=\"text\" [innerHTML]=\"address\"> </span>\r\n </li>\r\n </ul>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { RouterModule } from '@angular/router';\r\n@Component({\r\n selector: 'tent-hotels-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CurrencyPipe, RouterModule],\r\n templateUrl: './hotels-list.component.html',\r\n styleUrl: './hotels-list.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HotelsListComponent implements OnInit, OnChanges {\r\n @Input() infoTitle?: string;\r\n @Input() infoTitleDark?: string;\r\n @Input() infoDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() items?: HotelsListItem[];\r\n\r\n @Output() hotelClick = new EventEmitter<HotelsListItem>();\r\n\r\n collapsed?: boolean[];\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n this.collapsed = new Array(this.items?.length).fill(true);\r\n this.items?.sort((a, b) => {\r\n const subtitleA = a.subtitle ? a.subtitle.toLowerCase() : '';\r\n const subtitleB = b.subtitle ? b.subtitle.toLowerCase() : '';\r\n const destinyA = a.parentDestiny ? Number(a.parentDestiny) : 0;\r\n const destinyB = b.parentDestiny ? Number(b.parentDestiny) : 0;\r\n return destinyA < destinyB\r\n ? -1\r\n : destinyA > destinyB\r\n ? 1\r\n : subtitleA < subtitleB\r\n ? -1\r\n : subtitleA > subtitleB\r\n ? 1\r\n : 0;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['items']?.currentValue) {\r\n this.collapsed = new Array(this.items?.length).fill(true);\r\n this.items?.sort((a, b) => {\r\n const subtitleA = a.subtitle ? a.subtitle.toLowerCase() : '';\r\n const subtitleB = b.subtitle ? b.subtitle.toLowerCase() : '';\r\n return subtitleA < subtitleB\r\n ? -1\r\n : subtitleA > subtitleB\r\n ? 1\r\n : 0;\r\n });\r\n }\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n toggleCollapse(index: number): void {\r\n if (this.collapsed?.length) {\r\n const itemCollapse = this.collapsed[index];\r\n this.collapsed.fill(true);\r\n this.collapsed[index] = !itemCollapse;\r\n }\r\n }\r\n}\r\n\r\nexport interface HotelsListItem {\r\n title?: string;\r\n ndTitle?: string;\r\n subtitle?: string;\r\n description?: string;\r\n additionalDescription?: string;\r\n priceTitle?: string;\r\n priceSubtitle?: string;\r\n price?: string | number;\r\n currency?: string;\r\n image?: string;\r\n services?: string[];\r\n button?: ButtonI;\r\n hotelUrl?: string;\r\n destinyId?: string | number;\r\n parentDestiny?: string | number;\r\n id: number;\r\n}\r\n","@if (items?.length) {\r\n<section class=\"hotels-list module-spacer--bottom\">\r\n <div class=\"hotels-list--content wrapper-big\">\r\n <div class=\"hotels-list--inner\">\r\n @for (item of items; track mainIndex; let mainIndex = $index) {\r\n <div class=\"hotels-list--item\">\r\n @if (item.image) {\r\n <a\r\n [href]=\"item.hotelUrl\"\r\n [routerLink]=\"[item.hotelUrl]\"\r\n [attr.aria-label]=\"item.title\"\r\n (click)=\"$event.preventDefault(); hotelClick.emit(item)\"\r\n class=\"hotels-list--photo figure-content figure-zoom\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"this.getImage(item.image)\"\r\n ></figure>\r\n </a>\r\n } @if (item.title || item.description) {\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed?.[mainIndex] ? 'close' : 'open'\"\r\n >\r\n @if (item.title) {\r\n <a\r\n [href]=\"item.hotelUrl\"\r\n [routerLink]=\"[item.hotelUrl]\"\r\n [attr.aria-label]=\"item.title\"\r\n (click)=\"$event.preventDefault(); hotelClick.emit(item)\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n {{ item.title }} <br />{{ item.ndTitle }}\r\n </h2>\r\n </a>\r\n } @if (item.subtitle) {\r\n <h3 class=\"subtitle--medium color--brown-dark\">\r\n {{ item.subtitle }}\r\n </h3>\r\n } @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n } @if (links?.length) {\r\n <div class=\"hotels-list--btns\">\r\n @for (link of links; track $index; let first = $first) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse(mainIndex)\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n } @if (item.services?.length || (item.priceTitle && item.price\r\n && item.currency)) {\r\n <ul class=\"hotels-list--services bg-beige\">\r\n @if (item.services?.length) { @for (service of\r\n item.services; track $index) {\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">{{ service }}</p>\r\n </li>\r\n } } @if (item.priceTitle && item.price && item.currency) {\r\n <div class=\"hotels-list--footer\">\r\n <div class=\"hotels-list--footer--text\">\r\n <p class=\"hotels-list--footer--title color--brown\">\r\n {{ item.priceTitle }}\r\n </p>\r\n @if (item.priceSubtitle) {\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n {{ item.priceSubtitle }}\r\n </p>\r\n }\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >{{ item.price\r\n }}<span>{{\r\n item.currency | currencySymbol\r\n }}</span></span\r\n >\r\n </div>\r\n }\r\n </ul>\r\n } @if (item.button) {\r\n <div class=\"hotels-list--book\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n class=\"btn-small\"\r\n [label]=\"item.button.label\"\r\n [url]=\"item.button.url\"\r\n [linkType]=\"item.button.linkType\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n} @if(infoTitle || infoDescription){\r\n<section class=\"module-info module-spacer--bottom\">\r\n <div class=\"module-info--content wrapper-big\">\r\n <div class=\"module-info--inner\">\r\n <div class=\"module-info--box\">\r\n @if (infoTitle) {\r\n <h3 class=\"module-info--title title--80 color--camel\">\r\n {{ infoTitle }} @if (infoTitleDark) {\r\n <span class=\"color--brown\">\r\n {{ infoTitleDark }}\r\n </span>\r\n }\r\n </h3>\r\n } @if (infoDescription) {\r\n <div class=\"module-info--des\">\r\n <p class=\"text\" [innerHTML]=\"infoDescription\"></p>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-info-slider',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule],\r\n templateUrl: './info-slider.component.html',\r\n styleUrl: './info-slider.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class InfoSliderComponent implements OnInit {\r\n @Input() theme?: string = '';\r\n @Input() infoalign?: string = 'info-right';\r\n @Input() images?: string[];\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() slim?: boolean;\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sliderOptions = {\r\n ...this.sliderOptions,\r\n navText: [\r\n `<div class=\"btn btn__circle btn__circle-- ${\r\n this.theme === 'theme-laundry'\r\n ? 'btn__laundry'\r\n : 'btn__dark'\r\n }\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>`,\r\n `<div class=\"btn btn__circle btn__circle-- ${\r\n this.theme === 'theme-laundry'\r\n ? 'btn__laundry'\r\n : 'btn__dark'\r\n }\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>`,\r\n ],\r\n };\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n","<section class=\"info-slider module-spacer--bottom\" [ngClass]=\"[theme]\">\r\n <div\r\n class=\"info-slider--content wrapper-big\"\r\n [ngClass]=\"{ 'info-slider--content--slim': slim }\"\r\n >\r\n <div class=\"info-slider--box\" [ngClass]=\"[infoalign]\">\r\n @if (images?.length) {\r\n <owl-carousel-o\r\n class=\"info-slider--slider slider-circle--center figure-sticky\"\r\n [ngClass]=\"{ 'info-slider--slider--slim': slim }\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (img of images; track $index) {\r\n <ng-template carouselSlide>\r\n <div\r\n class=\"info-slider--photo figure-content\"\r\n [ngClass]=\"{ 'info-slider--photo--slim': slim }\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n }\r\n <div\r\n class=\"info-slider--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @if (title || description) {\r\n <div class=\"info-slider--info--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"location-beach--info--title title--60 color--brown\"\r\n >\r\n {{ title }}\r\n </h2>\r\n\r\n } @if (description) {\r\n <div class=\"info-slider--info--des\">\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n @if (additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ additionalDescription }}\r\n </p>\r\n } @if (links?.length) {\r\n <div class=\"info-slider--btns\">\r\n @for (link of links; track $index; let first =\r\n $first) {\r\n <tent-button\r\n class=\"btn-more\"\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-location-beach',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './location-beach.component.html',\r\n styleUrl: './location-beach.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LocationBeachComponent {\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() description?: string;\r\n @Input() infoItems?: LocationBeachInfoItem[];\r\n @Input() items?: LocationBeachItem[];\r\n @Input() links?: ButtonI[];\r\n @Input() button?: ButtonI;\r\n\r\n sliderOptions: OwlOptions = {\r\n loop: false,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n\r\nexport interface LocationBeachItem {\r\n image?: string;\r\n tag?: BadgeI;\r\n}\r\n\r\nexport interface LocationBeachInfoItem {\r\n title?: string;\r\n icon?: string;\r\n}\r\n","<section class=\"location-beach module-spacer--bottom\">\r\n <div class=\"location-beach--content wrapper-big\">\r\n <div class=\"location-beach--box info-right\">\r\n @if (items?.length) {\r\n <owl-carousel-o\r\n class=\"location-beach--slider slider-circle--center figure-sticky\"\r\n [options]=\"sliderOptions\"\r\n >\r\n @for (item of items; track $index) {\r\n <ng-template carouselSlide>\r\n <div class=\"location-beach--photo figure-content\">\r\n @if (item.image) {\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n } @if (item.tag?.label && item.tag) {\r\n <tent-badge\r\n class=\"location-beach--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"item.tag.label\"\r\n ></tent-badge>\r\n }\r\n </div>\r\n </ng-template>\r\n }\r\n </owl-carousel-o>\r\n }\r\n <div\r\n class=\"location-beach--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n <div class=\"location-beach--info--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"location-beach--info--title title--60 color--brown\"\r\n >\r\n {{ title }}\r\n </h2>\r\n } @if (subtitle) {\r\n <h3\r\n class=\"location-beach--info--subtit subtitle color--brown-70\"\r\n >\r\n {{ subtitle }}\r\n </h3>\r\n } @if (infoItems?.length && infoItems) {\r\n <ul class=\"location-beach--info--icons\">\r\n @for (item of infoItems; track $index) {\r\n <li>\r\n <span class=\"info--icon\">\r\n <span\r\n class=\"info--icon--svg\"\r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n </span>\r\n @if (item.title) {\r\n <p class=\"text\">{{ item.title }}</p>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n } @if (links && links.length > 2) { @if (links[0]) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"links[0].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } @if (links[1]) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"links[1].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } } @if (description) {\r\n <div class=\"location-beach--info--des\">\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n </div>\r\n } @if (button) {\r\n <div class=\"location-beach--info--btns\">\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box\"\r\n [linkType]=\"button.linkType\"\r\n [url]=\"button.url\"\r\n [label]=\"button.label\"\r\n [name]=\"button.label\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-location-how',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './location-how.component.html',\r\n styleUrl: './location-how.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LocationHowComponent {\r\n @Input() backgroundImage?: string;\r\n @Input() title?: string;\r\n @Input() items?: LocationHowItem[];\r\n @Input() links?: ButtonI[];\r\n\r\n tabActive = 'tab1';\r\n collapsed = true;\r\n\r\n get image(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.backgroundImage})`\r\n );\r\n }\r\n\r\n get hasItemActiveAdditionalDescription() {\r\n return this.items?.[Number(this.tabActive.substring(-1)) - 1]\r\n ?.additionalDescription;\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n viewTab(tabActive: string): void {\r\n this.tabActive = tabActive;\r\n }\r\n}\r\n\r\nexport interface LocationHowItem {\r\n icon?: string;\r\n title?: string;\r\n description?: string;\r\n additionalDescription?: string;\r\n}\r\n","<section class=\"location-how module-spacer--bottom\">\r\n <div class=\"location-how--content wrapper-big\">\r\n @if (backgroundImage) {\r\n <div class=\"location-how--maps figure-sticky\">\r\n <div class=\"location-how--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"image\"></figure>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"location-how--inner\" [ngClass]=\"[tabActive]\">\r\n @if (title) {\r\n <h3 class=\"location-how--tit title--60 color--brown\">\r\n {{ title }}\r\n </h3>\r\n } @if (items?.length && items) {\r\n <ul class=\"location-how--icons\">\r\n @for (item of items; track $index) {\r\n <li>\r\n <img\r\n src=\"/assets/tent/img/icon-location.svg\"\r\n alt=\"left\"\r\n class=\"location-how--iconactive\"\r\n />\r\n <span\r\n class=\"location-how--icon\" \r\n (click)=\"viewTab('tab' + ($index + 1))\"\r\n >\r\n <span\r\n class=\"location-how--icon--svg\" \r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n </span>\r\n </li>\r\n }\r\n </ul>\r\n <div\r\n class=\"location-how--infor\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @for (item of items; track $index) {\r\n <div class=\"location-how--infor--tab\">\r\n @if (item.title) {\r\n <h3\r\n class=\"location-beach--info--subtit subtitle color--brown-70\"\r\n >\r\n {{ item.title }}\r\n </h3>\r\n } @if (item.description) {\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n } @if (item.additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n }\r\n </div>\r\n\r\n } @if (links && links.length &&\r\n hasItemActiveAdditionalDescription) { @if (links[0]) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"links[0].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } @if (links[1]) {\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n [label]=\"links[1].label\"\r\n (click)=\"toggleCollapse()\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../../public-api';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-location-map',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './location-map.component.html',\r\n styleUrl: './location-map.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class LocationMapComponent {\r\n @Input() image?: string;\r\n @Input() linkImage?: string;\r\n @Input() title?: string;\r\n @Input() ndTitle?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() copyRight?: string;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() btnClick = new EventEmitter<void>();\r\n\r\n get getMainImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n btnMapClicked() {\r\n (document.getElementById('how') as HTMLElement).scrollIntoView({\r\n behavior: 'smooth',\r\n });\r\n }\r\n}\r\n","<section class=\"location-map module-spacer--bottom\">\r\n <div class=\"location-map--content wrapper-big\">\r\n @if (image && linkImage) {\r\n <div class=\"location-map--maps\">\r\n <a\r\n class=\"location-map--photo figure-content\"\r\n [href]=\"linkImage\"\r\n target=\"_blank\"\r\n >\r\n <figure class=\"figure-full\" [style]=\"getMainImage\"></figure>\r\n </a>\r\n </div>\r\n }\r\n <div class=\"location-map--inner\">\r\n @if (title) {\r\n <h3 class=\"location-map--tit title--30 color--brown-70\">\r\n {{ title }}\r\n @if (ndTitle) {\r\n <span class=\"color--brown-70\"> {{ ndTitle }}</span>\r\n }\r\n </h3>\r\n } @if (links?.length) {\r\n <ul class=\"location-map--list\">\r\n @for (link of links; track $index) {\r\n <li>\r\n <span\r\n class=\"location-map--icon\"\r\n [ngClass]=\"{\r\n 'icon-home': $index === 0,\r\n 'icon-phone-2': $index === 1,\r\n 'icon-envelope': $index === 2\r\n }\"\r\n ></span>\r\n @if (link.linkType === 'nolink') {\r\n <span class=\"text text--18\" [innerHTML]=\"link.label\">\r\n </span>\r\n } @else {\r\n <a\r\n class=\"link\"\r\n [href]=\"link.url\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n }\r\n </li>\r\n }\r\n </ul>\r\n } @if (copyRight) {\r\n <ul class=\"location-map--list copyright\">\r\n <li>\r\n <span class=\"location-map--icon icon-copyright\"></span>\r\n <p class=\"text text--18\">{{ copyRight }}</p>\r\n </li>\r\n </ul>\r\n } @if (button) {\r\n <div class=\"location-map--btns\">\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n [name]=\"button.name\"\r\n (btnClick)=\"btnMapClicked()\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-module-404',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './module-404.component.html',\r\n styleUrl: './module-404.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class Module404Component {\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() description?: string;\r\n @Input() buttons?: ButtonI[];\r\n}\r\n","<section class=\"module-404 bg-beige\">\r\n <div class=\"module-404--content\">\r\n <div class=\"module-404--inner\">\r\n @if (title || subtitle) {\r\n <div class=\"module-404--card bg-camel\">\r\n <div class=\"module-404--card--box\">\r\n @if (title) {\r\n <h4 class=\"module-404--titleTop title--42 color--brown\">\r\n {{ title }}\r\n </h4>\r\n } @if (subtitle) {\r\n <p class=\"module-404--btn color--brown\">\r\n <span class=\"title--30\"> {{ subtitle }}</span>\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n } @if (description || buttons?.length) {}\r\n <div class=\"module-404--info bg-white\">\r\n <div class=\"module-404--info--des\">\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (buttons?.length) {\r\n <div class=\"module-404--btns\">\r\n @for (btn of buttons; track $index) {\r\n <tent-button\r\n class=\"btn-book btn-small\"\r\n type=\"dark-box\"\r\n [label]=\"btn.label\"\r\n [url]=\"btn.url\"\r\n [linkType]=\"btn.linkType!\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { GoogleMap, GoogleMapsModule } from '@angular/google-maps';\r\nimport { MarkerClusterer } from '@googlemaps/markerclusterer';\r\nimport { fromEvent, tap } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'tent-module-google-maps',\r\n standalone: true,\r\n imports: [CommonModule, GoogleMapsModule],\r\n templateUrl: './module-google-maps.component.html',\r\n styleUrl: './module-google-maps.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ModuleGoogleMapsComponent\r\n implements OnInit, AfterViewInit, OnChanges\r\n{\r\n @ViewChild('googleMap') googleMaps!: GoogleMap;\r\n @ViewChild('googleMap', { read: ElementRef })\r\n googleMapsElement!: ElementRef;\r\n @Input() markers?: GoogleMarker[];\r\n @Input() zoom = 6;\r\n\r\n existingScript?: boolean;\r\n\r\n private markersArray: google.maps.Marker[] = [];\r\n private customMarkersArray: google.maps.OverlayView[] = [];\r\n private markerCluster?: MarkerClusterer;\r\n\r\n //map config\r\n width!: number;\r\n map!: google.maps.Map;\r\n\r\n options: google.maps.MapOptions = {\r\n styles: [\r\n {\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ebe3cd' }],\r\n },\r\n {\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#523735' }],\r\n },\r\n {\r\n elementType: 'labels.text.stroke',\r\n stylers: [{ color: '#f5f1e6' }],\r\n },\r\n {\r\n featureType: 'administrative',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#c9b2a6' }],\r\n },\r\n {\r\n featureType: 'administrative.land_parcel',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#dcd2be' }],\r\n },\r\n {\r\n featureType: 'administrative.land_parcel',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#ae9e90' }],\r\n },\r\n {\r\n featureType: 'landscape.natural',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'poi',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'poi',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#93817c' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'geometry.fill',\r\n stylers: [{ color: '#a5b076' }],\r\n },\r\n {\r\n featureType: 'poi.park',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#447530' }],\r\n },\r\n {\r\n featureType: 'road',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.arterial',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway.controlled_access',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.highway.controlled_access',\r\n elementType: 'geometry.stroke',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'road.local',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#ffffff' }],\r\n },\r\n {\r\n featureType: 'transit.line',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'transit.line',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#8f7d77' }],\r\n },\r\n {\r\n featureType: 'transit.line',\r\n elementType: 'labels.text.stroke',\r\n stylers: [{ color: '#f0d0e4' }],\r\n },\r\n {\r\n featureType: 'transit.station',\r\n elementType: 'geometry',\r\n stylers: [{ color: '#e9d1bd' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'geometry.fill',\r\n stylers: [{ color: '#c5d0d1' }],\r\n },\r\n {\r\n featureType: 'water',\r\n elementType: 'labels.text.fill',\r\n stylers: [{ color: '#c5d0d1' }],\r\n },\r\n ],\r\n };\r\n\r\n get centerMark(): GoogleMarker['position'] {\r\n return this.markers?.[0]?.position!;\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n fromEvent(window, 'resize')\r\n .pipe(\r\n tap(() => {\r\n this.width = (\r\n this.googleMapsElement?.nativeElement as HTMLElement\r\n ).clientWidth;\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (\r\n changes['markers']?.currentValue &&\r\n !changes['markers']?.firstChange\r\n ) {\r\n this.addCustomMarkers();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.googleMaps?.googleMap) {\r\n this.width = (\r\n this.googleMapsElement?.nativeElement as HTMLElement\r\n ).clientWidth;\r\n this.map = this.googleMaps?.googleMap;\r\n this.cdr.detectChanges();\r\n this.addCustomMarkers();\r\n }\r\n }\r\n\r\n addCustomMarkers() {\r\n this.clearMarkers();\r\n this.markers?.forEach((data) => {\r\n const marker = new google.maps.Marker({\r\n position: new google.maps.LatLng(\r\n data.position.lat,\r\n data.position.lng\r\n ),\r\n map: null,\r\n });\r\n\r\n this.markersArray.push(marker);\r\n\r\n const markerDiv = document.createElement('div');\r\n markerDiv.classList.add('custom-marker');\r\n\r\n const img = document.createElement('img');\r\n img.src = '/assets/tent/img/marker_maps.svg';\r\n\r\n const labelDiv = document.createElement('div');\r\n labelDiv.classList.add('label');\r\n labelDiv.innerText = data.label;\r\n\r\n markerDiv.appendChild(img);\r\n markerDiv.appendChild(labelDiv);\r\n\r\n markerDiv.addEventListener('click', () => {\r\n window.open(data.url, '_blank');\r\n });\r\n\r\n const customMarker = new google.maps.OverlayView();\r\n\r\n customMarker.onAdd = function () {\r\n const panes = this.getPanes();\r\n panes?.overlayMouseTarget.appendChild(markerDiv);\r\n };\r\n\r\n customMarker.draw = function () {\r\n const projection = this.getProjection();\r\n const position = projection.fromLatLngToDivPixel(\r\n new google.maps.LatLng(data.position.lat, data.position.lng)\r\n );\r\n if (position) {\r\n markerDiv.style.left = `${position.x}px`;\r\n markerDiv.style.top = `${position.y}px`;\r\n }\r\n };\r\n\r\n customMarker.onRemove = function () {\r\n if (markerDiv.parentNode) {\r\n markerDiv.parentNode.removeChild(markerDiv);\r\n }\r\n };\r\n\r\n customMarker.setMap(this.map);\r\n this.customMarkersArray.push(customMarker);\r\n });\r\n\r\n this.markerCluster = new MarkerClusterer({\r\n map: this.map,\r\n markers: this.markersArray,\r\n renderer: {\r\n render: ({ count, position }) => {\r\n const div = document.createElement('div');\r\n div.textContent = count.toString();\r\n div.className = 'custom-cluster';\r\n return new google.maps.Marker({\r\n position,\r\n icon: {\r\n url: '/assets/tent/img/marker_maps-empty.svg',\r\n scaledSize: new google.maps.Size(53, 53),\r\n anchor: new google.maps.Point(26.5, 53),\r\n labelOrigin: new google.maps.Point(26.5, 26.5),\r\n },\r\n label: {\r\n text: count.toString(),\r\n color: '#fff',\r\n fontWeight: 'bold',\r\n fontSize: '16px',\r\n },\r\n });\r\n },\r\n },\r\n });\r\n\r\n google.maps.event.addListener(\r\n this.markerCluster,\r\n 'clusteringend',\r\n () => {\r\n this.customMarkersArray.forEach((customMarker, index) => {\r\n const isVisible =\r\n this.markersArray[index].getMap() !== null;\r\n customMarker.getMap() && customMarker.onRemove();\r\n if (isVisible) {\r\n customMarker.setMap(this.map);\r\n } else {\r\n customMarker.setMap(null);\r\n }\r\n });\r\n }\r\n );\r\n }\r\n\r\n private clearMarkers() {\r\n // Limpiar los marcadores estándar\r\n this.markersArray.forEach((marker) => marker.setMap(null));\r\n this.markersArray = [];\r\n\r\n // Limpiar los custom markers (OverlayView)\r\n this.customMarkersArray.forEach((customMarker) =>\r\n customMarker.setMap(null)\r\n );\r\n this.customMarkersArray = [];\r\n\r\n // Limpiar el cluster anterior\r\n if (this.markerCluster) {\r\n this.markerCluster.clearMarkers(); // Quitar los marcadores del cluster\r\n this.markerCluster = undefined; // Resetear el cluster\r\n }\r\n }\r\n}\r\nexport interface GoogleMarker {\r\n position: {\r\n lat: number;\r\n lng: number;\r\n };\r\n label: string;\r\n url: string;\r\n hotelId: number;\r\n}\r\n","@if (markers?.length) {\r\n<section class=\"google-maps wrapper-medium module-spacer--bottom\">\r\n <google-map\r\n #googleMap\r\n [options]=\"options\"\r\n [width]=\"width\"\r\n [center]=\"centerMark\"\r\n [zoom]=\"zoom\"\r\n >\r\n </google-map>\r\n</section>\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\n@Component({\r\n selector: 'tent-module-search',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, DropdownComponent],\r\n templateUrl: './module-search.component.html',\r\n styleUrl: './module-search.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ModuleSearchComponent implements OnInit {\r\n @Input() theme?: string;\r\n @Input() title?: string;\r\n @Input() placeholder?: string;\r\n @Input() hotels?: ModuleSearchHotel[];\r\n\r\n itemsToShow: ModuleSearchHotel[] = [];\r\n\r\n options: DropdownOption[] = [];\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n if (this.hotels) {\r\n for (let i = 0; i < this.hotels.length; i++) {\r\n this.options.push({\r\n code: i.toString(),\r\n name: this.hotels[i].title!,\r\n });\r\n }\r\n }\r\n }\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n\r\n onSelect(option: DropdownOption): void {\r\n const selected = this.hotels?.find(\r\n (hotel) => hotel.title === option.name\r\n );\r\n this.itemsToShow = selected ? [selected] : [];\r\n }\r\n\r\n search(text: any): void {\r\n this.itemsToShow = [];\r\n\r\n this.hotels?.forEach((hotel) => {\r\n if (\r\n (hotel.title\r\n ?.toLowerCase()\r\n .includes(text.target.value.toLowerCase()) ||\r\n hotel.address\r\n ?.toLowerCase()\r\n .includes(text.target.value.toLowerCase())) &&\r\n text?.target.value !== ''\r\n ) {\r\n this.itemsToShow.push(hotel);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface ModuleSearchHotel {\r\n img?: string;\r\n title?: string;\r\n address?: string;\r\n contactLinks?: ButtonI[];\r\n links?: ButtonI[];\r\n footerTitle?: string;\r\n footerDescription?: string;\r\n}\r\n","<div class=\"module-spacer--bottom\">\r\n <section\r\n class=\"module-search wrapper-medium\"\r\n [ngClass]=\"{ 'module-search--laundry': theme === 'theme-laundry' }\"\r\n >\r\n <div class=\"module-search--header\">\r\n @if (title) {\r\n <p class=\"module-search--title color--brown\">\r\n {{ title }}\r\n </p>\r\n } @if (theme !== 'theme-laundry') {\r\n <div class=\"module-search--input--wrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"module-search--input\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"search($event)\"\r\n />\r\n <span\r\n class=\"module-search--input--icon\"\r\n class=\"icon-search\"\r\n ></span>\r\n </div>\r\n } @else {\r\n <tent-dropdown\r\n [placeholder]=\"placeholder\"\r\n [options]=\"options\"\r\n theme=\"theme-laundry\"\r\n (change)=\"onSelect($event)\"\r\n ></tent-dropdown>\r\n }\r\n </div>\r\n\r\n @if (itemsToShow.length) {\r\n <div class=\"module-search--content\">\r\n @for (item of itemsToShow; track $index) {\r\n <div class=\"module-search--item\">\r\n @if (item.img) {\r\n <div class=\"module-search--item--image--wrapper\">\r\n <figure\r\n class=\"figure-full module-search--item--image\"\r\n [style]=\"getImage(item.img)\"\r\n ></figure>\r\n </div>\r\n }\r\n <div class=\"module-search--item--content\">\r\n @if (item.title || item.address) {\r\n <div class=\"module-search--item--header\">\r\n @if (item.title) {\r\n <p class=\"module-search--item--title color--brown\">\r\n {{ item.title }}\r\n </p>\r\n } @if (item.address) {\r\n <p\r\n class=\"module-search--item--address\"\r\n [innerHTML]=\"item.address\"\r\n ></p>\r\n }\r\n </div>\r\n } @if (theme !== 'theme-laundry') { @if (item.contactLinks)\r\n {\r\n <div class=\"module-search--item--links\">\r\n @for (link of item.contactLinks; track $index) {\r\n <a\r\n class=\"link\"\r\n [href]=\"link.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"link.label\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n } @for (link of item.links; track $index) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n [url]=\"link.url\"\r\n ></tent-button>\r\n }\r\n </div>\r\n } } @else {\r\n\r\n <img\r\n class=\"module-search--icon-map\"\r\n src=\"/assets/tent/img/icon-map-palma.svg\"\r\n alt=\"\"\r\n />\r\n @if (item.footerTitle || item.footerDescription) {\r\n <div class=\"module-search--footer\">\r\n @if (item.footerTitle) {\r\n <p class=\"module-search--footer--title\">\r\n {{ item.footerTitle }}\r\n </p>\r\n } @if (item.footerDescription) {\r\n <p class=\"module-search--footer--description\">\r\n {{ item.footerDescription }}\r\n </p>\r\n }\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n\r\n }\r\n </div>\r\n }\r\n </section>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { OfferComponent } from '../offer/offer.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { OfferI } from '../../../interfaces/core/offer.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n@Component({\r\n selector: 'tent-offer-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, OfferComponent],\r\n templateUrl: './offer-list.component.html',\r\n styleUrl: './offer-list.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferListComponent {\r\n @Input() items?: OfferI[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n\r\n @Output() offerClick = new EventEmitter();\r\n\r\n collapsed = true;\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n}\r\n","<section class=\"offer-list module-spacer--bottom\">\r\n <div class=\"offer-list--content wrapper-big\">\r\n <div class=\"offer-list--inner\">\r\n @if (items && items.length) { @for (offer of items; track $index) {\r\n <div class=\"offer-list--item\">\r\n <tent-offer\r\n [badge]=\"offer.badge\"\r\n [badgePrice]=\"offer.badgePrice\"\r\n [title]=\"offer.title\"\r\n [buttons]=\"offer.buttons\"\r\n [image]=\"offer.image\"\r\n [price]=\"offer.price\"\r\n [priceLabel]=\"offer.priceLabel\"\r\n [currency]=\"offer.currency\"\r\n (btnClicked)=\"offerClick.emit(offer.id)\"\r\n ></tent-offer>\r\n </div>\r\n } }\r\n </div>\r\n </div>\r\n</section>\r\n<section class=\"offer-ours module-spacer--bottom\">\r\n <div class=\"offer-ours--content wrapper-big\">\r\n <div class=\"offer-ours--inner\">\r\n <div class=\"offer-ours--box bg-beige\">\r\n @if (title || titleDark) {\r\n <h3 class=\"offer-ours--title title--80 color--camel\">\r\n {{ title }}\r\n @if (titleDark) {\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n }\r\n </h3>\r\n\r\n }\r\n <div\r\n class=\"offer-ours--des\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (additionalDescription) {\r\n <p class=\"text text-more\">\r\n {{ additionalDescription }}\r\n </p>\r\n } @if (additionalDescription && links && links.length) {\r\n <div class=\"offer-ours--btns\">\r\n @for (link of links; track $index; let first = $first) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\r\n@Component({\r\n selector: 'tent-offer-details',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, BadgeComponent, CurrencyPipe],\r\n templateUrl: './offer-details.component.html',\r\n styleUrl: './offer-details.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class OfferDetailsComponent {\r\n @Input() image?: string;\r\n @Input() badge?: BadgeI;\r\n @Input() innerBadge?: BadgeI;\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() linkBack?: ButtonI;\r\n @Input() conditionsTitle?: string;\r\n @Input() conditions?: string[];\r\n @Input() priceLabel?: string;\r\n @Input() price?: string | number;\r\n @Input() currency?: string;\r\n @Input() button?: ButtonI;\r\n\r\n @Output() backClick = new EventEmitter();\r\n\r\n conditionActive = false;\r\n collapsed = true;\r\n\r\n get getImage(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n toggleCollapse(): void {\r\n this.collapsed = !this.collapsed;\r\n }\r\n\r\n toggleConditions(): void {\r\n this.conditionActive = !this.conditionActive;\r\n }\r\n}\r\n","<section class=\"offer-detail module-spacer--bottom\">\r\n <div class=\"offer-detail--content wrapper-big\">\r\n <div class=\"offer-detail--picture\">\r\n @if (image) {\r\n <div class=\"offer-detail--photo figure-content\">\r\n <figure class=\"figure-full\" [style]=\"getImage\"></figure>\r\n </div>\r\n } @if (badge) {\r\n <tent-badge\r\n class=\"offer-detail--picture--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"badge.label\"\r\n ></tent-badge>\r\n }\r\n </div>\r\n <div class=\"offer-detail--inner\">\r\n @if (title) {\r\n <h2 class=\"offer-detail--tit title--60 color--brown\">\r\n {{ title }}\r\n </h2>\r\n } @if (innerBadge) {\r\n <tent-badge\r\n class=\"offer-detail--inner--badget\"\r\n [rounded]=\"true\"\r\n [label]=\"innerBadge.label\"\r\n ></tent-badge>\r\n }\r\n\r\n <div\r\n class=\"offer-detail--info\"\r\n [ngClass]=\"collapsed ? 'close' : 'open'\"\r\n >\r\n @if (description) {\r\n <p class=\"text\">\r\n {{ description }}\r\n </p>\r\n } @if (additionalDescription) {\r\n <p class=\"text text-more\">{{ additionalDescription }}.</p>\r\n } @if (additionalDescription && links && links.length) {\r\n <div class=\"offer-detail--info--btns\">\r\n @for (link of links; track $index; let first = $first) { @if\r\n ($index < 2) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': first,\r\n 'btn-minus': !first\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleCollapse()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n <div\r\n class=\"offer-detail--conditions\"\r\n [ngClass]=\"!conditionActive ? 'close' : 'open'\"\r\n >\r\n <div class=\"offer-detail--conditions--box\">\r\n @if (conditionsTitle) {\r\n <h3\r\n class=\"offer-detail--conditions--subtit subtitle color--brown-70\"\r\n >\r\n {{ conditionsTitle }}\r\n </h3>\r\n } @if (conditions && conditions.length) {\r\n <ul class=\"offer-detail--conditions--list\">\r\n @for (condition of conditions; track $index) {\r\n <li class=\"offer-detail--conditions--item\">\r\n <p class=\"text\">\r\n {{ condition }}\r\n </p>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n\r\n @if (conditions && conditions.length) { }\r\n <div class=\"offer-detail--conditions--btns\">\r\n @for (link of links; track $index; let last = $last) { @if\r\n ($index > 1) {\r\n <tent-button\r\n [ngClass]=\"{\r\n 'btn-more': !last,\r\n 'btn-minus': last\r\n }\"\r\n type=\"dark-link\"\r\n [label]=\"link.label\"\r\n (click)=\"toggleConditions()\"\r\n [name]=\"link.label\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n </div>\r\n\r\n <div class=\"offer-detail--prices\">\r\n <div class=\"offer-detail--prices--info\">\r\n <div class=\"offer-detail--prices--price\">\r\n @if (priceLabel) {\r\n <span class=\"title--18 color--brown\">{{\r\n priceLabel\r\n }}</span>\r\n } @if (price) {\r\n <p class=\"title--42 color--brown\">\r\n {{ price }}\r\n @if (currency) {\r\n <span class=\"title--32\">{{\r\n currency | currencySymbol\r\n }}</span>\r\n }\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n @if (button) {\r\n <div class=\"offer-detail--prices--btns\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"button.label\"\r\n [name]=\"button.label\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType\"\r\n ></tent-button>\r\n </div>\r\n }\r\n </div>\r\n @if (linkBack) {\r\n <tent-button\r\n class=\"offer-detail--link-back\"\r\n type=\"dark-link\"\r\n icon=\"icon-signal-left\"\r\n [label]=\"linkBack.label\"\r\n [name]=\"linkBack.label\"\r\n [url]=\"linkBack.url\"\r\n [linkType]=\"linkBack.linkType\"\r\n (btnClick)=\"backClick.emit()\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\n@Component({\r\n selector: 'tent-registration',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ButtonComponent,\r\n MatCheckboxModule,\r\n DropdownComponent,\r\n ],\r\n templateUrl: './registration.component.html',\r\n styleUrl: './registration.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RegistrationComponent {\r\n tabs = ['login', 'recuperar', 'registrarse'];\r\n\r\n selected = 'registrarse';\r\n\r\n days: DropdownOption[] = [\r\n {\r\n name: '01',\r\n code: '1',\r\n },\r\n {\r\n name: '02',\r\n code: '2',\r\n },\r\n {\r\n name: '03',\r\n code: '3',\r\n },\r\n {\r\n name: '04',\r\n code: '4',\r\n },\r\n {\r\n name: '05',\r\n code: '5',\r\n },\r\n {\r\n name: '06',\r\n code: '6',\r\n },\r\n {\r\n name: '07',\r\n code: '7',\r\n },\r\n {\r\n name: '08',\r\n code: '8',\r\n },\r\n {\r\n name: '09',\r\n code: '9',\r\n },\r\n {\r\n name: '10',\r\n code: '10',\r\n },\r\n {\r\n name: '11',\r\n code: '11',\r\n },\r\n {\r\n name: '12',\r\n code: '12',\r\n },\r\n {\r\n name: '13',\r\n code: '13',\r\n },\r\n {\r\n name: '14',\r\n code: '14',\r\n },\r\n {\r\n name: '15',\r\n code: '15',\r\n },\r\n {\r\n name: '16',\r\n code: '16',\r\n },\r\n {\r\n name: '17',\r\n code: '17',\r\n },\r\n {\r\n name: '18',\r\n code: '18',\r\n },\r\n {\r\n name: '19',\r\n code: '19',\r\n },\r\n {\r\n name: '20',\r\n code: '20',\r\n },\r\n {\r\n name: '21',\r\n code: '21',\r\n },\r\n {\r\n name: '22',\r\n code: '22',\r\n },\r\n {\r\n name: '23',\r\n code: '23',\r\n },\r\n {\r\n name: '24',\r\n code: '24',\r\n },\r\n {\r\n name: '25',\r\n code: '25',\r\n },\r\n {\r\n name: '26',\r\n code: '26',\r\n },\r\n {\r\n name: '27',\r\n code: '27',\r\n },\r\n {\r\n name: '28',\r\n code: '28',\r\n },\r\n {\r\n name: '29',\r\n code: '29',\r\n },\r\n {\r\n name: '30',\r\n code: '30',\r\n },\r\n {\r\n name: '31',\r\n code: '31',\r\n },\r\n ];\r\n\r\n months: DropdownOption[] = [\r\n {\r\n name: 'enero',\r\n code: '1',\r\n },\r\n {\r\n name: 'febrero',\r\n code: '2',\r\n },\r\n {\r\n name: 'marzo',\r\n code: '3',\r\n },\r\n {\r\n name: 'abril',\r\n code: '4',\r\n },\r\n {\r\n name: 'mayo',\r\n code: '5',\r\n },\r\n {\r\n name: 'junio',\r\n code: '6',\r\n },\r\n {\r\n name: 'julio',\r\n code: '7',\r\n },\r\n {\r\n name: 'agosto',\r\n code: '8',\r\n },\r\n {\r\n name: 'septiembre',\r\n code: '9',\r\n },\r\n {\r\n name: 'octubre',\r\n code: '10',\r\n },\r\n {\r\n name: 'noviembre',\r\n code: '11',\r\n },\r\n {\r\n name: 'diciembre',\r\n code: '12',\r\n },\r\n ];\r\n years: DropdownOption[] = [\r\n {\r\n name: '2024',\r\n code: '2024',\r\n },\r\n {\r\n name: '2023',\r\n code: '2023',\r\n },\r\n {\r\n name: '2022',\r\n code: '2022',\r\n },\r\n {\r\n name: '2021',\r\n code: '2021',\r\n },\r\n {\r\n name: '2020',\r\n code: '2020',\r\n },\r\n {\r\n name: '2019',\r\n code: '2019',\r\n },\r\n {\r\n name: '2018',\r\n code: '2018',\r\n },\r\n {\r\n name: '2017',\r\n code: '2017',\r\n },\r\n {\r\n name: '2016',\r\n code: '2016',\r\n },\r\n {\r\n name: '2015',\r\n code: '2015',\r\n },\r\n {\r\n name: '2014',\r\n code: '2014',\r\n },\r\n {\r\n name: '2013',\r\n code: '2013',\r\n },\r\n {\r\n name: '2012',\r\n code: '2012',\r\n },\r\n {\r\n name: '2011',\r\n code: '2011',\r\n },\r\n {\r\n name: '2010',\r\n code: '2010',\r\n },\r\n {\r\n name: '2009',\r\n code: '2009',\r\n },\r\n {\r\n name: '2008',\r\n code: '2008',\r\n },\r\n {\r\n name: '2007',\r\n code: '2007',\r\n },\r\n {\r\n name: '2006',\r\n code: '2006',\r\n },\r\n {\r\n name: '2005',\r\n code: '2005',\r\n },\r\n {\r\n name: '2004',\r\n code: '2004',\r\n },\r\n {\r\n name: '2003',\r\n code: '2003',\r\n },\r\n {\r\n name: '2002',\r\n code: '2002',\r\n },\r\n {\r\n name: '2001',\r\n code: '2001',\r\n },\r\n {\r\n name: '2000',\r\n code: '2000',\r\n },\r\n {\r\n name: '1999',\r\n code: '1999',\r\n },\r\n {\r\n name: '1998',\r\n code: '1998',\r\n },\r\n {\r\n name: '1997',\r\n code: '1997',\r\n },\r\n {\r\n name: '1996',\r\n code: '1996',\r\n },\r\n {\r\n name: '1995',\r\n code: '1995',\r\n },\r\n ];\r\n\r\n @Output() tabClick = new EventEmitter<string>();\r\n\r\n selectTab(tab: string): void {\r\n this.selected = tab;\r\n this.tabClick.emit(tab);\r\n\r\n if (tab === 'registrarse') {\r\n }\r\n }\r\n}\r\n","<div class=\"registration\">\r\n <div>\r\n <div class=\"registration--main-wrapper\">\r\n <div class=\"registration--main-content flex-col flex-col--center\">\r\n <h3 class=\"registration--title color--brown\">registrarse</h3>\r\n\r\n <form class=\"registration--form\">\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n nombre\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-user\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n apellidos\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-user\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n email\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-envelope\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n repetir email\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">teléfono</p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n />\r\n <span\r\n class=\"registration--input--icon icon-phone\"\r\n ></span>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n fecha de nacimiento\r\n </p>\r\n <div class=\"registration--date\">\r\n <tent-dropdown\r\n class=\"registration--dropdown registration--dropdown--days\"\r\n [options]=\"days\"\r\n [value]=\"days[0]\"\r\n ></tent-dropdown>\r\n <tent-dropdown\r\n class=\"registration--dropdown registration--dropdown--months\"\r\n [options]=\"months\"\r\n [value]=\"months[0]\"\r\n ></tent-dropdown>\r\n <tent-dropdown\r\n class=\"registration--dropdown registration--dropdown--years\"\r\n [options]=\"years\"\r\n [value]=\"years[0]\"\r\n ></tent-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n contraseña\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"password\"\r\n placeholder=\"mínimo 6 carácteres\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"flex-col\">\r\n <p class=\"registration--input--title\">\r\n <span class=\"registration--input--required\"></span>\r\n repetir contraseña\r\n </p>\r\n <div class=\"registration--input--wrapper\">\r\n <input\r\n class=\"registration--input\"\r\n type=\"password\"\r\n placeholder=\"...\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex-col\">\r\n <div class=\"registration--checkbox--wrapper\">\r\n <mat-checkbox\r\n class=\"registration--checkbox\"\r\n ></mat-checkbox>\r\n <span class=\"registration--conditions color--brown\"\r\n >he leído y\r\n <a\r\n class=\"registration--conditions--link color--brown\"\r\n href=\"\"\r\n >\r\n acepto el aviso</a\r\n >\r\n legal y la\r\n <a\r\n class=\"registration--conditions--link color--brown\"\r\n href=\"\"\r\n >\r\n política de privacidad\r\n </a>\r\n </span>\r\n </div>\r\n <span class=\"registration--required--text\">\r\n <span class=\"registration--input--required\"></span>\r\n campos obligatorios\r\n </span>\r\n </div>\r\n\r\n <tent-button\r\n class=\"registration--submit\"\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n label=\"acceder\"\r\n name=\"acceder\"\r\n ></tent-button>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <div class=\"registration--submenu flex-row flex-row--center\">\r\n <span\r\n class=\"registration--tab\"\r\n (click)=\"selectTab(tabs[0])\"\r\n [ngClass]=\"{\r\n 'registration--tab--selected': tabs[0] === selected\r\n }\"\r\n >{{ tabs[0] }}\r\n </span>\r\n |\r\n <span\r\n class=\"registration--tab\"\r\n (click)=\"selectTab(tabs[1])\"\r\n [ngClass]=\"{\r\n 'registration--tab--selected': tabs[1] === selected\r\n }\"\r\n >{{ tabs[1] }}\r\n </span>\r\n |\r\n <a\r\n class=\"registration--tab\"\r\n (click)=\"selectTab(tabs[2])\"\r\n href=\"\"\r\n [ngClass]=\"{\r\n 'registration--tab--selected': tabs[2] === selected\r\n }\"\r\n >\r\n {{ tabs[2] }}\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'tent-services-details',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\r\n templateUrl: './services-details.component.html',\r\n styleUrl: './services-details.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ServicesDetailsComponent {\r\n @Input() items?: ServicesDetailsItem[];\r\n @Input() title?: string;\r\n sliderOptions: OwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplaySpeed: 1500,\r\n navSpeed: 1500,\r\n responsiveRefreshRate: 100,\r\n margin: 0,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: [\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\r\n '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\r\n ],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 1680: {\r\n items: 1,\r\n },\r\n },\r\n nav: true,\r\n };\r\n collapsed1 = true;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(img: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${img})`\r\n );\r\n }\r\n\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n}\r\n\r\nexport interface ServicesDetailsItem {\r\n image?: string;\r\n title?: string;\r\n description?: string;\r\n links?: ButtonI[];\r\n}\r\n","<section class=\"services-details module-spacer--bottom\">\r\n <div class=\"services-details--content wrapper-big\">\r\n <div class=\"services-details--inner\">\r\n @if (title) {\r\n <h2\r\n class=\"services-details--title title--60 color--brown\"\r\n [innerHTML]=\"title\"\r\n ></h2>\r\n } @if (items?.length) {\r\n <div class=\"services-details--items\">\r\n @for (item of items; track $index) {\r\n <div class=\"services-details--item\">\r\n @if (item.image || item.title) {\r\n <div class=\"services-details--photo figure-content\">\r\n @if (item.image) {\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(item.image)\"\r\n ></figure>\r\n } @if (item.title) {\r\n <div class=\"services-details--info\">\r\n <h2\r\n class=\"services-details--tit title--38 color--white\"\r\n [innerHTML]=\"item.title\"\r\n ></h2>\r\n </div>\r\n }\r\n </div>\r\n } @if (item.description || item.links) {\r\n <div class=\"services-details--des\">\r\n @if (item.description) {\r\n <p class=\"text\">{{ item.description }}</p>\r\n\r\n } @if (item.links?.length && item.links) {\r\n <div class=\"flex-row\">\r\n @for (link of item.links; track $index) { @if (link)\r\n {\r\n <tent-button\r\n type=\"dark-link\"\r\n [url]=\"link.url\"\r\n [label]=\"link.label\"\r\n [linkType]=\"link.linkType\"\r\n ></tent-button>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\n\r\n@Component({\r\n selector: 'tent-submenu',\r\n standalone: true,\r\n imports: [CommonModule, RouterModule],\r\n templateUrl: './submenu.component.html',\r\n styleUrl: './submenu.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SubmenuComponent {\r\n @Input() links?: ButtonI[];\r\n @Input() selected?: ButtonI;\r\n @Input() title?: string;\r\n}\r\n","<div class=\"submenu\">\r\n @if (title) {\r\n <h3 class=\"submenu--title color--camel\">{{ title }}</h3>\r\n } @if (links) {\r\n <div class=\"submenu--links\">\r\n @for (link of links; track $index) {\r\n <a\r\n [href]=\"link.url\"\r\n [routerLink]=\"[link.url]\"\r\n [attr.aria-label]=\"link.label\"\r\n [ngClass]=\"{\r\n 'submenu--link--selected':\r\n selected?.label?.toLowerCase() ===\r\n link?.label?.toLowerCase()\r\n }\"\r\n class=\"submenu--link link color--white\"\r\n >\r\n {{ link.label }}\r\n </a>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-thanks',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './thanks.component.html',\r\n styleUrl: './thanks.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ThanksComponent {\r\n @Input() image?: string;\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() description?: string;\r\n @Input() button?: ButtonI;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n get imageInstant(): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(\r\n `background-image: url(${this.image})`\r\n );\r\n }\r\n}\r\n","<div class=\"thanks\">\r\n <div class=\"thanks--left-slot\">\r\n <figure class=\"figure-full\" [style]=\"imageInstant\"></figure>\r\n </div>\r\n <div class=\"thanks--right-slot\">\r\n @if (title) {\r\n <p class=\"thanks--title\">{{ title }}</p>\r\n }\r\n\r\n <div class=\"thanks--footer\">\r\n @if (subtitle) {\r\n <p class=\"thanks--subtitle\">\r\n {{ subtitle }}\r\n </p>\r\n } @if (description) {\r\n <p class=\"thanks--description\" [innerHTML]=\"description\"></p>\r\n } @if (button) {\r\n <tent-button\r\n [label]=\"button.label\"\r\n type=\"dark-link\"\r\n [url]=\"button.url\"\r\n [linkType]=\"button.linkType\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n\n@Component({\n selector: 'tent-webmap',\n standalone: true,\n imports: [],\n templateUrl: './webmap.component.html',\n styleUrl: './webmap.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WebmapComponent {\n @Input() title?: string;\n @Input() links?: ButtonI[];\n}\n","<section class=\"webmap bg-beige\">\r\n <div class=\"webmap--content\">\r\n <div class=\"webmap--inner\">\r\n @if (title) {\r\n <h3 class=\"webmap--title title--30 color--brown-70\">\r\n {{ title }}\r\n </h3>\r\n } @if (links && links.length) {\r\n <ul class=\"webmap--list\">\r\n @for (link of links; track $index) {\r\n <li class=\"webmap--item\">\r\n <a\r\n [href]=\"link.url\"\r\n [attr.aria-label]=\"link.label\"\r\n class=\"text link-regular\"\r\n >{{ link.label }}</a\r\n >\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumpI } from '../../../interfaces/atomic/breadcrump.interface';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\r\nimport { BreadcrumpComponent } from '../../atomic/breadcrump/breadcrump.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-generic-head',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n DropdownComponent,\r\n ButtonComponent,\r\n BreadcrumpComponent,\r\n ],\r\n templateUrl: './generic-head.component.html',\r\n styleUrl: './generic-head.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GenericHeadComponent implements OnInit {\r\n @Input() theme?: string;\r\n @Input() galleryFilterOptions?: GalleryFilterOption[];\r\n @Input() title?: string;\r\n @Input() titleDark?: string;\r\n @Input() breadcrumps?: BreadcrumpI;\r\n @Input() filter?: DropdownI;\r\n @Input() button?: ButtonI;\r\n @Input() galleryBtns?: string[];\r\n @Input() linkMaps?: ButtonI;\r\n @Input() linkBack?: ButtonI;\r\n @Input() bigger = true;\r\n\r\n @Output() filterChange = new EventEmitter<DropdownOption>();\r\n @Output() filterGalleryChange = new EventEmitter<GalleryFilterOption>();\r\n @Output() openCategoryModal = new EventEmitter<void>();\r\n @Output() btnClick = new EventEmitter<void>();\r\n\r\n galleryFilterSelected!: GalleryFilterOption;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.galleryFilterSelected = this.galleryFilterOptions?.[0]!;\r\n }\r\n\r\n filterChanged(option: DropdownOption): void {\r\n this.filterChange.emit(option);\r\n }\r\n\r\n filterGalleryClicked(option: GalleryFilterOption): void {\r\n this.galleryFilterSelected = option;\r\n this.filterGalleryChange.emit(option);\r\n }\r\n\r\n openGalleryCategoryModal(): void {\r\n this.openCategoryModal.emit();\r\n }\r\n\r\n btnClicked(): void {\r\n this.btnClick.emit();\r\n }\r\n}\r\n\r\nexport interface GalleryFilterOption {\r\n id?: string | number;\r\n label?: string;\r\n rooms?: boolean;\r\n room?: boolean;\r\n allCategories?: boolean;\r\n videoSrc?: string;\r\n}\r\n","<section class=\"generic-head-module module-spacer-small--bottom\">\r\n <div class=\"wrapper-big\">\r\n <div\r\n class=\"generic-head\"\r\n [ngClass]=\"{ 'generic-head--bigger': bigger }\"\r\n >\r\n @if (breadcrumps) {\r\n <tent-breadcrump\r\n class=\"generic-head--breadcrumps\"\r\n [ngClass]=\"{ 'generic-head--breadcrumps--absolute': titleDark }\"\r\n [breadcrumps]=\"breadcrumps.breadcrumps\"\r\n [selected]=\"breadcrumps.selected\"\r\n ></tent-breadcrump>\r\n }\r\n <div class=\"generic-head--content\">\r\n @if (title) {\r\n <h1\r\n class=\"generic-head--title title--80 color--camel\"\r\n [ngClass]=\"{\r\n 'generic-head--title--laundry': theme === 'laundry'\r\n }\"\r\n >\r\n {{ title }}\r\n <span class=\"color--brown\">{{ titleDark }}</span>\r\n </h1>\r\n }\r\n <div [ngClass]=\"{ 'generic-head--content--end': linkMaps }\">\r\n @if (filter) {\r\n <div class=\"generic-head--filter\">\r\n <tent-dropdown\r\n [options]=\"filter.options\"\r\n [placeholder]=\"filter.placeholder\"\r\n [value]=\"filter.value\"\r\n (change)=\"filterChanged($event)\"\r\n ></tent-dropdown>\r\n </div>\r\n\r\n } @if (galleryFilterOptions) {\r\n <div class=\"generic-head--filter-gallery\">\r\n @for (filter of galleryFilterOptions; track $index) {\r\n @if (!filter.room) {\r\n <span\r\n class=\"generic-head--gallery-option\"\r\n [ngClass]=\"{\r\n 'generic-head--gallery-option--selected':\r\n filter === galleryFilterSelected\r\n }\"\r\n (click)=\"filterGalleryClicked(filter)\"\r\n >\r\n {{ filter.label }}\r\n </span>\r\n } } @if (galleryBtns?.length) { @if (galleryBtns?.[0] &&\r\n galleryBtns) {\r\n <div\r\n class=\"generic-head--gallery-btn\"\r\n (click)=\"openGalleryCategoryModal()\"\r\n >\r\n <span class=\"generic-head--gallery-btn--text\">\r\n {{ galleryBtns[0] }}\r\n </span>\r\n <span\r\n class=\"generic-head--gallery-btn--icon icon-menu\"\r\n ></span>\r\n </div>\r\n } }\r\n </div>\r\n } @if (button) {\r\n <tent-button\r\n class=\"generic-head--contact\"\r\n type=\"dark-box\"\r\n [label]=\"button.label\"\r\n [url]=\"button.url\"\r\n (btnClick)=\"btnClicked()\"\r\n ></tent-button>\r\n } @if (linkMaps) {\r\n <a\r\n class=\"generic-head--location\"\r\n [href]=\"linkMaps.url\"\r\n target=\"_blank\"\r\n [attr.aria-label]=\"linkMaps.label\"\r\n >\r\n <span\r\n class=\"generic-head--location--icon icon-map\"\r\n ></span>\r\n <p class=\"text link\">{{ linkMaps.label }}</p>\r\n </a>\r\n } @if (linkBack) {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"linkBack.label\"\r\n [icon]=\"linkBack.icon\"\r\n iconPosition=\"left\"\r\n linkSizeIcon=\"8px\"\r\n [url]=\"linkBack.url\"\r\n (btnClick)=\"btnClicked()\"\r\n ></tent-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { GalleryFilterOption } from '../../generic-head/generic-head.component';\r\n\r\n@Component({\r\n selector: 'tent-gallery-category',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './gallery-category.component.html',\r\n styleUrl: './gallery-category.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GalleryCategoryComponent {\r\n @Input() title?: string;\r\n @Input() items?: GalleryFilterOption[];\r\n\r\n @Output() itemClick = new EventEmitter<GalleryFilterOption>();\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<GalleryCategoryComponent>\r\n ) {}\r\n\r\n itemClicked(item: GalleryFilterOption): void {\r\n this.itemClick.emit(item);\r\n this.closeModal();\r\n }\r\n\r\n closeModal(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"gallery-category\">\r\n <div class=\"gallery-category--header\">\r\n @if (title) {\r\n <p class=\"color--brown\" [innerHTML]=\"title\"></p>\r\n }\r\n\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"closeModal()\"\r\n name=\"close\"\r\n ></tent-button>\r\n </div>\r\n @if (items?.length) {\r\n <ul class=\"gallery-category--list\">\r\n @for (item of items; track $index) {\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked(item)\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> {{ item.label }}\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\r\n\r\n@Component({\r\n selector: 'tent-brunch',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './brunch.component.html',\r\n styleUrl: './brunch.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BrunchComponent {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() additionalDescription?: string;\r\n @Input() links?: ButtonI[];\r\n @Input() image?: ImageI;\r\n @Input() video?: ImageI;\r\n @Input() timmingTitle?: string;\r\n @Input() timmingItems?: TimingItem[];\r\n showMore = false;\r\n\r\n toggleShowMore(): void {\r\n this.showMore = !this.showMore;\r\n }\r\n}\r\n\r\nexport interface TimingItem {\r\n label: string;\r\n icon?: string;\r\n}\r\n","<div class=\"wrapper-big module-spacer--bottom\">\r\n <div class=\"brunch\">\r\n @if (video || image) {\r\n <div class=\"brunch--video-wrapper figure-sticky\">\r\n @if (video) {\r\n <video class=\"brunch--video\">\r\n <source [src]=\"video.src\" type=\"video/mp4\" />\r\n {{ video.alt }}\r\n </video>\r\n } @else if (image) {\r\n <img class=\"brunch--video\" [src]=\"image.src\" [alt]=\"image.alt\" width=\"600\" height=\"600\" />\r\n }\r\n </div>\r\n }\r\n <div class=\"brunch--content-wrapper\">\r\n @if (title) {\r\n <h2 class=\"brunch--title title--60 color--brown\">{{ title }}</h2>\r\n } @if (description) {\r\n <p class=\"brunch--description text\">\r\n {{ description }}\r\n </p>\r\n } @if (showMore && additionalDescription) {\r\n <p class=\"brunch--description text\">\r\n {{ additionalDescription }}\r\n </p>\r\n\r\n } @if (additionalDescription && links?.length) { @if (!showMore) {\r\n <tent-button\r\n class=\"brunch--show-more\"\r\n type=\"dark-link\"\r\n [label]=\"links?.[0]?.label\"\r\n (btnClick)=\"toggleShowMore()\"\r\n [name]=\"links?.[0]?.label\"\r\n >\r\n </tent-button>\r\n } @else {\r\n <tent-button\r\n type=\"dark-link\"\r\n [label]=\"links?.[1]?.label\"\r\n (btnClick)=\"toggleShowMore()\"\r\n [name]=\"links?.[1]?.label\"\r\n >\r\n </tent-button>\r\n } } @if (timmingItems?.length) {\r\n <div class=\"brunch--timing-info\">\r\n @if (timmingTitle) {\r\n <p class=\"brunch--timing-title\">horarios</p>\r\n }\r\n <ul class=\"brunch--timing-list\">\r\n @for (item of timmingItems; track $index) { @if (item.label)\r\n {\r\n <li class=\"brunch--timing-item\">\r\n @if (item.icon) {\r\n <span\r\n class=\"brunch--timing-item--icon\"\r\n [ngClass]=\"item.icon\"\r\n ></span>\r\n }\r\n <span class=\"brunch--timing-item--text\">\r\n {{ item.label }}\r\n </span>\r\n </li>\r\n } }\r\n </ul>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'tent-brunch-gallery',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './brunch-gallery.component.html',\r\n styleUrl: './brunch-gallery.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class BrunchGalleryComponent {\r\n @Input() title?: string;\r\n @Input() ndTitle?: string;\r\n @Input() images?: string[];\r\n @Input() holidayHouse?: boolean;\r\n\r\n constructor(private readonly sanitizer: DomSanitizer) {}\r\n\r\n getImage(image: string): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustUrl(\r\n `background-image: url(${image})`\r\n );\r\n }\r\n}\r\n","@if (!holidayHouse) {\r\n<div class=\"brunch-gallery wrapper-big brunch-gallery-box\">\r\n <div class=\"brunch-gallery--image-group\">\r\n <div class=\"brunch-gallery--inner\">\r\n @if (title) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-mobile\"\r\n >\r\n {{ title }}\r\n </h1>\r\n } @if (images?.length) {\r\n <div class=\"brunch-gallery--grid\">\r\n @for (img of images; track $index) { @if ($index < 6 ) {\r\n <div class=\"brunch-gallery--item\" [id]=\"'item-' + ($index + 1)\">\r\n @if ($index === 0) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-desktop\"\r\n >\r\n {{ title }}\r\n </h1>\r\n }\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n\r\n } } @if (ndTitle) {\r\n <div class=\"brunch-gallery--item\" id=\"item-8\">\r\n <h1 class=\"brunch-gallery--title title--54 color--camel\">\r\n {{ ndTitle }}\r\n </h1>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n} @else {\r\n<!-- //Holiday -->\r\n<div\r\n class=\"brunch-gallery wrapper-big module-spacer--bottom holiday-gallery-box\"\r\n>\r\n <div class=\"brunch-gallery--image-group\">\r\n <div class=\"brunch-gallery--inner\">\r\n @if (title) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-mobile\"\r\n >\r\n {{ title }}\r\n </h1>\r\n\r\n } @if (images?.length) {\r\n <div class=\"brunch-gallery--grid\">\r\n @for (img of images; track $index) { @if ($index < 8 ) {\r\n <div class=\"brunch-gallery--item\" [id]=\"'item-' + ($index + 1)\">\r\n @if ($index === 0) {\r\n <h1\r\n class=\"brunch-gallery--title title--60 color--brown title-desktop\"\r\n >\r\n {{ title }}\r\n </h1>\r\n }\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImage(img)\"\r\n ></figure>\r\n </div>\r\n } }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ScreenSizerParams } from './screen-sizer.interface';\r\n\r\nexport const SCREEN_SIZER_PARAMS_TOKEN = new InjectionToken<ScreenSizerParams>(\r\n 'ScreenSizerParams'\r\n);\r\n","import { Injectable, inject, signal } from '@angular/core';\nimport { SCREEN_SIZER_PARAMS_TOKEN } from './screen-sizer.service.token';\nimport {\n debounceTime,\n distinctUntilChanged,\n fromEvent,\n map,\n startWith,\n} from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScreenSizerService {\n readonly mobile = signal(false);\n readonly smallTablet = signal(false);\n readonly mediumTablet = signal(false);\n readonly fullTablet = signal(false);\n readonly smallDesktop = signal(false);\n readonly mediumDesktop = signal(false);\n readonly fullDesktop = signal(false);\n readonly fullBigDesktop = signal(false);\n readonly maxDesktop = signal(false);\n\n readonly minSmallTablet = signal(false);\n readonly minMediumTablet = signal(false);\n readonly minFullTablet = signal(false);\n readonly minSmallDesktop = signal(false);\n readonly minMediumDesktop = signal(false);\n readonly minFullDesktop = signal(false);\n readonly minFullBigDesktop = signal(false);\n\n get width(): number {\n if (window.innerWidth > window.outerWidth) {\n return window.outerWidth;\n }\n return window.innerWidth;\n }\n\n private readonly screenSizerParams = inject(SCREEN_SIZER_PARAMS_TOKEN)\n .pixelBreakpoints;\n\n constructor() {\n fromEvent(window, 'resize')\n .pipe(\n debounceTime(200),\n map(() => this.width),\n distinctUntilChanged(),\n startWith(this.width)\n )\n .subscribe((size) => {\n if (size) {\n this.mobile.set(size < this.screenSizerParams.smallTablet);\n\n this.smallTablet.set(\n size >= this.screenSizerParams.smallTablet &&\n size < this.screenSizerParams.mediumTablet\n );\n\n this.mediumTablet.set(\n size >= this.screenSizerParams.mediumTablet &&\n size < this.screenSizerParams.fullTablet\n );\n\n this.fullTablet.set(\n size >= this.screenSizerParams.fullTablet &&\n size < this.screenSizerParams.smallDesktop\n );\n\n this.smallDesktop.set(\n size >= this.screenSizerParams.smallDesktop &&\n size < this.screenSizerParams.mediumDesktop\n );\n\n this.mediumDesktop.set(\n size >= this.screenSizerParams.mediumDesktop &&\n size < this.screenSizerParams.fullDesktop\n );\n\n this.fullDesktop.set(\n size >= this.screenSizerParams.fullDesktop &&\n size < this.screenSizerParams.fullBigDesktop\n );\n\n this.fullBigDesktop.set(\n size >= this.screenSizerParams.fullBigDesktop &&\n size < this.screenSizerParams.maxDesktop\n );\n\n this.maxDesktop.set(\n size >= this.screenSizerParams.maxDesktop\n );\n\n this.minSmallTablet.set(\n size >= this.screenSizerParams.smallTablet\n );\n\n this.minMediumTablet.set(\n size >= this.screenSizerParams.mediumTablet\n );\n\n this.minFullTablet.set(\n size >= this.screenSizerParams.fullTablet\n );\n\n this.minSmallDesktop.set(\n size >= this.screenSizerParams.smallDesktop\n );\n\n this.minMediumDesktop.set(\n size >= this.screenSizerParams.mediumDesktop\n );\n\n this.minFullDesktop.set(\n size >= this.screenSizerParams.fullDesktop\n );\n\n this.minFullBigDesktop.set(\n size >= this.screenSizerParams.fullBigDesktop\n );\n }\n });\n }\n\n isMobileInstant(): boolean {\n return this.mobile();\n }\n\n isSmallTabletInstant(): boolean {\n return this.smallTablet();\n }\n\n isMediumTabletInstant(): boolean {\n return this.mediumTablet();\n }\n\n isFullTabletInstant(): boolean {\n return this.fullTablet();\n }\n\n isSmallDesktopInstant(): boolean {\n return this.smallDesktop();\n }\n\n isMediumDesktopInstant(): boolean {\n return this.mediumDesktop();\n }\n\n isFullDesktopInstant(): boolean {\n return this.fullDesktop();\n }\n\n isFullBigDesktopInstant(): boolean {\n return this.fullBigDesktop();\n }\n\n isMaxDesktopInstant(): boolean {\n return this.maxDesktop();\n }\n\n minSmallTabletInstant(): boolean {\n return this.minSmallTablet();\n }\n\n minMediumTabletInstant(): boolean {\n return this.minMediumTablet();\n }\n\n minFullTabletInstant(): boolean {\n return this.minFullTablet();\n }\n\n minSmallDesktopInstant(): boolean {\n return this.minSmallDesktop();\n }\n\n minMediumDesktopInstant(): boolean {\n return this.minMediumDesktop();\n }\n\n minFullDesktopInstant(): boolean {\n return this.minFullDesktop();\n }\n\n minFullBigDesktopInstant(): boolean {\n return this.minFullBigDesktop();\n }\n}\n","/*\r\n * Public API Surface of tent\r\n */\r\n\r\n/* ATOMIC COMPONENTS */\r\nexport * from './lib/components/atomic/button/button.component';\r\nexport * from './lib/components/atomic/datepicker/datepicker.component';\r\nexport * from './lib/components/atomic/dropdown/dropdown.component';\r\nexport * from './lib/components/atomic/input/input.component';\r\nexport * from './lib/components/atomic/badge/badge.component';\r\nexport * from './lib/components/atomic/breadcrump/breadcrump.component';\r\n\r\n/* CORE COMPONENTS */\r\nexport * from './lib/components/core/advantages/advantages.component';\r\nexport * from './lib/components/core/destination-info/destination-info.component';\r\nexport * from './lib/components/core/footer-a/footer-a.component';\r\nexport * from './lib/components/core/footer-b/footer-b.component';\r\nexport * from './lib/components/core/footer-static/footer-static.component';\r\nexport * from './lib/components/core/header/header.component';\r\nexport * from './lib/components/core/header-mobile/header-mobile.component';\r\nexport * from './lib/components/core/hotel-services/hotel-services.component';\r\nexport * from './lib/components/core/hotel-slider/hotel-slider.component';\r\nexport * from './lib/components/core/motor/motor.component';\r\nexport * from './lib/components/core/offer/offer.component';\r\nexport * from './lib/components/core/offer-banner/offer-banner.component';\r\nexport * from './lib/components/core/offer-slider/offer-slider.component';\r\nexport * from './lib/components/core/facilities-slider/facilities-slider.component';\r\nexport * from './lib/components/core/room-slider/room-slider.component';\r\nexport * from './lib/components/core/top-module/top-module.component';\r\nexport * from './lib/components/core/travelers/travelers.component';\r\nexport * from './lib/components/core/cards-2col/cards-2col.component';\r\nexport * from './lib/components/core/cards-3col/cards-3col.component';\r\nexport * from './lib/components/core/modals/menu-modal/menu-modal.component';\r\nexport * from './lib/components/core/modals/languages-modal/languages-modal.component';\r\nexport * from './lib/components/core/modals/newsletter-modal/newsletter-modal.component';\r\nexport * from './lib/components/core/modals/checkin-modal/checkin-modal.component';\r\nexport * from './lib/components/core/modals/books-modal/books-modal.component';\r\nexport * from './lib/components/core/modals/hotel-list-modal/hotel-list-modal.component';\r\nexport * from './lib/components/core/modals/room-zoom-modal/room-zoom-modal.component';\r\nexport * from './lib/components/core/contact-form/contact-form.component';\r\nexport * from './lib/components/core/contact-office/contact-office.component';\r\nexport * from './lib/components/core/delivery-app/delivery-app.component';\r\nexport * from './lib/components/core/destination-hotels/destination-hotels.component';\r\nexport * from './lib/components/core/destination-list/destination-list.component';\r\nexport * from './lib/components/core/employment-benefits/employment-benefits.component';\r\nexport * from './lib/components/core/employment-form/employment-form.component';\r\nexport * from './lib/components/core/gallery-photos/gallery-photos.component';\r\nexport * from './lib/components/core/guests-popup/guests-popup.component';\r\nexport * from './lib/components/core/hotel-about/hotel-about.component';\r\nexport * from './lib/components/core/hotel-app/hotel-app.component';\r\nexport * from './lib/components/core/hotel-equipment/hotel-equipment.component';\r\nexport * from './lib/components/core/hotel-location/hotel-location.component';\r\nexport * from './lib/components/core/hotels-list/hotels-list.component';\r\nexport * from './lib/components/core/info-slider/info-slider.component';\r\nexport * from './lib/components/core/location-beach/location-beach.component';\r\nexport * from './lib/components/core/location-how/location-how.component';\r\nexport * from './lib/components/core/location-map/location-map.component';\r\nexport * from './lib/components/core/module-404/module-404.component';\r\nexport * from './lib/components/core/module-google-maps/module-google-maps.component';\r\nexport * from './lib/components/core/module-search/module-search.component';\r\nexport * from './lib/components/core/offer/offer.component';\r\nexport * from './lib/components/core/offer-list/offer-list.component';\r\nexport * from './lib/components/core/offer-details/offer-details.component';\r\nexport * from './lib/components/core/registration/registration.component';\r\nexport * from './lib/components/core/services-details/services-details.component';\r\nexport * from './lib/components/core/submenu/submenu.component';\r\nexport * from './lib/components/core/thanks/thanks.component';\r\nexport * from './lib/components/core/webmap/webmap.component';\r\nexport * from './lib/components/core/generic-head/generic-head.component';\r\nexport * from './lib/components/core/modals/gallery-category/gallery-category.component';\r\nexport * from './lib/components/core/brunch/brunch.component';\r\nexport * from './lib/components/core/brunch-gallery/brunch-gallery.component';\r\n/* ATOMIC INTERFACES */\r\nexport * from './lib/interfaces/atomic/button.interface';\r\nexport * from './lib/interfaces/atomic/datepicker.interface';\r\nexport * from './lib/interfaces/atomic/dropdown.interface';\r\nexport * from './lib/interfaces/atomic/input.interface';\r\nexport * from './lib/interfaces/atomic/badge.interface';\r\nexport * from './lib/interfaces/atomic/breadcrump.interface';\r\nexport * from './lib/interfaces/atomic/image.interface';\r\nexport * from './lib/interfaces/atomic/textarea.interface';\r\n\r\n/* CORE INTERFACES */\r\nexport * from './lib/interfaces/core/advantages.interface';\r\nexport * from './lib/interfaces/core/cards3col.interface';\r\nexport * from './lib/interfaces/core/cards2col.interface';\r\nexport * from './lib/interfaces/core/destination-info.interface';\r\nexport * from './lib/interfaces/core/footer-a.interface';\r\nexport * from './lib/interfaces/core/footer-b.interface';\r\nexport * from './lib/interfaces/core/footer-static.interface';\r\nexport * from './lib/interfaces/core/header.interface';\r\nexport * from './lib/interfaces/core/header-mobile.interface';\r\nexport * from './lib/interfaces/core/hotel-services.interface';\r\nexport * from './lib/interfaces/core/hotel-slider.interface';\r\nexport * from './lib/interfaces/core/motor.interface';\r\nexport * from './lib/interfaces/core/offer.interface';\r\nexport * from './lib/interfaces/core/offer-banner.interface';\r\nexport * from './lib/interfaces/core/offer-slider.interface';\r\nexport * from './lib/interfaces/core/facilities-slider.interface';\r\nexport * from './lib/interfaces/core/simple-card.interface';\r\nexport * from './lib/interfaces/core/top-module.interface';\r\nexport * from './lib/interfaces/core/guests-popup.interface';\r\nexport * from './lib/interfaces/core/newsletter-modal.interface';\r\nexport * from './lib/interfaces/core/books-modal.interface';\r\nexport * from './lib/interfaces/core/checkin-modal.interface';\r\nexport * from './lib/interfaces/core/languages-modal.interface';\r\nexport * from './lib/interfaces/core/menu-modal.interface';\r\nexport * from './lib/interfaces/core/travelers.interface';\r\nexport * from './lib/interfaces/core/hotel-about.interface';\r\nexport * from './lib/interfaces/core/hotel-app.interface';\r\nexport * from './lib/interfaces/core/hotel-equipment.interface';\r\nexport * from './lib/interfaces/core/hotel-location.interface';\r\nexport * from './lib/interfaces/core/submenu.interface';\r\nexport * from './lib/interfaces/core/generic-head.interface';\r\nexport * from './lib/interfaces/core/room-slider.interface';\r\nexport * from './lib/interfaces/core/gallery-photos.interface';\r\nexport * from './lib/interfaces/core/module-404.interface';\r\nexport * from './lib/interfaces/core/brunch.interface';\r\nexport * from './lib/interfaces/core/brunch-gallery.interface';\r\nexport * from './lib/interfaces/core/destination-list.interface';\r\nexport * from './lib/interfaces/core/module-google-maps.interface';\r\nexport * from './lib/interfaces/core/hotel-list-modal.interface';\r\nexport * from './lib/interfaces/core/info-slider.interface';\r\nexport * from './lib/interfaces/core/destination-hotels.interface';\r\nexport * from './lib/interfaces/core/hotels-list.interface';\r\nexport * from './lib/interfaces/core/gallery-category.interface';\r\nexport * from './lib/interfaces/core/location-map.interface';\r\nexport * from './lib/interfaces/core/location-beach.interface';\r\nexport * from './lib/interfaces/core/location-how.interface';\r\nexport * from './lib/interfaces/core/services-deatils.interface';\r\nexport * from './lib/interfaces/core/delivery-app.interface';\r\nexport * from './lib/interfaces/core/module-search.interface';\r\nexport * from './lib/interfaces/core/contact-office.interface';\r\nexport * from './lib/interfaces/core/contact-form.interface';\r\nexport * from './lib/interfaces/core/employment-benefits.interface';\r\nexport * from './lib/interfaces/core/employment-form.interface';\r\nexport * from './lib/interfaces/core/offer-list.interface';\r\nexport * from './lib/interfaces/core/offer-details.interface';\r\nexport * from './lib/interfaces/core/webmap.interface';\r\nexport * from './lib/interfaces/core/thanks.interface';\r\n\r\n/* SERVICES */\r\nexport * from './services';\r\n\r\n/* PIPES */\r\nexport * from './lib/pipes/currency.pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i4","i3","i1","i5"],"mappings":"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"}
|