tent-lib 0.0.310 → 0.0.313
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/core/brunch/brunch.component.mjs +3 -3
- package/esm2022/lib/components/core/brunch-gallery/brunch-gallery.component.mjs +2 -2
- package/esm2022/lib/components/core/generic-head/generic-head.component.mjs +6 -3
- package/esm2022/lib/interfaces/core/generic-head.interface.mjs +1 -1
- package/fesm2022/tent-lib.mjs +9 -6
- package/fesm2022/tent-lib.mjs.map +1 -1
- package/lib/components/core/generic-head/generic-head.component.d.ts +2 -1
- package/lib/interfaces/core/generic-head.interface.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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/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/pipes/currency.pipe.ts","../../../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/holiday-house-info/holiday-house-info.component.ts","../../../projects/tent/src/lib/components/core/holiday-house-info/holiday-house-info.component.html","../../../projects/tent/src/lib/components/core/holiday-house-photos/holiday-house-photos.component.ts","../../../projects/tent/src/lib/components/core/holiday-house-photos/holiday-house-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/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/generic-head/generic-head.component.ts","../../../projects/tent/src/lib/components/core/generic-head/generic-head.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 = 'internal';\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() target?: string = '_self';\r\n @Input() closeButton?: boolean;\r\n @Input() disabled?: boolean;\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 ngOnInit(): void {\r\n this.target = this.target ?? '_self';\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) {\r\n<a\r\n [href]=\"url\"\r\n [routerLink]=\"isInternalLink ? [url] : null\"\r\n [target]=\"target\"\r\n (click)=\"btnClicked($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n</a>\r\n} @else {\r\n<ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n} }\r\n\r\n<ng-template #button>\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 <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 >\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 </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 >\r\n @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 </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 @if(type === 'dark-link' || type === 'light-link') { @if(icon &&\r\n 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 </p>\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 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 [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 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() 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\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(private readonly renderer: Renderer2) {}\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 this.options.forEach((option) => {\r\n if (!option.subcategories?.length) {\r\n }\r\n });\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 }\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 }\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}\r\n","<div\r\n class=\"dropdown--wrapper\"\r\n [ngClass]=\"{\r\n 'dropdown--wrapper--light': light,\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 >\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","import {\r\n ChangeDetectionStrategy,\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\nimport { CommonModule } from '@angular/common';\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 changeDetection: ChangeDetectionStrategy.OnPush,\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';\r\n @Input() value = '';\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() isDisabled = false;\r\n\r\n @Output() change = new EventEmitter<string | File[]>();\r\n\r\n onChange = (_: string | File[]) => {};\r\n onTouch = () => {};\r\n\r\n onInputChange(event: Event): void {\r\n const inputElement = event.target as HTMLInputElement;\r\n\r\n if (this.type === 'file') {\r\n const files = inputElement.files;\r\n if (files && files.length > 0) {\r\n this.fileChange(files); // 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): void {\r\n this.value = value;\r\n this.onTouch();\r\n this.onChange(value);\r\n this.change.emit(value);\r\n }\r\n\r\n fileChange(files: FileList): void {\r\n const fileArray = Array.from(files);\r\n this.onChange(fileArray);\r\n this.onTouch();\r\n this.change.emit(fileArray);\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: string): void {\r\n if (value !== undefined) {\r\n if (this.type === 'file') {\r\n // Maneja archivos si es necesario\r\n } else {\r\n this.value = value ?? '';\r\n }\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=\"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\">\r\n <input\r\n class=\"input\"\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [value]=\"value\"\r\n [placeholder]=\"placeholder ?? ''\"\r\n (input)=\"onInputChange($event)\"\r\n />\r\n @if (icon) {\r\n <span class=\"input--icon\" [ngClass]=\"icon\"></span>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { 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})\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 { Component, EventEmitter, Input, OnInit, Output } 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})\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 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 { Component, Input, ViewChild } 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})\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 { 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})\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 { 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})\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 { 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})\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 class=\"footer-b--logo\" [href]=\"logo.url\" target=\"_blank\">\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 >\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 [href]=\"link.url\" class=\"link-regular color--brown\">\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 }\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 >\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 >\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 ></tent-button>\r\n </div>\r\n }\r\n</footer>\r\n","import { CommonModule, Location } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\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})\r\nexport class HotelListModalComponent {\r\n collapsed = [true, true, true];\r\n\r\n constructor(private readonly location: Location) {}\r\n\r\n elementClicked(event: Event): void {\r\n event.preventDefault();\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","<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 [closeButton]=\"true\"\r\n (btnClick)=\"back()\"\r\n ></tent-button>\r\n </div>\r\n <div class=\"hotel-list--btn\">\r\n <tent-button\r\n type=\"dark-box\"\r\n label=\"ver todos los hoteles\"\r\n boxWidth=\"308px\"\r\n url=\"/hotels-list\"\r\n linktype=\"internal\"\r\n [closeButton]=\"true\"\r\n class=\"hotel-list--main-button\"\r\n ></tent-button>\r\n </div>\r\n\r\n <div class=\"hotel-list--content\">\r\n <div class=\"hotel-list--container\">\r\n <a\r\n (click)=\"elementClicked($event)\"\r\n href=\"destiny\"\r\n [routerLink]=\"['/destiny']\"\r\n class=\"hotel-list--container--title\"\r\n >mallorca</a\r\n >\r\n <div class=\"hotel-list--row\">\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">playa de palma</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent capi playa\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n tent playa de palma\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent bahía de palma\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">palmanova</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent capi playa\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent palmanova\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">magaluf</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent calvia beach\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent mojito suites\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">alcudia</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent alcudia</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <a\r\n (click)=\"elementClicked($event)\"\r\n href=\"destiny\"\r\n [routerLink]=\"['/destiny']\"\r\n class=\"hotel-list--container--title\"\r\n >girona</a\r\n >\r\n <div class=\"hotel-list--row\">\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">lloret de mar</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent lloret de mar\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">figueras</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent figueras</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <a\r\n (click)=\"elementClicked($event)\"\r\n href=\"destiny\"\r\n [routerLink]=\"['/destiny']\"\r\n class=\"hotel-list--container--title\"\r\n >málaga</a\r\n >\r\n <div class=\"hotel-list--row\">\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">torremolinos</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent torremolinos\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">marbella</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent marbella</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">estepona</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent estepona</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">nerja</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent nerja</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--content--mobile\">\r\n <p class=\"hotel-list--title color--camel\">hoteles y destinos</p>\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed(0)\"\r\n >\r\n <p class=\"hotel-list--container--title\">mallorca</p>\r\n <tent-button\r\n [ngClass]=\"collapsed[0] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n ></tent-button>\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"collapsed[0] ? 'hotel-list--row--collapsed' : ''\"\r\n >\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">playa de palma</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent capi playa</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n class=\"hotel-list--column--element hotel-list--column--element--selected\"\r\n >\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent playa de palma</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent bahía de palma</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">palmanova</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent capi playa</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent palmanova</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">magaluf</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent calvia beach</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent mojito suites</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">alcudia</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent alcudia</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n label=\"ver destino\"\r\n url=\"destiny\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed(1)\"\r\n >\r\n <p class=\"hotel-list--container--title\">girona</p>\r\n <tent-button\r\n [ngClass]=\"collapsed[1] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n ></tent-button>\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"collapsed[1] ? 'hotel-list--row--collapsed' : ''\"\r\n >\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">lloret del mar</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>lloret del mar</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">figueras</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent figueras</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n label=\"ver destino\"\r\n url=\"destiny\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed(2)\"\r\n >\r\n <p class=\"hotel-list--container--title\">malaga</p>\r\n <tent-button\r\n [ngClass]=\"collapsed[2] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n ></tent-button>\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"collapsed[2] ? 'hotel-list--row--collapsed' : ''\"\r\n >\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">torremolinos</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent torremolinos</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">marbella</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent marbella</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">nerja</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent nerja</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n label=\"ver destino\"\r\n url=\"destiny\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } 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})\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() 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 <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 >\r\n <img class=\"header--logo\" [src]=\"logo\" alt=\"\" />\r\n </a>\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 >{{ navLink.label }}</a\r\n >\r\n }\r\n </div>\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 </div>\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 >\r\n <mat-icon\r\n class=\"color--brown icon-phone\"\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 <a (click)=\"booksClick.emit()\" class=\"link color--brown header--books\">\r\n {{ rightButtons.books.label }}\r\n </a>\r\n } @if (rightButtons.newsletter) {\r\n <a 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 </a>\r\n } @if (rightButtons.languages) {\r\n <a\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></a\r\n >\r\n\r\n }\r\n\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 @if (rightButtons.checkin) {\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 }\r\n\r\n <div\r\n class=\"header--btn-book\"\r\n [ngClass]=\"{ 'header--btn-book--scrolled': scrolled }\"\r\n >\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n (btnClick)=\"openMotor()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n</nav>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\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})\r\nexport class HeaderMobileComponent {\r\n @Input() checkinLabel?: string;\r\n @Input() btnBook!: ButtonI;\r\n @Input() phoneLink?: RightBtn;\r\n @Output() checkinClick = new EventEmitter<void>();\r\n @Output() motorClick = new EventEmitter<void>();\r\n constructor(private readonly dialog: MatDialog) {}\r\n\r\n openMotor(): void {\r\n this.motorClick.emit();\r\n // const dialogRef = this.dialog.open(MotorComponent, {\r\n // width: '100vw',\r\n // height: '100vh',\r\n // maxWidth: '100vw',\r\n // panelClass: ['full-screen', 'motor'],\r\n // hasBackdrop: true,\r\n // });\r\n\r\n // const closeEvent = new EventEmitter();\r\n\r\n // closeEvent.subscribe(() => {\r\n // dialogRef.close();\r\n // });\r\n\r\n // dialogRef.componentInstance.close = closeEvent;\r\n\r\n // dialogRef.componentInstance.modal = true;\r\n }\r\n}\r\n","@if(checkinLabel) {\r\n<div class=\"header-mobile--check-in\" (click)=\"checkinClick.emit()\">\r\n <span class=\"color--white\">check-in online</span>\r\n</div>\r\n}\r\n<nav class=\"header-mobile\">\r\n <tent-button\r\n (btnClick)=\"openMotor()\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n ></tent-button>\r\n @if (phoneLink) {\r\n <a class=\"header-mobile--phone-link\" [href]=\"phoneLink.url\">\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 { 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})\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 (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 ></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 { Component, Input, OnInit } 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})\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 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 image: string;\r\n title: string;\r\n description: string;\r\n ndTitle?: string;\r\n badge: BadgeI;\r\n buttons: ButtonI[];\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 ></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 { Component, EventEmitter, Input, OnInit, Output } 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})\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: string[] = [];\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);\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] = option.name;\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?: string[];\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 }}{{ kid + 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 ></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 ></tent-button>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DialogModule } from 'primeng/dialog';\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 { GuestsPopupI } from '../../../interfaces/core/guests-popup.interface';\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 {\r\n GuestsPopupComponent,\r\n GuestsValue,\r\n} 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 providers: [],\r\n})\r\nexport class MotorComponent implements OnInit, OnDestroy {\r\n @Input() date!: motorDate;\r\n @Input() modal = false;\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() dropdown!: DropdownI;\r\n @Input() promoInput!: InputI;\r\n @Input() guestsInput!: InputI;\r\n @Input() btnSubmit!: ButtonI;\r\n @Input() guestsPopup!: GuestsPopupI;\r\n\r\n @Output() submit = new EventEmitter<MotorValue>();\r\n @Output() close = new EventEmitter<void>();\r\n\r\n motorForm!: FormGroup;\r\n dialogVisible = false;\r\n dialogReady = false;\r\n guestsValue?: GuestsValue;\r\n\r\n isComponent = false;\r\n\r\n constructor(private readonly formBuilder: FormBuilder) {}\r\n\r\n ngOnInit(): void {\r\n this.motorForm = this.formBuilder.group({\r\n hotel: [],\r\n date: [],\r\n guests: [''],\r\n promo: [''],\r\n });\r\n\r\n this.isComponent = document\r\n .getElementsByTagName('tent-motor')[0]\r\n .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 document\r\n .getElementsByTagName('tent-motor')[0]\r\n .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 btnClicked(): void {\r\n if (!this.guestsValue) {\r\n this.guestsValue = {\r\n totalGuests: 0,\r\n adults: 0,\r\n kids: 0,\r\n babys: 0,\r\n kidsAges: [],\r\n };\r\n }\r\n this.submit.emit({\r\n formValue: this.motorForm.value,\r\n guestValue: this.guestsValue,\r\n });\r\n\r\n if (this.modal) {\r\n this.closeDialog();\r\n }\r\n }\r\n\r\n changeInput(event: any): void {\r\n this.promoInput.value = event.target.value;\r\n }\r\n\r\n togglePopup(): void {\r\n this.dialogVisible = !this.dialogVisible;\r\n\r\n if (!this.modal) {\r\n this.close.emit();\r\n }\r\n }\r\n\r\n closeDialog(): void {\r\n this.toggleMotorDialogReady();\r\n }\r\n\r\n closeModal(): void {\r\n this.close.emit();\r\n }\r\n\r\n toggleMotorDialogReady(): void {\r\n this.dialogReady = !this.dialogReady;\r\n }\r\n\r\n guestsChange(guests: GuestsValue) {\r\n this.guestsInput.value =\r\n guests.totalGuests < 10\r\n ? '0' + guests.totalGuests.toString()\r\n : guests.totalGuests.toString();\r\n\r\n this.guestsValue = guests;\r\n\r\n this.motorForm.get('guests')?.setValue(this.guestsInput.value);\r\n\r\n this.togglePopup();\r\n }\r\n}\r\n\r\nexport interface motorInput {\r\n title: string;\r\n icon: string;\r\n placeholder?: string;\r\n value: string;\r\n}\r\n\r\nexport interface motorDate {\r\n value: [Date, Date];\r\n title: string;\r\n icon: string;\r\n}\r\n\r\nexport interface MotorValue {\r\n formValue: any;\r\n guestValue: GuestsValue;\r\n}\r\n","<div\r\n class=\"motor--wrapper\"\r\n [ngClass]=\"{\r\n 'motor--wrapper--modal': modal,\r\n 'motor--wrapper--centered': modal && dialogVisible\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 ></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 }\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\r\n <!--Dropdown input-->\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?.length) {\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 <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"motor--input--icon\"\r\n [ngClass]=\"guestsInput.icon\"\r\n ></mat-icon>\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 <!--Promo input-->\r\n <div\r\n class=\"motor--input--wrapper flex-row flex-row--between\"\r\n [ngClass]=\"{ 'motor--input--wrapper--left': !modal }\"\r\n >\r\n <div class=\"motor--input--content\">\r\n @if (promoInput.value?.length) {\r\n <p class=\"motor--input--title\">{{ promoInput.placeholder }}</p>\r\n }\r\n <input\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 <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"motor--input--icon\"\r\n [ngClass]=\"promoInput.icon\"\r\n ></mat-icon>\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 ></tent-button>\r\n </div>\r\n </form>\r\n</div>\r\n","import { Component, Input } 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\n@Component({\r\n selector: 'tent-offer',\r\n standalone: true,\r\n imports: [ButtonComponent, BadgeComponent, RouterModule],\r\n templateUrl: './offer.component.html',\r\n styleUrl: './offer.component.scss',\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 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 }\r\n}\r\n","<section class=\"offer-box\">\r\n <a\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\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 ></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 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 { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-offer-banner',\r\n standalone: true,\r\n imports: [BadgeComponent, ButtonComponent, RouterModule],\r\n templateUrl: './offer-banner.component.html',\r\n styleUrl: './offer-banner.component.scss',\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() btnInfo!: ButtonI;\r\n @Input() img!: string;\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 'offer-banner--close--container--displayed'\r\n );\r\n (this.closeBtn.nativeElement as HTMLElement).style.opacity =\r\n '0';\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 '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 (click)=\"closeClick.emit()\"\r\n>\r\n {{ closeLabel }}\r\n</div>\r\n\r\n<div class=\"offer-banner\">\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 <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 ></tent-button>\r\n <a\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 <p class=\"offer-banner--title\">\r\n {{ mainLabel }}\r\n </p>\r\n <div class=\"flex-row flex-row--between\">\r\n <div class=\"flex-row offer-banner--price\">\r\n <span class=\"color--white offer-banner--sublabel\">\r\n {{ priceLabel }}\r\n </span>\r\n <span class=\"color--white offer-banner--offer\">\r\n {{ price }}</span\r\n >\r\n </div>\r\n\r\n <tent-button\r\n class=\"offer-banner--btn-info\"\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 </div>\r\n </div>\r\n <img [src]=\"img\" class=\"offer-banner--image\" />\r\n </a>\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 { Component, Input, OnInit } 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})\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 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 1024: {\r\n items: 1,\r\n },\r\n 1072: {\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","<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 ></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 { Component, Input, OnInit } 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})\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 { 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})\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 ></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 <ng-template carouselSlide>\r\n @for (img of images; track $index) {\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 }\r\n </ng-template>\r\n </owl-carousel-o>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } 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\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})\r\nexport class RoomSliderComponent implements OnInit {\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 @Input() button?: ButtonI;\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\r\n collapsed: boolean[] = [];\r\n viewmore: boolean[] = [];\r\n\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 }\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(): 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 = 'Habitación doble';\r\n dialogRef.componentInstance.images = [\r\n '/assets/tent/img/room-modal-img.png',\r\n '/assets/tent/img/room-modal-img.png',\r\n ];\r\n }\r\n}\r\n\r\nexport interface RoomsSliderRoom {\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 $index; let odd = $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': $index !== 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 $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\r\n class=\"btn btn__circle btn__circle-- btn__white btn_search\"\r\n (click)=\"openRoomModal()\"\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 </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--80 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\r\n class=\"info--icon\"\r\n [ngClass]=\"infoItem.icon\"\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[$index] ? 'close' : 'open'\"\r\n >\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n @if (linkDescriptionMore && linkDescriptionLess) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkDescriptionMore.label\"\r\n (click)=\"toggleCollapse($index)\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n iconPosition=\"right\"\r\n [label]=\"linkDescriptionLess.label\"\r\n (click)=\"toggleCollapse($index)\"\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[$index] ? '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 <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkEquipmentMore.label\"\r\n (click)=\"toggleViewmore($index)\"\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($index)\"\r\n ></tent-button>\r\n } @if (button) {\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box-filled\"\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 </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 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})\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 ></tent-button>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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})\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 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 [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 { 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-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})\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: string;\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 (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\"\r\n 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=\"\"\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 </a>\r\n @if (itemLeft.btns?.length) {\r\n <div\r\n class=\"services-col2--box--btns flex-row flex-row--center mt--20\"\r\n >\r\n @for (btn of itemLeft.btns; track $index) {\r\n <tent-button\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 }\r\n </div>\r\n }\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 >\r\n <div class=\"services-col2--box--info\">\r\n @if (itemRight.image) {\r\n <img\r\n [src]=\"itemRight.image\"\r\n 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=\"\"\r\n class=\"services-col2--markWater water2\"\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 </a>\r\n @if (itemRight.btns?.length) {\r\n <div\r\n class=\"services-col2--box--btns flex-row flex-row--center mt--20\"\r\n >\r\n @for (btn of itemRight.btns; track $index) {\r\n <tent-button\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 }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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})\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 >\r\n {{ 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 >\r\n {{ 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 ></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 ></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 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})\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() 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 ></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 class=\"menu-modal--logo--img\" [src]=\"logo\" alt=\"\" />\r\n </div>\r\n }\r\n <div class=\"menu-modal--links\">\r\n @for (item of items; track $index) {\r\n <a\r\n [href]=\"item.url\"\r\n [routerLink]=\"isInternalLink(item) ? [item.url] : null\"\r\n class=\"menu-modal--link-wrapper\"\r\n (click)=\"linkClicked(item, $event)\"\r\n >\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 <div class=\"menu-modal--link\">\r\n <p>\r\n {{ item.title }}\r\n </p>\r\n <tent-button\r\n class=\"menu-modal--btn\"\r\n type=\"dark-circle\"\r\n [icon]=\"buttonItem.icon\"\r\n ></tent-button>\r\n </div>\r\n </a>\r\n }\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\r\n <div class=\"flex-row flex-row--between menu-modal--social-media\">\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 ></tent-button>\r\n\r\n <ul class=\"menu-modal--socials\">\r\n @for (socialBtn of socialButtons; track $index) {\r\n <li>\r\n <a\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 </div>\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 target=\"_blank\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output, inject } 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})\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<string>();\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: string): void {\r\n this.selected = language;\r\n this.languageSelect.emit(language);\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 <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 ></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 }\r\n\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.label!)\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n</div>\r\n","import { Component, Input, inject } 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\n\r\n@Component({\r\n selector: 'tent-newsletter-modal',\r\n standalone: true,\r\n imports: [MatCheckboxModule, ButtonComponent],\r\n templateUrl: './newsletter-modal.component.html',\r\n styleUrl: './newsletter-modal.component.scss',\r\n})\r\nexport class NewsletterModalComponent {\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() input!: InputI;\r\n\r\n private readonly dialogRef: MatDialogRef<NewsletterModalComponent> =\r\n inject(MatDialogRef);\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"newsletter-modal\">\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 ></tent-button>\r\n </div>\r\n <div class=\"newsletter-modal--left-slot\"></div>\r\n <div class=\"newsletter-modal--right-slot\">\r\n <div class=\"flex-col\">\r\n <div>\r\n <h3 class=\"newsletter-modal--title color--brown\">\r\n {{ titleDark }}\r\n </h3>\r\n <h3 class=\"newsletter-modal--title color--camel\">\r\n {{ title }}\r\n </h3>\r\n </div>\r\n <p class=\"newsletter-modal--subtitle\">\r\n {{ description }}\r\n </p>\r\n\r\n <form class=\"flex-col\">\r\n <div class=\"newsletter-modal--input\">\r\n <input type=\"email\" [placeholder]=\"input.placeholder\" />\r\n <span class=\"icon-pointer-down\"></span>\r\n </div>\r\n\r\n <div class=\"flex-row\">\r\n <mat-checkbox\r\n class=\"newsletter-modal--checkbox\"\r\n ></mat-checkbox>\r\n <span\r\n [innerHTML]=\"conditions\"\r\n class=\"newsletter-modal--conditions color--brown\"\r\n >\r\n </span>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, inject } from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle } 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})\r\nexport class CheckinModalComponent {\r\n @Input() image!: string;\r\n @Input() title?: 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 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 <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 ></tent-button>\r\n </div>\r\n <div class=\"checkin--image-wrapper\">\r\n <figure [style]=\"getImage\" class=\"checkin--image\"></figure>\r\n </div>\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 }\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 ></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 ></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 { Component, OnInit, signal } 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 DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { tap } from 'rxjs';\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})\r\nexport class ContactFormComponent implements OnInit {\r\n options: DropdownOption[] = [\r\n {\r\n code: '1',\r\n name: 'hotel 1',\r\n },\r\n {\r\n code: '2',\r\n name: 'hotel 2',\r\n },\r\n {\r\n code: '3',\r\n name: 'hotel 3',\r\n },\r\n ];\r\n\r\n form: FormGroup = this.fb.group({\r\n dropdown: [null, [Validators.required]],\r\n email: ['', [Validators.required, Validators.email]],\r\n name: ['', [Validators.required]],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\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.form.statusChanges\r\n .pipe(\r\n tap((status) => {\r\n this.isValid.set(status === 'VALID');\r\n console.log(this.form.controls['dropdown'].errors);\r\n console.log(this.form.controls['email'].errors);\r\n console.log(this.form.controls['name'].errors);\r\n console.log(this.form.controls['checkbox'].errors);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n submitForm(): void {}\r\n}\r\n","<section class=\"contact-form\">\r\n <div class=\"flex-col contact-form--header\">\r\n <h3 class=\"contact-form--title color--brown\">\r\n si lo prefieres escríbenos\r\n </h3>\r\n <p class=\"contact-form--description\">\r\n many desktop publishing packages and web page editors now use Lorem\r\n Ipsum as their default model text, and a search for 'lorem ipsum'\r\n will uncover many.\r\n </p>\r\n </div>\r\n <form class=\"contact-form--form\" [formGroup]=\"form\">\r\n <div class=\"contact-form--left\">\r\n <div class=\"contact-form--dropdown flex-col\">\r\n <p class=\"contact-form--msg--title\">\r\n <span class=\"input--required\"></span>hoteles\r\n </p>\r\n <tent-dropdown\r\n [options]=\"options\"\r\n formControlName=\"dropdown\"\r\n ></tent-dropdown>\r\n </div>\r\n <tent-input\r\n title=\"nombre\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-user\"\r\n [required]=\"true\"\r\n formControlName=\"name\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"email\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n icon=\"icon-envelope\"\r\n [required]=\"true\"\r\n formControlName=\"email\"\r\n ></tent-input>\r\n </div>\r\n <div class=\"contact-form--right\">\r\n <div class=\"contact-form--msg flex-col\">\r\n <p class=\"contact-form--msg--title\">mensaje</p>\r\n <textarea\r\n class=\"contact-form--msg--textarea\"\r\n placeholder=\"...\"\r\n ></textarea>\r\n </div>\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 <span class=\"contact-form--conditions color--brown\"\r\n >he leído y\r\n <a\r\n class=\"contact-form--conditions--link color--brown\"\r\n href=\"\"\r\n target=\"_blank\"\r\n >\r\n acepto el aviso</a\r\n >\r\n legal y la\r\n <a\r\n class=\"contact-form--conditions--link color--brown\"\r\n href=\"\"\r\n target=\"_blank\"\r\n >\r\n política de privacidad\r\n </a>\r\n </span>\r\n </div>\r\n <span class=\"contact-form--required--text\">\r\n <span class=\"contact-form--required\"></span>\r\n campos obligatorios\r\n </span>\r\n </div>\r\n\r\n <tent-button\r\n class=\"contact-form--submit\"\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n label=\"enviar\"\r\n [disabled]=\"!isValid()\"\r\n (btnClick)=\"submitForm()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </form>\r\n</section>\r\n","import { Component } 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\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})\r\nexport class ContactOfficeComponent {\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: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>'],\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 toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \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 <owl-carousel-o class=\"contact-office--slider slider-circle--center figure-sticky\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"contact-office--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/DAB38D/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n <ng-template carouselSlide> \r\n <div class=\"contact-office--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/82ECC8/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n </owl-carousel-o> \r\n <div class=\"contact-office--info\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <div class=\"contact-office--info--inner\" > \r\n <h2 class=\"contact-office--info--title title--30 color--brown-70 \">\r\n oficina central\r\n </h2> \r\n <ul class=\"contact-office--list\"> \r\n <li>\r\n <span class=\"contact-office--icon icon-phone-2\"></span>\r\n <a href=\"tel:+34 971 746 100\" class=\"text link\">+34 971 746 100 </a>\r\n </li>\r\n <li>\r\n <span class=\"contact-office--icon icon-envelope\"></span>\r\n <a href=\"mailto:capiplayatenthotels.com\" class=\"text link\">capiplayatenthotels.com</a>\r\n </li>\r\n <li class=\"border-top\">\r\n <span class=\"contact-office--icon icon-home\"></span>\r\n <a href=\"\" class=\"text link\">\r\n carrer Cost a Brava, 4 <br>\r\n 07610 Mallorca - Playa de Palma <br>\r\n España\r\n </a>\r\n </li>\r\n </ul>\r\n \r\n </div> \r\n </div>\r\n </div>\r\n \r\n </div>\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common'; \r\nimport { ButtonComponent } from '../../atomic/button/button.component'; \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})\r\nexport class DeliveryAppComponent {\r\n\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 <h2 class=\"delivery-app--title title--60 color--camel\">\r\n pide tu comida\r\n <span class=\"color--brown\">y cómetelo en tent</span>\r\n </h2>\r\n <div class=\"delivery-app--btns btns-desktop\">\r\n <tent-button\r\n type=\"dark-box-white\"\r\n label=\"app store\"\r\n ></tent-button>\r\n <tent-button\r\n type=\"dark-box-white\"\r\n label=\"google play store\"\r\n ></tent-button>\r\n </div>\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 <div class=\"delivery-app--des\">\r\n <p class=\"text\">\r\n many desktop publishing packa and web page editors now use\r\n Lorem Ipsum as their default model text, and a search for\r\n lorem their infancy various versions.\r\n </p>\r\n </div>\r\n <div class=\"delivery-app--btns btns-mobile\">\r\n <tent-button\r\n type=\"dark-box\"\r\n label=\"app store\"\r\n icon=\"icon-apple\"\r\n ></tent-button>\r\n <tent-button\r\n type=\"dark-box\"\r\n label=\"google play store\"\r\n icon=\"icon-google-play\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component } 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\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})\r\nexport class DestinationHotelsComponent {\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 navText: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>'],\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 collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n}\r\n","<section class=\"destination-hotels module-spacer--bottom\" >\r\n <div class=\"destination-hotels--content wrapper-big\"> \r\n <div class=\"destination-hotels--head\">\r\n <h3 class=\"destination-hotels--title title--80 color--camel \">\r\n hoteles en <span class=\"color--brown\">playa de palma</span>\r\n </h3> \r\n </div>\r\n <div class=\"destination-hotels--inner\"> \r\n <owl-carousel-o class=\"destination-hotels--slider slider-circle--center\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"destination-hotels--slide\"> \r\n <div class=\"destination-hotels--img \"> \r\n <div class=\"destination-hotels--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1280x870/E875A7/fff'); \" ></figure>\r\n </div> \r\n </div>\r\n <div class=\"destination-hotels--des\"> \r\n <h4 class=\"destination-hotels--slideTitle color--brown title--42\"> \r\n tent <span class=\"color--brown\">bahía de palma</span>\r\n </h4>\r\n <div class=\"destination-hotels--btns\"> \r\n <tent-button type=\"dark-box-filled\" class=\"btn-small\" label=\"reservar ahora +\"></tent-button>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver hotel +\" ></tent-button> \r\n </div> \r\n </div> \r\n </div> \r\n </ng-template>\r\n <ng-template carouselSlide> \r\n <div class=\"destination-hotels--slide\"> \r\n <div class=\"destination-hotels--img \"> \r\n <div class=\"destination-hotels--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1280x870/E875A7/fff'); \" ></figure>\r\n </div> \r\n </div>\r\n <div class=\"destination-hotels--des\"> \r\n <h4 class=\"destination-hotels--slideTitle color--brown title--42\"> \r\n tent <span class=\"color--brown\">calvia beach</span>\r\n </h4>\r\n <div class=\"destination-hotels--btns\"> \r\n <tent-button type=\"dark-box-filled\" class=\"btn-small\" label=\"reservar ahora +\"></tent-button>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver hotel +\" ></tent-button> \r\n </div> \r\n </div> \r\n </div> \r\n </ng-template>\r\n <ng-template carouselSlide> \r\n <div class=\"destination-hotels--slide\"> \r\n <div class=\"destination-hotels--img \"> \r\n <div class=\"destination-hotels--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1280x870/E875A7/fff'); \" ></figure>\r\n </div> \r\n </div>\r\n <div class=\"destination-hotels--des\"> \r\n <h4 class=\"destination-hotels--slideTitle color--brown title--42\"> \r\n tent <span class=\"color--brown\">calvia beach2</span>\r\n </h4>\r\n <div class=\"destination-hotels--btns\"> \r\n <tent-button type=\"dark-box-filled\" class=\"btn-small\" label=\"reservar ahora +\"></tent-button>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver hotel +\" ></tent-button> \r\n </div> \r\n </div> \r\n </div> \r\n </ng-template>\r\n </owl-carousel-o>\r\n </div> \r\n \r\n </div> \r\n</section>\r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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\r\n@Component({\r\n selector: 'tent-destination-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './destination-list.component.html',\r\n styleUrl: './destination-list.component.scss',\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 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\r\nexport interface DestinationListItem {\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 <div class=\"destination-list--photo figure-content figure-zoom\">\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 </div>\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 ></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 [linkType]=\"item.link.linkType!\"\r\n [url]=\"item.link.url\"\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 { Component } from '@angular/core';\n\n@Component({\n selector: 'tent-employment-benefits',\n standalone: true,\n imports: [],\n templateUrl: './employment-benefits.component.html',\n styleUrl: './employment-benefits.component.scss'\n})\nexport class EmploymentBenefitsComponent {\n\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 <div class=\"employment-benefits--info\" > \r\n <h2 class=\"employment-benefits--title title--60 color--brown \">\r\n beneficios sociales\r\n </h2> \r\n </div>\r\n <div class=\"employment-benefits--list\" > \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n </div> \r\n </div> \r\n </div>\r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component, signal } 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 FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { tap } from 'rxjs';\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})\r\nexport class EmploymentFormComponent {\r\n form: FormGroup = this.fb.group({\r\n name: ['', [Validators.required]],\r\n phone: ['', [Validators.required]],\r\n lastname: ['', [Validators.required]],\r\n curriculum: ['', [Validators.required]],\r\n email: ['', [Validators.required, Validators.email]],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\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.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\r\n submitForm(): void {}\r\n}\r\n","<section class=\"employment-form--wrapper\">\r\n <div class=\"employment-form\">\r\n <h3 class=\"employment-form--title color--brown\">\r\n envíanos tu curriculum\r\n </h3>\r\n <form class=\"employment-form--form\" [formGroup]=\"form\">\r\n <div class=\"employment-form--form--wrapper\">\r\n <div class=\"employment-form--left\">\r\n <tent-input\r\n title=\"nombre\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-user\"\r\n [required]=\"true\"\r\n formControlName=\"name\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"teléfono\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-phone\"\r\n [required]=\"true\"\r\n formControlName=\"phone\"\r\n ></tent-input>\r\n </div>\r\n <div class=\"employment-form--right\">\r\n <tent-input\r\n title=\"apellidos\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-user\"\r\n [required]=\"true\"\r\n formControlName=\"lastname\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"email\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n icon=\"icon-envelope\"\r\n [required]=\"true\"\r\n formControlName=\"email\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"curriculum\"\r\n type=\"file\"\r\n placeholder=\"...\"\r\n icon=\"icon-envelope\"\r\n [required]=\"true\"\r\n formControlName=\"curriculum\"\r\n ></tent-input>\r\n </div>\r\n </div>\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 <span class=\"employment-form--conditions color--brown\"\r\n >he leído y\r\n <a\r\n class=\"employment-form--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=\"employment-form--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=\"employment-form--required--text\">\r\n <span class=\"employment-form--required\"></span>\r\n campos obligatorios\r\n </span>\r\n </div>\r\n\r\n <div class=\"employment-form--submit\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n label=\"enviar\"\r\n [disabled]=\"!isValid()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</section>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'tent-gallery-photos',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './gallery-photos.component.html',\r\n styleUrl: './gallery-photos.component.scss',\r\n})\r\nexport class GalleryPhotosComponent implements OnInit {\r\n @Input({ required: true }) items!: GalleryPhotosItem[];\r\n\r\n @Output() zoomClick: EventEmitter<void> = new EventEmitter();\r\n\r\n itemsOrdered: GalleryPhotosItem[][] = [];\r\n constructor(\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly dialog: MatDialog\r\n ) {}\r\n openModal(): void {\r\n this.zoomClick.emit();\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 = 'piscina exterior';\r\n dialogRef.componentInstance.images = [\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n ];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.splitArray();\r\n }\r\n\r\n splitArray(): void {\r\n const result: any[][] = [];\r\n let i = 0;\r\n\r\n while (i < this.items.length) {\r\n if (result.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\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\">\r\n <div class=\"gallery-photos--content wrapper-big\">\r\n <div class=\"gallery-photos--list\">\r\n @for (item of itemsOrdered; track $index) {\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()\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImageUrl(photo.image)\"\r\n ></figure>\r\n </div>\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 </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-holiday-house-info',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './holiday-house-info.component.html',\r\n styleUrl: './holiday-house-info.component.scss'\r\n})\r\nexport class HolidayHouseInfoComponent {\r\n\r\n}\r\n","<p>holiday-house-info works!</p>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-holiday-house-photos',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './holiday-house-photos.component.html',\r\n styleUrl: './holiday-house-photos.component.scss'\r\n})\r\nexport class HolidayHousePhotosComponent {\r\n\r\n}\r\n","<p>holiday-house-photos works!</p>\r\n","import { 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 { Image } 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})\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: Image;\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 ></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 ></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 { Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { Image } 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})\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?: Image;\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 wrapper-big module-spacer--bottom\">\r\n <div class=\"hotel-app--wrapper\">\r\n @if (title) {\r\n <header class=\"hotel-app--header\">\r\n <h2 class=\"color--camel hotel-app--title\">sobre nuestra</h2>\r\n @if (titleDark) {\r\n <h2 class=\"color--brown hotel-app--title\">app</h2>\r\n }\r\n </header>\r\n } @if (img) {\r\n <img class=\"hotel-app--image\" [src]=\"img.src\" [alt]=\"img.alt\" />\r\n } @if (description) {\r\n <p class=\"hotel-app--description\">\r\n {{ description }}\r\n </p>\r\n } @if (ndTitle) {\r\n <h3 class=\"hotel-app--nd-title\">{{ ndTitle }}</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 ></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 ></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 ></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</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\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})\r\nexport class HotelEquipmentComponent {\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 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 descubre el hotel\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 class=\"title--24 color--brown-70\">\r\n seguro médico\r\n </h3>\r\n } @if (item.icon) {\r\n <img\r\n [src]=\"item.icon\"\r\n [alt]=\"item.alt\"\r\n class=\"hotel-benefits--icon\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\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)=\"toggleCollapse1()\"\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 ></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 ></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 ></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 { 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})\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() linkAdress?: ButtonI;\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 ubicación\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 distancias\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\r\n class=\"hotel-location--icon\"\r\n [ngClass]=\"item.icon\"\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 ></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 ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"hotel-location--maps\">\r\n <a class=\"hotel-location--photo figure-content\" href=\"\">\r\n <figure class=\"figure-full\" [style]=\"getImageUrl\"></figure>\r\n </a>\r\n @if (linkAdress) {\r\n <ul class=\"hotel-location--list\">\r\n <li>\r\n <span class=\"hotel-location--icon icon-home\"></span>\r\n <span class=\"text\">\r\n {{ linkAdress.label }}\r\n </span>\r\n </li>\r\n </ul>\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 { Component } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-hotels-list',\r\n standalone: true,\r\n imports: [CommonModule,ButtonComponent],\r\n templateUrl: './hotels-list.component.html',\r\n styleUrl: './hotels-list.component.scss'\r\n})\r\nexport class HotelsListComponent {\r\n collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n}\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 <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\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 <h3 class=\"module-info--title title--80 color--camel\">\r\n conoce otra forma de alojarte\r\n <span class=\"color--brown\"\r\n >y descubre nuestros destinos\r\n </span>\r\n </h3>\r\n <div class=\"module-info--des\">\r\n <p class=\"text\">\r\n many desktop publishing packages and web page editors\r\n now use Lorem Ipsum as their default model text, and a\r\n search for 'lorem ipsum' will uncover many web sites\r\n still in their infancy various versions have evolved\r\n over the years sometimes.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component, Input, OnInit } 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\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})\r\nexport class InfoSliderComponent implements OnInit {\r\n @Input() theme?: string = '';\r\n @Input() infoalign?: string = 'info-right';\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 collapsed1 = true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\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","<section class=\"info-slider module-spacer--bottom \" [ngClass]=\"[theme]\"> \r\n <div class=\"info-slider--content wrapper-big\"> \r\n <div class=\"info-slider--box\" [ngClass]=\"[infoalign]\"> \r\n <owl-carousel-o class=\"info-slider--slider slider-circle--center figure-sticky\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"info-slider--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/f04677/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n <ng-template carouselSlide> \r\n <div class=\"info-slider--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/f04677/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n </owl-carousel-o> \r\n <div class=\"info-slider--info\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <div class=\"info-slider--info--inner\" > \r\n <h2 class=\"location-beach--info--title title--60 color--brown \">\r\n título ejemplo \r\n </h2> \r\n <div class=\"info-slider--info--des\" >\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n <div class=\"info-slider--btns\"> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n </div> \r\n </div> \r\n \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 { Component } 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\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})\r\nexport class LocationBeachComponent {\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: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>'],\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 toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n } \r\n}\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 <owl-carousel-o class=\"location-beach--slider slider-circle--center figure-sticky\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"location-beach--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/DAB38D/fff'); \" ></figure>\r\n <tent-badge\r\n class=\"location-beach--badget \"\r\n [rounded]=\"true\"\r\n label=\"arenal\"></tent-badge>\r\n </div> \r\n </ng-template> \r\n <ng-template carouselSlide> \r\n <div class=\"location-beach--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/82ECC8/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n </owl-carousel-o> \r\n <div class=\"location-beach--info\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <div class=\"location-beach--info--inner\" > \r\n <h2 class=\"location-beach--info--title title--60 color--brown \">\r\n playa de palma\r\n </h2> \r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n distancias\r\n </h3> \r\n <ul class=\"location-beach--info--icons\" >\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n </ul> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <div class=\"location-beach--info--des\" >\r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n </div> \r\n <div class=\"location-beach--info--btns\" >\r\n <tent-button class=\"btn-book\" type=\"dark-box\" label=\"descubre playa de palma\"></tent-button>\r\n </div> \r\n </div> \r\n </div>\r\n </div>\r\n \r\n </div>\r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\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})\r\nexport class LocationHowComponent {\r\n tabActive = 'tab1'; \r\n collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n viewTab(tabActive:string): void {\r\n this.tabActive = tabActive; \r\n }\r\n}\r\n","<section class=\"location-how module-spacer--bottom\"> \r\n <div class=\"location-how--content wrapper-big\"> \r\n <div class=\"location-how--maps figure-sticky\">\r\n <div class=\"location-how--photo figure-content\">\r\n <figure class=\"figure-full\"\r\n style=\" background-image: url(/assets/tent/img/location.jpg);\" ></figure> \r\n </div> \r\n </div>\r\n <div class=\"location-how--inner\" [ngClass]=\"[tabActive]\">\r\n <h3 class=\"location-how--tit title--60 color--brown\">\r\n cómo llegar\r\n </h3> \r\n <ul class=\"location-how--icons\">\r\n <li> \r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-plane icon-\" (click)=\"viewTab('tab1')\"></span> \r\n </li>\r\n <li> \r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-bus\" (click)=\"viewTab('tab2')\"></span> \r\n </li>\r\n <li>\r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-bus-stop\" (click)=\"viewTab('tab3')\"></span> \r\n </li>\r\n <li>\r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-car\" (click)=\"viewTab('tab4')\"></span> \r\n </li>\r\n \r\n </ul>\r\n <div class=\"location-how--infor\" [ngClass]=\"collapsed1 ? 'close' : 'open'\">\r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el aeropuerto\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div>\r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el tren\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div> \r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el bus\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div> \r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el coche\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n </div>\r\n \r\n </div>\r\n </div> \r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } 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})\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","<section class=\"location-map module-spacer--bottom\">\r\n <div class=\"location-map--content wrapper-big\">\r\n <div class=\"location-map--maps\">\r\n <a class=\"location-map--photo figure-content\" href=\"\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"background-image: url(/assets/tent/img/mapa.jpg)\"\r\n ></figure>\r\n </a>\r\n </div>\r\n <div class=\"location-map--inner\">\r\n <h3 class=\"location-map--tit title--30 color--brown-70\">\r\n tent\r\n <span class=\"color--brown-70\"> capi playa</span>\r\n </h3>\r\n <ul class=\"location-map--list\">\r\n <li>\r\n <span class=\"location-map--icon icon-home\"></span>\r\n <span class=\"text\">\r\n carrer Cost a Brava, 4 <br />\r\n 07610 Mallorca - Playa de Palma <br />\r\n España\r\n </span>\r\n </li>\r\n <li>\r\n <span class=\"location-map--icon icon-phone-2\"></span>\r\n <a href=\"tel:+34 971 746 100\" class=\"text link\"\r\n >+34 971 746 100\r\n </a>\r\n </li>\r\n <li>\r\n <span class=\"location-map--icon icon-envelope\"></span>\r\n <a href=\"mailto:capiplayatenthotels.com\" class=\"text link\"\r\n >capiplayatenthotels.com</a\r\n >\r\n </li>\r\n </ul>\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\">registro H/425</p>\r\n </li>\r\n </ul>\r\n <div class=\"location-map--btns\">\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box\"\r\n label=\"cómo llegar +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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})\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 Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { GoogleMap, GoogleMapsModule } from '@angular/google-maps';\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})\r\nexport class ModuleGoogleMapsComponent implements OnInit, AfterViewInit {\r\n @ViewChild('googleMap') googleMaps!: GoogleMap;\r\n @ViewChild('googleMap', { read: ElementRef })\r\n googleMapsElement!: ElementRef;\r\n @Input() markers?: GoogleMarker[];\r\n @Input() apiKey?: string;\r\n\r\n // scriptLoaded$!: Observable<boolean>;\r\n // scriptLoaded = false;\r\n\r\n existingScript?: boolean;\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 ngOnInit(): void {\r\n // this.existingScript = document.getElementById('maps') !== null;\r\n // this.scriptLoaded$ = this.loadScript();\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 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.addCustomMarkers();\r\n }\r\n }\r\n\r\n // loadScript(): Observable<boolean> {\r\n // if (this.scriptLoaded || this.existingScript) {\r\n // return of(true);\r\n // }\r\n\r\n // const script = document.createElement('script');\r\n // script.src = `https://maps.googleapis.com/maps/api/js?key=${this.apiKey}&loading=async`;\r\n // script.async = true;\r\n // script.id = 'maps';\r\n // script.defer = true;\r\n\r\n // document.head.appendChild(script);\r\n\r\n // return fromEvent(script, 'load').pipe(\r\n // switchMap(() => {\r\n // this.scriptLoaded = true;\r\n // return of(true);\r\n // }),\r\n // catchError((error) => {\r\n // return throwError(\r\n // () => new Error('Error loading Google Maps script')\r\n // );\r\n // })\r\n // );\r\n // }\r\n\r\n addCustomMarkers() {\r\n this.markers?.forEach((data) => {\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 const customMarker = new google.maps.OverlayView();\r\n customMarker.onAdd = function () {\r\n const panes = this.getPanes();\r\n panes?.overlayLayer.appendChild(markerDiv);\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 markerDiv.style.left = position?.x + 'px';\r\n markerDiv.style.top = position?.y + 'px';\r\n };\r\n customMarker.setMap(this.map);\r\n });\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}\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]=\"markers?.[0]!.position\"\r\n [zoom]=\"12\"\r\n >\r\n </google-map>\r\n</section>\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-module-search',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './module-search.component.html',\r\n styleUrl: './module-search.component.scss',\r\n})\r\nexport class ModuleSearchComponent {\r\n @Input() theme?: string;\r\n hotels = [\r\n {\r\n img: '/assets/tent/img/tent_palmanova.png',\r\n title: 'tent capi playa',\r\n address:\r\n 'carrer Cost a Brava, 4 <br> 07610 Mallorca - Playa de Palma <br> España',\r\n\r\n contactLinks: [\r\n {\r\n label: '+34 971 756 100',\r\n url: 'tel:+34971756100',\r\n linkType: 'external',\r\n },\r\n {\r\n label: 'capiplaya@tenthotels.com',\r\n url: 'mail:capiplaya@tenthotels.com',\r\n linkType: 'external',\r\n },\r\n ],\r\n links: [\r\n {\r\n label: 'ver hotel',\r\n url: '',\r\n linkType: 'internal',\r\n },\r\n ],\r\n },\r\n {\r\n img: '/assets/tent/img/tent_palmanova.png',\r\n title: 'tent cost',\r\n address:\r\n 'carrer Cost a Brava, 4 <br> 07610 Mallorca - Playa de Palma <br> España',\r\n\r\n contactLinks: [\r\n {\r\n label: '+34 971 756 100',\r\n url: 'tel:+34971756100',\r\n linkType: 'external',\r\n },\r\n {\r\n label: 'costplaya@tenthotels.com',\r\n url: 'mail:capiplaya@tenthotels.com',\r\n linkType: 'external',\r\n },\r\n ],\r\n links: [\r\n {\r\n label: 'ver hotel',\r\n url: '',\r\n linkType: 'internal',\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n itemsToShow: (typeof this.hotels)[0][] = [];\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 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","<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 <p class=\"module-search--title color--brown\">\r\n busca un hotel para contactar directamente\r\n </p>\r\n\r\n <div class=\"module-search--input--wrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"module-search--input\"\r\n placeholder=\"...\"\r\n (input)=\"search($event)\"\r\n />\r\n <span\r\n class=\"module-search--input--icon\"\r\n [ngClass]=\"\r\n theme === 'theme-laundry'\r\n ? 'icon-pointer-down'\r\n : 'icon-search'\r\n \"\r\n ></span>\r\n </div>\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 <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 <div class=\"module-search--item--content\">\r\n <div class=\"module-search--item--header\">\r\n <p class=\"module-search--item--title color--brown\">\r\n {{ item.title }}\r\n </p>\r\n <p\r\n class=\"module-search--item--address\"\r\n [innerHTML]=\"item.address\"\r\n ></p>\r\n </div>\r\n @if (theme !== 'theme-laundry') {\r\n <div class=\"module-search--item--links\">\r\n @for (link of item.contactLinks; track $index) {\r\n <a class=\"link\" [href]=\"link.url\" target=\"_blank\">\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 <div class=\"module-search--footer\">\r\n <p class=\"module-search--footer--title\">horario</p>\r\n <p class=\"module-search--footer--description\">\r\n Todos los días de 08.00 a 23.00h\r\n </p>\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 { Component } 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\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})\r\nexport class OfferListComponent {\r\n collapsed1 = true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n\r\n offer: OfferI = {\r\n badge: {\r\n label: 'Mallorca, all destinations',\r\n },\r\n image: '/assets/tent/img/offer1.jpg',\r\n badgePrice: {\r\n label: 'tent hotels',\r\n },\r\n title: 'reservar por la web tiene muchas ventajas',\r\n priceLabel: 'desde',\r\n price: '250',\r\n currency: '€',\r\n buttons: [\r\n {\r\n type: 'dark-link',\r\n label: 'más información +',\r\n url: '/promo-detail',\r\n icon: '',\r\n linkType: 'internal',\r\n },\r\n {\r\n type: 'dark-box-filled',\r\n label: 'reservar ahora +',\r\n url: '',\r\n icon: '',\r\n linkType: 'internal',\r\n },\r\n ],\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 <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 ></tent-offer>\r\n </div>\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 ></tent-offer>\r\n </div>\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 ></tent-offer>\r\n </div>\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 ></tent-offer>\r\n </div>\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 <h3 class=\"offer-ours--title title--80 color--camel\">\r\n nuestras <span class=\"color--brown\">ofertas</span>\r\n </h3>\r\n <div\r\n class=\"offer-ours--des\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <p class=\"text\">\r\n many desktop publishing packages and web page editors\r\n now use Lorem Ipsum as their default model text, and a\r\n search for 'lorem ipsum' will uncover many web sites\r\n still in their infancy various versions have evolved\r\n over the years sometimes.\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n\r\n <div class=\"offer-ours--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\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 { Component } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\n@Component({\r\n selector: 'tent-offer-details',\r\n standalone: true,\r\n imports: [CommonModule,ButtonComponent,BadgeComponent],\r\n templateUrl: './offer-details.component.html',\r\n styleUrl: './offer-details.component.scss'\r\n})\r\nexport class OfferDetailsComponent {\r\n \r\n conditionActive =true; \r\n collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n toggleConditions(): void {\r\n this.conditionActive = !this.conditionActive; \r\n }\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 <div class=\"offer-detail--photo figure-content\">\r\n <figure class=\"figure-full\"\r\n style=\" background-image: url(/assets/tent/img/offer1.jpg);\" ></figure> \r\n </div> \r\n <tent-badge\r\n class=\"offer-detail--picture--badget \"\r\n [rounded]=\"true\"\r\n label=\"Mallorca, all destinations\"></tent-badge>\r\n\r\n </div>\r\n <div class=\"offer-detail--inner\" >\r\n <h2 class=\"offer-detail--tit title--60 color--brown\">\r\n reservar por la web tiene muchas ventajas\r\n título ejemplo \r\n </h2> \r\n <tent-badge\r\n class=\"offer-detail--inner--badget \"\r\n [rounded]=\"true\"\r\n label=\"tent capi playa\"></tent-badge>\r\n\r\n <div class=\"offer-detail--info\"[ngClass]=\"collapsed1 ? 'close' : 'open'\">\r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n <div class=\"offer-detail--info--btns\"> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n </div> \r\n </div> \r\n <div class=\"offer-detail--conditions\" [ngClass]=\"conditionActive ? 'close' : 'open'\"> \r\n <div class=\"offer-detail--conditions--box\" > \r\n <h3 class=\"offer-detail--conditions--subtit subtitle color--brown-70\">condiciones </h3>\r\n <ul class=\"offer-detail--conditions--list\"> \r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n </ul> \r\n </div> \r\n <div class=\"offer-detail--conditions--btns\"> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"mostrar condiciones +\" (click)=\"toggleConditions()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ocultar condiciones\" (click)=\"toggleConditions()\"></tent-button>\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 <span class=\"title--18 color--brown\">desde</span>\r\n <p class=\"title--42 color--brown\">250<span class=\"title--32\">€</span></p>\r\n </div> \r\n </div>\r\n <div class=\"offer-detail--prices--btns\"> \r\n <tent-button type=\"dark-box-filled\" label=\"reservar ahora +\"></tent-button> \r\n </div> \r\n </div> \r\n </div>\r\n </div> \r\n</section>\r\n\r\n\r\n ","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Output } 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})\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 ></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 { Component } 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\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})\r\nexport class ServicesDetailsComponent {\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: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>'],\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 toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n } \r\n}\r\n","<section class=\"services-details module-spacer--bottom\">\r\n <div class=\"services-details--content wrapper-big\"> \r\n \r\n <div class=\"services-details--inner\"> \r\n <h2 class=\"services-details--title title--60 color--brown \">\r\n nuestros servicios\r\n </h2>\r\n <div class=\"services-details--items\"> \r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\"> many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\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 { 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})\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]=\"{ 'submenu--link--selected': selected === link }\"\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 { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-thanks',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './thanks.component.html',\r\n styleUrl: './thanks.component.scss'\r\n})\r\nexport class ThanksComponent {\r\n\r\n}\r\n","<div class=\"thanks\">\r\n <div class=\"thanks--left-slot\"></div>\r\n <div class=\"thanks--right-slot\">\r\n <p class=\"thanks--title\">gracias!</p>\r\n\r\n <div class=\"thanks--footer\">\r\n <p class=\"thanks--subtitle\">\r\n su petición se ha enviado correctamente\r\n </p>\r\n <p class=\"thanks--description\">\r\n En la mayor brevedad posible nos pondremos en contacto con\r\n usted.\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'tent-webmap',\n standalone: true,\n imports: [],\n templateUrl: './webmap.component.html',\n styleUrl: './webmap.component.scss'\n})\nexport class WebmapComponent {\n\n}\n"," \r\n<section class=\"webmap bg-beige\"> \r\n <div class=\"webmap--content \"> \r\n <div class=\"webmap--inner\"> \r\n <h3 class=\"webmap--title title--30 color--brown-70 \">\r\n mapa web\r\n </h3> \r\n <ul class=\"webmap--list\">\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n </ul>\r\n </div> \r\n </div> \r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\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})\r\nexport class GalleryCategoryComponent {\r\n @Input() rooms!: boolean;\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<GalleryCategoryComponent>,\r\n private readonly dialog: MatDialog\r\n ) {}\r\n\r\n itemClicked(rooms?: boolean): void {\r\n if (rooms) {\r\n const dialogRef = this.dialog.open(GalleryCategoryComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'modal-bg-bage'],\r\n hasBackdrop: true,\r\n });\r\n\r\n dialogRef.componentInstance.rooms = true;\r\n this.closeModal();\r\n } else {\r\n this.closeModal();\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n openRoomModal(): void {}\r\n}\r\n","<div class=\"gallery-category\">\r\n <div class=\"gallery-category--header\">\r\n <p class=\"color--brown\">\r\n galería <br />\r\n de habitaciones\r\n </p>\r\n\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"closeModal()\"\r\n ></tent-button>\r\n </div>\r\n <ul class=\"gallery-category--list\">\r\n @if (rooms) {\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitación doble\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> open sky bubble\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitación doble\r\n vista mar\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitación doble con\r\n terraza privada & jacuzzi\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n } @else {\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> todas\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> hotel\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked(true)\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitaciones\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> brunch\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> video\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n }\r\n </ul>\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 {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatDialog } from '@angular/material/dialog';\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\nimport { GalleryCategoryComponent } from '../modals/gallery-category/gallery-category.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?: ButtonI[];\r\n @Input() linkMaps?: ButtonI;\r\n @Input() linkBack?: ButtonI;\r\n\r\n @Output() filterChange = new EventEmitter<DropdownOption>();\r\n\r\n galleryFilterSelected!: GalleryFilterOption;\r\n\r\n constructor(private readonly dialog: MatDialog) {}\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\r\n if (option.rooms) {\r\n this.openCategoryRoomModal();\r\n }\r\n }\r\n\r\n openGalleryCategoryModal(): void {\r\n const dialogRef = this.dialog.open(GalleryCategoryComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'modal-bg-bage'],\r\n hasBackdrop: true,\r\n });\r\n\r\n const closeEvent = new EventEmitter();\r\n\r\n dialogRef.componentInstance.rooms = false;\r\n }\r\n\r\n openCategoryRoomModal(): void {\r\n const dialogRef = this.dialog.open(GalleryCategoryComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'modal-bg-bage'],\r\n hasBackdrop: true,\r\n });\r\n\r\n dialogRef.componentInstance.rooms = true;\r\n }\r\n}\r\n\r\nexport interface GalleryFilterOption {\r\n id: string;\r\n label: string;\r\n rooms?: boolean;\r\n allCategories?: boolean;\r\n videoSrc?: string;\r\n}\r\n","<section class=\"generic-head-module\">\r\n <div class=\"wrapper-big\">\r\n <div class=\"generic-head\">\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>\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 (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 filter.id) {\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 }\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 categorías\r\n </span>\r\n <span\r\n class=\"generic-head--gallery-btn--icon icon-menu\"\r\n ></span>\r\n </div>\r\n <div\r\n class=\"generic-head--gallery-btn\"\r\n (click)=\"openCategoryRoomModal()\"\r\n >\r\n <span class=\"generic-head--gallery-btn--text\">\r\n habitaciones\r\n </span>\r\n <span\r\n class=\"generic-head--gallery-btn--icon icon-menu\"\r\n ></span>\r\n </div>\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 ></tent-button>\r\n } @if (linkMaps) {\r\n <a class=\"generic-head--location\" [href]=\"linkMaps.url\">\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 ></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 { Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { Image } 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})\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?: Image;\r\n @Input() video?: Image;\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=\"brunch\">\r\n @if (video || image) {\r\n <div class=\"brunch--video-wrapper\">\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\" />\r\n }\r\n </div>\r\n }\r\n <div class=\"brunch--content-wrapper\">\r\n @if (title) {\r\n <h2 class=\"brunch--title color--brown\">{{ title }}</h2>\r\n } @if (description) {\r\n <p class=\"brunch--description\">\r\n {{ description }}\r\n </p>\r\n } @if (showMore && additionalDescription) {\r\n <p class=\"brunch--description\">\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 >\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 >\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 <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","import { 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})\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\r\n class=\"brunch-gallery wrapper-big module-spacer--bottom brunch-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 } @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\r\n class=\"brunch-gallery--title title--54 color--camel title-desktop\"\r\n >\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/holiday-house-info/holiday-house-info.component';\r\nexport * from './lib/components/core/holiday-house-photos/holiday-house-photos.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\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\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/location-map.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\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"],"mappings":"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EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EA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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/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/pipes/currency.pipe.ts","../../../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/holiday-house-info/holiday-house-info.component.ts","../../../projects/tent/src/lib/components/core/holiday-house-info/holiday-house-info.component.html","../../../projects/tent/src/lib/components/core/holiday-house-photos/holiday-house-photos.component.ts","../../../projects/tent/src/lib/components/core/holiday-house-photos/holiday-house-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/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/generic-head/generic-head.component.ts","../../../projects/tent/src/lib/components/core/generic-head/generic-head.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 = 'internal';\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() target?: string = '_self';\r\n @Input() closeButton?: boolean;\r\n @Input() disabled?: boolean;\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 ngOnInit(): void {\r\n this.target = this.target ?? '_self';\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) {\r\n<a\r\n [href]=\"url\"\r\n [routerLink]=\"isInternalLink ? [url] : null\"\r\n [target]=\"target\"\r\n (click)=\"btnClicked($event)\"\r\n>\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n</a>\r\n} @else {\r\n<ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n} }\r\n\r\n<ng-template #button>\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 <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 >\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 </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 >\r\n @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 </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 @if(type === 'dark-link' || type === 'light-link') { @if(icon &&\r\n 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 </p>\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 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 [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 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() 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\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(private readonly renderer: Renderer2) {}\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 this.options.forEach((option) => {\r\n if (!option.subcategories?.length) {\r\n }\r\n });\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 }\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 }\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}\r\n","<div\r\n class=\"dropdown--wrapper\"\r\n [ngClass]=\"{\r\n 'dropdown--wrapper--light': light,\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 >\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","import {\r\n ChangeDetectionStrategy,\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\nimport { CommonModule } from '@angular/common';\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 changeDetection: ChangeDetectionStrategy.OnPush,\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';\r\n @Input() value = '';\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() isDisabled = false;\r\n\r\n @Output() change = new EventEmitter<string | File[]>();\r\n\r\n onChange = (_: string | File[]) => {};\r\n onTouch = () => {};\r\n\r\n onInputChange(event: Event): void {\r\n const inputElement = event.target as HTMLInputElement;\r\n\r\n if (this.type === 'file') {\r\n const files = inputElement.files;\r\n if (files && files.length > 0) {\r\n this.fileChange(files); // 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): void {\r\n this.value = value;\r\n this.onTouch();\r\n this.onChange(value);\r\n this.change.emit(value);\r\n }\r\n\r\n fileChange(files: FileList): void {\r\n const fileArray = Array.from(files);\r\n this.onChange(fileArray);\r\n this.onTouch();\r\n this.change.emit(fileArray);\r\n }\r\n\r\n //Control value accessor\r\n\r\n writeValue(value: string): void {\r\n if (value !== undefined) {\r\n if (this.type === 'file') {\r\n // Maneja archivos si es necesario\r\n } else {\r\n this.value = value ?? '';\r\n }\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=\"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\">\r\n <input\r\n class=\"input\"\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [value]=\"value\"\r\n [placeholder]=\"placeholder ?? ''\"\r\n (input)=\"onInputChange($event)\"\r\n />\r\n @if (icon) {\r\n <span class=\"input--icon\" [ngClass]=\"icon\"></span>\r\n }\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\nimport { 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})\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 { Component, EventEmitter, Input, OnInit, Output } 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})\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 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 { Component, Input, ViewChild } 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})\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 { 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})\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 { 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})\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 { 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})\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 class=\"footer-b--logo\" [href]=\"logo.url\" target=\"_blank\">\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 >\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 [href]=\"link.url\" class=\"link-regular color--brown\">\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 }\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 >\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 >\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 ></tent-button>\r\n </div>\r\n }\r\n</footer>\r\n","import { CommonModule, Location } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\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})\r\nexport class HotelListModalComponent {\r\n collapsed = [true, true, true];\r\n\r\n constructor(private readonly location: Location) {}\r\n\r\n elementClicked(event: Event): void {\r\n event.preventDefault();\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","<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 [closeButton]=\"true\"\r\n (btnClick)=\"back()\"\r\n ></tent-button>\r\n </div>\r\n <div class=\"hotel-list--btn\">\r\n <tent-button\r\n type=\"dark-box\"\r\n label=\"ver todos los hoteles\"\r\n boxWidth=\"308px\"\r\n url=\"/hotels-list\"\r\n linktype=\"internal\"\r\n [closeButton]=\"true\"\r\n class=\"hotel-list--main-button\"\r\n ></tent-button>\r\n </div>\r\n\r\n <div class=\"hotel-list--content\">\r\n <div class=\"hotel-list--container\">\r\n <a\r\n (click)=\"elementClicked($event)\"\r\n href=\"destiny\"\r\n [routerLink]=\"['/destiny']\"\r\n class=\"hotel-list--container--title\"\r\n >mallorca</a\r\n >\r\n <div class=\"hotel-list--row\">\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">playa de palma</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent capi playa\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n tent playa de palma\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent bahía de palma\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">palmanova</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent capi playa\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent palmanova\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">magaluf</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent calvia beach\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent mojito suites\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">alcudia</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent alcudia</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <a\r\n (click)=\"elementClicked($event)\"\r\n href=\"destiny\"\r\n [routerLink]=\"['/destiny']\"\r\n class=\"hotel-list--container--title\"\r\n >girona</a\r\n >\r\n <div class=\"hotel-list--row\">\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">lloret de mar</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent lloret de mar\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">figueras</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent figueras</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <a\r\n (click)=\"elementClicked($event)\"\r\n href=\"destiny\"\r\n [routerLink]=\"['/destiny']\"\r\n class=\"hotel-list--container--title\"\r\n >málaga</a\r\n >\r\n <div class=\"hotel-list--row\">\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">torremolinos</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >\r\n tent torremolinos\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">marbella</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent marbella</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">estepona</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent estepona</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">nerja</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent nerja</a\r\n >\r\n <a\r\n href=\"/hotel\"\r\n [routerLink]=\"['/hotel']\"\r\n (click)=\"elementClicked($event)\"\r\n class=\"hotel-list--column--element\"\r\n >tent random</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--content--mobile\">\r\n <p class=\"hotel-list--title color--camel\">hoteles y destinos</p>\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed(0)\"\r\n >\r\n <p class=\"hotel-list--container--title\">mallorca</p>\r\n <tent-button\r\n [ngClass]=\"collapsed[0] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n ></tent-button>\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"collapsed[0] ? 'hotel-list--row--collapsed' : ''\"\r\n >\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">playa de palma</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent capi playa</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a\r\n href=\"/hotel\"\r\n class=\"hotel-list--column--element hotel-list--column--element--selected\"\r\n >\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent playa de palma</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent bahía de palma</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">palmanova</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent capi playa</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent palmanova</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">magaluf</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent calvia beach</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent mojito suites</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">alcudia</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent alcudia</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n label=\"ver destino\"\r\n url=\"destiny\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed(1)\"\r\n >\r\n <p class=\"hotel-list--container--title\">girona</p>\r\n <tent-button\r\n [ngClass]=\"collapsed[1] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n ></tent-button>\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"collapsed[1] ? 'hotel-list--row--collapsed' : ''\"\r\n >\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">lloret del mar</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>lloret del mar</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">figueras</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent figueras</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n label=\"ver destino\"\r\n url=\"destiny\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"hotel-list--container\">\r\n <div\r\n class=\"hotel-list--container--title--wrapper\"\r\n (click)=\"toggleCollapsed(2)\"\r\n >\r\n <p class=\"hotel-list--container--title\">malaga</p>\r\n <tent-button\r\n [ngClass]=\"collapsed[2] ? 'collapsed' : ''\"\r\n icon=\"icon-signal-up\"\r\n class=\"hotel-list--button-collapse\"\r\n type=\"dark-circle\"\r\n ></tent-button>\r\n </div>\r\n <div\r\n class=\"hotel-list--row\"\r\n [ngClass]=\"collapsed[2] ? 'hotel-list--row--collapsed' : ''\"\r\n >\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">torremolinos</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent torremolinos</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">marbella</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent marbella</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n <div class=\"hotel-list--column\">\r\n <div class=\"hotel-list--column--header\">\r\n <p class=\"hotel-list--column--title\">nerja</p>\r\n </div>\r\n <div class=\"hotel-list--column--content\">\r\n <a href=\"\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent nerja</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n <a href=\"/hotel\" class=\"hotel-list--column--element\">\r\n <img src=\"/assets/tent/img/image50x50.png\" alt=\"\" />\r\n <div class=\"hotel-list--column--text\">\r\n <span>tent tent random</span>\r\n <span\r\n class=\"hotel-list--column--element--icon icon-pointer-right\"\r\n >\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <tent-button\r\n class=\"hotel-list--row--button\"\r\n type=\"dark-box\"\r\n label=\"ver destino\"\r\n url=\"destiny\"\r\n linkType=\"internal\"\r\n boxWidth=\"190px\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } 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})\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() 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 <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 >\r\n <img class=\"header--logo\" [src]=\"logo\" alt=\"\" />\r\n </a>\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 >{{ navLink.label }}</a\r\n >\r\n }\r\n </div>\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 </div>\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 >\r\n <mat-icon\r\n class=\"color--brown icon-phone\"\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 <a (click)=\"booksClick.emit()\" class=\"link color--brown header--books\">\r\n {{ rightButtons.books.label }}\r\n </a>\r\n } @if (rightButtons.newsletter) {\r\n <a 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 </a>\r\n } @if (rightButtons.languages) {\r\n <a\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></a\r\n >\r\n\r\n }\r\n\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 @if (rightButtons.checkin) {\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 }\r\n\r\n <div\r\n class=\"header--btn-book\"\r\n [ngClass]=\"{ 'header--btn-book--scrolled': scrolled }\"\r\n >\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n (btnClick)=\"openMotor()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n</nav>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\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})\r\nexport class HeaderMobileComponent {\r\n @Input() checkinLabel?: string;\r\n @Input() btnBook!: ButtonI;\r\n @Input() phoneLink?: RightBtn;\r\n @Output() checkinClick = new EventEmitter<void>();\r\n @Output() motorClick = new EventEmitter<void>();\r\n constructor(private readonly dialog: MatDialog) {}\r\n\r\n openMotor(): void {\r\n this.motorClick.emit();\r\n // const dialogRef = this.dialog.open(MotorComponent, {\r\n // width: '100vw',\r\n // height: '100vh',\r\n // maxWidth: '100vw',\r\n // panelClass: ['full-screen', 'motor'],\r\n // hasBackdrop: true,\r\n // });\r\n\r\n // const closeEvent = new EventEmitter();\r\n\r\n // closeEvent.subscribe(() => {\r\n // dialogRef.close();\r\n // });\r\n\r\n // dialogRef.componentInstance.close = closeEvent;\r\n\r\n // dialogRef.componentInstance.modal = true;\r\n }\r\n}\r\n","@if(checkinLabel) {\r\n<div class=\"header-mobile--check-in\" (click)=\"checkinClick.emit()\">\r\n <span class=\"color--white\">check-in online</span>\r\n</div>\r\n}\r\n<nav class=\"header-mobile\">\r\n <tent-button\r\n (btnClick)=\"openMotor()\"\r\n type=\"dark-box-filled\"\r\n [label]=\"btnBook.label\"\r\n ></tent-button>\r\n @if (phoneLink) {\r\n <a class=\"header-mobile--phone-link\" [href]=\"phoneLink.url\">\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 { 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})\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 (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 ></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 { Component, Input, OnInit } 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})\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 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 image: string;\r\n title: string;\r\n description: string;\r\n ndTitle?: string;\r\n badge: BadgeI;\r\n buttons: ButtonI[];\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 ></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 { Component, EventEmitter, Input, OnInit, Output } 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})\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: string[] = [];\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);\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] = option.name;\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?: string[];\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 }}{{ kid + 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 ></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 ></tent-button>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DialogModule } from 'primeng/dialog';\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 { GuestsPopupI } from '../../../interfaces/core/guests-popup.interface';\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 {\r\n GuestsPopupComponent,\r\n GuestsValue,\r\n} 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 providers: [],\r\n})\r\nexport class MotorComponent implements OnInit, OnDestroy {\r\n @Input() date!: motorDate;\r\n @Input() modal = false;\r\n @Input() title?: string;\r\n @Input() subtitle?: string;\r\n @Input() dropdown!: DropdownI;\r\n @Input() promoInput!: InputI;\r\n @Input() guestsInput!: InputI;\r\n @Input() btnSubmit!: ButtonI;\r\n @Input() guestsPopup!: GuestsPopupI;\r\n\r\n @Output() submit = new EventEmitter<MotorValue>();\r\n @Output() close = new EventEmitter<void>();\r\n\r\n motorForm!: FormGroup;\r\n dialogVisible = false;\r\n dialogReady = false;\r\n guestsValue?: GuestsValue;\r\n\r\n isComponent = false;\r\n\r\n constructor(private readonly formBuilder: FormBuilder) {}\r\n\r\n ngOnInit(): void {\r\n this.motorForm = this.formBuilder.group({\r\n hotel: [],\r\n date: [],\r\n guests: [''],\r\n promo: [''],\r\n });\r\n\r\n this.isComponent = document\r\n .getElementsByTagName('tent-motor')[0]\r\n .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 document\r\n .getElementsByTagName('tent-motor')[0]\r\n .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 btnClicked(): void {\r\n if (!this.guestsValue) {\r\n this.guestsValue = {\r\n totalGuests: 0,\r\n adults: 0,\r\n kids: 0,\r\n babys: 0,\r\n kidsAges: [],\r\n };\r\n }\r\n this.submit.emit({\r\n formValue: this.motorForm.value,\r\n guestValue: this.guestsValue,\r\n });\r\n\r\n if (this.modal) {\r\n this.closeDialog();\r\n }\r\n }\r\n\r\n changeInput(event: any): void {\r\n this.promoInput.value = event.target.value;\r\n }\r\n\r\n togglePopup(): void {\r\n this.dialogVisible = !this.dialogVisible;\r\n\r\n if (!this.modal) {\r\n this.close.emit();\r\n }\r\n }\r\n\r\n closeDialog(): void {\r\n this.toggleMotorDialogReady();\r\n }\r\n\r\n closeModal(): void {\r\n this.close.emit();\r\n }\r\n\r\n toggleMotorDialogReady(): void {\r\n this.dialogReady = !this.dialogReady;\r\n }\r\n\r\n guestsChange(guests: GuestsValue) {\r\n this.guestsInput.value =\r\n guests.totalGuests < 10\r\n ? '0' + guests.totalGuests.toString()\r\n : guests.totalGuests.toString();\r\n\r\n this.guestsValue = guests;\r\n\r\n this.motorForm.get('guests')?.setValue(this.guestsInput.value);\r\n\r\n this.togglePopup();\r\n }\r\n}\r\n\r\nexport interface motorInput {\r\n title: string;\r\n icon: string;\r\n placeholder?: string;\r\n value: string;\r\n}\r\n\r\nexport interface motorDate {\r\n value: [Date, Date];\r\n title: string;\r\n icon: string;\r\n}\r\n\r\nexport interface MotorValue {\r\n formValue: any;\r\n guestValue: GuestsValue;\r\n}\r\n","<div\r\n class=\"motor--wrapper\"\r\n [ngClass]=\"{\r\n 'motor--wrapper--modal': modal,\r\n 'motor--wrapper--centered': modal && dialogVisible\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 ></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 }\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\r\n <!--Dropdown input-->\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?.length) {\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 <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"motor--input--icon\"\r\n [ngClass]=\"guestsInput.icon\"\r\n ></mat-icon>\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 <!--Promo input-->\r\n <div\r\n class=\"motor--input--wrapper flex-row flex-row--between\"\r\n [ngClass]=\"{ 'motor--input--wrapper--left': !modal }\"\r\n >\r\n <div class=\"motor--input--content\">\r\n @if (promoInput.value?.length) {\r\n <p class=\"motor--input--title\">{{ promoInput.placeholder }}</p>\r\n }\r\n <input\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 <mat-icon\r\n fontSet=\"icomoon\"\r\n class=\"motor--input--icon\"\r\n [ngClass]=\"promoInput.icon\"\r\n ></mat-icon>\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 ></tent-button>\r\n </div>\r\n </form>\r\n</div>\r\n","import { Component, Input } 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\n@Component({\r\n selector: 'tent-offer',\r\n standalone: true,\r\n imports: [ButtonComponent, BadgeComponent, RouterModule],\r\n templateUrl: './offer.component.html',\r\n styleUrl: './offer.component.scss',\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 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 }\r\n}\r\n","<section class=\"offer-box\">\r\n <a\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\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 ></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 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 { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-offer-banner',\r\n standalone: true,\r\n imports: [BadgeComponent, ButtonComponent, RouterModule],\r\n templateUrl: './offer-banner.component.html',\r\n styleUrl: './offer-banner.component.scss',\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() btnInfo!: ButtonI;\r\n @Input() img!: string;\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 'offer-banner--close--container--displayed'\r\n );\r\n (this.closeBtn.nativeElement as HTMLElement).style.opacity =\r\n '0';\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 '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 (click)=\"closeClick.emit()\"\r\n>\r\n {{ closeLabel }}\r\n</div>\r\n\r\n<div class=\"offer-banner\">\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 <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 ></tent-button>\r\n <a\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 <p class=\"offer-banner--title\">\r\n {{ mainLabel }}\r\n </p>\r\n <div class=\"flex-row flex-row--between\">\r\n <div class=\"flex-row offer-banner--price\">\r\n <span class=\"color--white offer-banner--sublabel\">\r\n {{ priceLabel }}\r\n </span>\r\n <span class=\"color--white offer-banner--offer\">\r\n {{ price }}</span\r\n >\r\n </div>\r\n\r\n <tent-button\r\n class=\"offer-banner--btn-info\"\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 </div>\r\n </div>\r\n <img [src]=\"img\" class=\"offer-banner--image\" />\r\n </a>\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 { Component, Input, OnInit } 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})\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 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 1024: {\r\n items: 1,\r\n },\r\n 1072: {\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","<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 ></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 { Component, Input, OnInit } 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})\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 { 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})\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 ></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 <ng-template carouselSlide>\r\n @for (img of images; track $index) {\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 }\r\n </ng-template>\r\n </owl-carousel-o>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, OnInit } 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\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})\r\nexport class RoomSliderComponent implements OnInit {\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 @Input() button?: ButtonI;\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\r\n collapsed: boolean[] = [];\r\n viewmore: boolean[] = [];\r\n\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 }\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(): 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 = 'Habitación doble';\r\n dialogRef.componentInstance.images = [\r\n '/assets/tent/img/room-modal-img.png',\r\n '/assets/tent/img/room-modal-img.png',\r\n ];\r\n }\r\n}\r\n\r\nexport interface RoomsSliderRoom {\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 $index; let odd = $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': $index !== 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 $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\r\n class=\"btn btn__circle btn__circle-- btn__white btn_search\"\r\n (click)=\"openRoomModal()\"\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 </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--80 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\r\n class=\"info--icon\"\r\n [ngClass]=\"infoItem.icon\"\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[$index] ? 'close' : 'open'\"\r\n >\r\n <p class=\"text\">\r\n {{ item.description }}\r\n </p>\r\n <p class=\"text text-more\">\r\n {{ item.additionalDescription }}\r\n </p>\r\n @if (linkDescriptionMore && linkDescriptionLess) {\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkDescriptionMore.label\"\r\n (click)=\"toggleCollapse($index)\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n iconPosition=\"right\"\r\n [label]=\"linkDescriptionLess.label\"\r\n (click)=\"toggleCollapse($index)\"\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[$index] ? '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 <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n [label]=\"linkEquipmentMore.label\"\r\n (click)=\"toggleViewmore($index)\"\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($index)\"\r\n ></tent-button>\r\n } @if (button) {\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box-filled\"\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 </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 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})\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 ></tent-button>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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})\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 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 [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 { 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-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})\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: string;\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 (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\"\r\n 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=\"\"\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 </a>\r\n @if (itemLeft.btns?.length) {\r\n <div\r\n class=\"services-col2--box--btns flex-row flex-row--center mt--20\"\r\n >\r\n @for (btn of itemLeft.btns; track $index) {\r\n <tent-button\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 }\r\n </div>\r\n }\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 >\r\n <div class=\"services-col2--box--info\">\r\n @if (itemRight.image) {\r\n <img\r\n [src]=\"itemRight.image\"\r\n 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=\"\"\r\n class=\"services-col2--markWater water2\"\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 </a>\r\n @if (itemRight.btns?.length) {\r\n <div\r\n class=\"services-col2--box--btns flex-row flex-row--center mt--20\"\r\n >\r\n @for (btn of itemRight.btns; track $index) {\r\n <tent-button\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 }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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})\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 >\r\n {{ 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 >\r\n {{ 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 ></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 ></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 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})\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() 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 ></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 class=\"menu-modal--logo--img\" [src]=\"logo\" alt=\"\" />\r\n </div>\r\n }\r\n <div class=\"menu-modal--links\">\r\n @for (item of items; track $index) {\r\n <a\r\n [href]=\"item.url\"\r\n [routerLink]=\"isInternalLink(item) ? [item.url] : null\"\r\n class=\"menu-modal--link-wrapper\"\r\n (click)=\"linkClicked(item, $event)\"\r\n >\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 <div class=\"menu-modal--link\">\r\n <p>\r\n {{ item.title }}\r\n </p>\r\n <tent-button\r\n class=\"menu-modal--btn\"\r\n type=\"dark-circle\"\r\n [icon]=\"buttonItem.icon\"\r\n ></tent-button>\r\n </div>\r\n </a>\r\n }\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\r\n <div class=\"flex-row flex-row--between menu-modal--social-media\">\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 ></tent-button>\r\n\r\n <ul class=\"menu-modal--socials\">\r\n @for (socialBtn of socialButtons; track $index) {\r\n <li>\r\n <a\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 </div>\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 target=\"_blank\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output, inject } 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})\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<string>();\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: string): void {\r\n this.selected = language;\r\n this.languageSelect.emit(language);\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 <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 ></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 }\r\n\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.label!)\"\r\n ></tent-button>\r\n\r\n }\r\n </div>\r\n</div>\r\n","import { Component, Input, inject } 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\n\r\n@Component({\r\n selector: 'tent-newsletter-modal',\r\n standalone: true,\r\n imports: [MatCheckboxModule, ButtonComponent],\r\n templateUrl: './newsletter-modal.component.html',\r\n styleUrl: './newsletter-modal.component.scss',\r\n})\r\nexport class NewsletterModalComponent {\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() input!: InputI;\r\n\r\n private readonly dialogRef: MatDialogRef<NewsletterModalComponent> =\r\n inject(MatDialogRef);\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","<div class=\"newsletter-modal\">\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 ></tent-button>\r\n </div>\r\n <div class=\"newsletter-modal--left-slot\"></div>\r\n <div class=\"newsletter-modal--right-slot\">\r\n <div class=\"flex-col\">\r\n <div>\r\n <h3 class=\"newsletter-modal--title color--brown\">\r\n {{ titleDark }}\r\n </h3>\r\n <h3 class=\"newsletter-modal--title color--camel\">\r\n {{ title }}\r\n </h3>\r\n </div>\r\n <p class=\"newsletter-modal--subtitle\">\r\n {{ description }}\r\n </p>\r\n\r\n <form class=\"flex-col\">\r\n <div class=\"newsletter-modal--input\">\r\n <input type=\"email\" [placeholder]=\"input.placeholder\" />\r\n <span class=\"icon-pointer-down\"></span>\r\n </div>\r\n\r\n <div class=\"flex-row\">\r\n <mat-checkbox\r\n class=\"newsletter-modal--checkbox\"\r\n ></mat-checkbox>\r\n <span\r\n [innerHTML]=\"conditions\"\r\n class=\"newsletter-modal--conditions color--brown\"\r\n >\r\n </span>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, inject } from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { DomSanitizer, SafeStyle } 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})\r\nexport class CheckinModalComponent {\r\n @Input() image!: string;\r\n @Input() title?: 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 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 <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 ></tent-button>\r\n </div>\r\n <div class=\"checkin--image-wrapper\">\r\n <figure [style]=\"getImage\" class=\"checkin--image\"></figure>\r\n </div>\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 }\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 ></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 ></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 { Component, OnInit, signal } 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 DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\nimport {\r\n FormBuilder,\r\n FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { tap } from 'rxjs';\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})\r\nexport class ContactFormComponent implements OnInit {\r\n options: DropdownOption[] = [\r\n {\r\n code: '1',\r\n name: 'hotel 1',\r\n },\r\n {\r\n code: '2',\r\n name: 'hotel 2',\r\n },\r\n {\r\n code: '3',\r\n name: 'hotel 3',\r\n },\r\n ];\r\n\r\n form: FormGroup = this.fb.group({\r\n dropdown: [null, [Validators.required]],\r\n email: ['', [Validators.required, Validators.email]],\r\n name: ['', [Validators.required]],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\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.form.statusChanges\r\n .pipe(\r\n tap((status) => {\r\n this.isValid.set(status === 'VALID');\r\n console.log(this.form.controls['dropdown'].errors);\r\n console.log(this.form.controls['email'].errors);\r\n console.log(this.form.controls['name'].errors);\r\n console.log(this.form.controls['checkbox'].errors);\r\n })\r\n )\r\n .subscribe();\r\n }\r\n\r\n submitForm(): void {}\r\n}\r\n","<section class=\"contact-form\">\r\n <div class=\"flex-col contact-form--header\">\r\n <h3 class=\"contact-form--title color--brown\">\r\n si lo prefieres escríbenos\r\n </h3>\r\n <p class=\"contact-form--description\">\r\n many desktop publishing packages and web page editors now use Lorem\r\n Ipsum as their default model text, and a search for 'lorem ipsum'\r\n will uncover many.\r\n </p>\r\n </div>\r\n <form class=\"contact-form--form\" [formGroup]=\"form\">\r\n <div class=\"contact-form--left\">\r\n <div class=\"contact-form--dropdown flex-col\">\r\n <p class=\"contact-form--msg--title\">\r\n <span class=\"input--required\"></span>hoteles\r\n </p>\r\n <tent-dropdown\r\n [options]=\"options\"\r\n formControlName=\"dropdown\"\r\n ></tent-dropdown>\r\n </div>\r\n <tent-input\r\n title=\"nombre\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-user\"\r\n [required]=\"true\"\r\n formControlName=\"name\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"email\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n icon=\"icon-envelope\"\r\n [required]=\"true\"\r\n formControlName=\"email\"\r\n ></tent-input>\r\n </div>\r\n <div class=\"contact-form--right\">\r\n <div class=\"contact-form--msg flex-col\">\r\n <p class=\"contact-form--msg--title\">mensaje</p>\r\n <textarea\r\n class=\"contact-form--msg--textarea\"\r\n placeholder=\"...\"\r\n ></textarea>\r\n </div>\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 <span class=\"contact-form--conditions color--brown\"\r\n >he leído y\r\n <a\r\n class=\"contact-form--conditions--link color--brown\"\r\n href=\"\"\r\n target=\"_blank\"\r\n >\r\n acepto el aviso</a\r\n >\r\n legal y la\r\n <a\r\n class=\"contact-form--conditions--link color--brown\"\r\n href=\"\"\r\n target=\"_blank\"\r\n >\r\n política de privacidad\r\n </a>\r\n </span>\r\n </div>\r\n <span class=\"contact-form--required--text\">\r\n <span class=\"contact-form--required\"></span>\r\n campos obligatorios\r\n </span>\r\n </div>\r\n\r\n <tent-button\r\n class=\"contact-form--submit\"\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n label=\"enviar\"\r\n [disabled]=\"!isValid()\"\r\n (btnClick)=\"submitForm()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </form>\r\n</section>\r\n","import { Component } 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\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})\r\nexport class ContactOfficeComponent {\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: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>'],\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 toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \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 <owl-carousel-o class=\"contact-office--slider slider-circle--center figure-sticky\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"contact-office--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/DAB38D/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n <ng-template carouselSlide> \r\n <div class=\"contact-office--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/82ECC8/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n </owl-carousel-o> \r\n <div class=\"contact-office--info\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <div class=\"contact-office--info--inner\" > \r\n <h2 class=\"contact-office--info--title title--30 color--brown-70 \">\r\n oficina central\r\n </h2> \r\n <ul class=\"contact-office--list\"> \r\n <li>\r\n <span class=\"contact-office--icon icon-phone-2\"></span>\r\n <a href=\"tel:+34 971 746 100\" class=\"text link\">+34 971 746 100 </a>\r\n </li>\r\n <li>\r\n <span class=\"contact-office--icon icon-envelope\"></span>\r\n <a href=\"mailto:capiplayatenthotels.com\" class=\"text link\">capiplayatenthotels.com</a>\r\n </li>\r\n <li class=\"border-top\">\r\n <span class=\"contact-office--icon icon-home\"></span>\r\n <a href=\"\" class=\"text link\">\r\n carrer Cost a Brava, 4 <br>\r\n 07610 Mallorca - Playa de Palma <br>\r\n España\r\n </a>\r\n </li>\r\n </ul>\r\n \r\n </div> \r\n </div>\r\n </div>\r\n \r\n </div>\r\n</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common'; \r\nimport { ButtonComponent } from '../../atomic/button/button.component'; \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})\r\nexport class DeliveryAppComponent {\r\n\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 <h2 class=\"delivery-app--title title--60 color--camel\">\r\n pide tu comida\r\n <span class=\"color--brown\">y cómetelo en tent</span>\r\n </h2>\r\n <div class=\"delivery-app--btns btns-desktop\">\r\n <tent-button\r\n type=\"dark-box-white\"\r\n label=\"app store\"\r\n ></tent-button>\r\n <tent-button\r\n type=\"dark-box-white\"\r\n label=\"google play store\"\r\n ></tent-button>\r\n </div>\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 <div class=\"delivery-app--des\">\r\n <p class=\"text\">\r\n many desktop publishing packa and web page editors now use\r\n Lorem Ipsum as their default model text, and a search for\r\n lorem their infancy various versions.\r\n </p>\r\n </div>\r\n <div class=\"delivery-app--btns btns-mobile\">\r\n <tent-button\r\n type=\"dark-box\"\r\n label=\"app store\"\r\n icon=\"icon-apple\"\r\n ></tent-button>\r\n <tent-button\r\n type=\"dark-box\"\r\n label=\"google play store\"\r\n icon=\"icon-google-play\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component } 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\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})\r\nexport class DestinationHotelsComponent {\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 navText: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>'],\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 collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n}\r\n","<section class=\"destination-hotels module-spacer--bottom\" >\r\n <div class=\"destination-hotels--content wrapper-big\"> \r\n <div class=\"destination-hotels--head\">\r\n <h3 class=\"destination-hotels--title title--80 color--camel \">\r\n hoteles en <span class=\"color--brown\">playa de palma</span>\r\n </h3> \r\n </div>\r\n <div class=\"destination-hotels--inner\"> \r\n <owl-carousel-o class=\"destination-hotels--slider slider-circle--center\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"destination-hotels--slide\"> \r\n <div class=\"destination-hotels--img \"> \r\n <div class=\"destination-hotels--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1280x870/E875A7/fff'); \" ></figure>\r\n </div> \r\n </div>\r\n <div class=\"destination-hotels--des\"> \r\n <h4 class=\"destination-hotels--slideTitle color--brown title--42\"> \r\n tent <span class=\"color--brown\">bahía de palma</span>\r\n </h4>\r\n <div class=\"destination-hotels--btns\"> \r\n <tent-button type=\"dark-box-filled\" class=\"btn-small\" label=\"reservar ahora +\"></tent-button>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver hotel +\" ></tent-button> \r\n </div> \r\n </div> \r\n </div> \r\n </ng-template>\r\n <ng-template carouselSlide> \r\n <div class=\"destination-hotels--slide\"> \r\n <div class=\"destination-hotels--img \"> \r\n <div class=\"destination-hotels--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1280x870/E875A7/fff'); \" ></figure>\r\n </div> \r\n </div>\r\n <div class=\"destination-hotels--des\"> \r\n <h4 class=\"destination-hotels--slideTitle color--brown title--42\"> \r\n tent <span class=\"color--brown\">calvia beach</span>\r\n </h4>\r\n <div class=\"destination-hotels--btns\"> \r\n <tent-button type=\"dark-box-filled\" class=\"btn-small\" label=\"reservar ahora +\"></tent-button>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver hotel +\" ></tent-button> \r\n </div> \r\n </div> \r\n </div> \r\n </ng-template>\r\n <ng-template carouselSlide> \r\n <div class=\"destination-hotels--slide\"> \r\n <div class=\"destination-hotels--img \"> \r\n <div class=\"destination-hotels--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1280x870/E875A7/fff'); \" ></figure>\r\n </div> \r\n </div>\r\n <div class=\"destination-hotels--des\"> \r\n <h4 class=\"destination-hotels--slideTitle color--brown title--42\"> \r\n tent <span class=\"color--brown\">calvia beach2</span>\r\n </h4>\r\n <div class=\"destination-hotels--btns\"> \r\n <tent-button type=\"dark-box-filled\" class=\"btn-small\" label=\"reservar ahora +\"></tent-button>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver hotel +\" ></tent-button> \r\n </div> \r\n </div> \r\n </div> \r\n </ng-template>\r\n </owl-carousel-o>\r\n </div> \r\n \r\n </div> \r\n</section>\r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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\r\n@Component({\r\n selector: 'tent-destination-list',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './destination-list.component.html',\r\n styleUrl: './destination-list.component.scss',\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 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\r\nexport interface DestinationListItem {\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 <div class=\"destination-list--photo figure-content figure-zoom\">\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 </div>\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 ></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 [linkType]=\"item.link.linkType!\"\r\n [url]=\"item.link.url\"\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 { Component } from '@angular/core';\n\n@Component({\n selector: 'tent-employment-benefits',\n standalone: true,\n imports: [],\n templateUrl: './employment-benefits.component.html',\n styleUrl: './employment-benefits.component.scss'\n})\nexport class EmploymentBenefitsComponent {\n\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 <div class=\"employment-benefits--info\" > \r\n <h2 class=\"employment-benefits--title title--60 color--brown \">\r\n beneficios sociales\r\n </h2> \r\n </div>\r\n <div class=\"employment-benefits--list\" > \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n <div class=\"employment-benefits--item bg-beige\" > \r\n <div class=\"employment-benefits--item--inner\" > \r\n <h3 class=\"title--24 color--brown-70\">seguro médico</h3>\r\n <img src=\"/assets/tent/img/icon-benefits.png\" alt=\"seguro médico\" class=\"employment-benefits--icon\" >\r\n </div> \r\n </div> \r\n </div> \r\n </div> \r\n </div>\r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component, signal } 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 FormGroup,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { tap } from 'rxjs';\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})\r\nexport class EmploymentFormComponent {\r\n form: FormGroup = this.fb.group({\r\n name: ['', [Validators.required]],\r\n phone: ['', [Validators.required]],\r\n lastname: ['', [Validators.required]],\r\n curriculum: ['', [Validators.required]],\r\n email: ['', [Validators.required, Validators.email]],\r\n checkbox: [false, [Validators.requiredTrue]],\r\n });\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.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\r\n submitForm(): void {}\r\n}\r\n","<section class=\"employment-form--wrapper\">\r\n <div class=\"employment-form\">\r\n <h3 class=\"employment-form--title color--brown\">\r\n envíanos tu curriculum\r\n </h3>\r\n <form class=\"employment-form--form\" [formGroup]=\"form\">\r\n <div class=\"employment-form--form--wrapper\">\r\n <div class=\"employment-form--left\">\r\n <tent-input\r\n title=\"nombre\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-user\"\r\n [required]=\"true\"\r\n formControlName=\"name\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"teléfono\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-phone\"\r\n [required]=\"true\"\r\n formControlName=\"phone\"\r\n ></tent-input>\r\n </div>\r\n <div class=\"employment-form--right\">\r\n <tent-input\r\n title=\"apellidos\"\r\n type=\"text\"\r\n placeholder=\"...\"\r\n icon=\"icon-user\"\r\n [required]=\"true\"\r\n formControlName=\"lastname\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"email\"\r\n type=\"email\"\r\n placeholder=\"@...\"\r\n icon=\"icon-envelope\"\r\n [required]=\"true\"\r\n formControlName=\"email\"\r\n ></tent-input>\r\n <tent-input\r\n title=\"curriculum\"\r\n type=\"file\"\r\n placeholder=\"...\"\r\n icon=\"icon-envelope\"\r\n [required]=\"true\"\r\n formControlName=\"curriculum\"\r\n ></tent-input>\r\n </div>\r\n </div>\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 <span class=\"employment-form--conditions color--brown\"\r\n >he leído y\r\n <a\r\n class=\"employment-form--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=\"employment-form--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=\"employment-form--required--text\">\r\n <span class=\"employment-form--required\"></span>\r\n campos obligatorios\r\n </span>\r\n </div>\r\n\r\n <div class=\"employment-form--submit\">\r\n <tent-button\r\n type=\"dark-box-filled\"\r\n boxWidth=\"240px\"\r\n label=\"enviar\"\r\n [disabled]=\"!isValid()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n</section>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'tent-gallery-photos',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './gallery-photos.component.html',\r\n styleUrl: './gallery-photos.component.scss',\r\n})\r\nexport class GalleryPhotosComponent implements OnInit {\r\n @Input({ required: true }) items!: GalleryPhotosItem[];\r\n\r\n @Output() zoomClick: EventEmitter<void> = new EventEmitter();\r\n\r\n itemsOrdered: GalleryPhotosItem[][] = [];\r\n constructor(\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly dialog: MatDialog\r\n ) {}\r\n openModal(): void {\r\n this.zoomClick.emit();\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 = 'piscina exterior';\r\n dialogRef.componentInstance.images = [\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n '/assets/tent/img/gallery-modal-photo.png',\r\n ];\r\n }\r\n\r\n ngOnInit(): void {\r\n this.splitArray();\r\n }\r\n\r\n splitArray(): void {\r\n const result: any[][] = [];\r\n let i = 0;\r\n\r\n while (i < this.items.length) {\r\n if (result.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\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\">\r\n <div class=\"gallery-photos--content wrapper-big\">\r\n <div class=\"gallery-photos--list\">\r\n @for (item of itemsOrdered; track $index) {\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()\"\r\n >\r\n <figure\r\n class=\"figure-full\"\r\n [style]=\"getImageUrl(photo.image)\"\r\n ></figure>\r\n </div>\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 </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-holiday-house-info',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './holiday-house-info.component.html',\r\n styleUrl: './holiday-house-info.component.scss'\r\n})\r\nexport class HolidayHouseInfoComponent {\r\n\r\n}\r\n","<p>holiday-house-info works!</p>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-holiday-house-photos',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './holiday-house-photos.component.html',\r\n styleUrl: './holiday-house-photos.component.scss'\r\n})\r\nexport class HolidayHousePhotosComponent {\r\n\r\n}\r\n","<p>holiday-house-photos works!</p>\r\n","import { 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 { Image } 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})\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: Image;\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 ></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 ></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 { Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { Image } 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})\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?: Image;\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 wrapper-big module-spacer--bottom\">\r\n <div class=\"hotel-app--wrapper\">\r\n @if (title) {\r\n <header class=\"hotel-app--header\">\r\n <h2 class=\"color--camel hotel-app--title\">sobre nuestra</h2>\r\n @if (titleDark) {\r\n <h2 class=\"color--brown hotel-app--title\">app</h2>\r\n }\r\n </header>\r\n } @if (img) {\r\n <img class=\"hotel-app--image\" [src]=\"img.src\" [alt]=\"img.alt\" />\r\n } @if (description) {\r\n <p class=\"hotel-app--description\">\r\n {{ description }}\r\n </p>\r\n } @if (ndTitle) {\r\n <h3 class=\"hotel-app--nd-title\">{{ ndTitle }}</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 ></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 ></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 ></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</section>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\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})\r\nexport class HotelEquipmentComponent {\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 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 descubre el hotel\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 class=\"title--24 color--brown-70\">\r\n seguro médico\r\n </h3>\r\n } @if (item.icon) {\r\n <img\r\n [src]=\"item.icon\"\r\n [alt]=\"item.alt\"\r\n class=\"hotel-benefits--icon\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\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)=\"toggleCollapse1()\"\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 ></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 ></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 ></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 { 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})\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() linkAdress?: ButtonI;\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 ubicación\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 distancias\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\r\n class=\"hotel-location--icon\"\r\n [ngClass]=\"item.icon\"\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 ></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 ></tent-button>\r\n </div>\r\n } @if (image) {\r\n <div class=\"hotel-location--maps\">\r\n <a class=\"hotel-location--photo figure-content\" href=\"\">\r\n <figure class=\"figure-full\" [style]=\"getImageUrl\"></figure>\r\n </a>\r\n @if (linkAdress) {\r\n <ul class=\"hotel-location--list\">\r\n <li>\r\n <span class=\"hotel-location--icon icon-home\"></span>\r\n <span class=\"text\">\r\n {{ linkAdress.label }}\r\n </span>\r\n </li>\r\n </ul>\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 { Component } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n@Component({\r\n selector: 'tent-hotels-list',\r\n standalone: true,\r\n imports: [CommonModule,ButtonComponent],\r\n templateUrl: './hotels-list.component.html',\r\n styleUrl: './hotels-list.component.scss'\r\n})\r\nexport class HotelsListComponent {\r\n collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n}\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 <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"hotels-list--item\">\r\n <div class=\"hotels-list--photo figure-content\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"\r\n background-image: url(/assets/tent/img/hotels.jpg);\r\n \"\r\n ></figure>\r\n </div>\r\n <div\r\n class=\"hotels-list--info bg-white\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <h2 class=\"hotels-list--tit title--38 color--camel\">\r\n tent <br />bahía de palma\r\n </h2>\r\n <h3 class=\"subtitle--medium color--brown-dark\">mallorca</h3>\r\n <p class=\"text\">\r\n Many desktop publishing packages and web page editors\r\n now use the lorem ipsum various versions have evolved\r\n over the sometimes..\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n <div class=\"hotels-list--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n <ul class=\"hotels-list--services bg-beige\">\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">Wifi gratuito en la habitación</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\r\n <li class=\"hotels-list--services--item\">\r\n <p class=\"text\">beb & unlimited brunch</p>\r\n </li>\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 por noche\r\n </p>\r\n <p\r\n class=\"hotels-list--footer--subtitle color--brown\"\r\n >\r\n impuestos incluidos\r\n </p>\r\n </div>\r\n <span class=\"hotels-list--footer--price color--brown\"\r\n >125<span>€</span></span\r\n >\r\n </div>\r\n </ul>\r\n\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=\"reservar ahora +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\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 <h3 class=\"module-info--title title--80 color--camel\">\r\n conoce otra forma de alojarte\r\n <span class=\"color--brown\"\r\n >y descubre nuestros destinos\r\n </span>\r\n </h3>\r\n <div class=\"module-info--des\">\r\n <p class=\"text\">\r\n many desktop publishing packages and web page editors\r\n now use Lorem Ipsum as their default model text, and a\r\n search for 'lorem ipsum' will uncover many web sites\r\n still in their infancy various versions have evolved\r\n over the years sometimes.\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { Component, Input, OnInit } 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\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})\r\nexport class InfoSliderComponent implements OnInit {\r\n @Input() theme?: string = '';\r\n @Input() infoalign?: string = 'info-right';\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 collapsed1 = true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\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","<section class=\"info-slider module-spacer--bottom \" [ngClass]=\"[theme]\"> \r\n <div class=\"info-slider--content wrapper-big\"> \r\n <div class=\"info-slider--box\" [ngClass]=\"[infoalign]\"> \r\n <owl-carousel-o class=\"info-slider--slider slider-circle--center figure-sticky\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"info-slider--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/f04677/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n <ng-template carouselSlide> \r\n <div class=\"info-slider--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/f04677/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n </owl-carousel-o> \r\n <div class=\"info-slider--info\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <div class=\"info-slider--info--inner\" > \r\n <h2 class=\"location-beach--info--title title--60 color--brown \">\r\n título ejemplo \r\n </h2> \r\n <div class=\"info-slider--info--des\" >\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n <div class=\"info-slider--btns\"> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n </div> \r\n </div> \r\n \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 { Component } 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\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})\r\nexport class LocationBeachComponent {\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: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>'],\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 toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n } \r\n}\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 <owl-carousel-o class=\"location-beach--slider slider-circle--center figure-sticky\" [options]=\"sliderOptions\">\r\n <ng-template carouselSlide> \r\n <div class=\"location-beach--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/DAB38D/fff'); \" ></figure>\r\n <tent-badge\r\n class=\"location-beach--badget \"\r\n [rounded]=\"true\"\r\n label=\"arenal\"></tent-badge>\r\n </div> \r\n </ng-template> \r\n <ng-template carouselSlide> \r\n <div class=\"location-beach--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/1200x870/82ECC8/fff'); \" ></figure>\r\n \r\n </div> \r\n </ng-template> \r\n </owl-carousel-o> \r\n <div class=\"location-beach--info\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \r\n <div class=\"location-beach--info--inner\" > \r\n <h2 class=\"location-beach--info--title title--60 color--brown \">\r\n playa de palma\r\n </h2> \r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n distancias\r\n </h3> \r\n <ul class=\"location-beach--info--icons\" >\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n <li>\r\n <span class=\" info--icon icon-beach\"></span>\r\n <p class=\"text\">a 100 metros de la playa</p>\r\n </li>\r\n </ul> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ver menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <div class=\"location-beach--info--des\" >\r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n </div> \r\n <div class=\"location-beach--info--btns\" >\r\n <tent-button class=\"btn-book\" type=\"dark-box\" label=\"descubre playa de palma\"></tent-button>\r\n </div> \r\n </div> \r\n </div>\r\n </div>\r\n \r\n </div>\r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\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})\r\nexport class LocationHowComponent {\r\n tabActive = 'tab1'; \r\n collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n viewTab(tabActive:string): void {\r\n this.tabActive = tabActive; \r\n }\r\n}\r\n","<section class=\"location-how module-spacer--bottom\"> \r\n <div class=\"location-how--content wrapper-big\"> \r\n <div class=\"location-how--maps figure-sticky\">\r\n <div class=\"location-how--photo figure-content\">\r\n <figure class=\"figure-full\"\r\n style=\" background-image: url(/assets/tent/img/location.jpg);\" ></figure> \r\n </div> \r\n </div>\r\n <div class=\"location-how--inner\" [ngClass]=\"[tabActive]\">\r\n <h3 class=\"location-how--tit title--60 color--brown\">\r\n cómo llegar\r\n </h3> \r\n <ul class=\"location-how--icons\">\r\n <li> \r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-plane icon-\" (click)=\"viewTab('tab1')\"></span> \r\n </li>\r\n <li> \r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-bus\" (click)=\"viewTab('tab2')\"></span> \r\n </li>\r\n <li>\r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-bus-stop\" (click)=\"viewTab('tab3')\"></span> \r\n </li>\r\n <li>\r\n <img src=\"/assets/tent/img/icon-location.svg\" alt=\"left\" class=\"location-how--iconactive\" > \r\n <span class=\"location-how--icon icon-car\" (click)=\"viewTab('tab4')\"></span> \r\n </li>\r\n \r\n </ul>\r\n <div class=\"location-how--infor\" [ngClass]=\"collapsed1 ? 'close' : 'open'\">\r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el aeropuerto\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div>\r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el tren\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div> \r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el bus\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div> \r\n <div class=\"location-how--infor--tab\">\r\n <h3 class=\"location-beach--info--subtit subtitle color--brown-70 \">\r\n desde el coche\r\n </h3> \r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n \r\n </div> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n </div>\r\n \r\n </div>\r\n </div> \r\n</section>","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, Output } 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})\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","<section class=\"location-map module-spacer--bottom\">\r\n <div class=\"location-map--content wrapper-big\">\r\n <div class=\"location-map--maps\">\r\n <a class=\"location-map--photo figure-content\" href=\"\">\r\n <figure\r\n class=\"figure-full\"\r\n style=\"background-image: url(/assets/tent/img/mapa.jpg)\"\r\n ></figure>\r\n </a>\r\n </div>\r\n <div class=\"location-map--inner\">\r\n <h3 class=\"location-map--tit title--30 color--brown-70\">\r\n tent\r\n <span class=\"color--brown-70\"> capi playa</span>\r\n </h3>\r\n <ul class=\"location-map--list\">\r\n <li>\r\n <span class=\"location-map--icon icon-home\"></span>\r\n <span class=\"text\">\r\n carrer Cost a Brava, 4 <br />\r\n 07610 Mallorca - Playa de Palma <br />\r\n España\r\n </span>\r\n </li>\r\n <li>\r\n <span class=\"location-map--icon icon-phone-2\"></span>\r\n <a href=\"tel:+34 971 746 100\" class=\"text link\"\r\n >+34 971 746 100\r\n </a>\r\n </li>\r\n <li>\r\n <span class=\"location-map--icon icon-envelope\"></span>\r\n <a href=\"mailto:capiplayatenthotels.com\" class=\"text link\"\r\n >capiplayatenthotels.com</a\r\n >\r\n </li>\r\n </ul>\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\">registro H/425</p>\r\n </li>\r\n </ul>\r\n <div class=\"location-map--btns\">\r\n <tent-button\r\n class=\"btn-book\"\r\n type=\"dark-box\"\r\n label=\"cómo llegar +\"\r\n ></tent-button>\r\n </div>\r\n </div>\r\n </div>\r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { 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})\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 Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { GoogleMap, GoogleMapsModule } from '@angular/google-maps';\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})\r\nexport class ModuleGoogleMapsComponent implements OnInit, AfterViewInit {\r\n @ViewChild('googleMap') googleMaps!: GoogleMap;\r\n @ViewChild('googleMap', { read: ElementRef })\r\n googleMapsElement!: ElementRef;\r\n @Input() markers?: GoogleMarker[];\r\n @Input() apiKey?: string;\r\n\r\n // scriptLoaded$!: Observable<boolean>;\r\n // scriptLoaded = false;\r\n\r\n existingScript?: boolean;\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 ngOnInit(): void {\r\n // this.existingScript = document.getElementById('maps') !== null;\r\n // this.scriptLoaded$ = this.loadScript();\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 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.addCustomMarkers();\r\n }\r\n }\r\n\r\n // loadScript(): Observable<boolean> {\r\n // if (this.scriptLoaded || this.existingScript) {\r\n // return of(true);\r\n // }\r\n\r\n // const script = document.createElement('script');\r\n // script.src = `https://maps.googleapis.com/maps/api/js?key=${this.apiKey}&loading=async`;\r\n // script.async = true;\r\n // script.id = 'maps';\r\n // script.defer = true;\r\n\r\n // document.head.appendChild(script);\r\n\r\n // return fromEvent(script, 'load').pipe(\r\n // switchMap(() => {\r\n // this.scriptLoaded = true;\r\n // return of(true);\r\n // }),\r\n // catchError((error) => {\r\n // return throwError(\r\n // () => new Error('Error loading Google Maps script')\r\n // );\r\n // })\r\n // );\r\n // }\r\n\r\n addCustomMarkers() {\r\n this.markers?.forEach((data) => {\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 const customMarker = new google.maps.OverlayView();\r\n customMarker.onAdd = function () {\r\n const panes = this.getPanes();\r\n panes?.overlayLayer.appendChild(markerDiv);\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 markerDiv.style.left = position?.x + 'px';\r\n markerDiv.style.top = position?.y + 'px';\r\n };\r\n customMarker.setMap(this.map);\r\n });\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}\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]=\"markers?.[0]!.position\"\r\n [zoom]=\"12\"\r\n >\r\n </google-map>\r\n</section>\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\n\r\n@Component({\r\n selector: 'tent-module-search',\r\n standalone: true,\r\n imports: [CommonModule, ButtonComponent],\r\n templateUrl: './module-search.component.html',\r\n styleUrl: './module-search.component.scss',\r\n})\r\nexport class ModuleSearchComponent {\r\n @Input() theme?: string;\r\n hotels = [\r\n {\r\n img: '/assets/tent/img/tent_palmanova.png',\r\n title: 'tent capi playa',\r\n address:\r\n 'carrer Cost a Brava, 4 <br> 07610 Mallorca - Playa de Palma <br> España',\r\n\r\n contactLinks: [\r\n {\r\n label: '+34 971 756 100',\r\n url: 'tel:+34971756100',\r\n linkType: 'external',\r\n },\r\n {\r\n label: 'capiplaya@tenthotels.com',\r\n url: 'mail:capiplaya@tenthotels.com',\r\n linkType: 'external',\r\n },\r\n ],\r\n links: [\r\n {\r\n label: 'ver hotel',\r\n url: '',\r\n linkType: 'internal',\r\n },\r\n ],\r\n },\r\n {\r\n img: '/assets/tent/img/tent_palmanova.png',\r\n title: 'tent cost',\r\n address:\r\n 'carrer Cost a Brava, 4 <br> 07610 Mallorca - Playa de Palma <br> España',\r\n\r\n contactLinks: [\r\n {\r\n label: '+34 971 756 100',\r\n url: 'tel:+34971756100',\r\n linkType: 'external',\r\n },\r\n {\r\n label: 'costplaya@tenthotels.com',\r\n url: 'mail:capiplaya@tenthotels.com',\r\n linkType: 'external',\r\n },\r\n ],\r\n links: [\r\n {\r\n label: 'ver hotel',\r\n url: '',\r\n linkType: 'internal',\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n itemsToShow: (typeof this.hotels)[0][] = [];\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 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","<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 <p class=\"module-search--title color--brown\">\r\n busca un hotel para contactar directamente\r\n </p>\r\n\r\n <div class=\"module-search--input--wrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"module-search--input\"\r\n placeholder=\"...\"\r\n (input)=\"search($event)\"\r\n />\r\n <span\r\n class=\"module-search--input--icon\"\r\n [ngClass]=\"\r\n theme === 'theme-laundry'\r\n ? 'icon-pointer-down'\r\n : 'icon-search'\r\n \"\r\n ></span>\r\n </div>\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 <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 <div class=\"module-search--item--content\">\r\n <div class=\"module-search--item--header\">\r\n <p class=\"module-search--item--title color--brown\">\r\n {{ item.title }}\r\n </p>\r\n <p\r\n class=\"module-search--item--address\"\r\n [innerHTML]=\"item.address\"\r\n ></p>\r\n </div>\r\n @if (theme !== 'theme-laundry') {\r\n <div class=\"module-search--item--links\">\r\n @for (link of item.contactLinks; track $index) {\r\n <a class=\"link\" [href]=\"link.url\" target=\"_blank\">\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 <div class=\"module-search--footer\">\r\n <p class=\"module-search--footer--title\">horario</p>\r\n <p class=\"module-search--footer--description\">\r\n Todos los días de 08.00 a 23.00h\r\n </p>\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 { Component } 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\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})\r\nexport class OfferListComponent {\r\n collapsed1 = true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1;\r\n }\r\n\r\n offer: OfferI = {\r\n badge: {\r\n label: 'Mallorca, all destinations',\r\n },\r\n image: '/assets/tent/img/offer1.jpg',\r\n badgePrice: {\r\n label: 'tent hotels',\r\n },\r\n title: 'reservar por la web tiene muchas ventajas',\r\n priceLabel: 'desde',\r\n price: '250',\r\n currency: '€',\r\n buttons: [\r\n {\r\n type: 'dark-link',\r\n label: 'más información +',\r\n url: '/promo-detail',\r\n icon: '',\r\n linkType: 'internal',\r\n },\r\n {\r\n type: 'dark-box-filled',\r\n label: 'reservar ahora +',\r\n url: '',\r\n icon: '',\r\n linkType: 'internal',\r\n },\r\n ],\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 <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 ></tent-offer>\r\n </div>\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 ></tent-offer>\r\n </div>\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 ></tent-offer>\r\n </div>\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 ></tent-offer>\r\n </div>\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 <h3 class=\"offer-ours--title title--80 color--camel\">\r\n nuestras <span class=\"color--brown\">ofertas</span>\r\n </h3>\r\n <div\r\n class=\"offer-ours--des\"\r\n [ngClass]=\"collapsed1 ? 'close' : 'open'\"\r\n >\r\n <p class=\"text\">\r\n many desktop publishing packages and web page editors\r\n now use Lorem Ipsum as their default model text, and a\r\n search for 'lorem ipsum' will uncover many web sites\r\n still in their infancy various versions have evolved\r\n over the years sometimes.\r\n </p>\r\n <p class=\"text text-more\">\r\n It is a long established fact that a reader will be\r\n distracted by the readable content of a page when\r\n looking at its layout. The point of using Lorem in Ipsum\r\n is that it has a more-or-less normal distribution of\r\n letters, as the opposed to using 'Content here, content\r\n here', making it look like readable English. Many\r\n desktop publishing packages and web page editors now use\r\n Lorem Ipsum as their default model text, and a search.\r\n </p>\r\n\r\n <div class=\"offer-ours--btns\">\r\n <tent-button\r\n class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\r\n <tent-button\r\n class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\"\r\n (click)=\"toggleCollapse1()\"\r\n ></tent-button>\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 { Component } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\r\n@Component({\r\n selector: 'tent-offer-details',\r\n standalone: true,\r\n imports: [CommonModule,ButtonComponent,BadgeComponent],\r\n templateUrl: './offer-details.component.html',\r\n styleUrl: './offer-details.component.scss'\r\n})\r\nexport class OfferDetailsComponent {\r\n \r\n conditionActive =true; \r\n collapsed1=true;\r\n toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n }\r\n toggleConditions(): void {\r\n this.conditionActive = !this.conditionActive; \r\n }\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 <div class=\"offer-detail--photo figure-content\">\r\n <figure class=\"figure-full\"\r\n style=\" background-image: url(/assets/tent/img/offer1.jpg);\" ></figure> \r\n </div> \r\n <tent-badge\r\n class=\"offer-detail--picture--badget \"\r\n [rounded]=\"true\"\r\n label=\"Mallorca, all destinations\"></tent-badge>\r\n\r\n </div>\r\n <div class=\"offer-detail--inner\" >\r\n <h2 class=\"offer-detail--tit title--60 color--brown\">\r\n reservar por la web tiene muchas ventajas\r\n título ejemplo \r\n </h2> \r\n <tent-badge\r\n class=\"offer-detail--inner--badget \"\r\n [rounded]=\"true\"\r\n label=\"tent capi playa\"></tent-badge>\r\n\r\n <div class=\"offer-detail--info\"[ngClass]=\"collapsed1 ? 'close' : 'open'\">\r\n <p class=\"text\">many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy various versions have evolved over the years sometimes.</p>\r\n <p class=\"text text-more\" >It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem in Ipsum is that it has a more-or-less normal distribution of letters, as the opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search.</p>\r\n <div class=\"offer-detail--info--btns\"> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer más +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"leer menos +\" (click)=\"toggleCollapse1()\"></tent-button>\r\n </div> \r\n </div> \r\n <div class=\"offer-detail--conditions\" [ngClass]=\"conditionActive ? 'close' : 'open'\"> \r\n <div class=\"offer-detail--conditions--box\" > \r\n <h3 class=\"offer-detail--conditions--subtit subtitle color--brown-70\">condiciones </h3>\r\n <ul class=\"offer-detail--conditions--list\"> \r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n <li class=\"offer-detail--conditions--item\"> \r\n <p class=\"text\">10% de descuento sobre la tarifa flexible.</p> \r\n </li>\r\n </ul> \r\n </div> \r\n <div class=\"offer-detail--conditions--btns\"> \r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"mostrar condiciones +\" (click)=\"toggleConditions()\"></tent-button>\r\n <tent-button class=\"btn-minus\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"ocultar condiciones\" (click)=\"toggleConditions()\"></tent-button>\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 <span class=\"title--18 color--brown\">desde</span>\r\n <p class=\"title--42 color--brown\">250<span class=\"title--32\">€</span></p>\r\n </div> \r\n </div>\r\n <div class=\"offer-detail--prices--btns\"> \r\n <tent-button type=\"dark-box-filled\" label=\"reservar ahora +\"></tent-button> \r\n </div> \r\n </div> \r\n </div>\r\n </div> \r\n</section>\r\n\r\n\r\n ","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Output } 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})\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 ></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 { Component } 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\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})\r\nexport class ServicesDetailsComponent {\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: ['<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>', '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>'],\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 toggleCollapse1(): void {\r\n this.collapsed1 = !this.collapsed1; \r\n } \r\n}\r\n","<section class=\"services-details module-spacer--bottom\">\r\n <div class=\"services-details--content wrapper-big\"> \r\n \r\n <div class=\"services-details--inner\"> \r\n <h2 class=\"services-details--title title--60 color--brown \">\r\n nuestros servicios\r\n </h2>\r\n <div class=\"services-details--items\"> \r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\"> many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\r\n </div>\r\n </div>\r\n <div class=\"services-details--item\">\r\n <div class=\"services-details--photo figure-content\">\r\n <figure class=\" figure-full\"\r\n style=\" background-image: url('https://dummyimage.com/800x500/918EFF/fff'); \" ></figure>\r\n <div class=\"services-details--info\">\r\n <h2 class=\"services-details--tit title--38 color--white\"> app <span>tent</span> </h2> \r\n </div> \r\n </div> \r\n <div class=\"services-details--des\">\r\n <p class=\"text\">many desktop publishing packa and web page editors now use Lorem Ipsum as their default model text, and a search for lorem their infancy various versions.</p>\r\n <tent-button class=\"btn-more\"\r\n type=\"dark-link\"\r\n icon=\"icon-plus1\"\r\n iconPosition=\"right\"\r\n label=\"descargar app\" ></tent-button>\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 { 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})\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]=\"{ 'submenu--link--selected': selected === link }\"\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 { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tent-thanks',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './thanks.component.html',\r\n styleUrl: './thanks.component.scss'\r\n})\r\nexport class ThanksComponent {\r\n\r\n}\r\n","<div class=\"thanks\">\r\n <div class=\"thanks--left-slot\"></div>\r\n <div class=\"thanks--right-slot\">\r\n <p class=\"thanks--title\">gracias!</p>\r\n\r\n <div class=\"thanks--footer\">\r\n <p class=\"thanks--subtitle\">\r\n su petición se ha enviado correctamente\r\n </p>\r\n <p class=\"thanks--description\">\r\n En la mayor brevedad posible nos pondremos en contacto con\r\n usted.\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'tent-webmap',\n standalone: true,\n imports: [],\n templateUrl: './webmap.component.html',\n styleUrl: './webmap.component.scss'\n})\nexport class WebmapComponent {\n\n}\n"," \r\n<section class=\"webmap bg-beige\"> \r\n <div class=\"webmap--content \"> \r\n <div class=\"webmap--inner\"> \r\n <h3 class=\"webmap--title title--30 color--brown-70 \">\r\n mapa web\r\n </h3> \r\n <ul class=\"webmap--list\">\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n <li class=\"webmap--item\">\r\n <a href=\"tent.com/hoteles-tent-mallorca\" class=\"tect link-regular\">tent.com/hoteles-tent-mallorca</a>\r\n </li>\r\n </ul>\r\n </div> \r\n </div> \r\n</section>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../../atomic/button/button.component';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\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})\r\nexport class GalleryCategoryComponent {\r\n @Input() rooms!: boolean;\r\n\r\n constructor(\r\n private readonly dialogRef: MatDialogRef<GalleryCategoryComponent>,\r\n private readonly dialog: MatDialog\r\n ) {}\r\n\r\n itemClicked(rooms?: boolean): void {\r\n if (rooms) {\r\n const dialogRef = this.dialog.open(GalleryCategoryComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'modal-bg-bage'],\r\n hasBackdrop: true,\r\n });\r\n\r\n dialogRef.componentInstance.rooms = true;\r\n this.closeModal();\r\n } else {\r\n this.closeModal();\r\n }\r\n }\r\n\r\n closeModal(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n openRoomModal(): void {}\r\n}\r\n","<div class=\"gallery-category\">\r\n <div class=\"gallery-category--header\">\r\n <p class=\"color--brown\">\r\n galería <br />\r\n de habitaciones\r\n </p>\r\n\r\n <tent-button\r\n type=\"dark-circle\"\r\n icon=\"icon-close\"\r\n (btnClick)=\"closeModal()\"\r\n ></tent-button>\r\n </div>\r\n <ul class=\"gallery-category--list\">\r\n @if (rooms) {\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitación doble\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> open sky bubble\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitación doble\r\n vista mar\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitación doble con\r\n terraza privada & jacuzzi\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n } @else {\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> todas\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> hotel\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked(true)\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> habitaciones\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> brunch\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n <li class=\"gallery-category--item\" (click)=\"itemClicked()\">\r\n <p class=\"color--brown\">\r\n <span class=\"gallery-category--dot\"></span> video\r\n </p>\r\n <span class=\"icon-pointer-down\"></span>\r\n </li>\r\n }\r\n </ul>\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 {\r\n DropdownComponent,\r\n DropdownOption,\r\n} from '../../atomic/dropdown/dropdown.component';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatDialog } from '@angular/material/dialog';\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\nimport { GalleryCategoryComponent } from '../modals/gallery-category/gallery-category.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?: ButtonI[];\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\r\n galleryFilterSelected!: GalleryFilterOption;\r\n\r\n constructor(private readonly dialog: MatDialog) {}\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\r\n if (option.rooms) {\r\n this.openCategoryRoomModal();\r\n }\r\n }\r\n\r\n openGalleryCategoryModal(): void {\r\n const dialogRef = this.dialog.open(GalleryCategoryComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'modal-bg-bage'],\r\n hasBackdrop: true,\r\n });\r\n\r\n const closeEvent = new EventEmitter();\r\n\r\n dialogRef.componentInstance.rooms = false;\r\n }\r\n\r\n openCategoryRoomModal(): void {\r\n const dialogRef = this.dialog.open(GalleryCategoryComponent, {\r\n width: '100vw',\r\n height: '100vh',\r\n maxWidth: '100vw',\r\n panelClass: ['full-screen', 'modal-bg-bage'],\r\n hasBackdrop: true,\r\n });\r\n\r\n dialogRef.componentInstance.rooms = true;\r\n }\r\n}\r\n\r\nexport interface GalleryFilterOption {\r\n id: string;\r\n label: string;\r\n rooms?: boolean;\r\n allCategories?: boolean;\r\n videoSrc?: string;\r\n}\r\n","<section class=\"generic-head-module\">\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>\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 (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 filter.id) {\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 }\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 categorías\r\n </span>\r\n <span\r\n class=\"generic-head--gallery-btn--icon icon-menu\"\r\n ></span>\r\n </div>\r\n <div\r\n class=\"generic-head--gallery-btn\"\r\n (click)=\"openCategoryRoomModal()\"\r\n >\r\n <span class=\"generic-head--gallery-btn--text\">\r\n habitaciones\r\n </span>\r\n <span\r\n class=\"generic-head--gallery-btn--icon icon-menu\"\r\n ></span>\r\n </div>\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 ></tent-button>\r\n } @if (linkMaps) {\r\n <a class=\"generic-head--location\" [href]=\"linkMaps.url\">\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 ></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 { Component, Input } from '@angular/core';\r\nimport { ButtonComponent } from '../../atomic/button/button.component';\r\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\r\nimport { Image } 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})\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?: Image;\r\n @Input() video?: Image;\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\">\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\" />\r\n }\r\n </div>\r\n }\r\n <div class=\"brunch--content-wrapper\">\r\n @if (title) {\r\n <h2 class=\"brunch--title color--brown\">{{ title }}</h2>\r\n } @if (description) {\r\n <p class=\"brunch--description\">\r\n {{ description }}\r\n </p>\r\n } @if (showMore && additionalDescription) {\r\n <p class=\"brunch--description\">\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 >\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 >\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 { 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})\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\r\n class=\"brunch-gallery wrapper-big module-spacer--bottom brunch-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 } @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\r\n class=\"brunch-gallery--title title--54 color--camel title-desktop\"\r\n >\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/holiday-house-info/holiday-house-info.component';\r\nexport * from './lib/components/core/holiday-house-photos/holiday-house-photos.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\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\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/location-map.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\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"],"mappings":"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EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EA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"}
|