ctt-babylon 0.1.76 → 0.1.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ctt-babylon.mjs","sources":["../../../projects/babylon/src/lib/components/core/babylon-404/babylon-404.component.ts","../../../projects/babylon/src/lib/components/core/babylon-404/babylon-404.component.html","../../../projects/babylon/src/lib/directives/babylon-sliders/babylon-sliders.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-advantages/babylon-advantages.component.ts","../../../projects/babylon/src/lib/components/core/babylon-advantages/babylon-advantages.component.html","../../../projects/babylon/src/lib/directives/babylon-sliders/babylon-custom-slider.directive.ts","../../../projects/babylon/src/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.ts","../../../projects/babylon/src/lib/directives/babylon-galleries/babylon-light-gallery.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.html","../../../projects/babylon/src/lib/directives/data-background/data-background.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-info/babylon-banner-info.component.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-info/babylon-banner-info.component.html","../../../projects/babylon/src/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.html","../../../projects/babylon/src/lib/components/core/babylon-blog-details/babylon-blog-details.component.ts","../../../projects/babylon/src/lib/components/core/babylon-blog-details/babylon-blog-details.component.html","../../../projects/babylon/src/lib/components/core/babylon-blog-list/babylon-blog-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-blog-list/babylon-blog-list.component.html","../../../projects/babylon/src/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.ts","../../../projects/babylon/src/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.html","../../../projects/babylon/src/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.ts","../../../projects/babylon/src/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.html","../../../projects/babylon/src/lib/directives/link-type/link-type.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-address/babylon-contact-address.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-address/babylon-contact-address.component.html","../../../projects/babylon/src/lib/components/core/babylon-contact-form/babylon-contact-form.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-form/babylon-contact-form.component.html","../../../projects/babylon/src/lib/components/core/babylon-contact-how/babylon-contact-how.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-how/babylon-contact-how.component.html","../../../projects/babylon/src/lib/components/core/babylon-contact-map/babylon-contact-map.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-map/babylon-contact-map.component.html","../../../projects/babylon/src/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.ts","../../../projects/babylon/src/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.html","../../../projects/babylon/src/lib/components/core/babylon-engine/babylon-engine.component.ts","../../../projects/babylon/src/lib/components/core/babylon-engine/babylon-engine.component.html","../../../projects/babylon/src/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.html","../../../projects/babylon/src/lib/components/core/babylon-faq/babylon-faq.component.ts","../../../projects/babylon/src/lib/components/core/babylon-faq/babylon-faq.component.html","../../../projects/babylon/src/lib/components/core/babylon-features-slider/babylon-features-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-features-slider/babylon-features-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-links/babylon-footer-links.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-links/babylon-footer-links.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-social/babylon-footer-social.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-social/babylon-footer-social.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-social/babylon-footer-social.interface.ts","../../../projects/babylon/src/lib/components/core/babylon-gallery/babylon-gallery.component.ts","../../../projects/babylon/src/lib/components/core/babylon-gallery/babylon-gallery.component.html","../../../projects/babylon/src/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.ts","../../../projects/babylon/src/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.html","../../../projects/babylon/src/lib/components/core/babylon-head-intro/babylon-head-intro.component.ts","../../../projects/babylon/src/lib/components/core/babylon-head-intro/babylon-head-intro.component.html","../../../projects/babylon/src/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.ts","../../../projects/babylon/src/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.html","../../../projects/babylon/src/lib/services/screen-sizer/screen-sizer.service.token.ts","../../../projects/babylon/src/lib/services/screen-sizer/screen-sizer.service.ts","../../../projects/babylon/src/lib/Enum/services.enum.ts","../../../projects/babylon/src/lib/utils/utils.ts","../../../projects/babylon/src/lib/services/mapper/mapper.service.token.ts","../../../projects/babylon/src/lib/services/mapper/mapper.service.ts","../../../projects/babylon/src/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-clear/babylon-header-clear.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-clear/babylon-header-clear.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.html","../../../projects/babylon/src/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.html","../../../projects/babylon/src/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.html","../../../projects/babylon/src/lib/directives/babylon-sliders/babylon-hotels-slider.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-big/babylon-info-big.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-big/babylon-info-big.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-grid/babylon-info-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-grid/babylon-info-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-grid/babylon-info-grid.interface.ts","../../../projects/babylon/src/lib/directives/babylon-background-strip/babylon-background-strip.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-info-img/babylon-info-img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-img/babylon-info-img.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-intro/babylon-info-intro.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-intro/babylon-info-intro.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-info2img/babylon-info2img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info2img/babylon-info2img.component.html","../../../projects/babylon/src/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.html","../../../projects/babylon/src/lib/components/core/babylon-info3img/babylon-info3img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info3img/babylon-info3img.component.html","../../../projects/babylon/src/lib/components/core/babylon-info4img/babylon-info4img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info4img/babylon-info4img.component.html","../../../projects/babylon/src/lib/components/core/babylon-items-grid/babylon-items-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-items-grid/babylon-items-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-language-modal/babylon-language-modal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-language-modal/babylon-language-modal.component.html","../../../projects/babylon/src/lib/components/core/babylon-legal/babylon-legal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-legal/babylon-legal.component.html","../../../projects/babylon/src/lib/components/core/babylon-list-grid/babylon-list-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-list-grid/babylon-list-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-list-grid/babylon-list-grid.interface.ts","../../../projects/babylon/src/lib/components/core/babylon-newsletter/babylon-newsletter.component.ts","../../../projects/babylon/src/lib/components/core/babylon-newsletter/babylon-newsletter.component.html","../../../projects/babylon/src/lib/components/core/babylon-newsletter/babylon-newsletter.interface.ts","../../../projects/babylon/src/lib/pipes/babylon-currency.pipe.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.html","../../../projects/babylon/src/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-offers-list/babylon-offers-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offers-list/babylon-offers-list.component.html","../../../projects/babylon/src/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-preload/babylon-preload.component.ts","../../../projects/babylon/src/lib/components/core/babylon-preload/babylon-preload.component.html","../../../projects/babylon/src/lib/components/core/babylon-room-details/babylon-room-details.component.ts","../../../projects/babylon/src/lib/components/core/babylon-room-details/babylon-room-details.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-services-slider/babylon-services-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-services-slider/babylon-services-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider2col/babylon-slider2col.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider2col/babylon-slider2col.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider2items/babylon-slider2items.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider2items/babylon-slider2items.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider3col/babylon-slider3col.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider3col/babylon-slider3col.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider3items/babylon-slider3items.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider3items/babylon-slider3items.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider4col/babylon-slider4col.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider4col/babylon-slider4col.component.html","../../../projects/babylon/src/lib/directives/scrolls/scroll-up.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-static-footer/babylon-static-footer.component.ts","../../../projects/babylon/src/lib/components/core/babylon-static-footer/babylon-static-footer.component.html","../../../projects/babylon/src/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.ts","../../../projects/babylon/src/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.html","../../../projects/babylon/src/lib/components/core/babylon-thanks/babylon-thanks.component.ts","../../../projects/babylon/src/lib/components/core/babylon-thanks/babylon-thanks.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider/babylon-top-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider/babylon-top-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.html","../../../projects/babylon/src/lib/components/core/babylon-webmap/babylon-webmap.component.ts","../../../projects/babylon/src/lib/components/core/babylon-webmap/babylon-webmap.component.html","../../../projects/babylon/src/public-api.ts","../../../projects/babylon/src/ctt-babylon.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-404',\n standalone: true,\n imports: [CommonModule, RouterModule],\n templateUrl: './babylon-404.component.html',\n styleUrl: './babylon-404.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Babylon404Component {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() img?: BabylonImageI;\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__404 margin-main \"> \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h2 class=\"title\">{{ pretitle }}</h2>\n } \n @if (title) {\n <h1 class=\"title--small mb--10\">{{ title }}</h1>\n }\n @if (description) {\n <p class=\"text mb--10\">\n {{ description }}\n </p>\n } @if(button?.label) {\n <div class=\"btns__box align--center\">\n <a\n (click)=\"btnClick($event)\"\n [href]=\"button?.url\"\n [routerLink]=\"button?.url\"\n class=\"btn btn-primary\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a\n >\n </div>\n }\n </div> \n </div> \n</section>","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\ndeclare var $: any;\n\n@Directive({\n selector: '[sliders]',\n standalone: true,\n})\nexport class BabylonSlidersDirective implements AfterViewInit {\n @Input() sliders!:\n | 'cs_slider_container'\n | 'cs_gallery_slider_nav'\n | 'cs_gallery_slider_nav_2'\n | 'cs_gallery_slider_thumb'\n | 'cs_gallery_slider_thumb_2'\n | 'cs_slider_container2'\n | 'cs_slider_container3'\n | 'cs_slider_container4';\n\n private resizeTimeout: any;\n\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.initializeSlider();\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n this.initializeSlider();\n }, 200);\n });\n }, 100);\n }\n\n private initializeSlider(): void {\n const $slider = $(this.el.nativeElement);\n\n if (!$slider.length) return;\n\n const $slickActive = $slider.find('.cs_slider_wrapper');\n if ($slickActive.hasClass('slick-initialized')) {\n $slickActive.slick('unslick'); // Destruye el slider actual\n }\n\n switch (this.sliders) {\n case 'cs_slider_container':\n this.initSlickSlider($slider);\n break;\n case 'cs_gallery_slider_nav':\n this.initSlickSliderNav($slider);\n break;\n case 'cs_gallery_slider_nav_2':\n this.initSlickSliderNav_2($slider);\n break;\n case 'cs_gallery_slider_thumb':\n this.initSlickSliderThumb($slider);\n break;\n case 'cs_gallery_slider_thumb_2':\n this.initSlickSliderThumb_2($slider);\n break;\n case 'cs_slider_container2':\n this.initSlickSlider2($slider);\n break;\n case 'cs_slider_container3':\n this.initSlickSlider3($slider);\n break;\n case 'cs_slider_container4':\n this.initSlickSlider4($slider);\n break;\n default:\n break;\n }\n }\n\n private initSlickSlider($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');\n const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: this.getSlidesPerView($slider),\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 10) === 1,\n dots: true,\n appendDots: $slider.parent().find('.cs_pagination'),\n });\n }\n\n private initSlickSlider2($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');\n const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: this.getSlidesPerView($slider),\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 10) === 1,\n });\n }\n\n private initSlickSlider3($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider\n .siblings('.cs_slider_arrows')\n .find('.cs_left_arrow');\n const nextArrow = $slider\n .siblings('.cs_slider_arrows')\n .find('.cs_right_arrow');\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 0),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: this.getSlidesPerView($slider),\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 0) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 0) === 1,\n dots: false,\n appendDots: $slider.parent().find('.cs_pagination'),\n });\n }\n\n private initSlickSliderNav($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider NAV ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n $slider.slick({\n slidesToShow: 3,\n slidesToScroll: 1,\n asNavFor: $.exists('.cs_gallery_slider_thumb_mini')\n ? '.cs_gallery_slider_thumb_mini'\n : '.cs_gallery_slider_thumb',\n focusOnSelect: true,\n arrows: false,\n vertical: true,\n centerMode: true,\n centerPadding: '0px',\n speed: 1000,\n });\n }\n\n private initSlickSliderNav_2($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider NAV ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n $slider.slick({\n slidesToShow: 3,\n slidesToScroll: 1,\n asNavFor: '.cs_gallery_slider_thumb_2',\n focusOnSelect: true,\n arrows: false,\n centerMode: true,\n centerPadding: '0px',\n speed: 1000,\n });\n }\n\n private initSlickSliderThumb($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider THUMBS ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n const prevArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_left_arrow_gallery');\n const nextArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_right_arrow_gallery');\n\n $slider.slick({\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n asNavFor: '.cs_gallery_slider_nav.slick-slider',\n infinite: true,\n speed: 600,\n autoplay: false,\n fade: true,\n });\n }\n\n private initSlickSliderThumb_2($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider THUMBS ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n const prevArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_left_arrow_gallery_2 .cs_swiper_button_prev');\n const nextArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_right_arrow_gallery_2 .cs_swiper_button_next');\n\n $slider.slick({\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n asNavFor: '.cs_gallery_slider_nav_2.slick-slider',\n infinite: true,\n speed: 600,\n autoplay: false,\n });\n }\n\n private initSlickSlider4($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');\n const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');\n\n const slidesToShow = this.getSlidesPerView($slider);\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: slidesToShow,\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 10) === 1,\n dots: true,\n appendDots: $slider.parent().find('.cs_pagination'),\n });\n this.toggleSliderArrows($slider, slidesToShow);\n }\n\n private getSliderSetting(\n $slider: any,\n settingName: string,\n defaultValue: any\n ): any {\n return parseInt($slider.attr(settingName), 10) || defaultValue;\n }\n\n private getSlidesPerView($slider: any): number {\n const slidesPerViewType = $slider.attr('data-slides-per-view');\n const xsSlides = parseInt($slider.attr('data-xs-slides'), 10) || 1;\n const smSlides = parseInt($slider.attr('data-sm-slides'), 10) || 2;\n const mdSlides = parseInt($slider.attr('data-md-slides'), 10) || 2;\n const lgSlides = parseInt($slider.attr('data-lg-slides'), 10) || 3;\n const xlSlides =\n parseInt($slider.attr('data-xl-slides'), 10) || lgSlides;\n\n if (slidesPerViewType === 'responsive') {\n if (window.innerWidth < 576) {\n return xsSlides;\n } else if (window.innerWidth < 768) {\n return smSlides;\n } else if (window.innerWidth < 1024) {\n return mdSlides;\n } else if (window.innerWidth < 1400) {\n return lgSlides;\n } else {\n return xlSlides;\n }\n } else {\n return parseInt(slidesPerViewType, 10) || 1;\n }\n }\n\n private toggleSliderArrows($slider: any, slidesToShow: number): void {\n const $slides = $slider.find('.cs_slide');\n const totalSlides = $slides.length;\n\n const $sliderContainer = $slider.closest('.cs_slider');\n const shouldHide = totalSlides <= slidesToShow;\n\n $sliderContainer.toggleClass('hide-arrows', shouldHide);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonAdvInfoI } from './babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-advantages',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-advantages.component.html',\n styleUrl: './babylon-advantages.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonAdvantagesComponent {\n @Input() title?: string;\n @Input() advantages?: BabylonAdvInfoI[];\n}\n","<section class=\"babylon__advantages-slider margin-main bg--white\">\n @if(title){\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n <h3 class=\"pretitle\" >{{ title }}</h3>\n </div>\n </div>\n }\n @if(advantages){\n <div class=\"cs_slider cs_style_1 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\"\n data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"3\">\n <div class=\"cs_slider_wrapper\">\n @for (advantage of advantages; track $index) {\n <div class=\"cs_slide\">\n <div class=\"advantages-item\">\n <div class=\"advantages-item--icon\">\n <div class=\"info--icon icon--small \">\n <i class=\"icon--svg\" [ngClass]=\"advantage.icon\"></i>\n </div>\n </div>\n @if(advantage.title){\n <div class=\"advantages-item--info\">\n <div class=\"intro_info1 no-align\">\n <p class=\"text mb--0\">{{advantage.title}}</p>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n </div>\n }\n\n </section>\n","import { Directive, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[BabylonCustomSlider]', \n standalone: true\n})\nexport class BabylonCustomSliderDirective implements AfterViewInit {\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.initSlider();\n }\n\n private initSlider() {\n const slider = this.el.nativeElement;\n const arrows = slider.querySelectorAll('.cs_custom_slide_arrow_right, .cs_custom_slide_arrow_left');\n arrows.forEach((arrow: any) => {\n arrow.addEventListener('click', (event: any) => {\n const direction = arrow?.classList.contains('cs_custom_slide_arrow_left') ? 'prev' : 'next';\n this.updateSlides(direction);\n });\n });\n this.updateSlides('next');\n }\n\n private updateSlides(direction: string) {\n const activeSlide = this.el.nativeElement.querySelector('.cs_custom_slide.active');\n const slides = this.el.nativeElement.querySelectorAll('.cs_custom_slide');\n const totalSlides = slides.length;\n const activeIndex = Array.from(slides).indexOf(activeSlide);\n let nextIndex;\n\n if (direction === 'next') {\n nextIndex = activeIndex === totalSlides - 1 ? 0 : activeIndex + 1;\n } else {\n nextIndex = activeIndex === 0 ? totalSlides - 1 : activeIndex - 1;\n }\n\n const nextSlide = slides?.[nextIndex];\n slides?.forEach((slide: any) => slide?.classList.remove('prev-1', 'next-1', 'prev-2', 'next-2', 'active'));\n nextSlide?.classList.add('active');\n\n const prev1Index = nextIndex === 0 ? totalSlides - 1 : nextIndex - 1;\n const prev2Index = prev1Index === 0 ? totalSlides - 1 : prev1Index - 1;\n const next1Index = nextIndex === totalSlides - 1 ? 0 : nextIndex + 1;\n const next2Index = next1Index === totalSlides - 1 ? 0 : next1Index + 1;\n\n slides?.[prev1Index]?.classList.add('prev-1');\n slides?.[prev2Index]?.classList.add('prev-2');\n slides?.[next1Index]?.classList.add('next-1');\n slides?.[next2Index]?.classList.add('next-2');\n }\n}\n","import { Directive, ElementRef, Renderer2, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[BabylonCustomMousePointer]',\n standalone: true\n})\nexport class BabylonCustomMousePointerDirective {\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n @HostListener('mousemove', ['$event'])\n onMouseMove(event: MouseEvent): void {\n const mousePoint = this.el.nativeElement.querySelector('.cs_mouse_point');\n \n if (mousePoint) {\n const mouseX = event.pageX - this.el.nativeElement.getBoundingClientRect().left;\n const mouseY = event.clientY - this.el.nativeElement.getBoundingClientRect().top\n\n if (mousePoint) {\n this.renderer.setStyle(mousePoint, 'top', `${mouseY}px`);\n this.renderer.setStyle(mousePoint, 'left', `${mouseX}px`);\n }\n \n }\n }\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n const mousePoint = this.el.nativeElement.querySelector('.cs_mouse_point');\n if (mousePoint) {\n this.renderer.setStyle(mousePoint, 'visibility', 'visible');\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n const mousePoint = this.el.nativeElement.querySelector('.cs_mouse_point');\n if (mousePoint) {\n this.renderer.setStyle(mousePoint, 'visibility', 'hidden');\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\ndeclare var $: any;\n\n@Directive({\n selector: '[BabylonLightGallery]',\n standalone: true\n})\nexport class BabylonLightGalleryDirective implements AfterViewInit {\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit() {\n this.initLightGallery();\n }\n\n private initLightGallery() {\n if (typeof $ !== 'undefined' && this.el.nativeElement) {\n const galleryContainer = $(this.el.nativeElement);\n const items = galleryContainer.find('.cs_lightbox_item');\n\n if (items.length > 0) {\n galleryContainer.lightGallery({\n selector: items,\n subHtmlSelectorRelative: false,\n thumbnail: true,\n mousewheel: true,\n share: false,\n fullScreen: false,\n autoplay: false,\n actualSize: false,\n autoplayControls: false,\n download: false,\n });\n \n } else {\n console.warn('No se encontraron elementos .cs_lightbox_item dentro del contenedor.');\n }\n } else {\n console.error('jQuery o lightGallery no están disponibles.');\n }\n }\n}","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonCustomSliderDirective } from '../../../directives/babylon-sliders/babylon-custom-slider.directive';\nimport { BabylonCustomMousePointerDirective } from '../../../directives/babylon-customs/babylon-custom-mouse-pointer.directive';\nimport { BabylonLightGalleryDirective } from '../../../directives/babylon-galleries/babylon-light-gallery.directive';\n\n@Component({\n selector: 'lib-babylon-banner-gallery',\n standalone: true,\n imports: [CommonModule, BabylonCustomSliderDirective, BabylonCustomMousePointerDirective, BabylonLightGalleryDirective],\n templateUrl: './babylon-banner-gallery.component.html',\n styleUrl: './babylon-banner-gallery.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonBannerGalleryComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() hover?: string;\n @Input() button?: BabylonButtonI[];\n @Input() images?: BabylonImageI[];\n \n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<!-- <section class=\"cs_primary_bg\"> -->\n<section class=\"babylon__banner-gallery margin-main bg--dark1\"> \n <div class=\"container\">\n <div class=\"intro_info align--center intro_info--light1 no-align\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n } \n </div> \n </div>\n <div class=\"cs_custom_slide_container\" BabylonCustomSlider >\n <div class=\"container\">\n <div class=\"cs_custom_slide_wrapper cs_lightgallery\" BabylonLightGallery>\n @if(images){\n @for(image of images; track $index){\n <div class=\"cs_custom_slide\">\n <a [href]=\"image?.src\" BabylonCustomMousePointer class=\"cs_custom_slide_item cs_bg_filed cs_lightbox_item cs_custom_pointer_wrap cs--radius\" [style.background-image]=\"'url(' + image.src + ')'\">\n @if (hover) {\n <span class=\"cs_mouse_point cs_style_1\">{{hover}}</span>\n }\n <img [src]=\"image?.src\" alt=\"\" class=\"d-none\">\n </a>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_custom_slide_arrows\">\n <span class=\"cs_custom_slide_arrow_left\">\n <span class=\"babylon-arrow-left-big\"></span> \n </span>\n <span class=\"cs_custom_slide_arrow_right\">\n <span class=\"babylon-arrow-right-big\"></span> \n </span>\n </div>\n \n </div>\n \n @if(button && button[0]?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button[0]?.url\" class=\"btn btn_primary\">\n <b>{{button[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n } \n </section>","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[dataBackground]',\n standalone: true,\n})\nexport class BabylonDataBackgroundDirective implements OnInit {\n @Input() dataBackground?: string;\n\n constructor(\n private readonly el: ElementRef,\n private readonly renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n const element = this.el.nativeElement;\n\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.renderer.setStyle(\n element,\n 'background-image',\n this.dataBackground\n );\n observer.unobserve(element);\n }\n });\n });\n\n observer.observe(element);\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\n\n\n@Component({\n selector: 'lib-babylon-banner-info',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-banner-info.component.html',\n styleUrl: './babylon-banner-info.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonBannerInfoComponent implements AfterViewInit {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() button?: BabylonButtonI;\n @Input() image?: BabylonImageI;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cdr.detectChanges();\n }\n\n}\n"," <!-- La foto es opcional -->\n <section class=\"babylon__banner-info margin-main\">\n <div class=\"margin-main cs_bg_filed bg--white\" [attr.data-src]=\"image?.src\" dataBackground=\"url('{{image?.src}}')\"></div>\n <div class=\"col-xxl-8 offset-xxl-2 col-xl-10 offset-xl-1\" [ngClass]=\"{'babylon__banner-info__opaque-box' : image?.src}\">\n <div class=\"cs_newsletter cs_style_1 text-center\">\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if(pretitle){\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n } @if(title){\n <h3 class=\"title mb--10\" >{{ title }}</h3>\n } @if(description){\n <p class=\"text mb--10\">{{ description }}</p>\n } @if(button){\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button.url\"\n class=\"btn btn_primary btn--light\"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n FormBuilder,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-banner-newsletter',\n standalone: true,\n imports: [\n CommonModule,\n BabylonDataBackgroundDirective,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './babylon-banner-newsletter.component.html',\n styleUrl: './babylon-banner-newsletter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonBannerNewsletterComponent {\n @Input() placeholder?: string;\n @Input() text?: string;\n @Input() title?: string;\n @Input() button?: BabylonButtonI[];\n @Input() image?: BabylonImageI;\n\n @Output() submitForm = new EventEmitter<string>();\n\n fb = inject(FormBuilder);\n\n form = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n });\n\n btnClick(): void {\n if (this.form.valid) {\n this.submitForm.emit(this.form.value.email!);\n }\n }\n}\n","<!-- La foto es opcional -->\n<section class=\"babylon__banner-newsletter margin-main\">\n <div\n class=\"margin-main cs_bg_filed bg--white\"\n [attr.data-src]=\"image?.src\"\n dataBackground=\"url('{{ image?.src }}')\"\n >\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xxl-8 offset-xxl-2 col-xl-10 offset-xl-1\">\n <div class=\"cs_newsletter cs_style_1 text-center\">\n <span\n class=\"cs_newsletter_icon cs_center cs_mb_26 wow zoomIn\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n <span class=\"babylon-envelope\"></span>\n </span>\n <div class=\"intro_info align--center intro_info--light\">\n @if (title) {\n <h3 class=\"title--small mb--10\">{{ title }}</h3>\n }\n @if (text) {\n <p class=\"text mb--10\">{{ text }}</p>\n }\n </div>\n <form\n action=\"#\"\n [formGroup]=\"form\"\n class=\"cs_newsletter_form position-relative\"\n >\n <input\n type=\"email\"\n class=\"cs_newsletter_input cs--radius\"\n formControlName=\"email\"\n [placeholder]=\"placeholder\"\n />\n\n @if (button && button[0].label) {\n <button\n class=\"cs_btn cs_style_2 cs_medium cs--radius cs_fs_15 btn-link btn-link--light\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n (click)=\"btnClick()\"\n >\n <b>{{ button[0].label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </button>\n }\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-blog-details',\n standalone: true,\n imports: [],\n templateUrl: './babylon-blog-details.component.html',\n styleUrl: './babylon-blog-details.component.scss'\n})\nexport class BabylonBlogDetailsComponent {\n\n}\n","<section class=\"babylon__blog-detail margin-main\"> \n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"intro_info \"> \n <h2 class=\"title mb--0\">CHAR Fuego y Brasas en Baobab Suites </h2> \n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div> \n </div> \n </div>\n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"row cs_gap_y_lg_80\">\n <div class=\"col-lg-8\">\n <div class=\"cs_blog_details\">\n <div class=\"cs_image_layer cs_about_img\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Blog\" class=\"cs--radius\"> \n </div>\n <div class=\"intro_info no-align\">\n <p class=\"text\">A Elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Tortor posuere ac ut consequat semper viverra nam libero justo. Mauris commodo quis imperdiet massa tincidunt nunc pulvinar sapien et. Aliquam purus sit amet luctus venenatis lectus magna fringilla urna. Purus sit amet luctus venenatis lectus. Nunc aliquet bibendum enim facilisis. Pretium viverra suspendisse potenti nullam ac tortor vitae. Purus sit amet luctus venenatis lectus. Nunc aliquet bibendum enim facilisis. Pretium viverra suspendisse potenti nullam ac tortor vitae.</p>\n <h2 class=\"title--small\">Exploring Spa Offerings</h2>\n <p class=\"text\">On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best. <br><br>On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain circumstances.</p>\n \n <h2 class=\"title--small\">Signature Experiences & Wellness Workshops and Classes</h2>\n <p class=\"text\">we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain circumstances.</p>\n \n <p class=\"text\">So, blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain amount of people.</p>\n <p class=\"text\">Our Proposed Solution: Our experienced team of web developers and booking system integration experts will collaborate closely with you to design a website that reflects the professionalism of your cleaning services. Our solution will include:</p>\n </div>\n </div> \n <div class=\"btns__box\">\n <a href=\"#\" class=\"btn-link \">\n <span class=\"babylon-arrow-left-big\"></span> \n <b>Volver</b> \n </a>\n </div> \n </div>\n <div class=\"col-lg-4\">\n <div class=\"cs_sidebar cs_right_sidebar\">\n <div class=\"cs_sidebar_item widget_search\">\n <form class=\"cs_sidebar_search\" action=\"#\">\n <input type=\"text\" placeholder=\"Search...\">\n <button class=\"cs_sidebar_search_btn\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_658_659)\">\n <path d=\"M17.7808 16.7198L13.3041 12.243C14.524 10.751 15.1239 8.84707 14.9795 6.92518C14.8351 5.00328 13.9575 3.2104 12.5283 1.91739C11.099 0.624387 9.22751 -0.0698265 7.3008 -0.0216526C5.37409 0.0265212 3.5396 0.813397 2.17678 2.17621C0.813961 3.53903 0.0270858 5.37352 -0.0210881 7.30024C-0.0692619 9.22695 0.624952 11.0985 1.91796 12.5277C3.21097 13.9569 5.00384 14.8345 6.92574 14.9789C8.84764 15.1233 10.7515 14.5235 12.2436 13.3035L16.7203 17.7803C16.8618 17.9169 17.0512 17.9925 17.2479 17.9908C17.4445 17.9891 17.6326 17.9102 17.7717 17.7711C17.9107 17.6321 17.9896 17.444 17.9913 17.2473C17.993 17.0507 17.9174 16.8612 17.7808 16.7198ZM7.50057 13.5C6.31388 13.5 5.15384 13.1481 4.16715 12.4888C3.18045 11.8295 2.41142 10.8925 1.95729 9.79611C1.50317 8.69975 1.38435 7.49335 1.61586 6.32946C1.84737 5.16558 2.41881 4.09648 3.25793 3.25736C4.09704 2.41825 5.16614 1.8468 6.33003 1.61529C7.49391 1.38378 8.70031 1.5026 9.79667 1.95673C10.893 2.41085 11.8301 3.17989 12.4894 4.16658C13.1487 5.15328 13.5006 6.31332 13.5006 7.5C13.4988 9.09076 12.8661 10.6158 11.7412 11.7407C10.6164 12.8655 9.09132 13.4982 7.50057 13.5Z\" fill=\"currentColor\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_658_659\">\n <rect width=\"18\" height=\"18\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg> \n </button>\n </form>\n </div>\n <div class=\"cs_sidebar_item widget_categories\">\n <h4 class=\"title--small mb--20\">Categories</h4>\n <ul>\n <li class=\"cat-item\">\n <a href=\"#\">Luxury Hotel (0)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Resort (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Travel (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Restaurant (5)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n </ul>\n </div>\n <div class=\"cs_sidebar_item\">\n <h4 class=\"title--small mb--20\">Latest post</h4>\n <ul class=\"cs_recent_posts\">\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Discovering Hidden Treasures Near Babylon</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Rejuvenation Tips from Babylon's Spa Experts</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Finding Tranquility at Babylon Resort</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Babylon's Commitment to Eco-Friendly Practices</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n </ul>\n </div> \n </div>\n </div>\n </div>\n </div>\n \n </section>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-blog-list',\n standalone: true,\n imports: [],\n templateUrl: './babylon-blog-list.component.html',\n styleUrl: './babylon-blog-list.component.scss'\n})\nexport class BabylonBlogListComponent {\n\n}\n","<section class=\"babylon__blog-list margin-main\"> \n <div class=\"container\"> \n <div class=\"intro_info align--center\">\n <h3 class=\"pretitle\">Blog list</h3>\n <h2 class=\"title\">Magazine</h2> \n </div> \n </div>\n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"row cs_gap_y_lg_80\">\n <div class=\"col-lg-8\">\n <div class=\"cs_post cs_style_1 cs_size_5\">\n <a href=\"blog-detail\" class=\"cs_post_thumb cs--radius overflow-hidden d-block cs_mb_30 position-relative\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Feature\">\n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div>\n <h2 class=\"cs_post_title title1\">\n <a href=\"#\" class=\"title--small\">A Journey into Our Luxurious Resort</a>\n </h2>\n <p class=\"cs_subtitle text\">Nestled amidst the tranquil coastal surroundings of Babylon Resort lies a sanctuary of serenity and rejuvenation – our luxurious spa. In this blog, we'll take you on a journey through the ultimate relaxation experience, highlighting the exquisite treatments and wellness rituals that await you at Babylon's Spa...</p>\n <div class=\"btns__box \">\n <a href=\"blog-detail\" class=\"btn btn_primary\">\n <b>Learn More</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div>\n </div>\n <div class=\"cs_post cs_style_1 cs_size_5\">\n <a href=\"blog-detail\" class=\"cs_post_thumb cs--radius overflow-hidden d-block cs_mb_30 position-relative\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Feature\">\n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div>\n <h2 class=\"cs_post_title title1\">\n <a href=\"#\" class=\"title--small\">A Journey into Our Luxurious Resort</a>\n </h2>\n <p class=\"cs_subtitle text\">Nestled amidst the tranquil coastal surroundings of Babylon Resort lies a sanctuary of serenity and rejuvenation – our luxurious spa. In this blog, we'll take you on a journey through the ultimate relaxation experience, highlighting the exquisite treatments and wellness rituals that await you at Babylon's Spa...</p>\n <div class=\"btns__box \">\n <a href=\"blog-detail\" class=\"btn btn_primary\">\n <b>Learn More</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div>\n </div>\n <div class=\"cs_post cs_style_1 cs_size_5\">\n <a href=\"blog-detail\" class=\"cs_post_thumb cs--radius overflow-hidden d-block cs_mb_30 position-relative\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Feature\">\n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div>\n <h2 class=\"cs_post_title title1\">\n <a href=\"#\" class=\"title--small\">A Journey into Our Luxurious Resort</a>\n </h2>\n <p class=\"cs_subtitle text\">Nestled amidst the tranquil coastal surroundings of Babylon Resort lies a sanctuary of serenity and rejuvenation – our luxurious spa. In this blog, we'll take you on a journey through the ultimate relaxation experience, highlighting the exquisite treatments and wellness rituals that await you at Babylon's Spa...</p>\n <div class=\"btns__box \">\n <a href=\"blog-detail\" class=\"btn btn_primary\">\n <b>Learn More</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div>\n </div>\n \n </div>\n <div class=\"col-lg-4\">\n <div class=\"cs_sidebar cs_right_sidebar\">\n <div class=\"cs_sidebar_item widget_search\">\n <form class=\"cs_sidebar_search\" action=\"#\">\n <input type=\"text\" placeholder=\"Search...\">\n <button class=\"cs_sidebar_search_btn\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_658_659)\">\n <path d=\"M17.7808 16.7198L13.3041 12.243C14.524 10.751 15.1239 8.84707 14.9795 6.92518C14.8351 5.00328 13.9575 3.2104 12.5283 1.91739C11.099 0.624387 9.22751 -0.0698265 7.3008 -0.0216526C5.37409 0.0265212 3.5396 0.813397 2.17678 2.17621C0.813961 3.53903 0.0270858 5.37352 -0.0210881 7.30024C-0.0692619 9.22695 0.624952 11.0985 1.91796 12.5277C3.21097 13.9569 5.00384 14.8345 6.92574 14.9789C8.84764 15.1233 10.7515 14.5235 12.2436 13.3035L16.7203 17.7803C16.8618 17.9169 17.0512 17.9925 17.2479 17.9908C17.4445 17.9891 17.6326 17.9102 17.7717 17.7711C17.9107 17.6321 17.9896 17.444 17.9913 17.2473C17.993 17.0507 17.9174 16.8612 17.7808 16.7198ZM7.50057 13.5C6.31388 13.5 5.15384 13.1481 4.16715 12.4888C3.18045 11.8295 2.41142 10.8925 1.95729 9.79611C1.50317 8.69975 1.38435 7.49335 1.61586 6.32946C1.84737 5.16558 2.41881 4.09648 3.25793 3.25736C4.09704 2.41825 5.16614 1.8468 6.33003 1.61529C7.49391 1.38378 8.70031 1.5026 9.79667 1.95673C10.893 2.41085 11.8301 3.17989 12.4894 4.16658C13.1487 5.15328 13.5006 6.31332 13.5006 7.5C13.4988 9.09076 12.8661 10.6158 11.7412 11.7407C10.6164 12.8655 9.09132 13.4982 7.50057 13.5Z\" fill=\"currentColor\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_658_659\">\n <rect width=\"18\" height=\"18\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg> \n </button>\n </form>\n </div>\n <div class=\"cs_sidebar_item widget_categories\">\n <h4 class=\"title--small mb--20\">Categories</h4>\n <ul>\n <li class=\"cat-item\">\n <a href=\"#\">Luxury Hotel (0)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Resort (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Travel (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Restaurant (5)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n </ul>\n </div>\n <div class=\"cs_sidebar_item\">\n <h4 class=\"title--small mb--20\">Latest post</h4>\n <ul class=\"cs_recent_posts\">\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Discovering Hidden Treasures Near Babylon</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Rejuvenation Tips from Babylon's Spa Experts</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Finding Tranquility at Babylon Resort</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Babylon's Commitment to Eco-Friendly Practices</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n </ul>\n </div> \n </div>\n </div>\n </div>\n </div> \n </section>","import { Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-breadcrumb',\n standalone: true,\n imports: [CommonModule, RouterModule],\n templateUrl: './babylon-breadcrumb.component.html',\n styleUrl: './babylon-breadcrumb.component.scss'\n})\nexport class BabylonBreadcrumbComponent {\n\n @Input() links?: BabylonButtonI[];\n\n linkClick(e: Event) {\n e.preventDefault();\n }\n}\n","@if (links?.length) {\n <section class=\"auroa__breadcrump\">\n <div class=\"container-fluid\">\n <ol class=\"breadcrump\">\n @for (link of links; track $index; let last = $last) {\n <li class=\"breadcrump__element\">\n <a\n class=\"breadcrump__item\"\n [ngClass]=\"{ 'breadcrump__element--active': last }\"\n [href]=\"link.url\"\n [routerLink]=\"link.url\"\n (click)=\"linkClick($event)\"\n >{{ link.label }}</a\n >\n </li>\n \n }\n </ol>\n </div>\n </section>\n \n }","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonComingSoonI } from './babylon-comingsoon.interface';\n\n@Component({\n selector: 'lib-babylon-comingsoon',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-comingsoon.component.html',\n styleUrl: './babylon-comingsoon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonComingsoonComponent {\n @Input() props?: BabylonComingSoonI;\n}\n\nexport interface BabylonTextsComingSoonI {\n title?: string;\n subtitle?: string;\n copyright?: string;\n}\n\nexport interface BabylonSMComingSoonI {\n name?: string;\n url?: string;\n}\n\n","<section class=\"babylon__comingsoon margin-main-botom\">\n <div class=\"cs_parallax_slider loading overflow-hidden position-relative\">\n <div class=\"swiper-wrapper\">\n @if(props?.images?.length){\n @for(image of props?.images; track $index){\n <div class=\"swiper-slide\">\n <div class=\"cs_hero cs_style_1 cs_center text-center position-relative\">\n <figure class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\" [attr.data-src]=\"image.src\" dataBackground=\"url('{{image?.src}}')\"></figure>\n </div>\n </div>\n }\n }\n </div>\n</div> \n <div class=\"container1 babylon__comingsoon--text \">\n <div class=\"cs_hero_text intro_info no-align align--center intro_info--light\"> \n @if(props?.logo) {\n <img [src]=\"props?.logo?.src\" alt=\"Logo\" class=\"logo mb--40\">\n }\n \n @if(props?.texts?.title) {\n <h1 class=\"title mb--10\">{{props?.texts?.title}}\n </h1>\n }\n @if(props?.texts?.subtitle) {\n <h2 class=\"subtitle\">{{props?.texts?.subtitle}}</h2>\n } \n @if(props?.link) {\n <a [href]=\"props?.link?.url\" class=\"btn-link btn-link--light\">\n <b>{{props?.link?.label}}</b>\n </a>\n }\n @if(props?.button?.label) {\n <div class=\"btns__box align--center\">\n <a [href]=\"props?.button?.url\" class=\"btn btn_call btn--light\">\n <b>{{props?.button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n } \n </div>\n </div>\n <div class=\"foot\">\n <div class=\"container-fluid \">\n <div class=\"foot-inner\">\n @if(props?.texts?.copyright) {\n <div class=\"copyright\">\n <p>{{props?.texts?.copyright}}</p>\n </div>\n } \n @if(props?.socialMedia?.length) {\n <ul class=\"cs_social_btns cs_style_1\"> \n @if(props?.socialMedia){\n @for(sm of props?.socialMedia; track $index){\n <li><a [href]=\"sm.url\" class=\"cs_center\"><i [ngClass]=\"'babylon-' + sm.name?.toLowerCase()\" [class]=\"'babylon-' + sm.name\"></i></a></li>\n }\n }\n </ul> \n }\n </div>\n </div>\n </div>\n</section>\n\n ","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Directive({\n selector: '[linkType]',\n standalone: true,\n})\nexport class BabylonLinkTypeDirective implements OnInit {\n @Input() linkType?: string;\n @Input() href?: string;\n @Output() anchorClicked = new EventEmitter<void>();\n\n constructor(\n private readonly router: Router,\n private readonly elRef: ElementRef\n ) {}\n ngOnInit(): void {\n if (!this.linkType || !this.href) {\n this.handleNoLink();\n return;\n }\n this.elRef.nativeElement.setAttribute('href', this.href);\n }\n\n @HostListener('click', ['$event'])\n btnClick(event: Event): void {\n if (!this.linkType || !this.href) {\n this.handleNoLink();\n return;\n }\n\n if (!this.linkType) {\n console.warn('linkType is missing.');\n return;\n }\n\n event.preventDefault();\n\n switch (this.linkType) {\n case 'internal':\n this.handleInternalLink(this.href);\n break;\n\n case 'internal_link':\n this.handleInternalLink(this.href);\n break;\n\n case 'external':\n this.handleExternalLink(this.href);\n break;\n\n case 'external_link':\n this.handleExternalLink(this.href);\n break;\n\n case 'anchor':\n this.handleAnchorLink(this.href);\n break;\n\n case 'pdf_link':\n this.handlePdfLink(this.href);\n break;\n\n case 'nolink':\n this.handleNoLink();\n break;\n\n default:\n console.warn(`Unsupported linkType: ${this.linkType}`);\n break;\n }\n }\n\n private handleInternalLink(url: string): void {\n const cleanedUrl = url.trim().replace(/\\/+$/, '');\n this.router.navigateByUrl('/' + cleanedUrl);\n }\n\n private handleExternalLink(url: string): void {\n window.open(url, '_blank');\n }\n\n private handlePdfLink(url: string): void {\n window.open(url, '_blank');\n }\n\n private handleAnchorLink(sectionId: string): void {\n const element = document.getElementById(sectionId);\n if (element) {\n const yOffset = -160;\n const y =\n element.getBoundingClientRect().top + window.scrollY + yOffset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n this.anchorClicked.emit();\n } else {\n console.warn(`Section with ID ${sectionId} not found.`);\n }\n }\n\n private handleNoLink(): void {\n this.elRef.nativeElement.removeAttribute('href');\n this.elRef.nativeElement.removeAttribute('[href]');\n this.elRef.nativeElement.style.pointerEvents = 'none';\n this.elRef.nativeElement.style.cursor = 'default';\n this.elRef.nativeElement.setAttribute('aria-disabled', 'true');\n this.elRef.nativeElement.setAttribute('tabindex', '-1');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-contact-address',\n standalone: true,\n imports: [\n CommonModule,\n BabylonLinkTypeDirective\n ],\n templateUrl: './babylon-contact-address.component.html',\n styleUrl: './babylon-contact-address.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactAddressComponent{\n @Input() info?: BabylonContactFormInfo;\n}\n\nexport interface BabylonContactFormInfo {\n address?: BabylonContactFormInfoItem;\n email?: BabylonContactFormInfoItem;\n phone?: BabylonContactFormInfoItem;\n}\n\nexport interface BabylonContactFormInfoItem {\n icon?: string;\n title?: string;\n text?: string;\n links?: ({ smallText?: string } & BabylonButtonI)[];\n}\n\n","<section class=\"babylon__contact-address margin-main\">\n <div class=\"container\">\n @if(info){\n <div class=\"cs_contact_info_boxes\">\n @if (info.address) {\n <div class=\"cs_contact_info_box\">\n <div class=\"cs_iconbox cs_style_4\">\n @if (info.address.icon; as icon) {\n <div class=\"cs_iconbox_icon cs_center rounded-circle\">\n <div class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"icon\"></i>\n </div>\n </div>\n }\n <div class=\"cs_iconbox_right\">\n <div class=\"intro_info1 no-align\">\n @if (info.address.title; as title) {\n <h2 class=\"title--smaller mb--0\">{{ title }}</h2>\n } @if (info.address.text; as text) {\n <p class=\"text mb--0\">{{ text }}</p>\n }\n </div>\n </div>\n </div>\n </div>\n } @if (info.email;as email) {\n <div class=\"cs_contact_info_box\">\n <div class=\"cs_iconbox cs_style_4\">\n @if(email.icon;as icon){\n <div class=\"cs_iconbox_icon cs_center rounded-circle\">\n <div class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"icon\"></i>\n </div>\n </div>\n }\n <div class=\"cs_iconbox_right\">\n <div class=\"intro_info1 no-align\">\n @if(email.title;as title){\n <h2 class=\"title--smaller mb--0\">{{ title }}</h2>\n } @if(email.links; as links) {\n <p class=\"text mb--0\">\n @for (link of links; track $index; let last =\n $last) {\n <a [href]=\"link.url\" [linkType]=\"link.linkType\">{{ link.label }}</a>\n @if(!last){-} }\n </p>\n }\n </div>\n </div>\n </div>\n </div>\n } @if (info.phone;as phone) {\n <div class=\"cs_contact_info_box\">\n <div class=\"cs_iconbox cs_style_4\">\n @if(phone.icon;as icon){\n <div class=\"cs_iconbox_icon cs_center rounded-circle\">\n <div class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"icon\"></i>\n </div>\n </div>\n }\n <div class=\"cs_iconbox_right\">\n <div class=\"intro_info1 no-align\">\n @if (phone.title; as title) {\n <h2 class=\"title--smaller mb--0\">{{ title }}</h2>\n } @if (phone.links; as links) { @for (link of links;\n track $index) {\n <p class=\"text mb--0\">\n <a [href]=\"link.url\" [linkType]=\"link.linkType\">{{ link.label }}</a>\n </p>\n } }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n signal,\n} from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\nimport {\n FormBuilder,\n FormsModule,\n ReactiveFormsModule,\n FormGroup,\n Validators,\n AbstractControl,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonDropdownI } from '../../../interfaces/babylon-dropdown.interface';\nimport { DropdownModule } from 'primeng/dropdown';\n\n@Component({\n selector: 'lib-babylon-contact-form',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n DropdownModule,\n ],\n templateUrl: './babylon-contact-form.component.html',\n styleUrl: './babylon-contact-form.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactFormComponent implements OnInit {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() description?: string;\n @Input() inputs?: BabylonInputI[];\n @Input() textarea?: BabylonInputI;\n @Input() conditions?: string;\n @Input() conditions2?: string;\n @Input() button?: BabylonButtonI;\n @Input() image?: BabylonImageI;\n @Input() dropdown?: BabylonDropdownI;\n\n @Output() submit = new EventEmitter<any>();\n\n form!: FormGroup;\n\n formReady = signal<boolean>(false);\n\n constructor(private readonly fb: FormBuilder) {}\n\n ngOnInit(): void {\n this.initializeForm();\n }\n\n initializeForm(): void {\n const controls: { [key: string]: any } = {};\n\n this.inputs?.forEach((input) => {\n if (input.id) {\n const existingValidators = [...(input.validators || [])];\n\n const validators =\n input.id === 'phone'\n ? [...existingValidators, this.phoneValidator()]\n : existingValidators;\n controls[input.id] = ['', validators];\n }\n });\n\n if (this.textarea && this.textarea.id) {\n controls[this.textarea.id] = ['', this.textarea?.validators || []];\n }\n\n if (this.conditions) {\n controls['checkbox'] = [false, Validators.requiredTrue];\n }\n if (this.conditions2) {\n controls['checkbox2'] = [false, Validators.requiredTrue];\n }\n if (this.dropdown) {\n controls['dropdown'] = ['', Validators.required];\n }\n\n this.form = this.fb.group(controls);\n this.formReady.set(true);\n }\n\n validateInput(input: BabylonInputI): void {\n if (input && input.id) {\n const control = this.form.get(input.id);\n if (control) {\n input.valid = control.errors === null;\n }\n }\n }\n\n inputChange(event: Event, input: BabylonInputI): void {\n const inputElement = event.target as HTMLInputElement;\n\n if (input.type === 'tel') {\n inputElement.value = inputElement.value.replace(/[^0-9+]/g, '');\n }\n }\n\n resetForm(): void {\n this.form?.reset();\n\n Object.values(this.form.controls).forEach((control) => {\n control.markAsPristine();\n control.markAsUntouched();\n control.updateValueAndValidity();\n });\n\n if (this.textarea) {\n this.textarea.value = '';\n }\n this.inputs?.forEach((input) => {\n input.value = '';\n });\n }\n\n submitForm(e: Event): void {\n e.preventDefault();\n this.form.updateValueAndValidity();\n if (this.form.invalid) {\n this.markAllControlsAsTouched();\n this.inputs?.forEach((input) => this.validateInput(input));\n if (this.textarea) this.validateInput(this.textarea);\n return;\n }\n this.submit.emit(this.form.value);\n this.resetForm();\n }\n\n markAllControlsAsTouched(): void {\n Object.values(this.form.controls).forEach((control) => {\n control.markAsTouched();\n });\n\n this.inputs?.forEach((input) => this.validateInput(input));\n if (this.textarea) this.validateInput(this.textarea);\n }\n\n phoneValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n const phoneRegex = /^(?:[+ ]?)[\\d -]{7,15}$/;\n const valid = phoneRegex.test(control.value);\n return valid ? null : { invalidPhone: true };\n };\n }\n}\n","<section class=\"babylon__contact-form margin-main\">\n <div class=\"container\">\n <div class=\"row cs_gap_y_50\">\n <div class=\"col-lg-6\">\n <div class=\"cs_pr_100\">\n <div class=\"intro_info mb--40\">\n @if (pretitle) {\n <h3 class=\"subtitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ title }}\n </h2>\n }\n @if (description) {\n <p class=\"text mb--0\">{{ description }}</p>\n }\n </div>\n @if (formReady()) {\n <form\n [formGroup]=\"form\"\n id=\"contactform\"\n class=\"cs_form cs_style_2\"\n >\n @if (dropdown) {\n <div>\n @if (dropdown.title) {\n <label class=\"text mb--10\"\n >{{ dropdown.title }}*</label\n >\n }\n <p-dropdown\n class=\"cs_form_field_2 cs--radius form-control\"\n [options]=\"dropdown.options\"\n formControlName=\"dropdown\"\n [placeholder]=\"dropdown.placeholder\"\n optionLabel=\"name\"\n >\n </p-dropdown>\n @if (\n form.controls['dropdown'].invalid &&\n form.controls['dropdown'].touched\n ) {\n <div class=\"form-warning\">\n <small>{{ dropdown.error }}</small>\n </div>\n }\n </div>\n }\n @if (inputs?.length) {\n @for (input of inputs; track $index) {\n <div>\n @if (input.title) {\n <label class=\"text mb--10\"\n >{{ input.title }}*</label\n >\n }\n <input\n class=\"cs_form_field_2 cs--radius\"\n [type]=\"input.type\"\n [id]=\"input.name\"\n [name]=\"input.name\"\n [placeholder]=\"input.title\"\n [formControlName]=\"input.id!\"\n [value]=\"input.value\"\n (blur)=\"validateInput(input)\"\n (change)=\"\n inputChange($event, input)\n \"\n />\n @if (\n form.controls[input.id!].invalid &&\n form.controls[input.id!].touched\n ) {\n <div class=\"form-warning\">\n <small>{{\n input?.error\n }}</small>\n </div>\n }\n </div>\n }\n }\n @if (textarea) {\n <div>\n @if (textarea.title) {\n <label class=\"text mb--10\"\n >{{ textarea.title }}*</label\n >\n }\n <textarea\n cols=\"30\"\n rows=\"6\"\n class=\"cs_form_field_2 cs--radius\"\n [id]=\"textarea.name\"\n [formControlName]=\"textarea.id!\"\n [placeholder]=\"textarea.title\"\n ></textarea>\n @if (\n form.controls[textarea.id!].invalid &&\n form.controls[textarea.id!].touched\n ) {\n <div class=\"form-warning\">\n <small>{{ textarea.error }}</small>\n </div>\n }\n </div>\n }\n @if (conditions) {\n <div class=\"item-check \">\n <mat-checkbox\n class=\"formcontrol\"\n formControlName=\"checkbox\"\n [ngClass]=\"{\n 'error-checkbox':\n form.controls['checkbox']\n .invalid &&\n form.controls['checkbox']\n .touched,\n }\"\n ></mat-checkbox>\n <span\n class=\"conditions\"\n [innerHTML]=\"conditions\"\n >\n </span>\n </div>\n }\n @if (conditions2) {\n <div class=\" \">\n <mat-checkbox\n class=\"formcontrol\"\n formControlName=\"checkbox2\"\n [ngClass]=\"{\n 'error-checkbox':\n form.controls['checkbox2']\n .invalid &&\n form.controls['checkbox2']\n .touched,\n }\"\n ></mat-checkbox>\n <span\n class=\"conditions\"\n [innerHTML]=\"conditions2\"\n >\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btns__box align--center\">\n <button\n class=\"btn btn_primary\"\n type=\"submit\"\n [ngClass]=\"{\n 'pointers-none': form.invalid,\n }\"\n (click)=\"submitForm($event)\"\n >\n <b>{{ button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </button>\n </div>\n }\n </form>\n }\n </div>\n </div>\n @if (image) {\n <div class=\"col-lg-6\">\n <div class=\"cs_image_layer cs_style_3 position-relative\">\n <img [src]=\"image\" alt=\"Contact\" class=\"cs--radius\" />\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-contact-how',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-contact-how.component.html',\n styleUrl: './babylon-contact-how.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactHowComponent implements AfterViewInit {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonContactMapItem[];\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.cdr.detectChanges();\n }, 100);\n }\n}\n\nexport interface BabylonContactMapItem {\n title?: string;\n description?: string;\n icon?: string;\n}\n","<section class=\"babylon__contact-how margin-main \">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_30 cs_show_shadow_20\">\n <div class=\"container\">\n <div class=\"cs_section_heading_wrap_1\">\n <div class=\"cs_section_heading cs_style_1\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h3 class=\"pretitle wow fadeInLeft\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ pretitle }} </h3>\n } @if(title){\n <h2 class=\"title\">{{ title }}</h2>\n }\n </div>\n </div>\n <div class=\"cs_slider_arrows cs_style_4\">\n <div class=\"cs_left_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\" cs_right_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n\n <div class=\"cs_full_width_right\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container2\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"1\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"2\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_iconbox cs_style_3 cs--radius bg--white\">\n <div class=\"cs_iconbox_icon cs_mb_29 cs_center cs--radius bg--white\">\n <div class=\"info--icon icon--medium \">\n <i class=\"icon--svg icon-plane1_ico_big\" [ngClass]=\"item.icon\"></i>\n </div>\n </div>\n <h3 class=\"title--small mb--10\">{{ item.title }}</h3>\n <p class=\"text\">{{ item.description }}</p>\n </div>\n </div>\n }\n }\n\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cs_height_50 cs_height_lg_40\"></div>\n </section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-contact-map',\n standalone: true,\n imports: [ BabylonLinkTypeDirective],\n templateUrl: './babylon-contact-map.component.html',\n styleUrl: './babylon-contact-map.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactMapComponent {\n @Input() contentUrl?: string;\n @Input() mapImage?: BabylonImageI;\n @Input() button?: BabylonButtonI;\n\n get safeUrl(): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(this.contentUrl!);\n }\n\n constructor(private readonly sanitizer: DomSanitizer) {}\n}\n","<section class=\"babylon__contact-map margin-main\">\n <div class=\"cs_google_map cs_style_1\">\n @if (contentUrl) {\n <iframe [src]=\"safeUrl\" allowfullscreen loading=\"lazy\" title=\"map\"></iframe>\n } @else {\n @if (mapImage) {\n <img [src]=\"mapImage.src\" [alt]=\"mapImage.src\" loading=\"lazy\" />\n }\n }\n @if (button){\n <a [href]=\"button.url\" [linkType]=\"button.linkType\" class=\"btn btn_call\">{{button.label}}</a>\n }\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonDropdownI } from '../../../interfaces/babylon-dropdown.interface';\nimport { DropdownOption } from '../babylon-rooms-cols/babylon-rooms-cols.component';\n\n@Component({\n selector: 'lib-babylon-guests-popup',\n standalone: true,\n imports: [CommonModule, FormsModule, DropdownModule, ReactiveFormsModule],\n templateUrl: './babylon-guests-popup.component.html',\n styleUrl: './babylon-guests-popup.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonGuestsPopupComponent implements OnChanges, OnInit {\n @Input() defaultValue?: any;\n @Input() adultsDropdown?: BabylonDropdownI;\n @Input() kidsDropdown?: BabylonDropdownI;\n @Input() babiesDropdown?: BabylonDropdownI;\n @Input() agesDropdown?: BabylonDropdownI;\n @Input() kidsLabel?: string;\n @Input() agesLabel?: string;\n @Input() btn?: BabylonButtonI;\n @Input() onlyAdults?: boolean;\n\n @Output() apply = new EventEmitter<guestsValue>();\n\n value: guestsValue = {\n adultsValue: { code: 1, name: '01' },\n kidsValue: {},\n infantsValue: {},\n };\n\n kids: number[] = [];\n agesValue: DropdownOption[] = [];\n\n applied = false;\n kidsApplied = true;\n\n private isDropdownCleaned = new Set<string>();\n\n ngOnChanges(changes: SimpleChanges): void {\n this.cleanIfNeeded('adultsDropdown', changes);\n this.cleanIfNeeded('kidsDropdown', changes);\n this.cleanIfNeeded('babiesDropdown', changes);\n this.cleanIfNeeded('agesDropdown', changes);\n }\n\n ngOnInit(): void {\n if (this.defaultValue) {\n this.value.adultsValue = this.adultsDropdown?.options?.find(\n o => o.code === this.defaultValue.adultsValue?.code\n );\n \n this.value.infantsValue = this.babiesDropdown?.options?.find(\n o => o.code === this.defaultValue.infantsValue?.code\n );\n \n if (this.defaultValue.kidsValue?.code != undefined) {\n this.value.kidsValue = this.kidsDropdown?.options?.find(\n o => o.code === this.defaultValue.kidsValue.code\n );\n \n const count = Number(this.value.kidsValue?.code);\n this.kids = Array.from({ length: count }, (_, i) => i + 1);\n \n this.agesValue = this.defaultValue.kidsValue.ages ?? [];\n }\n }\n }\n\n private cleanIfNeeded(\n key: keyof BabylonGuestsPopupComponent,\n changes: SimpleChanges\n ): void {\n if (changes[key] && !this.isDropdownCleaned.has(key)) {\n const dropdown = this[key] as BabylonDropdownI | undefined;\n const cleaned = this.cleanDropdownNames(dropdown);\n (this as any)[key] = cleaned;\n this.isDropdownCleaned.add(key);\n }\n }\n\n private cleanDropdownNames(\n dropdown?: BabylonDropdownI\n ): BabylonDropdownI | undefined {\n if (!dropdown?.options) return dropdown;\n\n dropdown.options = dropdown.options.map((opt) => {\n let name = opt.name;\n\n if (\n typeof name === 'string' &&\n /^[0-9]+$/.test(name) &&\n name.length > 1\n ) {\n name = String(Number(name));\n }\n\n return {\n ...opt,\n name,\n };\n });\n\n return dropdown;\n }\n\n openDropdown(dropdown: Dropdown): void {\n dropdown.show();\n }\n\n dropdownChange(data: DropdownOption, place: 'kids' | 'babies' | 'adults') {\n switch (place) {\n case 'adults':\n this.value.adultsValue = data;\n break;\n case 'kids':\n this.applied = false;\n if (data.code) this.kidsApplied = false;\n this.value.kidsValue = data;\n this.kids = [];\n this.agesValue = [];\n for (let i = 0; i < Number(data.code); i++) {\n this.kids?.push(i + 1);\n this.agesValue.push({ code: 3, name: '03' });\n }\n break;\n case 'babies':\n this.value.infantsValue = data;\n\n break;\n\n default:\n break;\n }\n }\n\n applyData(): void {\n this.applied = true;\n this.apply.emit(this.value);\n }\n\n applyAges(): void {\n if (this.value && this.value.kidsValue) {\n this.value.kidsValue.ages = this.agesValue;\n }\n this.applied = true;\n this.kidsApplied = true;\n }\n}\n\nexport interface guestsValue {\n adultsValue?: DropdownOption;\n kidsValue?: DropdownOption;\n infantsValue?: DropdownOption;\n}\n","<div class=\"babylon__guests d-flex flex-column\">\n @if (adultsDropdown) {\n <div\n class=\"babylon__guests__dropdown--wrapper\"\n (click)=\"openDropdown(adultsDropdownRef)\"\n >\n <span class=\"babylon__guests__icon babylon-adult\"></span>\n <div class=\"babylon__guests__dropdown--content\">\n <div class=\"babylon__guests__dropdown--title-wrapper\">\n @if (adultsDropdown.title) {\n <span\n class=\"babylon__guests__dropdown--title color--brown\"\n >\n {{ adultsDropdown.title }}\n </span>\n }\n </div>\n\n <p-dropdown\n (click)=\"$event.preventDefault()\"\n class=\"babylon__guests__dropdown\"\n [options]=\"adultsDropdown.options\"\n [(ngModel)]=\"value.adultsValue\"\n [placeholder]=\"adultsDropdown.placeholder\"\n name=\"adults\"\n optionLabel=\"name\"\n #adultsDropdownRef\n (ngModelChange)=\"dropdownChange($event, 'adults')\"\n >\n </p-dropdown>\n </div>\n </div>\n }\n @if (kidsDropdown && !onlyAdults) {\n <div\n class=\"babylon__guests__dropdown--wrapper\"\n (click)=\"openDropdown(kidsDropdownRef)\"\n >\n <span class=\"babylon__guests__icon babylon-kid\"></span>\n <div class=\"babylon__guests__dropdown--content\">\n <div class=\"babylon__guests__dropdown--title-wrapper\">\n @if (kidsDropdown.title) {\n <span\n class=\"babylon__guests__dropdown--title color--brown\"\n >\n {{ kidsDropdown.title }}\n </span>\n }\n @if (kidsDropdown.smallTitle) {\n <small\n class=\"babylon__guests__dropdown--small-title color--camel\"\n >\n {{ kidsDropdown.smallTitle }}\n </small>\n }\n </div>\n\n <p-dropdown\n (click)=\"$event.preventDefault()\"\n class=\"babylon__guests__dropdown\"\n [options]=\"kidsDropdown.options\"\n [(ngModel)]=\"value.kidsValue\"\n [placeholder]=\"kidsDropdown.placeholder\"\n name=\"kids\"\n optionLabel=\"name\"\n #kidsDropdownRef\n (ngModelChange)=\"dropdownChange($event, 'kids')\"\n >\n </p-dropdown>\n </div>\n <span\n class=\"icon-pointer-down babylon__guests__dropdown--icon\"\n ></span>\n </div>\n }\n @if (!applied && kids.length && !onlyAdults) {\n <div class=\"babylon__guests__kids py-6\">\n @if (agesLabel) {\n <header>\n <p class=\"text light m-0\">{{ agesLabel }}</p>\n </header>\n }\n <div>\n <div class=\"row gy-3 justify-content-between pb-4\">\n @for (\n kid of kids;\n track $index;\n let even = $even, last = $last\n ) {\n <div\n class=\"col-6\"\n [ngClass]=\"{ 'offset-3': last && even }\"\n >\n @if (kidsLabel) {\n <span class=\"text-small light\"\n >{{ kidsLabel }} {{ kid }}</span\n >\n }\n <div\n class=\"babylon__guests__dropdown--wrapper small\"\n >\n <p-dropdown\n class=\"babylon__guests__dropdown small\"\n [options]=\"agesDropdown?.options\"\n [(ngModel)]=\"agesValue[$index]\"\n optionLabel=\"name\"\n [placeholder]=\"\n agesDropdown?.options?.[0]?.name\n \"\n name=\"age\"\n >\n </p-dropdown>\n </div>\n </div>\n }\n </div>\n @if (btn) {\n <a class=\"btn btn-small btn_call\" (click)=\"applyAges()\">{{\n btn.label\n }}</a>\n }\n </div>\n </div>\n }\n @if (babiesDropdown && !onlyAdults) {\n <div\n class=\"babylon__guests__dropdown--wrapper\"\n (click)=\"openDropdown(babiesDropdownRef)\"\n >\n <span class=\"babylon__guests__icon babylon-baby\"></span>\n <div class=\"babylon__guests__dropdown--content\">\n <div class=\"babylon__guests__dropdown--title-wrapper\">\n @if (babiesDropdown.title) {\n <span\n class=\"babylon__guests__dropdown--title color--brown\"\n >\n {{ babiesDropdown.title }}\n </span>\n }\n @if (babiesDropdown.smallTitle) {\n <small\n class=\"babylon__guests__dropdown--small-title color--camel\"\n >\n {{ babiesDropdown.smallTitle }}\n </small>\n }\n </div>\n\n <p-dropdown\n (click)=\"$event.preventDefault()\"\n class=\"babylon__guests__dropdown\"\n [options]=\"babiesDropdown.options\"\n [(ngModel)]=\"value.infantsValue\"\n [placeholder]=\"babiesDropdown.placeholder\"\n name=\"infants\"\n optionLabel=\"name\"\n #babiesDropdownRef\n (ngModelChange)=\"dropdownChange($event, 'babies')\"\n >\n </p-dropdown>\n </div>\n <span\n class=\"icon-pointer-down babylon__guests__dropdown--icon\"\n ></span>\n </div>\n }\n @if (btn) {\n <a class=\"btn btn_call\" [class.disabled]=\"!kidsApplied\" (click)=\"applyData()\">{{ btn.label }}</a>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { Calendar, CalendarModule } from 'primeng/calendar';\nimport { DialogModule } from 'primeng/dialog';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGuestsPopupI } from '../babylon-guests-popup/babylon-guests-popup.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\nimport {\n BabylonGuestsPopupComponent,\n guestsValue,\n} from '../babylon-guests-popup/babylon-guests-popup.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\n\n@Component({\n selector: 'lib-babylon-engine',\n standalone: true,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CalendarModule,\n BabylonGuestsPopupComponent,\n DialogModule,\n DropdownModule,\n CommonModule,\n ],\n templateUrl: './babylon-engine.component.html',\n styleUrl: './babylon-engine.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonEngineComponent implements OnInit {\n @ViewChild('datepicker') datepicker!: Calendar;\n @ViewChild('datepickerIn') datepickerIn!: Calendar;\n @ViewChild('datepickerOut') datepickerOut!: Calendar;\n @Input() modal?: boolean;\n @Output() close = new EventEmitter<any>();\n datepickerValue = '';\n minDate: Date = new Date();\n\n @Input() datepickerData?: BabylonInputI;\n @Input() guestsInput?: BabylonInputI;\n @Input() promoInput?: BabylonInputI;\n @Input() guests?: BabylonGuestsPopupI;\n @Input() button?: BabylonButtonI;\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() url?: string;\n @Input() codigo?: string;\n @Input() lang?: string;\n @Input() glValue?: string;\n @Input() onlyAdults?: boolean;\n\n @ViewChild('hotelsDropdown', { static: false }) hotelsDropdown!: Dropdown;\n @Input() hotelsInput?: BabylonInputI;\n @Input() hotels?: BabylonHotelsDropdownI;\n @Input() hotelsPlaceholder?: string;\n hotelsValue: any;\n\n form = new FormGroup({\n hotels: new FormControl(undefined, [Validators.required]),\n dates: new FormControl('', [Validators.required]),\n guests: new FormControl('', [Validators.required]),\n promo: new FormControl('', [Validators.required]),\n });\n\n guestsValue = '';\n guestsValueSeparates: BabylonGuestValueI = {\n adults: 2,\n kids: {\n code: 0,\n codeAges: [],\n },\n infants: 0,\n };\n showingGuests = false;\n generatedUrl: string = '';\n private unsubscribe$ = new Subject<void>();\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.minDate.setHours(0, 0, 0, 0);\n this.guestsValue = '2';\n this.form.get('guests')?.setValue(this.guestsValue);\n\n this.updateGeneratedUrl();\n this.cdr.detectChanges();\n\n this.form.valueChanges\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(() => {\n this.updateGeneratedUrl();\n });\n }\n\n toggleHotelsDropdown(): void {\n if (this.hotelsDropdown) {\n this.hotelsDropdown.show();\n }\n }\n\n handleDropdownChange(event: any): void {\n this.hotelsValue = event.value;\n }\n\n toggleShowingGuests(): void {\n this.showingGuests = !this.showingGuests;\n }\n\n guestsChange(data: guestsValue) {\n this.guestsValueSeparates.adults = Number(data.adultsValue?.code);\n this.guestsValueSeparates.kids.code = Number(data.kidsValue?.code);\n this.guestsValueSeparates.kids.codeAges = data.kidsValue?.ages?.map(\n (age: any) => Number(age.code)\n );\n this.guestsValueSeparates.infants = Number(data.infantsValue?.code);\n\n const totalGuests =\n (Number(data.adultsValue?.code)\n ? Number(data.adultsValue?.code)\n : 0) +\n (Number(data.kidsValue?.code) ? Number(data.kidsValue?.code) : 0) +\n (Number(data.infantsValue?.code)\n ? Number(data.infantsValue?.code)\n : 0);\n this.guestsValue = totalGuests.toString();\n\n this.form?.get('guests')?.setValue(this.guestsValue);\n\n this.toggleShowingGuests();\n }\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n\n closeModal(): void {\n this.close.emit(this.form.value);\n }\n\n updateGeneratedUrl(): void {\n if (!this.form || !this.button?.url) {\n this.generatedUrl = this.button?.url || '';\n return;\n }\n\n const formValues = this.form.value;\n const params = new URLSearchParams();\n\n if (this.url) {\n const isMobile =\n /Mobi|Android|iPhone|iPad|iPod|Windows Phone/i.test(\n navigator.userAgent\n );\n const affiliate = `${this.codigo}_${this.lang}_${\n isMobile ? 'mobile' : 'PC'\n }`;\n params.append('affiliate', affiliate);\n }\n\n if (Array.isArray(formValues.dates) && formValues.dates.length === 2) {\n const [datein, dateout] = formValues.dates.map((date: string) =>\n this.formatDate(new Date(date))\n );\n params.append('datein', datein);\n params.append('dateout', dateout);\n }\n\n if (this.guestsValueSeparates.adults) {\n params.append(\n 'adultos',\n this.guestsValueSeparates.adults.toString()\n );\n }\n\n if (this.guestsValueSeparates.kids.code) {\n params.append(\n 'children',\n this.guestsValueSeparates.kids.code.toString()\n );\n }\n\n if (this.guestsValueSeparates.infants) {\n params.append(\n 'babies',\n this.guestsValueSeparates.infants.toString()\n );\n }\n\n this.appendGuestAges(params);\n\n if (formValues.promo) {\n params.append('prom', formValues.promo);\n params.append('prom_clean', '0');\n } else {\n params.append('prom_clean', '1');\n }\n\n if (this.glValue) params.append('_gl', this.glValue);\n\n if (formValues.hotels) {\n this.generatedUrl = `${this.hotelsValue?.url}?${params.toString()}`;\n } else {\n this.generatedUrl = `${this.button?.url}?${params.toString()}`;\n }\n }\n\n private appendGuestAges(params: URLSearchParams): void {\n const { infants, kids } = this.guestsValueSeparates;\n\n if (infants) {\n Array.from({ length: infants }).forEach(() =>\n params.append('guestAges', '0')\n );\n }\n\n if (kids?.codeAges?.length) {\n kids.codeAges.forEach((age) =>\n params.append('guestAges', age.toString())\n );\n }\n }\n\n private formatDate(date: Date): string {\n return date\n .toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n })\n .replace(/\\//g, '-');\n }\n\n get defaultGuestsValue(): guestsValue {\n return {\n adultsValue: {\n code: this.guestsValueSeparates.adults,\n name: String(this.guestsValueSeparates.adults).padStart(2, '0'),\n },\n kidsValue: {\n code: this.guestsValueSeparates.kids.code,\n name: String(this.guestsValueSeparates.kids.code).padStart(\n 2,\n '0'\n ),\n ages: this.guestsValueSeparates.kids.codeAges?.map((code) => ({\n code,\n name: String(code).padStart(2, '0'),\n })),\n },\n infantsValue: {\n code: this.guestsValueSeparates.infants,\n name: String(this.guestsValueSeparates.infants).padStart(\n 2,\n '0'\n ),\n },\n };\n }\n}\n\nexport interface BabylonHotelI {\n id?: string;\n name?: string;\n ticket?: string;\n}\n\nexport interface BabylonGuestValueI {\n adults: number;\n kids: {\n code?: number;\n codeAges?: number[];\n };\n infants: number;\n}\n\nexport interface BabylonHotelsDropdownI {\n placeholder?: string;\n options?: BabylonHotelDropdownOption[];\n title?: string;\n smallTitle?: string;\n error?: string;\n}\n\nexport interface BabylonHotelDropdownOption {\n name?: string;\n ticker?: string;\n url?: string;\n}\n","<!--Desktop Engine-->\n<div class=\"babylon__engine bg_white\" [ngClass]=\"{'engine__cadena': hotels}\">\n <form\n class=\"babylon__engine__form d-flex align-items-center\"\n [formGroup]=\"form\"\n >\n @if(hotelsInput && hotels && hotels.options && hotels.options.length > 1) {\n <div\n class=\"babylon__engine__input--wrapper d-flex align-items-center hotels\"\n >\n <p-dropdown\n class=\"babylon__engine__input\"\n [options]=\"hotels.options\"\n formControlName=\"hotels\"\n [placeholder]=\"hotelsPlaceholder\"\n optionLabel=\"name\"\n (onChange)=\"handleDropdownChange($event)\"\n #hotelsDropdown\n >\n </p-dropdown>\n\n <span\n class=\"babylon-arrow-bottom\"\n ></span>\n </div>\n }\n <div\n class=\"babylon__engine__datepicker--wrapper d-flex justify-content-between align-items-center\"\n >\n <p-calendar\n class=\"babylon__engine__datepicker\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n [(ngModel)]=\"datepickerValue\"\n selectionMode=\"range\"\n [numberOfMonths]=\"2\"\n [placeholder]=\"datepickerData?.placeholder\"\n formControlName=\"dates\"\n [minDate]=\"minDate\"\n #datepicker\n >\n </p-calendar>\n\n <span\n class=\"babylon__engine__datepicker--icon babylon-arrow-bottom\"\n ></span>\n </div>\n <div\n class=\"babylon__engine__input--wrapper d-flex align-items-center\"\n (click)=\"toggleShowingGuests()\"\n >\n <input\n class=\"babylon__engine__input\"\n type=\"text\"\n [placeholder]=\"guestsInput?.placeholder\"\n formControlName=\"guests\"\n />\n <span class=\"babylon-arrow-bottom\"></span>\n </div>\n <p-dialog class=\"babylon__engine__dialog\" [(visible)]=\"showingGuests\">\n <lib-babylon-guests-popup\n [onlyAdults]=\"onlyAdults\"\n [defaultValue]=\"defaultGuestsValue\"\n [adultsDropdown]=\"guests?.adultsDropdown\"\n [agesDropdown]=\"guests?.agesDropdown\"\n [agesLabel]=\"guests?.agesLabel\"\n [babiesDropdown]=\"guests?.babiesDropdown\"\n [kidsDropdown]=\"guests?.kidsDropdown\"\n [kidsDropdown]=\"guests?.kidsDropdown\"\n [btn]=\"guests?.btn\"\n (apply)=\"guestsChange($event)\"\n ></lib-babylon-guests-popup>\n </p-dialog>\n <div\n class=\"babylon__engine__input--wrapper d-flex align-items-center promo-code\"\n >\n <input\n class=\"babylon__engine__input\"\n type=\"text\"\n [placeholder]=\"promoInput?.placeholder\"\n formControlName=\"promo\"\n />\n <span class=\"babylon-tag\"></span>\n </div>\n\n @if (button) {\n <a\n [href]=\"generatedUrl\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"btn btn_call\"\n id=\"btn-submit\"\n >\n {{ button.label }}\n </a>\n }\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { Calendar, CalendarModule } from 'primeng/calendar';\nimport { DialogModule } from 'primeng/dialog';\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGuestsPopupI } from '../babylon-guests-popup/babylon-guests-popup.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\nimport {\n BabylonGuestsPopupComponent,\n guestsValue,\n} from '../babylon-guests-popup/babylon-guests-popup.component';\nimport { BabylonGuestValueI } from '../babylon-engine/babylon-engine.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-engine-modal',\n standalone: true,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CalendarModule,\n BabylonGuestsPopupComponent,\n DialogModule,\n DropdownModule,\n CommonModule,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-engine-modal.component.html',\n styleUrl: './babylon-engine-modal.component.scss',\n})\nexport class BabylonEngineModalComponent implements OnInit {\n @ViewChild('datepicker') datepicker!: Calendar;\n @Input() modal?: boolean;\n @Output() close = new EventEmitter<any>();\n datepickerValue = '';\n minDate: Date = new Date();\n\n @Input() datepickerData?: BabylonInputI;\n @Input() guestsInput?: BabylonInputI;\n @Input() promoInput?: BabylonInputI;\n @Input() button?: BabylonButtonI;\n @Input() guests?: BabylonGuestsPopupI;\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() lang?: string;\n @Input() url?: string;\n @Input() codigo?: string;\n @Input() glValue?: string;\n @Input() onlyAdults?: boolean;\n\n @ViewChild('hotelsDropdown', { static: false }) hotelsDropdown!: Dropdown;\n @Input() hotelsInput?: BabylonInputI;\n @Input() hotels?: BabylonHotelsModalDropdownI;\n @Input() hotelsPlaceholder?: string;\n hotelsValue: any;\n\n formModal = new FormGroup({\n hotels: new FormControl(undefined, [Validators.required]),\n dates: new FormControl('', [Validators.required]),\n guests: new FormControl('', [Validators.required]),\n promo: new FormControl('', [Validators.required]),\n });\n\n guestsValue = '';\n guestsValueSeparates: BabylonGuestValueI = {\n adults: 2,\n kids: {\n code: 0,\n codeAges: [],\n },\n infants: 0,\n };\n generatedUrl: string = '';\n private unsubscribe$ = new Subject<void>();\n showingGuests = false;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private readonly dialogRef: MatDialogRef<BabylonEngineModalComponent>,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.minDate.setHours(0, 0, 0, 0);\n this.guestsValue = '2';\n this.formModal.get('guests')?.setValue(this.guestsValue);\n\n this.updateGeneratedUrl();\n this.cdr.detectChanges();\n\n this.formModal.valueChanges\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(() => {\n this.updateGeneratedUrl();\n });\n }\n\n openCalendar(): void {\n this.datepicker.toggle();\n }\n\n toggleHotelsDropdown(): void {\n if (this.hotelsDropdown) {\n this.hotelsDropdown.show();\n }\n }\n\n handleDropdownChange(event: any): void {\n this.hotelsValue = event.value;\n }\n\n toggleShowingGuests(): void {\n this.showingGuests = !this.showingGuests;\n }\n\n guestsChange(data: guestsValue) {\n this.guestsValueSeparates.adults = Number(data.adultsValue?.code);\n this.guestsValueSeparates.kids.code = Number(data.kidsValue?.code);\n this.guestsValueSeparates.kids.codeAges = data.kidsValue?.ages?.map(\n (age) => Number(age.code)\n );\n this.guestsValueSeparates.infants = Number(data.infantsValue?.code);\n\n const totalGuests =\n (Number(data.adultsValue?.code)\n ? Number(data.adultsValue?.code)\n : 0) +\n (Number(data.kidsValue?.code) ? Number(data.kidsValue?.code) : 0) +\n (Number(data.infantsValue?.code)\n ? Number(data.infantsValue?.code)\n : 0);\n this.guestsValue =\n totalGuests < 10\n ? '0' + totalGuests.toString()\n : totalGuests.toString();\n\n this.formModal?.get('guests')?.setValue(this.guestsValue);\n\n this.toggleShowingGuests();\n }\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n\n closeModal(): void {\n this.close.emit(this.formModal.value);\n this.dialogRef.close();\n }\n\n updateGeneratedUrl(): void {\n if (!this.formModal || !this.button?.url) {\n this.generatedUrl = this.button?.url || '';\n return;\n }\n\n const formValues = this.formModal.value;\n const params = new URLSearchParams();\n\n if (this.url) {\n const isMobile =\n /Mobi|Android|iPhone|iPad|iPod|Windows Phone/i.test(\n navigator.userAgent\n );\n const affiliate = `${this.codigo}_${this.lang}_${\n isMobile ? 'mobile' : 'PC'\n }`;\n params.append('affiliate', affiliate);\n }\n\n if (Array.isArray(formValues.dates) && formValues.dates.length === 2) {\n const [datein, dateout] = formValues.dates.map((date: string) =>\n this.formatDate(new Date(date))\n );\n params.append('datein', datein);\n params.append('dateout', dateout);\n }\n\n if (this.guestsValueSeparates.adults) {\n params.append(\n 'adultos',\n this.guestsValueSeparates.adults.toString()\n );\n }\n\n if (this.guestsValueSeparates.kids.code) {\n params.append(\n 'children',\n this.guestsValueSeparates.kids.code.toString()\n );\n }\n\n if (this.guestsValueSeparates.infants) {\n params.append(\n 'babies',\n this.guestsValueSeparates.infants.toString()\n );\n }\n\n this.appendGuestAges(params);\n\n if (formValues.promo) {\n params.append('prom', formValues.promo);\n params.append('prom_clean', '0');\n } else {\n params.append('prom_clean', '1');\n }\n\n if (this.glValue) params.append('_gl', this.glValue);\n\n if (formValues.hotels) {\n this.generatedUrl = `${this.hotelsValue?.url}?${params.toString()}`;\n } else {\n this.generatedUrl = `${this.button?.url}?${params.toString()}`;\n }\n }\n\n private appendGuestAges(params: URLSearchParams): void {\n const { infants, kids } = this.guestsValueSeparates;\n\n if (infants) {\n Array.from({ length: infants }).forEach(() =>\n params.append('guestAges', '0')\n );\n }\n\n if (kids?.codeAges?.length) {\n kids.codeAges.forEach((age) =>\n params.append('guestAges', age.toString())\n );\n }\n }\n\n private formatDate(date: Date): string {\n return date\n .toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n })\n .replace(/\\//g, '-');\n }\n\n get defaultGuestsValue(): guestsValue {\n return {\n adultsValue: {\n code: this.guestsValueSeparates.adults,\n name: String(this.guestsValueSeparates.adults).padStart(2, '0'),\n },\n kidsValue: {\n code: this.guestsValueSeparates.kids.code,\n name: String(this.guestsValueSeparates.kids.code).padStart(\n 2,\n '0'\n ),\n ages: this.guestsValueSeparates.kids.codeAges?.map((code) => ({\n code,\n name: String(code).padStart(2, '0'),\n })),\n },\n infantsValue: {\n code: this.guestsValueSeparates.infants,\n name: String(this.guestsValueSeparates.infants).padStart(\n 2,\n '0'\n ),\n },\n };\n }\n}\n\nexport interface BabylonHotelsModalDropdownI {\n placeholder?: string;\n options?: BabylonHotelModalDropdownOption[];\n title?: string;\n smallTitle?: string;\n error?: string;\n}\n\nexport interface BabylonHotelModalDropdownOption {\n name?: string;\n ticker?: string;\n url?: string;\n}\n","<div class=\"babylon__engines__wrapper\">\n <div class=\"close-modal\" (click)=\"closeModal()\">\n <button class=\"btn btn_primary btn--light btn--close ml--20\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"babylon__engines engine-modal\">\n <div\n class=\"babylon__engines__header d-flex flex-column align-itemns-center\"\n [ngClass]=\"{\n 'babylon__engines__header--popup-open': showingGuests\n }\"\n >\n @if (title) {\n <h4 class=\"title--small\">{{ title }}</h4>\n } @if (subtitle) {\n <span class=\"subtitle\">{{ subtitle }}</span>\n\n }\n </div>\n\n <form\n class=\"babylon__engines__form d-flex flex-column align-items-center\"\n [formGroup]=\"formModal\"\n >\n @if(hotelsInput && hotels && hotels.options && hotels.options.length > 1){\n <div\n class=\"babylon__engines__input--wrapper d-flex align-items-center hotels\"\n >\n <span class=\"babylon__engines__datepicker__icon--left\"></span>\n @if(hotelsInput){\n <span\n class=\"babylon__engines__datepicker--title\"\n (click)=\"toggleHotelsDropdown()\"\n >{{ hotelsInput }}</span\n >\n }\n <span class=\"babylon-arrow-bottom\"></span>\n\n <p-dropdown\n class=\"babylon__engines__input\"\n [options]=\"hotels.options\"\n formControlName=\"hotels\"\n [placeholder]=\"hotelsPlaceholder\"\n optionLabel=\"name\"\n (onChange)=\"handleDropdownChange($event)\"\n #hotelsDropdown\n >\n </p-dropdown>\n </div>\n }\n <div\n class=\"babylon__engines__datepicker--wrapper d-flex justify-content-between flex-nowrap\"\n >\n <span\n class=\"babylon__engines__datepicker__icon--left\"\n (click)=\"openCalendar()\"\n ></span>\n @if (datepickerData?.title) {\n <span\n class=\"babylon__engines__datepicker--title\"\n (click)=\"openCalendar()\"\n >{{ datepickerData?.title }}</span\n >\n }\n\n <p-calendar\n class=\"babylon__engines__datepicker\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n [(ngModel)]=\"datepickerValue\"\n selectionMode=\"range\"\n [placeholder]=\"datepickerData?.placeholder\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n [minDate]=\"minDate\"\n #datepicker\n >\n </p-calendar>\n <span\n (click)=\"openCalendar()\"\n class=\"babylon__engines__datepicker__icon babylon-calendar\"\n ></span>\n </div>\n @if (guestsInput) {\n <div\n class=\"babylon__engines__input--wrapper d-flex align-items-center guests\"\n (click)=\"toggleShowingGuests()\"\n >\n <span class=\"babylon__engines__datepicker__icon--left\"></span>\n <input\n class=\"babylon__engines__input\"\n type=\"text\"\n formControlName=\"guests\"\n [placeholder]=\"guestsInput.placeholder\"\n [value]=\"guestsValue\"\n />\n <span class=\"babylon-arrow-bottom\"></span>\n </div>\n } @if (showingGuests && guests) {\n <lib-babylon-guests-popup\n [onlyAdults]=\"onlyAdults\"\n [defaultValue]=\"defaultGuestsValue\"\n [adultsDropdown]=\"guests.adultsDropdown\"\n [agesDropdown]=\"guests.agesDropdown\"\n [agesLabel]=\"guests.agesLabel\"\n [babiesDropdown]=\"guests.babiesDropdown\"\n [kidsDropdown]=\"guests.kidsDropdown\"\n [kidsDropdown]=\"guests.kidsDropdown\"\n [btn]=\"guests.btn\"\n (apply)=\"guestsChange($event)\"\n ></lib-babylon-guests-popup>\n } @if (promoInput) {\n <div\n class=\"babylon__engines__input--wrapper d-flex align-items-center promo-code\"\n >\n <span class=\"babylon__engines__datepicker__icon--left\"></span>\n <input\n class=\"babylon__engines__input\"\n type=\"text\"\n [placeholder]=\"promoInput.placeholder\"\n formControlName=\"promo\"\n [value]=\"\"\n />\n <span class=\"babylon-tag\"></span>\n </div>\n } @if (button) {\n <a\n [href]=\"generatedUrl\"\n linkType=\"external\"\n class=\"btn btn_call btn--light1\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n\n >\n {{ button.label }}\n </a>\n }\n </form>\n </div>\n</div>\n\n<!-- <div class=\"babylon__engine__close\">\n <a\n class=\"btn btn-circle btn--light babylon-plus\"\n (click)=\"closeModal()\"\n ></a>\n</div> -->\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-faq',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-faq.component.html',\n styleUrl: './babylon-faq.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFaqComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() image?: BabylonImageI;\n @Input() items?: BabylonFaqItem[];\n\n selectedIndex = 0;\n\n selectItem(index: number) {\n this.selectedIndex = index;\n }\n}\n\nexport interface BabylonFaqItem {\n label?: string;\n description?: string;\n}\n","<section class=\"babylon__faq margin-main\">\n <div class=\"container\">\n <div class=\"row align-items-center cs_gap_y_30\">\n @if (image) {\n <div class=\"col-lg-6 cs_pr_110\">\n <div\n class=\"cs_pr_1101 cs_image_layer cs_style_3 position-relative\"\n >\n <img\n [src]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"cs--radius\"\n loading=\"lazy\"\n />\n </div>\n </div>\n }\n <div class=\"col-lg-6\">\n <div class=\"intro_info no-align\">\n @if (pretitle) {\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if (title) {\n <h3 class=\"title\">{{ title }}</h3>\n }\n </div>\n @if (items?.length) {\n <div class=\"cs_accordians cs_style_1\">\n @for (item of items; track $index) {\n <div\n class=\"cs_accordian {{\n selectedIndex === $index ? 'active' : ''\n }}\"\n >\n @if (item.label) {\n <div\n class=\"cs_accordian_head\"\n (click)=\"selectItem($index)\"\n >\n <h2 class=\"title--smaller mb--0\">\n {{ item.label }}\n </h2>\n <span\n class=\"cs_accordian_toggle\"\n ></span>\n </div>\n }\n @if (item.description) {\n <div class=\"cs_accordian_body\">\n <p class=\"text mb--0\">\n {{ item.description }}\n </p>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-features-slider',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-features-slider.component.html',\n styleUrl: './babylon-features-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFeaturesSliderComponent implements AfterViewInit {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonFeaturesSliderItem[];\n @Input() button?: BabylonButtonI;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.cdr.detectChanges();\n }, 100);\n }\n}\n\nexport interface BabylonFeaturesSliderItem {\n title?: string;\n description?: string;\n icon?: string;\n}\n","<section class=\"babylon__features-slider margin-main \">\n\n <div class=\"cs_slider cs_style_1 cs_slider_gap_30 cs_show_shadow_20\">\n <div class=\"container\">\n <div class=\"cs_section_heading_wrap_1\">\n <div class=\"cs_section_heading cs_style_1 \">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h3 class=\"pretitle wow fadeInLeft\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ pretitle }} </h3>\n } @if(title){\n <h2 class=\"title\">{{ title }}</h2>\n }\n </div>\n\n </div>\n <div class=\"cs_slider_arrows cs_style_4\">\n <div class=\"cs_left_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\" cs_right_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n\n <div class=\"cs_full_width_right mb--20\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container4\"\n data-autoplay=\"0\"\n data-loop=\"0\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"1\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"2\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-lg-slides=\"2\"\n data-xl-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (items?.length) { @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_iconbox cs_style_3 cs--radius bg--white\">\n @if(item.icon){\n <div class=\"cs_iconbox_icon cs_mb_29 cs_center cs--radius bg--white\">\n <div class=\"info--icon icon--big \">\n <i\n class=\"icon--svg\"\n [ngClass]=\"item.icon\"\n ></i>\n </div>\n </div>\n } @if(item.title){\n <h3 class=\"title--small mb--10\">{{ item.title }}</h3>\n } @if(item.description){\n <p class=\"text\">{{ item.description }}</p>\n }\n </div>\n </div>\n } }\n </div>\n </div>\n </div>\n @if(button){\n <div class=\"btns__box align--center \">\n <a\n [href]=\"button.url\"\n class=\"btn btn_primary \"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { BabylonGalleryFilter } from '../babylon-gallery';\n\n@Component({\n selector: 'lib-filter-modal',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-filter-modal.component.html',\n styleUrl: './babylon-filter-modal.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFilterModalComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() filters?: BabylonGalleryFilter[];\n\n @Output() filterSelect = new EventEmitter<BabylonGalleryFilter>();\n\n constructor(\n private readonly dialogRef: MatDialogRef<BabylonFilterModalComponent>\n ) {}\n\n close(filter?: BabylonGalleryFilter): void {\n if (filter) {\n this.filterSelect.emit(filter);\n }\n this.dialogRef.close();\n }\n}\n","<div class=\"btn-close--modal\">\n <a\n class=\"btn btn_primary btn--light babylon-plus btn-responsive\"\n (click)=\"close()\"\n ></a>\n</div>\n<div class=\"babylon__filters__wrapper\">\n <div class=\"babylon__filters\">\n <header class=\"babylon__filters__header\">\n @if (title) {\n <h1 class=\"title light\">{{ title }}</h1>\n }\n @if (subtitle) {\n <span class=\"subtitle light\">{{ subtitle }}</span>\n }\n </header>\n <ul class=\"d-flex flex-column\">\n @for (filter of filters; track filter.text) {\n <li class=\"text light\" (click)=\"close(filter)\">\n {{ filter.text }}\n </li>\n }\n </ul>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-footer-contact',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-contact.component.html',\n styleUrl: './babylon-footer-contact.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterContactComponent {\n @Input() title?: string;\n @Input() text?: string;\n @Input() advantages?: BabylonAdvInfoI[];\n @Input() links?: BabylonButtonI[];\n @Input() button?: BabylonButtonI;\n @Input() extraTxt?: string;\n @Input() img?: BabylonImageI;\n}\n","<section class=\"babylon__footer-contact margin-main1\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"footer-contact--module\">\n <div class=\"footer-contact--info\">\n <div class=\"footer-contact--head\">\n @if (title) {\n <h2 class=\"title--small mb--30\">{{ title }}</h2>\n }\n @if (text) {\n <p class=\"text\">{{ text }}</p>\n }\n @if (advantages) {\n <ul class=\"mt--30\">\n @for (adv of advantages; track $index) {\n <li>\n <span class=\"info--icon\"\n ><i\n class=\"icon--svg\"\n [ngClass]=\"adv.icon\"\n ></i\n ></span>\n <p class=\"text\">{{ adv.text }}</p>\n </li>\n }\n </ul>\n }\n </div>\n @if (links) {\n <div class=\"footer-contact--foot\">\n @for (link of links; track $index) {\n <p>\n <a\n [href]=\"link?.url\"\n [linkType]=\"link?.linkType\"\n >{{ link?.label }}</a\n >\n </p>\n }\n </div>\n }\n </div>\n <div class=\"footer-contact--photo\">\n @if (extraTxt) {\n <span class=\"footer-contact--tag\">{{ extraTxt }}</span>\n }\n @if (img) {\n <img [src]=\"img.src\" [alt]=\"img.alt\" class=\" \" />\n }\n @if (button) {\n <div class=\"footer-contact--btns\">\n <a\n class=\"btn btn_call btn--light\"\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n >\n <b>{{ button.label }}</b>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-footer-links',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-links.component.html',\n styleUrl: './babylon-footer-links.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterLinksComponent {\n @Input() copyright?: string;\n @Input() year?: string;\n @Input() buttons?: BabylonButtonI[];\n}\n","<section class=\"babylon__footer-links\">\n <div class=\"cs_bottom_footer_wrap\">\n <div class=\"container\">\n <div class=\"cs_bottom_footer position-relative\">\n @if (copyright) {\n <div class=\"cs_copyright\">\n {{ copyright }}\n @if (year) {\n <span class=\"cs_copyright_year\"> {{ year }} </span>\n }\n </div>\n }\n @if (buttons) {\n <div class=\"cs_bottom_footer_right\">\n <ul class=\"cs_footer_links cs_mp_0\">\n @for (button of buttons; track $index) {\n <li>\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n >{{ button?.label }}</a\n >\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI, BabylonTexts, BabylonButtonI } from '../../../interfaces';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-footer-logos',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-logos.component.html',\n styleUrl: './babylon-footer-logos.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterLogosComponent {\n @Input() logos?: BabylonFooterLogoItemI[];\n @Input() texts?: BabylonTexts;\n @Input() buttons?: BabylonButtonI[];\n}\n\nexport interface BabylonFooterLogoItemI {\n img?: BabylonImageI;\n link?: BabylonButtonI;\n}","<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (texts) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts.title) {\n <h1 class=\"title--small mb--10\">{{ texts.title }}</h1>\n }\n @if (texts.subtitle) {\n <h2 class=\"title\">{{ texts.subtitle }}</h2>\n }\n @if (texts.description) {\n <p class=\"text mb--10\">\n {{ texts.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-footer-social',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-social.component.html',\n styleUrl: './babylon-footer-social.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterSocialComponent {\n @Input() title?: string;\n @Input() text?: string;\n @Input() links?: BabylonButtonI[];\n}\n","<section class=\"babylon__footer-socials margin-main\">\n <div class=\"babylon__footer-socials__wrap\">\n <div class=\"container\">\n <div class=\"babylon__footer-socials__inner\">\n @if (title) {\n <div class=\"cs_bottom_footer_left\">\n <span class=\"text\">{{ title }}</span>\n </div>\n }\n @if (links) {\n <div class=\"cs_bottom_footer_center\">\n <ul class=\"cs_social_btns cs_style_1\">\n @for (link of links; track $index) {\n @if(link.icon){\n <li>\n <a\n [href]=\"link.url || link.linkValue\"\n [linkType]=\"link.linkType\"\n class=\"cs_center\"\n >\n <span class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"'icon-' + link.icon\"></i>\n </span>\n </a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (text) {\n <div class=\"cs_bottom_footer_right\">\n <span class=\"text\">{{ text }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { BabylonButtonI } from \"../../../interfaces/babylon-button.interface\";\n\nexport class BabylonFooterSocialI {\n title?: string;\n text?: string;\n links?: BabylonButtonI[];\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n EventEmitter,\n inject,\n Input,\n OnInit,\n signal,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { tap } from 'rxjs';\nimport { BabylonLightGalleryDirective } from '../../../directives/babylon-galleries/babylon-light-gallery.directive';\nimport { BabylonButtonI } from '../../../interfaces';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonFilterModalComponent } from '../babylon-filter-modal';\n\n@Component({\n selector: 'lib-babylon-gallery',\n standalone: true,\n imports: [CommonModule, BabylonLightGalleryDirective],\n templateUrl: './babylon-gallery.component.html',\n styleUrl: './babylon-gallery.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonGalleryComponent implements OnInit {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() roomTitle?: string;\n @Input() filterTitle?: string;\n @Input() filters?: BabylonGalleryFilter[];\n @Input() images?: BabylonGalleryItem[];\n @Input() filtersBtn?: BabylonButtonI;\n @Input() roomsBtn?: BabylonButtonI;\n\n filterSelected = signal<BabylonGalleryFilter | undefined>(undefined);\n\n imagesDisplayed = computed(() => {\n if (this.filterSelected()?.all || !this.filterSelected()) {\n return this.images;\n } else {\n return this.images?.filter(\n (item) => item.filter === this.filterSelected()?.id\n );\n }\n });\n\n private readonly dialog = inject(MatDialog);\n\n ngOnInit(): void {\n this.filterSelected.set(this.filters?.find((f) => f.all));\n }\n\n filterItems(filter?: BabylonGalleryFilter): void {\n if (filter) {\n !filter.rooms\n ? this.filterSelected.set(filter)\n : this.openFiltersModal(true);\n }\n }\n\n openFiltersModal(rooms?: boolean): void {\n const dialogRef = this.dialog.open(BabylonFilterModalComponent, {\n width: '100vw',\n height: '100vh',\n maxWidth: '100vw',\n hasBackdrop: true,\n });\n\n const event = new EventEmitter<BabylonGalleryFilter>();\n\n event\n .pipe(\n tap((filter?: BabylonGalleryFilter) => {\n this.filterItems(filter);\n })\n )\n .subscribe();\n\n dialogRef.componentInstance.filters = this.filters?.filter(\n (filter) => (!rooms && !filter.room) || (rooms && filter.room)\n );\n\n dialogRef.componentInstance.filterSelect = event;\n dialogRef.componentInstance.title = rooms\n ? this.roomTitle\n : this.filterTitle;\n dialogRef.componentInstance.filterSelect = event;\n }\n}\n\nexport interface BabylonGalleryItem {\n img?: BabylonImageI;\n title?: string;\n filter?: number;\n}\n\nexport interface BabylonGalleryFilter {\n id: number;\n text?: string;\n rooms?: boolean;\n room?: boolean;\n all?: boolean;\n}\n","<section class=\"babylon__gallery margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if (pretitle) {\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if (title) {\n <h3 class=\"title\">{{ title }}</h3>\n }\n </div>\n </div>\n @if (filters?.length) {\n <div class=\"item d-flex justify-content-center\">\n @for (filter of filters; track $index) {\n @if (filter && !filter.room) {\n <span\n class=\"subtitle babylon__gallery__filter\"\n (click)=\"filterItems(filter)\"\n [ngClass]=\"{\n 'babylon__gallery__filter--selected':\n filterSelected() === filter,\n }\"\n >\n {{ filter.text }}\n </span>\n }\n }\n </div>\n }\n <div class=\"babylon__gallery__filter-buttons d-flex justify-content-center\">\n @if (roomsBtn) {\n <button\n class=\"d-flex justify-content-between align-items-center\"\n (click)=\"openFiltersModal(true)\"\n >\n {{ roomsBtn.label }} <span>=</span>\n </button>\n }\n @if (filtersBtn) {\n <button\n class=\"d-flex justify-content-between align-items-center\"\n (click)=\"openFiltersModal(false)\"\n >\n {{ filtersBtn.label }} <span>=</span>\n </button>\n }\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_grid_style_2 cs_lightgallery\" BabylonLightGallery>\n @if (imagesDisplayed()?.length) {\n @for (item of imagesDisplayed(); track $index) {\n <div class=\"cs_grid_item\">\n <a\n [href]=\"item.img?.src\"\n class=\"cs_gallery_item cs_style_3 cs_lightbox_item d-block cs_bg_filed position-relative cs_type_1 cs--radius\"\n [attr.data-src]=\"item.img?.src\"\n [style.background-image]=\"\n 'url(' + item.img?.src + ')'\n \"\n >\n <div class=\"cs_gallery_item_hover cs--radius\">\n <span class=\"cs_hover_icon cs_accent_color\">\n <span class=\"babylon-fullscreen\"></span>\n </span>\n @if (item.title) {\n <span\n class=\"cs_hover_text title--smaller\"\n >{{ item.title }}</span\n >\n }\n </div>\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n class=\"d-none\"\n />\n }\n </a>\n </div>\n }\n }\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-grid-gallery',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-grid-gallery.component.html',\n styleUrl: './babylon-grid-gallery.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonGridGalleryComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() button?: BabylonButtonI[];\n @Input() images?: BabylonImageI[];\n \n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__grid-gallery margin-main\"> \n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n } \n </div> \n <div class=\"row cs_row_gap_lg_10\">\n <div class=\"col-9\">\n <div class=\"position-relative overflow-hidden cs--radius_5 cs_gallery_hover_show_nav cs_primary_bg\">\n <div class=\"cs_gallery_slider_thumb slick-slider\" sliders=\"cs_gallery_slider_thumb\">\n @if(images?.length){\n @for(image of images; track $index){\n <div class=\"cs_gallery_slider_thumb_item cs--radius\">\n <img [src]=\"image.src\" alt=\"Thumb\" class=\"cs--radius\">\n </div>\n }\n }\n </div> \n <div class=\"cs_left_arrow_gallery cs_center\">\n <div class=\"cs_left_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-left-big\"></span> \n </div> \n </div>\n <div class=\"cs_right_arrow_gallery cs_center\">\n <div class=\"cs_right_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-right-big\"></span> \n </div> \n </div>\n </div>\n </div>\n <div class=\"col-3\">\n <div class=\"overflow-hidden cs--radius_5\">\n <div class=\"cs_gallery_slider_nav slick-slider\" sliders=\"cs_gallery_slider_nav\">\n @if(images?.length){\n @for(image of images; track $index){\n <div class=\"cs_gallery_slider_thumb_mini cs--radius\">\n <img [src]=\"image.src\" alt=\"Thumb\">\n </div>\n }\n }\n </div>\n </div>\n </div>\n </div> \n \n @if(button && button[0]?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button[0].url\" class=\"btn btn_primary\">\n <b>{{button[0].label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </div>\n</section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces';\n\n@Component({\n selector: 'lib-babylon-head-intro',\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-head-intro.component.html',\n styleUrls: ['./babylon-head-intro.component.scss'],\n standalone : true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class BabylonHeadIntroComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() buttons?: BabylonButtonI[];\n}\n","<section class=\"babylon__head-intro margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h1 class=\"title\">{{ title }}</h1>\n }\n @if (text) {\n <p class=\"text\">\n {{ text }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn btn_primary\"\n ><b>{{ button?.label }}</b\n ><span class=\"babylon-arrow-right-big\"></span\n ></a>\n </div>\n }\n }\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI, BabylonMenuButtonI, BabylonImageI } from '../../../interfaces';\n\n@Component({\n selector: 'lib-babylon-modal-menu',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-modal-menu.component.html',\n styleUrl: './babylon-modal-menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonModalMenuComponent {\n @Input() menu?: BabylonMenuButtonI[];\n @Input() socialMedia?: BabylonButtonI[];\n @Input() address?: BabylonModalMenuAddress;\n @Input() contact?: BabylonButtonI[];\n @Input() addressTitle?: string;\n @Input() contactTitle?: string;\n @Input() img?: BabylonImageI;\n @Input() hastag?: string;\n @Input() logo?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n\n @Output() anchorClicked = new EventEmitter<void>();\n @Output() toggleMenu = new EventEmitter<void>();\n}\n\nexport interface BabylonModalMenuAddress {\n id?: string;\n name?: string;\n address?: string;\n city?: string;\n province?: string;\n country?: string;\n cp?: string;\n links?: BabylonButtonI;\n}\n","<div class=\"panel__content\">\n <div class=\"panel__content_wrapper\">\n <div class=\"cs_hamburger_header_top\">\n @if (logo) {\n <div class=\"cs_hamburger_brand\">\n <a \n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\">\n </a>\n </div>\n }\n <div class=\"btn-close--modal\">\n <a\n class=\"btn btn_primary btn--light babylon-plus btn-responsive\"\n (click)=\"toggleMenu.emit()\"\n ></a>\n </div>\n </div>\n <div class=\"container\">\n <div class=\"row justify-content-between\">\n <div class=\"col-lg-5\">\n <nav class=\"wrapper_menu\">\n @if (menu && menu.length) {\n <ul>\n @for (link of menu; track $index) {\n <li>\n <div class=\"container-item\">\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n (anchorClicked)=\"\n anchorClicked.emit()\n \"\n >\n {{ link.label }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n </nav>\n <!-- /wrapper_menu -->\n </div>\n <div class=\"col-lg-6 d-flex align-items-end\">\n <div class=\"menu_panel_details\">\n @if (img) {\n <div>\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n />\n </div>\n }\n <div class=\"row justify-content-between\">\n @if (address) {\n <div class=\"col-lg-6 mb-lg-0 mb-4\">\n @if (addressTitle) {\n <h5 class=\"pretitle\">\n {{ addressTitle }}\n </h5>\n }\n <div class=\"contacts\">\n <a [href]=\"address.links?.url\" [linkType]=\"address.links?.linkType\" class=\"text text54\">\n @if (address.address) {\n <p\n [innerHTML]=\"address.address\"\n ></p>\n }\n @if (address.cp || address.city) {\n <p\n [innerHTML]=\"\n address.cp +\n ' ' +\n address.city\n \"\n ></p>\n }\n @if (\n address.province || address.country\n ) {\n <p\n [innerHTML]=\"\n address.province +\n ' ' +\n address.country\n \"\n ></p>\n }\n </a>\n </div>\n </div>\n }\n <div class=\"col-lg-5 mb-lg-0 mb-4\">\n @if (contact) {\n @if (contactTitle) {\n <h5 class=\"pretitle\">\n {{ contactTitle }}\n </h5>\n }\n @if (contact.length) {\n <div class=\"contacts\">\n <ul>\n @for (\n link of contact;\n track $index\n ) {\n <li>\n <a class=\"text\"\n [href]=\"link?.url\"\n [linkType]=\"\n link?.linkType\n \"\n >{{ link?.label }}</a\n >\n </li>\n }\n </ul>\n </div>\n }\n }\n </div>\n </div>\n\n <div\n class=\"see-more row justify-content-between\"\n style=\"display: none\"\n >\n @if (address) {\n <div\n class=\"see-more__address col-lg-6 mb-lg-0 mb-4\"\n ></div>\n }\n </div>\n @if (socialMedia) {\n <div class=\"social\">\n <ul class=\"row\">\n @for (link of socialMedia; track $index) {\n <li class=\"col-lg-2\">\n <a\n [href]=\"link.url\"\n linkType=\"external\"\n ><i [ngClass]=\"link.icon\"></i\n ></a>\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { ScreenSizerParams } from './screen-sizer.interface';\n\nexport const SCREEN_SIZER_PARAMS_TOKEN = new InjectionToken<ScreenSizerParams>(\n 'ScreenSizerParams'\n);\n","import { Injectable, inject, signal } from '@angular/core';\nimport {\n debounceTime,\n distinctUntilChanged,\n fromEvent,\n map,\n startWith,\n} from 'rxjs';\nimport { SCREEN_SIZER_PARAMS_TOKEN } from './screen-sizer.service.token';\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.mobile);\n\n this.smallTablet.set(\n size >= this.screenSizerParams.mobile &&\n size < this.screenSizerParams.smallTablet\n );\n\n this.mediumTablet.set(\n size >= this.screenSizerParams.smallTablet &&\n size < this.screenSizerParams.mediumTablet\n );\n\n this.fullTablet.set(\n size >= this.screenSizerParams.mediumTablet &&\n size < this.screenSizerParams.fullTablet\n );\n\n this.smallDesktop.set(\n size >= this.screenSizerParams.fullTablet &&\n size < this.screenSizerParams.smallDesktop\n );\n\n this.mediumDesktop.set(\n size >= this.screenSizerParams.smallDesktop &&\n size < this.screenSizerParams.mediumDesktop\n );\n\n this.fullDesktop.set(\n size >= this.screenSizerParams.mediumDesktop &&\n size < this.screenSizerParams.fullDesktop\n );\n\n this.fullBigDesktop.set(\n size >= this.screenSizerParams.fullDesktop &&\n size < this.screenSizerParams.fullBigDesktop\n );\n\n this.maxDesktop.set(\n size >= this.screenSizerParams.fullBigDesktop\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 getBreakpoint(breakpoint: keyof typeof this.screenSizerParams): number {\n return this.screenSizerParams[breakpoint];\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","export enum RoomServiceType {\n Equipment = 'equipment',\n Service = 'service',\n characteristics = 'characteristics',\n }","import { BabylonButtonI, BodyComponent } from '../interfaces';\n\nexport class Utils {\n // Función para convertir una cadena de snake_case a camelCase\n static snakeToCamel(snake: string): string {\n return snake.replace(/(_\\w)/g, (matches) => matches[1].toUpperCase());\n }\n\n // Función para convertir las propiedades de un objeto de snake_case a camelCase\n static convertObjectKeysToCamelCase(obj: any): any {\n if (Array.isArray(obj)) {\n return obj.map((item) => this.convertObjectKeysToCamelCase(item));\n } else if (obj !== null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const camelKey = this.snakeToCamel(key);\n result[camelKey] = this.convertObjectKeysToCamelCase(obj[key]);\n return result;\n }, {} as any);\n }\n return obj;\n }\n\n static formatLinkType(linkType: string): string | undefined {\n return linkType === 'external_link' || linkType === 'external'\n ? 'external'\n : linkType === 'internal_link' || linkType === 'internal'\n ? 'internal'\n : linkType;\n }\n\n static findComponent<T>(\n body: BodyComponent<T>[],\n name: string\n ): T | undefined {\n return body.find((component) => component?.name?.toLowerCase() === name)\n ?.props;\n }\n\n static convertToBase64(file: File): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n });\n }\n\n static normalizeText(text: string): string {\n return text\n ?.normalize('NFD') // Descompone los caracteres con acentos\n ?.replace(/[\\u0300-\\u036f]/g, '') // Elimina los acentos\n ?.toLowerCase();\n }\n\n static mapButtons(\n button: any | any[] | undefined | null,\n buttonType?: string\n ): (BabylonButtonI | undefined)[] {\n if (Array.isArray(button)) {\n return button?.map(\n (btn) =>\n ({\n type: buttonType ?? undefined,\n label: btn?.label ?? undefined,\n linkType: Utils.formatLinkType(btn?.linkType),\n url: (() => {\n if (\n btn.linkValue &&\n typeof btn.linkValue === 'string'\n ) {\n const trimmedValue =\n btn.linkValue?.charAt(\n btn.linkValue?.length - 1\n ) === '/'\n ? btn.linkValue?.slice(0, -1)\n : btn.linkValue;\n\n if (/^\\+?[0-9]+$/.test(trimmedValue)) {\n // Es un teléfono\n return trimmedValue.startsWith('tel:')\n ? trimmedValue\n : `tel:${trimmedValue}`;\n } else if (\n /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(\n trimmedValue\n )\n ) {\n // Es un correo\n return trimmedValue.startsWith('mailto:')\n ? trimmedValue\n : `mailto:${trimmedValue}`;\n }\n\n return trimmedValue;\n }\n return undefined;\n })(),\n icon: btn.icon ? btn?.icon : undefined,\n }) as BabylonButtonI\n );\n } else {\n return [];\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const SITE_CONFIG_SERVICE_TOKEN = new InjectionToken<any>(\n 'SiteConfigService'\n);\n","import { computed, inject, Injectable, Signal, signal } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport {\n Babylon404I,\n BabylonAddressItem,\n BabylonAdvantagesI,\n BabylonBannerGalleryI,\n BabylonBannerInfoI,\n BabylonBreadcrumbI,\n BabylonComingSoonI,\n BabylonContactAddressI,\n BabylonContactFormI,\n BabylonContactHowI,\n BabylonContactMapaI,\n BabylonContactMapItem,\n BabylonEngineI,\n BabylonEngineModalI,\n BabylonEquipmentItem,\n BabylonFaqI,\n BabylonFaqItem,\n BabylonFeaturesSliderI,\n BabylonFeaturesSliderItem,\n BabylonFooterContactI,\n BabylonFooterLinksI,\n BabylonFooterLogosI,\n BabylonFooterSocialI,\n BabylonGalleryFilter,\n BabylonGalleryI,\n BabylonGalleryItem,\n BabylonHeaderBookShowI,\n BabylonHeaderClearI,\n BabylonHeaderMenuCenterI,\n BabylonHeaderMenuLogoCenterI,\n BabylonHeaderMenuShowI,\n BabylonHeadIntroI,\n BabylonHotelsListI,\n BabylonHotelsSliderI,\n BabylonInfo2imgBigI,\n BabylonInfo2imgI,\n BabylonInfo4imgI,\n BabylonInfoBigI,\n BabylonInfoGridI,\n BabylonInfoGridItemI,\n BabylonInfoImgI,\n BabylonInfoIntroI,\n BabylonInfoZigzagV2I,\n BabylonInfoZigzagV2Item,\n BabylonLanguageModalI,\n BabylonLegalI,\n BabylonNewsletterI,\n BabylonOfferDetailI,\n BabylonOfferI,\n BabylonOfferSliderI,\n BabylonOffersListI,\n BabylonOffersListItem,\n BabylonRoomDetailI,\n BabylonRoomInfoI,\n BabylonRoomsColsI,\n BabylonRoomsListEquipment,\n BabylonRoomsListI,\n BabylonRoomsListItem,\n BabylonRoomsSliderI,\n BabylonServicesSliderI,\n BabylonSlider2itemsI,\n BabylonSlider3ItemsI,\n BabylonSlider4colLabels,\n BabylonSliderItem,\n BabylonStaticFooterI,\n BabylonSubmenuI,\n BabylonThanksI,\n BabylonTopSliderI,\n BabylonTopSliderItem,\n BabylonTopSliderThumbsI,\n BabylonTopSliderV2I,\n BabylonTopSliderVideoI,\n BabylonWebmapI,\n DropdownOption,\n} from '../../components/core';\nimport { BabylonGlobalModalI } from '../../components/core/babylon-global-modal';\nimport { BabylonItemGridI } from '../../components/core/babylon-list-grid/babylon-list-grid.component';\nimport { BabylonListGridI } from '../../components/core/babylon-list-grid/babylon-list-grid.interface';\nimport { BabylonStaticFooterV2I } from '../../components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface';\nimport { RoomServiceType } from '../../Enum/services.enum';\nimport {\n BabylonButtonI,\n BabylonImageI,\n BabylonInputI,\n BabylonMenuButtonI,\n BabylonMenuInfoI,\n BabylonTextInfoI,\n BodyComponent,\n COMPONENTS_EXTRA,\n ConsultTypeI,\n} from '../../interfaces';\nimport { Utils } from '../../utils/utils';\nimport { ScreenSizerService } from '../screen-sizer';\nimport { SITE_CONFIG_SERVICE_TOKEN } from './mapper.service.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapperService {\n private readonly siteSvc = inject(SITE_CONFIG_SERVICE_TOKEN);\n private readonly screenSizer = inject(ScreenSizerService);\n\n get isMinFullTabletInstant(): boolean {\n return this.screenSizer.minFullTabletInstant();\n }\n\n headerButtons = signal<Record<string, string> | undefined>(undefined);\n\n siteId: Signal<number> = computed(\n () => this.siteSvc.webConfigInstant?.siteID\n );\n\n floatingButtons?: BabylonButtonI[];\n\n getImageResponsive(\n image: ImageResponse | undefined,\n isFigure = true\n ): string | BabylonImageI | undefined {\n let selectedImage;\n if (this.screenSizer.mobile()) {\n selectedImage = image?.thumbnails?.[375]?.webp;\n } else if (this.screenSizer.isSmallTabletInstant()) {\n selectedImage = image?.thumbnails?.[540]?.webp;\n } else if (this.screenSizer.isMediumTabletInstant()) {\n selectedImage = image?.thumbnails?.[768]?.webp;\n } else if (this.screenSizer.isFullTabletInstant()) {\n selectedImage = image?.thumbnails?.[1024]?.webp;\n } else if (this.screenSizer.isSmallDesktopInstant()) {\n selectedImage = image?.thumbnails?.[1280]?.webp;\n } else if (this.screenSizer.minMediumDesktop()) {\n selectedImage = image?.path?.webp;\n } else {\n selectedImage = image?.thumbnails?.[1366]?.webp;\n }\n return selectedImage\n ? isFigure\n ? `${this.siteSvc.cdnImagesInstant}${selectedImage}`\n : {\n src: `${this.siteSvc.cdnImagesInstant}${selectedImage}`,\n alt: image?.alt,\n }\n : undefined;\n }\n\n getArrayImageResponsive(\n images: ImageResponse[] | undefined,\n isFigure = true\n ): (string | BabylonImageI)[] | undefined {\n return images?.map((img) => this.getImageResponsive(img, isFigure)!);\n }\n\n private generateAgesOptions(\n maxLength: number,\n minLength = 0\n ): DropdownOption[] {\n const options: DropdownOption[] = [];\n for (let i = minLength; i <= maxLength; i++) {\n options.push({ code: i, name: i < 10 ? `0${i}` : `${i}` });\n }\n return options;\n }\n\n mapBodyExtra(\n body: any[] | undefined\n ): BodyComponent<COMPONENTS_EXTRA>[] | undefined {\n const bodyMapped: BodyComponent<COMPONENTS_EXTRA>[] | undefined =\n body?.map((component) => {\n const componentMapped: BodyComponent<COMPONENTS_EXTRA> = {\n name: component.name?.toLowerCase(),\n order: component.order,\n props: {},\n } as BodyComponent<COMPONENTS_EXTRA>;\n\n switch (component.name?.toLowerCase()) {\n case 'menu':\n componentMapped.props = this.mapSubmenu(\n component.props\n ) as BabylonSubmenuI;\n componentMapped.name = 'submenu';\n break;\n }\n\n return componentMapped;\n });\n\n return bodyMapped;\n }\n\n mapSubmenu(props: any | undefined): BabylonSubmenuI {\n const selected = props?.items?.find((item: any) => item.selected);\n const submenu = {\n // hotel: props?.hotel,\n items: props?.items\n ?.filter((item: any) => item.active)\n ?.map(\n (link: any) =>\n ({\n label: link?.name,\n url: link?.linkValue,\n linkType: 'internal',\n }) as BabylonButtonI\n ),\n selected: {\n label: selected?.name,\n url: selected?.linkValue,\n } as BabylonButtonI,\n } as BabylonSubmenuI;\n\n return submenu;\n }\n\n mapComponents<T>(\n body: any[],\n addons?: ComponentsAddons\n ): BodyComponent<T>[] {\n const bodyMapped: BodyComponent<T>[] = body.map((component) => {\n const componentMapped: BodyComponent<T> = {\n name: component.name?.toLowerCase(),\n order: component.order,\n props: {},\n } as BodyComponent<T>;\n\n if (component.props) {\n //It is necessary, otherwise it gives an error and does not show components\n try {\n switch (component.name?.toLowerCase()) {\n case 'module404':\n componentMapped.props = this.map404(\n component.props\n ) as T;\n break;\n\n //---- LAYOUT COMPONENTS ----//\n case 'topslider':\n componentMapped.props = this.mapTopSlider(\n component.props\n ) as T;\n break;\n case 'topslidervideo':\n componentMapped.props = this.mapTopSliderVideo(\n component.props\n ) as T;\n break;\n\n case 'topsliderv2left':\n case 'topsliderv2right':\n componentMapped.props = this.mapTopSliderV2(\n component.props,\n componentMapped.name === 'topsliderv2right'\n ) as T;\n break;\n case 'infoimgright':\n case 'infoimgleft':\n componentMapped.props = this.mapInfoImg(\n component.props,\n componentMapped.name === 'infoimgright'\n ) as T;\n break;\n case 'infointro':\n componentMapped.props = this.mapInfoIntro(\n component.props\n ) as T;\n break;\n case 'info2imgleft':\n case 'info2imgright':\n componentMapped.props = this.mapInfo2img(\n component.props,\n componentMapped.name === 'info2imgright'\n ) as T;\n break;\n case 'info3img':\n componentMapped.props = this.mapInfoImg(\n component.props\n ) as T;\n break;\n case 'infozigzagleft':\n case 'infozigzagright':\n componentMapped.props = this.mapZigzag(\n component.props,\n componentMapped.name === 'infozigzagright'\n ) as T;\n break;\n case 'infogrid':\n componentMapped.props = this.mapInfoGrid(\n component.props\n ) as T;\n break;\n case 'slider2colleft':\n case 'slider2colright':\n componentMapped.props = this.mapSliderColl2(\n component.props,\n componentMapped.name === 'slider2colright'\n ) as T;\n break;\n case 'slider3col':\n componentMapped.props = this.mapSliderColl(\n component.props\n ) as T;\n break;\n case 'slider4col':\n componentMapped.props = this.mapSliderColl(\n component.props\n ) as T;\n break;\n case 'itemsgrid':\n componentMapped.props = this.mapItemsGrid(\n component.props\n ) as T;\n break;\n case 'roomsslider':\n componentMapped.props = this.mapRoomsSlider(\n component.props\n ) as T;\n break;\n case 'roomsgrid':\n componentMapped.props = this.mapRoom(\n component.props\n ) as T;\n break;\n case 'bannergallery':\n componentMapped.props = this.mapBannerGallery(\n component.props\n ) as T;\n break;\n case 'gridgallery':\n componentMapped.props = this.mapGridGallery(\n component.props\n ) as T;\n break;\n case 'bannernewsletter':\n componentMapped.props = this.mapBannerNewsletter(\n component.props\n ) as T;\n break;\n case 'offersslider':\n componentMapped.props = this.mapOfferSlider(\n component.props\n ) as T;\n break;\n //---- LAYOUT COMPONENTS END----//\n\n case 'thanks':\n componentMapped.props = this.mapThanks(\n component.props\n ) as T;\n break;\n\n case 'contactform':\n componentMapped.props = this.mapContactForm(\n component.props,\n addons?.contactOffice,\n addons?.consultType\n ) as T;\n break;\n\n case 'contacthow':\n componentMapped.props = this.mapContactHow(\n component.props\n ) as T;\n break;\n\n case 'webmap':\n componentMapped.props = this.mapWebmap(\n component.props\n ) as T;\n break;\n\n case 'contactmap':\n componentMapped.props = this.mapContactMap(\n component.props\n ) as T;\n break;\n\n case 'legal':\n componentMapped.props = this.mapLegal(\n component.props\n ) as T;\n break;\n\n case 'roomscols':\n componentMapped.props = this.mapRoomsCols(\n component.props\n ) as T;\n break;\n\n case 'roomdetails':\n componentMapped.props = this.mapRoomDetail(\n component.props\n ) as T;\n break;\n\n case 'topsliderthumbs':\n componentMapped.props = this.mapTopSliderThumbs(\n component.props\n ) as T;\n break;\n\n case 'featuresslider':\n componentMapped.props = this.mapFeaturesSlider(\n component.props\n ) as T;\n break;\n\n case 'bannerinfo':\n componentMapped.props = this.mapBannerInfo(\n component.props\n ) as T;\n break;\n\n case 'roomslist':\n componentMapped.props = this.mapRoomsList(\n component.props\n ) as T;\n break;\n\n case 'comingsoon':\n componentMapped.props = this.mapComingSoon(\n component.props\n ) as T;\n break;\n\n case 'offerdetail':\n componentMapped.props = this.mapOfferDetail(\n component.props\n ) as T;\n break;\n\n case 'offerslist':\n componentMapped.props = this.mapOffersList(\n component.props\n ) as T;\n break;\n\n case 'faq':\n componentMapped.props = this.mapFaq(\n component.props\n ) as T;\n break;\n\n case 'staticfooter':\n componentMapped.props = this.mapStaticFooter(\n component.props\n ) as T;\n break;\n\n case 'gallery':\n componentMapped.props = this.mapGallery(\n component.props\n ) as T;\n break;\n\n case 'nav':\n componentMapped.props = this.mapMenu(\n component.props,\n addons?.menuSocialMedia\n ) as T;\n break;\n\n case 'languagesmodal':\n componentMapped.props = this.mapLanguageModal(\n component.props\n ) as T;\n break;\n\n case 'slider3items':\n componentMapped.props = this.mapSlider3Items(\n component.props\n ) as T;\n break;\n\n case 'hotelsslider':\n componentMapped.props = this.mapHotelsSlider(\n component.props\n ) as T;\n break;\n\n case 'hotelslist':\n componentMapped.props = this.mapHotelsList(\n component.props\n ) as T;\n break;\n\n case 'info4img':\n componentMapped.props = this.mapInfo4Img(\n component.props\n ) as T;\n break;\n\n case 'servicesslider':\n componentMapped.props = this.mapServicesSlider(\n component.props\n ) as T;\n break;\n\n case 'contactaddress':\n componentMapped.props = this.mapContactAddress(\n component.props\n ) as T;\n break;\n\n case 'advantages':\n componentMapped.props = this.mapAdvantages(\n component.props\n ) as T;\n break;\n\n case 'infobig':\n componentMapped.props = this.mapInfoBig(\n component.props\n ) as T;\n break;\n\n case 'infozigzagv2left':\n componentMapped.props = this.mapInfoZigZagV2(\n component.props\n ) as T;\n break;\n\n case 'infozigzagv2right':\n componentMapped.props = this.mapInfoZigZagV2(\n component.props\n ) as T;\n break;\n\n case 'footercontact':\n componentMapped.props = this.mapFooterContact(\n component.props\n ) as T;\n break;\n\n case 'info2imgbig':\n componentMapped.props = this.mapInfo2ImgBig(\n component.props\n ) as T;\n break;\n\n case 'footerlinks':\n componentMapped.props = this.mapFooterLinks(\n component.props\n ) as T;\n break;\n\n case 'footerlogos':\n componentMapped.props = this.mapFooterLogos(\n component.props\n ) as T;\n break;\n\n case 'offerslider':\n componentMapped.props = this.mapOfferSlider(\n component.props\n ) as T;\n break;\n\n case 'footersocials':\n componentMapped.props = this.mapFooterSocials(\n component.props\n ) as T;\n break;\n\n case 'slider2items':\n componentMapped.props = this.mapSlider2items(\n component.props\n ) as T;\n break;\n\n case 'staticfooterv2':\n componentMapped.props = this.mapStaticFooterv2(\n component.props\n ) as T;\n break;\n\n case 'listgrid':\n componentMapped.props = this.mapListGrid(\n component.props\n ) as T;\n break;\n\n case 'newslettermodal':\n componentMapped.props = this.mapNewsletterModal(\n component.props\n ) as T;\n break;\n\n case 'globalmodal':\n componentMapped.props = this.mapGlobalModal(\n component.props\n ) as T;\n break;\n\n case 'headintro':\n componentMapped.props = this.mapHeadIntro(\n component.props\n ) as T;\n break;\n\n default:\n break;\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n return componentMapped;\n });\n return bodyMapped;\n }\n\n map404(props: any | undefined): Babylon404I {\n return {\n title: props.texts?.title,\n description: props.texts?.description,\n subtitle: props.texts?.subtitle,\n button: Utils.mapButtons(props.buttons)[0],\n } as Babylon404I;\n }\n\n //---- LAYOUT COMPONENTS ----//\n mapTopSlider(props: any | undefined): BabylonTopSliderI | undefined {\n return {\n buttons: Utils.mapButtons(props?.buttons),\n links: Utils.mapButtons(props?.links),\n items: props?.multimedia?.imagenes?.map((item: ImageResponse) => ({\n title: item?.title,\n subtitle: item?.pretitle,\n img: this.getImageResponsive(item, false),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n })),\n itemsMobile: props?.multimedia?.imagenesmobile?.map(\n (item: ImageResponse) =>\n ({\n title: item?.title,\n subtitle: item?.pretitle,\n img: this.getImageResponsive(item, false),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n }) as BabylonTopSliderItem\n ),\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n } as BabylonTopSliderI;\n }\n\n mapTopSliderVideo(\n props: any | undefined\n ): BabylonTopSliderVideoI | undefined {\n return {\n videoData: {\n title: props?.video?.title,\n src: props?.video?.src,\n type: 'video/mp4',\n },\n labelInfos: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n img: this.getImageResponsive(\n props?.multimedia?.imagemobile?.[0],\n false\n ),\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonTopSliderVideoI;\n }\n\n mapTopSliderV2(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n rightSide: rightSide,\n buttons: Utils.mapButtons(props?.buttons)[0],\n items: props?.multimedia?.imagenes?.map(\n (item: ImageResponse) =>\n ({\n title: item.title,\n subtitle: item.pretitle,\n img: this.getImageResponsive(item),\n }) as BabylonSlider4colLabels\n ),\n labels: {\n title: props?.texts?.title,\n subtitle: props?.texts?.pretitle,\n pretitle: props?.texts?.text,\n description: props?.texts?.description,\n text: props?.texts?.text,\n },\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapInfoImg(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonInfoImgI | undefined {\n return {\n rightSide: rightSide,\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n buttons: Utils.mapButtons(props?.buttons),\n description: props?.texts?.description,\n text: props?.texts?.text,\n ndtitle: props?.texts?.ndtitle,\n lessBtn: props?.texts?.seeLess,\n moreBtn: props?.texts?.seeMore,\n images: props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n advantages: props?.Ventajas?.filter(\n (item: any) => item?.title || item?.text\n )?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: item.icon ? `icon-${item.icon}` : undefined,\n })),\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n advTitle: props?.texts?.prueba,\n } as BabylonInfoImgI;\n }\n\n mapInfoIntro(props: any | undefined): BabylonInfoIntroI | undefined {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n description: props?.texts?.description,\n button: Utils.mapButtons(props?.buttons)[0],\n images: props?.multimedia?.image?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n topBG: this.getImageResponsive(\n props?.multimedia?.topbg?.[0],\n false\n ),\n bottomBG: this.getImageResponsive(\n props?.multimedia?.bottombg?.[0],\n false\n ),\n topColor: props?.texts?.topColor,\n bottomColor: props?.texts?.BottomColor,\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n logo2: this.getImageResponsive(\n props?.multimedia?.logo2?.[0],\n false\n ),\n } as BabylonInfoIntroI;\n }\n\n mapHeader(\n props: any | undefined,\n menu: any\n ):\n | BabylonHeaderBookShowI\n | BabylonHeaderClearI\n | BabylonHeaderMenuCenterI\n | BabylonHeaderMenuLogoCenterI\n | BabylonHeaderMenuShowI {\n const link = menu.links?.logoLink?.flat()?.[0];\n const headerButtons = props?.headerButtons?.props;\n\n this.floatingButtons = headerButtons\n ? [\n {\n icon: `babylon-${headerButtons.texts?.transferIcon}`,\n label: headerButtons?.texts?.transfer,\n },\n {\n icon: `babylon-${headerButtons.texts?.checkinIcon}`,\n label: headerButtons?.texts?.checkin,\n },\n ]\n : undefined;\n return {\n lang: this.siteSvc.selectedLanguageInstant?.locate?.toUpperCase(),\n btnBook: { label: headerButtons?.texts?.bookNow },\n linkLogo: {\n label: link?.label,\n url: link?.linkValue,\n linkType: link?.linkType,\n },\n menu: menu?.nav?.map(\n (menu: any) =>\n ({\n name: menu?.name,\n url: menu?.linkValue,\n linkType: menu?.linkType,\n label: menu?.translations?.[0]?.name\n ? menu?.translations?.[0]?.name\n : menu?.name,\n children: menu?.children?.map(\n (child: any) =>\n ({\n name: child?.name,\n url: child?.linkValue,\n linkType: child?.linkType,\n label:\n child?.translations?.find(\n (lng: any) =>\n lng.languageId ===\n this.siteSvc\n .selectedLanguageInstant?.id\n )?.name || child?.name,\n }) as BabylonButtonI\n ),\n }) as BabylonMenuButtonI\n ),\n menuInfo: this.mapMenu(menu, undefined),\n } as\n | BabylonHeaderBookShowI\n | BabylonHeaderClearI\n | BabylonHeaderMenuCenterI\n | BabylonHeaderMenuLogoCenterI\n | BabylonHeaderMenuShowI;\n }\n\n //TODO: Wait for back info\n mapMenu(\n props: any | undefined,\n socialMedia: any | undefined\n ): BabylonMenuInfoI {\n const links = Utils.mapButtons(\n props?.nav?.map((link: any) => ({\n ...link,\n label: link.translations?.[0]?.name,\n }))\n );\n return {\n links: links.slice(0, 6),\n bottomLinks: links.slice(6),\n address: {\n address: props?.address?.[0]?.address,\n city: props?.address?.[0]?.city,\n country: props?.address?.[0]?.country,\n cp: props?.address?.[0]?.cp,\n title: props?.texts?.addressTitle,\n province: props?.address?.[0]?.province,\n url: props?.address?.[0]?.link,\n links: {\n url: props?.address?.[0]?.link,\n linkType: 'external',\n },\n },\n contact: {\n links: Utils.mapButtons(props?.links?.contact?.[0]),\n title: props?.texts?.contactTitle,\n },\n socialMedia: socialMedia?.map(\n (item: any) =>\n ({\n icon: `babylon-${item.name?.toLowerCase()}`,\n url: item.url,\n }) as BabylonButtonI\n ),\n img: this.getImageResponsive(props?.multimedia?.imagen?.[0], false),\n imgBackground: this.getImageResponsive(\n props?.multimedia?.background?.[0],\n false\n ),\n linkLogo: {\n url: props?.links?.logoLink?.[0]?.linkValue,\n linkType: props?.links?.logoLink?.[0]?.linkType,\n },\n } as BabylonMenuInfoI;\n }\n\n mapInfo2img(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonInfo2imgI | undefined {\n return {\n rightSide: rightSide,\n texts: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n item1: props?.texts?.item1,\n item1Text: props?.texts?.item1Text,\n },\n button: Utils.mapButtons(props?.buttons),\n images: props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n imagessmall: props?.multimedia?.imagessmall?.map(\n (item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })\n ),\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n } as BabylonInfo2imgI;\n }\n\n mapZigzag(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonInfo2imgI | undefined {\n let images: ImageResponse[] = [];\n let texts;\n if (props?.multimedia?.images) {\n images = props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }));\n texts = {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n contenttitle: props?.texts?.contenttitle,\n contentsubtitle: props?.texts?.contentsubtitle,\n contentdescription: props?.texts?.contentdescription,\n logo: this.getImageResponsive(\n props?.multimedia?.logo?.[0],\n false\n ),\n };\n }\n if (props?.multimedia?.image) {\n images = props?.multimedia?.image?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }));\n texts = {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n contenttitle: props?.multimedia?.image?.[0]?.title,\n contentsubtitle: props?.multimedia?.image?.[0]?.subtitle,\n contentdescription: props?.multimedia?.image?.[0]?.description,\n logo: this.getImageResponsive(\n props?.multimedia?.logo?.[0],\n false\n ),\n };\n }\n return {\n rightSide: rightSide,\n button: Utils.mapButtons(props?.buttons)[0],\n texts,\n images,\n } as BabylonInfo2imgI;\n }\n\n mapGridGallery(props: any | undefined): BabylonInfoImgI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n hover: props?.texts?.hover,\n placeholder: props?.texts?.placeholder,\n button: Utils.mapButtons(props?.buttons),\n images: props?.multimedia?.imagenes?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n } as BabylonInfoImgI;\n }\n\n mapInfoGrid(props: any | undefined): BabylonInfoGridI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n items: props?.multimedia?.images?.map(\n (item: any) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n text: item.description,\n image: this.getImageResponsive(item, false),\n links: item.links ? Utils.mapButtons(item.links.filter((link: any) => link?.linkValue !== null)) : undefined,\n }) as BabylonInfoGridItemI\n ),\n } as BabylonInfoGridI;\n }\n\n mapBannerGallery(\n props: any | undefined\n ): BabylonBannerGalleryI | undefined {\n const images = props?.multimedia?.imagenes\n ? props?.multimedia?.imagenes?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }))\n : props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }));\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n hover: props?.texts?.hover,\n button: Utils.mapButtons(props?.buttons),\n images,\n } as BabylonBannerGalleryI;\n }\n\n mapBannerNewsletter(props: any | undefined): BabylonInfoImgI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n hover: props?.texts?.hover,\n placeholder: props?.texts?.placeholder,\n button: Utils.mapButtons(props?.buttons),\n image: props?.multimedia?.image?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }))[0],\n } as BabylonInfoImgI;\n }\n\n mapSliderColl2(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n rightSide: rightSide,\n buttons: Utils.mapButtons(props?.buttons)[0],\n images: props?.multimedia?.images?.map(\n (item: ImageResponse) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n subtitle: item.subtitle,\n src: this.getImageResponsive(item),\n links: Utils.mapButtons(item?.links),\n }) as BabylonImageI\n ),\n labels: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapSliderColl(props: any | undefined): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n images: props?.multimedia?.images?.map(\n (item: ImageResponse) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n subtitle: item.subtitle,\n description: item.description,\n src: this.getImageResponsive(item),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n }) as BabylonImageI\n ),\n labels: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapItemsGrid(props: any | undefined): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n images: props?.multimedia?.images?.map(\n (item: ImageResponse) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n subtitle: item.subtitle,\n description: item.description,\n src: this.getImageResponsive(item),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n }) as BabylonImageI\n ),\n labels: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n buttons: Utils.mapButtons(props?.buttons),\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapRoom(props: any | undefined): BabylonInfo2imgI | undefined {\n return {\n button: Utils.mapButtons(props?.buttons),\n texts: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n },\n rooms: props?.rooms?.map(\n (item: any) =>\n ({\n button: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n images: item.multimedia\n ?.filter((img: ImageResponse) => img.cover)\n ?.map(\n (img: ImageResponse) =>\n ({\n pretitle: img.pretitle,\n title: img.title,\n subtitle: img.subtitle,\n src: this.getImageResponsive(img),\n }) as BabylonImageI\n ),\n texts: {\n name: item.texts?.name,\n description: item.texts?.description,\n additional1: item.texts?.additional1,\n additional2: item.texts?.additional2,\n additional3: item.texts?.additional3,\n additional4: item.texts?.additional4,\n },\n services: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map((item: any) => ({\n name: item.name,\n icon: `icon-${item.class}`,\n })),\n }) as BabylonRoomInfoI\n ),\n } as BabylonInfo2imgI;\n }\n\n mapRoomsSlider(props: any | undefined): BabylonRoomsSliderI | undefined {\n return {\n button: Utils.mapButtons(props?.buttons),\n texts: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n },\n rooms: props?.rooms?.map(\n (item: any) =>\n ({\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n images: [\n this.getImageResponsive(\n item?.multimedia?.find(\n (img: any) => img?.cover\n ) || item?.multimedia?.[0],\n false\n ),\n ],\n texts: {\n name: item.texts?.name,\n description: item.texts?.description,\n additional1: item.texts?.additional1,\n additional2: item.texts?.additional2,\n additional3: item.texts?.additional3,\n additional4: item.texts?.additional4,\n },\n equipments: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map((item: any) => ({\n name: item.name,\n icon: `icon-${item.class}`,\n })),\n }) as BabylonRoomInfoI\n ),\n } as BabylonRoomsSliderI;\n }\n\n mapOfferSlider(props: any | undefined): BabylonOfferSliderI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n backgroundImage: this.getImageResponsive(\n props?.multimedia?.backgroundimage?.[0],\n false\n ),\n offers: props?.offers?.map(\n (item: any) =>\n ({\n applicationFrom: item?.applicationFrom,\n applicationTo: item?.applicationTo,\n button: Utils.mapButtons(item?.buttons),\n currency: item?.currency,\n discount: item?.discount,\n price: item?.price,\n links: Utils.mapButtons(item?.links),\n images: this.getImageResponsive(\n item?.multimedia?.[0],\n false\n ),\n name: item?.name,\n texts: {\n title: item.texts?.title,\n subtitle: item.texts?.subtitle,\n description: item.texts?.description,\n additional1: item.texts?.additional1,\n additional2: item.texts?.additional2,\n additional3: item.texts?.additional3,\n conditions: item.texts?.conditions,\n url: item.texts?.reservationUrl,\n } as BabylonTextInfoI,\n url: item?.url,\n visibleFrom: item?.visibleFrom,\n visibleTo: item?.visibleTo,\n }) as BabylonOfferI\n ),\n } as BabylonOfferSliderI;\n }\n //---- LAYOUT COMPONENTS END----//\n\n mapThanks(props: any | undefined): BabylonThanksI {\n return {\n title: props.texts?.title,\n description: props.texts?.description,\n pretitle: props.texts?.pretitle,\n button: Utils.mapButtons(props.buttons)[0],\n } as BabylonThanksI;\n }\n\n mapContactForm(\n props: any | undefined,\n ndProps: any | undefined,\n ndPropsConsult: any | undefined\n ): BabylonContactFormI | undefined {\n return {\n title: props?.texts?.title,\n description: props?.texts?.description,\n pretitle: props?.texts?.subtitle,\n button: Utils.mapButtons(props?.buttons)[0],\n textarea: {\n id: 'mensaje',\n title: props?.texts?.inputMessage,\n name: Utils.normalizeText(props?.texts?.inputMessage),\n placeholder: props?.texts?.inputMessagePlaceHolder,\n value: '',\n validators: [Validators.required],\n error: props?.texts?.errorRequired,\n },\n conditions: props?.texts?.conditions,\n conditions2: props?.texts?.conditions2,\n dropdown: {\n title: props?.texts?.dropdownTitle,\n options: ndPropsConsult?.map(\n (prop: any) =>\n ({ code: prop.id, name: prop.name }) as DropdownOption\n ),\n placeholder: props?.texts?.dropdownPlaceholder,\n error: props?.texts?.errorRequired,\n },\n image: this.getImageResponsive(\n props?.multimedia?.image?.[0]\n ) as string,\n inputs: [\n {\n id: 'nombre',\n title: props?.texts?.inputName,\n name: Utils.normalizeText(props?.texts?.inputName),\n placeholder: props?.texts?.inputNamePlaceHolder,\n value: '',\n type: 'text',\n error: props?.texts?.errorRequired,\n validators: [Validators.required],\n valid: true,\n },\n {\n id: 'surname',\n title: props?.texts?.inputSurnames,\n name: Utils.normalizeText(props?.texts?.inputSurnames),\n placeholder: props?.texts?.inputSurnamesPlaceHolder,\n value: '',\n type: 'text',\n error: props?.texts?.errorRequired,\n validators: [Validators.required],\n valid: true,\n },\n {\n id: 'email',\n title: props?.texts?.inputEmail,\n name: Utils.normalizeText(props?.texts?.inputEmail),\n placeholder: props?.texts?.inputEmailPlaceHolder,\n value: '',\n type: 'text',\n error: props?.texts?.errorEmail,\n validators: [Validators.email, Validators.required],\n valid: true,\n },\n {\n id: 'phone',\n title: props?.texts?.inputPhone,\n name: Utils.normalizeText(props?.texts?.inputPhone),\n placeholder: props?.texts?.inputPhonePlaceHolder,\n value: '',\n type: 'tel',\n error: props?.texts?.errorPhone,\n validators: [Validators.required],\n valid: true,\n },\n ] as BabylonInputI[],\n info: {\n address: {\n icon: 'icon-' + ndProps?.texts?.addressIcon,\n title: ndProps?.texts?.addressTitle,\n text: ndProps?.links?.address?.[0]?.[0]?.label,\n },\n email: {\n icon: 'icon-' + ndProps?.texts?.emailIcon,\n title: ndProps?.texts?.emailTitle,\n links: Utils.mapButtons(ndProps?.links?.email?.[0]).map(\n (btn) =>\n ({\n ...btn,\n url: `mailto:${btn?.url}l`,\n }) as BabylonButtonI\n ),\n },\n phone: {\n icon: 'icon-' + ndProps?.texts?.phoneIcon,\n title: ndProps?.texts?.phoneTitle,\n links: Utils.mapButtons(ndProps?.links?.phone?.[0]).map(\n (btn) =>\n ({\n ...btn,\n url: `phone:${btn?.url}l`,\n }) as BabylonButtonI\n ),\n },\n },\n } as BabylonContactFormI;\n }\n\n mapContactAddress(\n props: any | undefined\n ): BabylonContactAddressI | undefined {\n return {\n info: {\n address: {\n icon: 'icon-' + props?.texts?.addressIcon,\n title: props?.texts?.addressTitle,\n text: [\n props?.address?.[0]?.locality,\n props?.address?.[0]?.city,\n props?.address?.[0]?.province,\n props?.address?.[0]?.country,\n props?.address?.[0]?.cp,\n ]\n .filter(Boolean)\n .join(', '),\n },\n email: {\n icon: 'icon-' + props?.texts?.emailIcon,\n title:\n props?.address?.[0]?.email ?? props?.texts?.emailTitle,\n links: Utils.mapButtons(props?.address?.[0]?.email).map(\n (btn) =>\n ({\n url: `mailto:${props?.address?.[0]?.email}`,\n linkType: 'external',\n label: props?.address?.[0]?.email,\n }) as BabylonButtonI\n ),\n },\n phone: {\n icon: 'icon-' + props?.texts?.reservationsIcon,\n title:\n props?.address?.[0]?.phone ??\n props?.texts?.reservationsTitle,\n links: Utils.mapButtons(props?.address?.[0]?.phone).map(\n (btn) =>\n ({\n url: `tel:${props?.address?.[0]?.phone}`,\n linkType: 'external',\n label: props?.address?.[0]?.phone,\n }) as BabylonButtonI\n ),\n },\n },\n };\n }\n\n mapContactMap(props: any | undefined): BabylonContactMapaI | undefined {\n return {\n contentUrl: props?.texts?.phoneIcon,\n mapImage: this.getImageResponsive(\n props?.multimedia?.image?.[0],\n false\n ),\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonContactMapaI;\n }\n\n mapContactHow(props: any | undefined): BabylonContactHowI | undefined {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.Ventajas?.map(\n (item: any) =>\n ({\n title: item.title,\n description: item.text,\n icon: `icon-${item.icon}`,\n }) as BabylonContactMapItem\n ),\n } as BabylonContactHowI;\n }\n\n mapWebmap(props: any | undefined): BabylonWebmapI | undefined {\n return {\n links: (\n props?.pages?.map(\n (link: any) =>\n ({\n label: link.name,\n url: link.url,\n linkType: 'internal',\n }) as BabylonButtonI\n ) as BabylonButtonI[]\n ).filter(\n (link) =>\n link.url?.split('/')[1] ===\n this.siteSvc.selectedLanguageInstant?.locate\n ),\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n image: this.getImageResponsive(\n props?.multimedia?.image?.[0]\n ) as string,\n };\n }\n\n mapLegal(props: any | undefined): BabylonLegalI {\n return {\n title: props.texts?.title,\n description: props.texts?.description,\n pretitle: props.texts?.pretitle,\n img: {\n src: this.getImageResponsive(props?.multimedia?.image?.[0]),\n alt: '',\n },\n } as BabylonLegalI;\n }\n\n mapBreadcrumbs(props: any | undefined): BabylonBreadcrumbI {\n return {\n links: (props?.items as any[])\n ?.sort((a, b) => a - b)\n ?.map(\n (item) =>\n ({\n label: item?.label,\n linkType: 'internal',\n url: item?.url\n ? item?.url?.charAt(item?.url?.length - 1) ===\n '/'\n ? item?.url?.slice(0, -1)\n : item?.url\n : undefined,\n }) as BabylonButtonI\n ),\n } as BabylonBreadcrumbI;\n }\n\n // mapEngine(props: any | undefined): BabylonEngineI {\n // return {\n // button: { label: props?.texts?.motorApply },\n // datepickerData: {\n // placeholder: props?.texts?.motorDateTitle,\n // },\n // guestsInput: {\n // placeholder: props?.texts?.motorGuestsInputHolder,\n // },\n // promoInput: {\n // placeholder: props?.texts?.motorPromoHolder,\n // },\n // guests: {\n // btn: { label: props?.texts?.motorApply },\n // adultsDropdown: {\n // title: props?.texts?.motorAdultsTitle,\n // options: this.generateAgesOptions(props?.maxAdults, 1),\n // },\n // kidsDropdown: {\n // title: props?.texts?.motorKidsTitle,\n // smallTitle: props?.texts?.motorKidsSmallLabel,\n // options: this.generateAgesOptions(props?.maxChildren),\n // },\n // babiesDropdown: {\n // title: props?.texts?.motorBabiesTitle,\n // smallTitle: props?.texts?.motorBabiesSmallTitle,\n // options: this.generateAgesOptions(props?.maxBabies),\n // },\n // agesDropdown: {\n // options: this.generateAgesOptions(\n // props?.maxAgeChildren,\n // props?.maxAgeBabies\n // ),\n // },\n // agesLabel: props?.texts?.motorAgesTitle,\n // kidsLabel: props?.texts?.motorKidLabel,\n // },\n // title: props?.texts?.motorTitle,\n // subtitle: props?.texts?.motorSubtitle,\n // } as BabylonEngineI;\n // }\n\n mapRoomsCols(props: any | undefined): BabylonRoomsColsI {\n return {\n stFilters: undefined,\n ndFilters: undefined,\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.rooms?.map(\n (item: any) =>\n ({\n bedroomFilterId: 0,\n characteristicsFilterId: 0,\n link: Utils.mapButtons(item.links)[0],\n button: Utils.mapButtons(item.buttons)[0],\n title: item.texts?.name,\n pretitle: item.texts?.additional1,\n price: item?.price,\n priceText: item.texts?.additional2,\n equipment: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map(\n (item: any) =>\n ({\n icon: `icon-${item.class}`,\n label: item.name,\n }) as BabylonRoomsListEquipment\n ),\n img: this.getImageResponsive(\n item.multimedia?.find(\n (img: ImageResponse) => img.cover\n ) ?? item.multimedia?.[0],\n false\n ),\n images: this.getArrayImageResponsive(\n item.multimedia,\n false\n ),\n }) as BabylonRoomsListItem\n ),\n } as BabylonRoomsColsI;\n }\n\n mapFeaturesSlider(\n props: any | undefined\n ): BabylonFeaturesSliderI | undefined {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.Ventajas?.map(\n (item: any) =>\n ({\n title: item.title,\n description: item.text,\n icon: `icon-${item.icon}`,\n }) as BabylonFeaturesSliderItem\n ),\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonFeaturesSliderI;\n }\n\n mapBannerInfo(props: any | undefined): BabylonBannerInfoI {\n return {\n title: props?.multimedia?.image?.[0]?.title,\n pretitle: props?.multimedia?.image?.[0]?.pretitle,\n description: props?.multimedia?.image?.[0]?.description,\n button: Utils.mapButtons(props?.multimedia?.image?.[0]?.buttons)[0],\n image: this.getImageResponsive(\n props?.multimedia?.image?.[0],\n false\n ),\n } as BabylonBannerInfoI;\n }\n\n mapRoomDetail(props: any | undefined): BabylonRoomDetailI | undefined {\n if (!props?.room) {\n return undefined;\n }\n const { texts, multimedia, buttons } = props?.room;\n return {\n title: texts?.name,\n description: texts?.description,\n pretitle: texts?.additional1,\n equipmentTitle: texts?.additional2,\n button: Utils.mapButtons(buttons)[0],\n items: props.room?.services\n ?.filter(\n (item: any) => item?.type === RoomServiceType.Equipment\n )\n .map((item: any) => ({\n title: item?.name,\n icon: `icon-${item?.class}`,\n })) as BabylonEquipmentItem[],\n } as BabylonRoomDetailI;\n }\n\n mapTopSliderThumbs(props: any | undefined): BabylonTopSliderThumbsI {\n return {\n title: props?.texts?.title,\n from: props?.texts?.from,\n price: props?.texts?.price,\n currency: props?.texts?.currency,\n button: Utils.mapButtons(props.buttons)[0],\n image: props?.multimedia?.imagen?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n } as BabylonTopSliderThumbsI;\n }\n\n mapRoomsList(props: any | undefined): BabylonRoomsListI {\n return {\n stFilters: undefined,\n ndFilters: undefined,\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.rooms?.map(\n (item: any) =>\n ({\n bedroomFilterId: 0,\n characteristicsFilterId: 0,\n link: Utils.mapButtons(item.links)[0],\n button: Utils.mapButtons(item.buttons)[0],\n title: item.texts?.name,\n pretitle: item.texts?.additional1,\n description: item.texts?.description,\n price: item?.price,\n priceText: item.texts?.additional2,\n equipment: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map(\n (item: any) =>\n ({\n icon: `icon-${item.class}`,\n label: item.name,\n }) as BabylonRoomsListEquipment\n ),\n img: this.getImageResponsive(\n item.multimedia?.find((img: any) => img?.cover) ||\n item?.multimedia?.[0],\n false\n ),\n images: this.getArrayImageResponsive(\n item.multimedia,\n false\n ),\n }) as BabylonRoomsListItem\n ),\n } as BabylonRoomsColsI;\n }\n\n mapComingSoon(props: any | undefined): BabylonComingSoonI {\n return {\n images: props?.multimedia?.images?.map(\n (img: ImageResponse) =>\n ({\n src: this.getImageResponsive(img),\n }) as BabylonImageI\n ),\n logo: props?.multimedia?.logo?.map(\n (img: ImageResponse) =>\n ({\n src: this.getImageResponsive(img),\n }) as BabylonImageI\n )[0],\n texts: props?.texts,\n socialMedia: props?.socialMedia,\n link: Utils.mapButtons(props?.links)[0],\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonComingSoonI;\n }\n\n mapOfferDetail(props: any | undefined): BabylonOfferDetailI {\n return {\n pretitle: props?.offer?.[0]?.texts?.subtitle,\n title: props?.offer?.[0]?.texts?.title,\n description: props?.offer?.[0]?.texts?.description,\n ndTitle: props?.offer?.[0]?.texts?.additional1,\n labelFrom: props?.offer?.[0]?.texts?.additional2,\n labelDiscount: props?.offer?.[0]?.texts?.additional3,\n currency: props?.offer?.[0]?.currency,\n price: props?.offer?.[0]?.price,\n discount: props?.offer?.[0]?.discount,\n conditions: props?.offer?.[0]?.texts?.conditions,\n image: {\n src: this.getImageResponsive(\n props?.offer?.[0]?.multimedia?.[0]\n ),\n alt: '',\n },\n link: Utils.mapButtons(props?.links)[0],\n button: Utils.mapButtons(props?.offer?.[0]?.buttons)[0],\n } as BabylonOfferDetailI;\n }\n\n mapOffersList(props: any | undefined): BabylonOffersListI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.offers?.map(\n (item: any) =>\n ({\n id: item?.id,\n pretitle: item?.texts?.subtitle,\n title: item?.texts?.title,\n price: item?.price,\n currency: item?.currency,\n discount: item?.discount,\n img: {\n src: this.getImageResponsive(item?.multimedia?.[0]),\n alt: item?.multimedia?.[0]?.alt,\n },\n reserveButton: Utils.mapButtons(item?.buttons)[0],\n seeOfferButton: Utils.mapButtons(item?.links)[0],\n labelFrom: item?.texts?.additional2,\n }) as BabylonOffersListItem\n ),\n } as BabylonOffersListI;\n }\n\n mapFaq(props: any | undefined): BabylonFaqI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.items?.map(\n (faq: any) =>\n ({\n label: faq.title,\n description: faq.text,\n }) as BabylonFaqItem\n ),\n img: this.getImageResponsive(props?.multimedia?.image?.[0], false),\n } as BabylonFaqI;\n }\n\n mapStaticFooter(props: any | undefined): BabylonStaticFooterI {\n return {\n title: props?.texts?.title,\n ndTitle: props?.texts?.addressTitle,\n rdTitle: props?.texts?.linksTitle,\n thTitle: props?.texts?.locationTitle,\n fifthTitle: props?.texts?.additionalFooterTitle,\n frameUrl: props?.texts?.frameUrl,\n contactInfo: Utils.mapButtons(props?.links?.contact?.[0]),\n contactLinks: Utils.mapButtons(props?.links?.contactLinks?.[0]),\n footerLinks: Utils.mapButtons(props?.links?.footerLinks?.[0]),\n address: Array.isArray(props?.address)\n ? props.address.map(\n (address: any) =>\n ({\n id: address.id,\n name: address.name,\n address: address.address,\n city: address.city,\n province: address.province,\n country: address.country,\n cp: address.cp,\n url: address.link,\n }) as BabylonAddressItem\n )\n : [],\n socialMedia: props?.socialMedia?.map(\n (link: any) =>\n ({\n icon: `babylon-${link.name?.toLowerCase()}`,\n url: link.url,\n }) as BabylonButtonI\n ),\n copyright: props?.texts?.copyright,\n nav: props?.nav?.map(\n (nav: any) =>\n ({\n label: nav.name,\n url: nav.url,\n }) as BabylonButtonI\n ),\n img: {\n src: this.getImageResponsive(\n props?.multimedia?.background?.[0]\n ),\n alt: props?.multimedia?.background?.title,\n },\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n input: props?.texts?.input,\n legalAdvise: props?.texts?.legalAdvise,\n additionalLinks: Utils.mapButtons(\n props?.links?.additionalFooterLinks?.[0]\n ),\n } as BabylonStaticFooterI;\n }\n\n mapGallery(props: any | undefined): BabylonGalleryI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n roomsBtn: {\n label: props?.texts?.filterRooms,\n },\n filtersBtn: {\n label: props?.texts?.filterCategories,\n },\n filters: props.filters?.map(\n (item: any, index: number) =>\n ({\n id: index,\n all: item.all,\n room: item.room,\n rooms: item.rooms,\n text: item.name,\n }) as BabylonGalleryFilter\n ),\n images: props?.filters\n .reduce(\n (\n acc: { multimedia: any[]; filterIndex: number }[],\n filter: any,\n filterIndex: number\n ) => {\n if (filter.multimedia) {\n const multimediaWithFilter = filter.multimedia.map(\n (item: any) => ({\n ...item,\n filter: filterIndex,\n })\n );\n return [\n ...acc,\n {\n multimedia: multimediaWithFilter,\n filterIndex,\n },\n ];\n }\n return acc;\n },\n []\n )\n .flatMap(({ multimedia }: any) => multimedia)\n .map(\n (img: any) =>\n ({\n title: img.title,\n img: this.getImageResponsive(img, false),\n filter: img?.filter,\n }) as BabylonGalleryItem\n ),\n } as BabylonGalleryI;\n }\n\n mapLanguageModal(props: any | undefined): BabylonLanguageModalI {\n return {\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n items: props?.languages,\n selected: props.languages.find(\n (lng: any) =>\n lng.id === this.siteSvc.selectedLanguageInstant?.id\n ),\n } as BabylonLanguageModalI;\n }\n\n mapEngine(props: any | undefined): BabylonEngineI | BabylonEngineModalI {\n return {\n onlyAdults: props?.onlyAdults,\n button: { label: props?.texts?.motorSubmit, url: props?.url },\n datepickerData: {\n placeholder: props?.texts?.motorDateTitle,\n },\n guestsInput: {\n placeholder: props?.texts?.motorGuestsInputHolder,\n },\n promoInput: {\n placeholder: props?.texts?.motorPromoHolder,\n },\n guests: {\n btn: { label: props?.texts?.motorApply },\n adultsDropdown: {\n title: props?.texts?.motorAdultsTitle,\n options: this.generateAgesOptions(props?.maxAdults, 1),\n },\n kidsDropdown: {\n title: props?.texts?.motorKidsTitle,\n smallTitle: props?.texts?.motorKidsSmallLabel,\n options: this.generateAgesOptions(props?.maxChildren),\n },\n babiesDropdown: {\n title: props?.texts?.motorBabiesTitle,\n smallTitle: props?.texts?.motorBabiesSmallTitle,\n options: this.generateAgesOptions(props?.maxBabies),\n },\n agesDropdown: {\n options: this.generateAgesOptions(\n props?.maxAgeChildren,\n props?.maxAgeBabies + 1\n ),\n },\n agesLabel: props?.texts?.motorAgesTitle,\n kidsLabel: props?.texts?.motorKidLabel,\n },\n title: props?.texts?.motorTitle,\n subtitle: props?.texts?.motorSubtitle,\n url: props?.url,\n hotel: props?.hotels?.[0],\n codigo: props?.codigo ? props?.codigo : 'demo_c2t_clientes', //to change, dont come from back\n glValue: props?.glValue,\n hotelsInput: props?.texts?.motorDropDownName,\n hotelsPlaceholder: props?.texts?.motorDropDownHolder,\n hotels: {\n options: props?.hotels?.map((hotel: any) => ({\n name: hotel?.name,\n ticker: hotel?.ticker,\n url: 'https://reservations.a10hotels.es/es/hotel/a10h_clubdelsol_apt',\n })),\n },\n } as BabylonEngineModalI | BabylonEngineI;\n }\n mapSlider3Items(props: any | undefined): BabylonSlider3ItemsI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.multimedia?.images?.map(\n (item: any) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n img: {\n src: this.getImageResponsive(item),\n alt: item.title,\n },\n link: Utils.mapButtons(item.links?.[0]),\n }) as BabylonSliderItem\n ),\n } as BabylonSlider3ItemsI;\n }\n\n mapHotelsSlider(props: any | undefined): BabylonHotelsSliderI {\n return {\n title: props?.texts?.title,\n subtitle: props?.texts?.pretitle,\n hotels: props?.hotels?.map(\n (item: any) =>\n ({\n pretitle: item.texts.additional1,\n title: item.texts.name,\n img: {\n src: this.getImageResponsive(item.multimedia?.[0]),\n alt: item.multimedia?.[0]?.alt,\n },\n link: Utils.mapButtons(item.links),\n button: Utils.mapButtons(item.buttons),\n }) as BabylonSliderItem\n ),\n } as BabylonHotelsSliderI;\n }\n\n mapHotelsList(props: any | undefined): BabylonHotelsListI {\n // TODO: Revisar mappeo de imágenes\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n hotels: props?.hotels?.map(\n (item: any) =>\n ({\n pretitle: item?.texts?.additional1,\n title: item?.texts?.name,\n text: item?.texts?.description,\n textMore: item?.texts?.additional2,\n img: {\n src: this.getImageResponsive(item?.multimedia?.[0]),\n alt: item?.multimedia?.[0]?.alt,\n },\n link: Utils.mapButtons(item?.links),\n button: Utils.mapButtons(item?.buttons),\n price: item?.price,\n fTitle: props?.texts?.footerTitle,\n fSubtitle: props?.texts?.footerPretitle,\n services: item?.servicesService?.map((item: any) => ({\n name: item?.name,\n icon: `icon-${item?.class}`,\n })),\n btnLess: item?.texts?.additional3,\n btnMore: item?.texts?.additional4,\n }) as BabylonSliderItem\n ),\n } as BabylonHotelsListI;\n }\n\n mapInfo4Img(props: any | undefined): BabylonInfo4imgI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.description,\n button: Utils.mapButtons(props?.buttons)[0],\n image1: {\n src: this.getImageResponsive(props?.multimedia?.images[0]),\n alt: props?.multimedia?.images[0].alt,\n },\n image2: {\n src: this.getImageResponsive(props?.multimedia?.images[1]),\n alt: props?.multimedia?.images[1].alt,\n },\n image3: {\n src: this.getImageResponsive(props?.multimedia?.images[2]),\n alt: props?.multimedia?.images[2].alt,\n },\n image4: {\n src: this.getImageResponsive(props?.multimedia?.images[3]),\n alt: props?.multimedia?.images[3].alt,\n },\n } as BabylonInfo4imgI;\n }\n\n mapServicesSlider(props: any | undefined): BabylonServicesSliderI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n } as BabylonServicesSliderI;\n }\n\n mapAdvantages(props: any | undefined): BabylonAdvantagesI {\n return {\n title: props?.texts?.title,\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n icon: `icon-${item.icon}`,\n })),\n } as BabylonAdvantagesI;\n }\n\n mapInfoBig(props: any | undefined): BabylonInfoBigI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.description,\n button: Utils.mapButtons(props?.buttons)[0],\n img: this.getImageResponsive(props?.multimedia?.images[0], false),\n imgSmall: this.getImageResponsive(\n props?.multimedia?.images[1],\n false\n ),\n } as BabylonInfoBigI;\n }\n\n mapInfoZigZagV2(props: any | undefined): BabylonInfoZigzagV2I {\n const [image] = props?.multimedia?.image || [];\n const [image2] = props?.multimedia?.image2 || [];\n return {\n items: [\n {\n button: Utils.mapButtons(props?.buttons)[0],\n features: undefined,\n image: this.getImageResponsive(image, false),\n pretitle: image.pretitle,\n title: image.title,\n text: image.description,\n },\n {\n button: Utils.mapButtons(props?.buttons)[0],\n image: this.getImageResponsive(image2, false),\n pretitle: image2.pretitle,\n title: image2.title,\n text: image.description,\n features: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n },\n ] as BabylonInfoZigzagV2Item[],\n } as BabylonInfoZigzagV2I;\n }\n\n mapFooterContact(props: any | undefined): BabylonFooterContactI {\n return {\n title: props?.texts?.title,\n text: props?.texts?.text,\n extraTxt: props?.texts?.additionalText1,\n button: Utils.mapButtons(props?.buttons)[0],\n img: {\n src: this.getImageResponsive(props?.multimedia?.image?.[0]),\n alt: props?.multimedia?.image?.[0]?.alt,\n },\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n links: Utils.mapButtons(props?.links?.contactLinks?.[0]),\n } as BabylonFooterContactI;\n }\n\n mapInfo2ImgBig(props: any | undefined): BabylonInfo2imgBigI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.description,\n pretitle2: props?.texts?.ndPretitle,\n title2: props?.texts?.ndTitle,\n text2: props?.texts?.ndDescription,\n button: Utils.mapButtons(props?.buttons)[0],\n button2: Utils.mapButtons(props?.buttons)[1],\n img: {\n src: this.getImageResponsive(props?.multimedia?.image?.[0]),\n alt: props?.multimedia?.image?.[0]?.alt,\n },\n imgSmall: {\n src: this.getImageResponsive(props?.multimedia?.ndimage?.[0]),\n alt: props?.multimedia?.ndimage?.[0]?.alt,\n },\n } as BabylonInfo2imgBigI;\n }\n\n mapFooterLogos(props: any | undefined): BabylonFooterLogosI {\n return {\n texts: props?.texts,\n buttons: Utils.mapButtons(props?.buttons),\n logos: props?.multimedia?.logos?.map((logo: any) => ({\n img: this.getImageResponsive(logo, false),\n link: Utils.mapButtons(logo?.links?.[0]),\n })),\n } as BabylonFooterLogosI;\n }\n\n mapFooterLinks(props: any | undefined): BabylonFooterLinksI {\n return {\n copyright: props?.texts?.copyright,\n year: props?.texts?.year,\n buttons: Utils.mapButtons(props?.buttons),\n } as BabylonFooterLinksI;\n }\n\n mapFooterSocials(props: any | undefined): BabylonFooterSocialI {\n const filteredLinks = (props?.links || []).filter(\n (link: any) =>\n link !== null &&\n link !== undefined &&\n link.label !== '' &&\n link.link_value !== ''\n );\n return {\n title: props?.texts?.title,\n text: props?.texts?.text,\n links: filteredLinks ?? Utils.mapButtons(filteredLinks),\n } as BabylonFooterSocialI;\n }\n\n mapSlider2items(props: any | undefined): BabylonSlider2itemsI {\n return {\n title: props?.texts?.title,\n text: props?.texts?.text,\n items: props?.rooms?.map((item: any) => ({\n pretitle: item?.texts?.description,\n title: item?.texts?.name,\n img: {\n src: this.getImageResponsive(item?.multimedia?.[0]),\n alt: item?.multimedia?.[0]?.alt,\n },\n // link:\n buttons: Utils.mapButtons(item?.buttons),\n services: item?.services?.map((item: any) => ({\n name: item.name,\n icon: `icon-${item.class}`,\n })),\n })),\n } as BabylonSlider2itemsI;\n }\n\n mapStaticFooterv2(props: any | undefined): BabylonStaticFooterV2I {\n return {\n title: props?.texts?.title,\n ndTitle: props?.texts?.addressTitle,\n rdTitle: props?.texts?.linksTitle,\n thTitle: props?.texts?.locationTitle,\n frameUrl: props?.texts?.frameUrl,\n imgUrl: props?.multimedia?.footerimg?.[0]?.links?.[0]?.linkValue,\n contactInfo: Utils.mapButtons(props?.links?.contact?.[0]),\n contactLinks: Utils.mapButtons(props?.links?.contactLinks?.[0]),\n footerLinks: Utils.mapButtons(props?.links?.footerLinks?.[0]),\n address: Array.isArray(props?.address)\n ? props.address.map(\n (address: any) =>\n ({\n id: address?.id,\n name: address?.name,\n address: address?.address,\n city: address?.city,\n province: address?.province,\n country: address?.country,\n cp: address?.cp,\n }) as BabylonAddressItem\n )\n : [],\n socialMedia: [\n {\n url: props?.socialMedia?.[0]?.url,\n label: props?.texts?.instagramTitle,\n } as BabylonButtonI,\n ],\n copyright: props?.texts?.copyright,\n nav: props?.nav?.map(\n (nav: any) =>\n ({\n label: nav?.name,\n url: nav?.url,\n }) as BabylonButtonI\n ),\n img: this.getImageResponsive(\n props?.multimedia?.footerimg?.[0],\n false\n ),\n } as BabylonStaticFooterV2I;\n }\n\n mapListGrid(props: any | undefined): BabylonListGridI {\n const { image } = props?.multimedia || [];\n return {\n button: Utils.mapButtons(props?.buttons)[0],\n labels: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n },\n items: image?.map(\n (item: ImageResponse) =>\n ({\n button: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n image: this.getImageResponsive(item),\n title: item.title,\n subtitle: item.subtitle,\n services: [], //TODO: pte back,\n }) as BabylonItemGridI\n ),\n } as BabylonListGridI;\n }\n\n mapNewsletterModal(props: any | undefined): BabylonNewsletterI {\n return {\n conditions: props?.texts?.conditions,\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n button: Utils.mapButtons(props?.buttons)[0],\n image: this.getImageResponsive(\n props?.multimedia?.defaultimage?.[0]\n ),\n input: {\n name: 'mail',\n placeholder: props?.texts?.inputHolder,\n valid: true,\n value: '',\n error: props?.texts?.newsErrorEmail,\n } as BabylonInputI,\n img: this.getImageResponsive(props?.multimedia?.image?.[0]),\n } as BabylonNewsletterI;\n }\n\n mapGlobalModal(props: any | undefined): BabylonGlobalModalI | undefined {\n //TODO: mapear y rectificar las propiedades cuando vengan del back\n return {\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n buttons: Utils.mapButtons(props?.buttons),\n image: this.getImageResponsive(props?.multimedia?.image),\n iframe: props?.texts?.iframe,\n img: this.getImageResponsive(props?.multimedia?.image?.[0]),\n } as BabylonGlobalModalI;\n }\n\n mapHeadIntro(props: any | undefined): BabylonHeadIntroI | undefined {\n console.log(Utils.mapButtons(props?.buttons.filter((btn: any) => btn?.linkValue !== null)))\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n buttons: Utils.mapButtons(props?.buttons.filter((btn: any) => btn?.linkValue !== null)),\n } as BabylonHeadIntroI;\n }\n}\n\nexport interface ImageResponse {\n path: ImageResponsePath;\n thumbnails: {\n 375: ImageResponsePath;\n 540: ImageResponsePath;\n 768: ImageResponsePath;\n 800: ImageResponsePath;\n 1024: ImageResponsePath;\n 1280: ImageResponsePath;\n 1366: ImageResponsePath;\n };\n cover: number;\n tags?: any[];\n title?: string;\n pretitle?: string;\n subtitle?: string;\n ndTitle?: string;\n description?: string;\n links?: any[];\n buttons?: any[];\n alt?: string;\n}\n\nexport interface ImageResponsePath {\n original: string;\n webp: string;\n}\n\nexport interface ComponentsAddons {\n contactOffice?: any;\n menuSocialMedia?: { [k: string]: string }[];\n consultType?: ConsultTypeI;\n}\n\nexport interface FilterOption {\n id?: number;\n name?: string;\n children?: FilterOption;\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\nimport {\n BabylonModalMenuAddress,\n BabylonModalMenuComponent,\n} from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { ScreenSizerService } from '../../../services';\n\n@Component({\n selector: 'lib-babylon-header-book-show',\n standalone: true,\n imports: [CommonModule, RouterModule, BabylonLinkTypeDirective, BabylonModalMenuComponent],\n templateUrl: './babylon-header-book-show.component.html',\n styleUrl: './babylon-header-book-show.component.scss',\n providers: [BabylonLinkTypeDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderBookShowComponent implements OnInit, OnDestroy {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() btnBook?: BabylonButtonI;\n @Input() lang?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() headerInMenu?: boolean = false;\n \n @Input() screenBreakpoint: number =\n this.screenSizer.getBreakpoint('smallDesktop') - 1;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n showBtnBook: boolean = false;\n\n constructor(private readonly screenSizer: ScreenSizerService) {}\n\n ngOnInit(): void {\n this.checkScreen();\n window.addEventListener('resize', this.checkScreen.bind(this));\n }\n\n ngOnDestroy(): void {\n window.removeEventListener('resize', this.checkScreen.bind(this));\n }\n\n checkScreen(): void {\n this.showBtnBook = window.innerWidth <= this.screenBreakpoint;\n }\n\n preventLink(linkType: string): void {\n if (linkType.includes('internal')) {\n this.toggleMenu();\n }\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.querySelector('body');\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n\n if (body) {\n body.classList.toggle('no_scroll');\n if (panelMenu?.classList.contains('active')) {\n body.style.overflow = 'hidden';\n } else {\n body.style.overflow = '';\n }\n }\n\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n onAnchorClicked(): void {\n const csHamburgerHeader = document.querySelector(\n '.cs_hamburger_header'\n );\n if (csHamburgerHeader?.classList.contains('active')) {\n csHamburgerHeader.classList.remove('active');\n }\n }\n}\n","<div class=\"babylon-header cs-header-component fixed_header\">\n <header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n [ngClass]=\"{ cs_gescout_sticky: headerFixed }\"\n >\n <div class=\"cs_main_header\" id=\"headerBookShow\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n @if (logo) {\n <div class=\"cs_main_header_left\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img\n [src]=\"logo.src\"\n width=\"240\"\n height=\"60\"\n [alt]=\"logo.alt\"\n />\n </a>\n </div>\n }\n @if (menu) {\n <div class=\"cs_main_header_center babylon__header__box\">\n <nav\n class=\"cs_nav cs_fs_13 cs_semibold cs_menu_item_global\"\n >\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n link.children?.length,\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n (anchorClicked)=\"\n onAnchorClicked()\n \"\n >\n {{ link.label }}\n </a>\n @if (link.children?.length) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n (anchorClicked)=\"\n onAnchorClicked()\n \"\n >\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"cs_main_header_right\">\n @if (btnBook && showBtnBook) {\n <button\n class=\"btn btn_call btn--light1\"\n (click)=\"openEngineModal()\"\n id=\"btn-book\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n\n <button\n class=\"cs_hamburger_btn ml--20\"\n aria-label=\"menu\"\n (click)=\"toggleMenu()\"\n >\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </header>\n @if (logo) {\n <div class=\"header-responsive\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </a>\n </div>\n }\n \n @if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n }\n</div>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonEngineComponent } from '../babylon-engine';\nimport {\n BabylonModalMenuAddress,\n BabylonModalMenuComponent,\n} from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-clear',\n standalone: true,\n imports: [\n RouterModule,\n CommonModule,\n BabylonModalMenuComponent,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-header-clear.component.html',\n styleUrl: './babylon-header-clear.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderClearComponent {\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() lang?: string;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() btnBook?: BabylonButtonI;\n @Input() engineRef?: TemplateRef<EmbeddedViewRef<BabylonEngineComponent>>;\n @Input() engineShow = false;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n @Output() anchorClicked = new EventEmitter<void>();\n\n onAnchorClicked(): void {\n const panelMenu = document.querySelector('.panel_menu');\n if (panelMenu && panelMenu.classList.contains('active')) {\n this.toggleMenu();\n }\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.body;\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n if (body) {\n body.classList.toggle('no_scroll');\n }\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n}\n","<div class=\"babylon-header\">\n <header class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\" >\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n <button class=\"cs_hamburger_btn\" (click)=\"toggleMenu()\">\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n </div>\n <div class=\"cs_main_header_center\">\n @if (logo) {\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n }\n </div>\n <div\n class=\"cs_main_header_right\"\n [ngClass]=\"{ clear__engine: engineRef && engineShow }\"\n >\n @if (btnBook && !engineShow) {\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n <a\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-news-modal\"\n (click)=\"openNewsletter()\"\n >\n <span class=\"babylon-envelope\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </header>\n\n @if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n }\n\n @if (engineRef && engineShow) {\n <ng-container [ngTemplateOutlet]=\"engineRef\"></ng-container>\n }\n\n @if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-menu-center',\n standalone: true,\n imports: [RouterModule, CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-header-menu-center.component.html',\n styleUrl: './babylon-header-menu-center.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMenuCenterComponent {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() lang?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n isRooms(name: string): boolean {\n return name === 'Habitaciones';\n }\n\n isOffers(name: string): boolean {\n return name === 'Ofertas';\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n}\n","<div class=\"babylon-header\">\n <header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n >\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n @if (logo) {\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n width=\"250\"\n />\n </a>\n }\n </div>\n @if (menu) {\n <div class=\"cs_main_header_center\">\n <nav class=\"cs_nav cs_fs_13 cs_semibold\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n isRooms(link.name!) ||\n isOffers(link.name!),\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n isRooms(link.name!) ||\n isOffers(link.name!)\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n >\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"cs_main_header_right\">\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>RESERVAR </b>\n </button>\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n\n <button class=\"cs_hamburger_btn ml--20\">\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</header>\n@if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"250\" />\n </a>\n </div>\n}\n<div class=\"cs_hamburger_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_hamburger_header_top\">\n @if (logo) {\n <div class=\"cs_hamburger_brand\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"250\" />\n </a>\n </div>\n }\n <button class=\"cs_close_hamburger\">\n <svg\n width=\"30\"\n height=\"30\"\n viewBox=\"0 0 30 30\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19.8175 11.0675L15.885 15L19.8175 18.9325C20.0613 19.1763 20.0613 19.5725 19.8175 19.8162C19.695 19.9387 19.535 19.9987 19.375 19.9987C19.215 19.9987 19.055 19.9375 18.9325 19.8162L15 15.8837L11.0675 19.8162C10.945 19.9387 10.785 19.9987 10.625 19.9987C10.465 19.9987 10.305 19.9375 10.1825 19.8162C9.93875 19.5725 9.93875 19.1763 10.1825 18.9325L14.115 15L10.1825 11.0675C9.93875 10.8238 9.93875 10.4275 10.1825 10.1838C10.4262 9.94 10.8225 9.94 11.0662 10.1838L14.9987 14.1163L18.9313 10.1838C19.175 9.94 19.5713 9.94 19.815 10.1838C20.0588 10.4275 20.0588 10.8238 19.815 11.0675H19.8175ZM30 15C30 23.2712 23.2712 30 15 30C6.72875 30 0 23.2712 0 15C0 6.72875 6.72875 0 15 0C23.2712 0 30 6.72875 30 15ZM28.75 15C28.75 7.41875 22.5812 1.25 15 1.25C7.41875 1.25 1.25 7.41875 1.25 15C1.25 22.5812 7.41875 28.75 15 28.75C22.5812 28.75 28.75 22.5812 28.75 15Z\"\n fill=\"white\"\n />\n </svg>\n </button>\n </div>\n </div>\n <div class=\"cs_hamburger_header_in\">\n <div class=\"container\">\n <div class=\"row\">\n @if (menu) {\n <div class=\"col-lg-6\">\n <nav class=\"cs_hamburger_menu\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n class=\"title--small\"\n [ngClass]=\"{\n 'menu-item-has-children':\n isRooms(link.name!) ||\n isOffers(link.name!),\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n isRooms(link.name!) ||\n isOffers(link.name!)\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n >\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"col-lg-6\">\n <div class=\"cs_hamburger_header_info\">\n <div class=\"cs_hamburger_header_info_in\">\n <div class=\"row\">\n <div class=\"col-lg-6\">\n <div class=\"cs_hamburger_contact_info\">\n @if (title) {\n <h3\n class=\"cs_fs_28 subtitle--small subtitle--small--light mb--20\"\n >\n {{ title }}\n </h3>\n }\n @if (menuInfo?.contact?.links?.length) {\n <p class=\"text\">\n @for (\n contact of menuInfo?.contact?.links;\n track $index\n ) {\n <a\n [href]=\"\n contact.linkValue\n \"\n >\n {{ contact.label }} :\n {{\n contact.linkValue\n }} </a\n ><br />\n }\n </p>\n }\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_hamburger_contact_info\">\n @if (ndTitle) {\n <h3\n class=\"cs_fs_28 subtitle--small subtitle--small--light mb--20\"\n >\n {{ ndTitle }}\n </h3>\n }\n @if (menuInfo?.address; as address) {\n <p class=\"ctext\">\n @if (address.address) {\n {{ address.address }} <br />\n }\n @if (\n address.cp && address.city\n ) {\n {{ address.cp }}\n {{ address.city }} <br />\n }\n @if (\n address.province &&\n address.country\n ) {\n {{ address.province }}\n {{ address.country }}\n }\n </p>\n <a\n href=\"#\"\n class=\"btn-link btn-link--light\"\n >\n <b>Ver mapa</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { ScreenSizerService } from '../../../services';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-menu-logo-center',\n standalone: true,\n imports: [RouterModule, CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-header-menu-logo-center.component.html',\n styleUrl: './babylon-header-menu-logo-center.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMenuLogoCenterComponent implements OnInit {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() btnBook?: BabylonButtonI;\n @Input() lang?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n leftMenu: BabylonMenuButtonI[] = [];\n rightMenu: BabylonMenuButtonI[] = [];\n\n isHamburgerActive: boolean = false;\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly screenSizer: ScreenSizerService\n ) {}\n ngOnInit(): void {\n const midIndex = this.menu ? Math.ceil(this.menu.length / 2) : 0;\n this.leftMenu = this.menu ? this.menu.slice(0, midIndex) : [];\n this.rightMenu = this.menu ? this.menu.slice(midIndex) : [];\n }\n\n isInternalLink(linkType: string): boolean {\n return linkType === 'internal';\n }\n\n preventLink(e: Event): void {\n e.preventDefault();\n this.isHamburgerActive = false;\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleHamburgerMenu() {\n this.isHamburgerActive = !this.isHamburgerActive;\n }\n\n closeHamburgerMenu() {\n this.isHamburgerActive = false;\n }\n}\n","<div class=\"babylon-header\">\n <header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n >\n <div class=\"cs_main_header\" id=\"headerCenterBookShow\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n @if (logoSticky) {\n <div class=\"cs_logo_left\">\n <div class=\"cs_logo_item\">\n <a\n [href]=\"\n linkLogo?.url\n ? linkLogo?.url\n : '/' + lang?.toLowerCase()\n \"\n >\n <img\n [src]=\"logoSticky.src\"\n alt=\"\"\n class=\"cs_logo\"\n width=\"250\"\n />\n </a>\n </div>\n </div>\n }\n </div>\n <div class=\"cs_btn-engine-container\">\n <button\n class=\"btn btn_call\"\n (click)=\"openEngineModal()\"\n id=\"btn-book\"\n >\n <b>{{ btnBook?.label }} </b>\n </button>\n </div>\n @if (menu) {\n <div class=\"cs_main_header_center\">\n <nav class=\"cs_nav cs_fs_13 cs_semibold\">\n <div class=\"cs_menu_logo\">\n <div class=\"leftMenu\">\n <ul class=\"cs_nav_list\">\n <!-- Primera mitad del menú -->\n @for (\n link of leftMenu;\n track $index\n ) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n link.children\n ?.length,\n }\"\n >\n <a\n [linkType]=\"\n link.linkType\n \"\n (click)=\"\n preventLink($event)\n \"\n [routerLink]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n link.children?.length\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [href]=\"\n item.url\n \"\n (click)=\"\n preventLink(\n $event\n )\n \"\n [routerLink]=\"\n item.url\n \"\n >\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n </div>\n\n <!-- Logo en el centro -->\n @if (logo) {\n <div class=\"cs_logo_center\">\n <li class=\"cs_logo_item\">\n <a\n [href]=\"\n linkLogo?.url\n ? linkLogo?.url\n : '/' +\n lang?.toLowerCase()\n \"\n >\n <img\n [src]=\"logo.src\"\n alt=\"\"\n class=\"cs_logo\"\n width=\"200\"\n />\n </a>\n </li>\n </div>\n }\n\n <div class=\"rightMenu\">\n <ul class=\"cs_nav_list\">\n <!-- Segunda mitad del menú -->\n @for (\n link of rightMenu;\n track $index\n ) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n link.children\n ?.length,\n }\"\n >\n <a\n [linkType]=\"\n link.linkType\n \"\n (click)=\"\n preventLink($event)\n \"\n [routerLink]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n link.children?.length\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [href]=\"\n item.url\n \"\n (click)=\"\n preventLink(\n $event\n )\n \"\n [routerLink]=\"\n item.url\n \"\n >\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n </div>\n </div>\n <div class=\"cs_menu_no_logo\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n link.children\n ?.length,\n }\"\n >\n <a\n [linkType]=\"\n link.linkType\n \"\n [href]=\"link.url\"\n (click)=\"\n preventLink($event)\n \"\n [routerLink]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n link.children?.length\n ) {\n <ul>\n @for (\n item of link.children;\n let childrenIndex = $index;\n track childrenIndex\n ) {\n <li>\n <a\n [href]=\"\n item.url\n \"\n (click)=\"\n preventLink(\n $event\n )\n \"\n [routerLink]=\"\n item.url\n \"\n >\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </div>\n </nav>\n </div>\n }\n\n <div class=\"cs_main_header_right\">\n @if (lang) {\n <button\n class=\"btn btn_unlink ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n\n <button\n class=\"cs_hamburger_btn ml--20\"\n (click)=\"toggleHamburgerMenu()\"\n >\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </header>\n @if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n }\n <div class=\"cs_hamburger_header\" [ngClass]=\"{ active: isHamburgerActive }\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_hamburger_header_top\">\n @if (logo) {\n <div class=\"cs_hamburger_brand\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n width=\"200\"\n />\n </a>\n </div>\n }\n\n <div class=\"btn-close--modal\" (click)=\"closeHamburgerMenu()\">\n <span\n class=\"btn btn_primary btn--light babylon-plus btn-responsive\"\n ></span>\n </div>\n </div>\n </div>\n <div class=\"cs_hamburger_header_in\">\n <div class=\"container\">\n <div class=\"row\">\n @if (menu) {\n <div class=\"col-lg-6\">\n <nav class=\"cs_hamburger_menu\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n class=\"title--small\"\n [ngClass]=\"{\n 'menu-item-has-children':\n link.children?.length,\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n (click)=\"\n preventLink($event)\n \"\n [routerLink]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (link.children?.length) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [linkType]=\"\n link.linkType\n \"\n (click)=\"\n preventLink(\n $event\n )\n \"\n [routerLink]=\"\n link.url\n \"\n >\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonModalMenuComponent } from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-menu-show',\n standalone: true,\n imports: [\n RouterModule,\n CommonModule,\n BabylonLinkTypeDirective,\n BabylonModalMenuComponent,\n ],\n templateUrl: './babylon-header-menu-show.component.html',\n styleUrl: './babylon-header-menu-show.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMenuShowComponent {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() lang?: string;\n @Input() btnBook?: BabylonButtonI;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n onAnchorClicked(): void {\n const panelMenu = document.querySelector('.panel_menu');\n if (panelMenu?.classList.contains('active')) {\n this.toggleMenu();\n }\n }\n\n isRooms(name: string): boolean {\n return name === 'Habitaciones';\n }\n\n isOffers(name: string): boolean {\n return name === 'Ofertas';\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.querySelector('body');\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n\n if (body) {\n body.classList.toggle('no_scroll');\n }\n\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n}\n","<div class=\"babylon-header\">\n <header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n [ngClass]=\"{ cs_gescout_sticky: headerFixed }\"\n >\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n @if (logo) {\n <div class=\"cs_main_header_left\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n width=\"250\"\n />\n </a>\n </div>\n }\n @if (menu) {\n <div class=\"cs_main_header_center\">\n <nav class=\"cs_nav cs_fs_13 cs_semibold\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n isRooms(link.name!) ||\n isOffers(link.name!),\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n isRooms(link.name!) ||\n isOffers(link.name!)\n ) {\n <ul>\n @for (\n item of link.children;\n let childrenIndex = $index;\n track childrenIndex\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n >\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"cs_main_header_right\">\n @if (btnBook) {\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n (click)=\"openLanguagesModal()\"\n id=\"btn-lang\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-news-modal\"\n (click)=\"openNewsletter()\"\n >\n <span class=\"babylon-envelope\"></span>\n </button>\n\n <button\n class=\"cs_hamburger_btn ml--20\"\n (click)=\"toggleMenu()\"\n >\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</header>\n\n@if (logo) {\n <div class=\"header-responsive\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n}\n\n@if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n }\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core'; \nimport { MatDialogRef } from '@angular/material/dialog'; \n\n\n@Component({\n selector: 'lib-babylon-offer-popup',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-offer-popup.component.html',\n styleUrl: './babylon-offer-popup.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferPopupComponent {\n constructor(\n private readonly dialogRef: MatDialogRef<BabylonOfferPopupComponent>\n) {}\n\nclose(): void {\n this.dialogRef.close();\n}\n}\n","<div class=\"offer-popup\">\n <div class=\"btn-close--modal margin-30\" (click)=\"close()\">\n <button class=\"btn btn_primary btn--close ml--20\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"row m-0 w-100 h-100\">\n <div class=\"col-12 col-xl-6 p-0 offer-popup__image\">\n <figure>\n <img\n class=\"background-image\"\n src=\"/assets/babylon/fotos/newsletter.jpg\" alt=\"\"\n >\n </figure>\n </div>\n <div class=\"col-12 col-xl-6 offer-popup__wrapper px-5\">\n <div class=\"intro_info align--center\">\n <h2 class=\"title--small\">¡Reserva ya con un 10% de descuento!</h2>\n <h3 class=\"subtitle--small mb--20\">Precio exclusivo web </h3>\n <p class=\"text--small\">\n Sed ut perspiciatis unde omnis iste natus error sit\n voluptatem accusantium doloremque laudantium, totam rem\n aperiam, eaque ipsa quae ab illo inventore veritatis et\n quasi architecto beatae vitae dicta sunt explicabo.\n </p>\n <div class=\"btns__box justify-between1\"> \n <a class=\"btn btn_call\" href=\"#\">\n reservar\n </a>\n <a class=\"btn-link\" href=\"#\">\n Ver más información\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { RouterModule } from '@angular/router';\nimport { ScreenSizerService } from '../../../services';\nimport { BabylonOfferPopupComponent } from '../babylon-offer-popup/babylon-offer-popup.component';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonModalMenuComponent } from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\ndeclare var $: any;\n@Component({\n selector: 'lib-babylon-header-mobile',\n standalone: true,\n imports: [RouterModule, CommonModule, BabylonLinkTypeDirective, BabylonModalMenuComponent],\n templateUrl: './babylon-header-mobile.component.html',\n styleUrl: './babylon-header-mobile.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMobileComponent {\n\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() lang?: string;\n @Input() socialMedia?: BabylonButtonI[];\n @Input() address?: BabylonAddressItem;\n @Input() contactInfo?: BabylonButtonI[];\n @Input() contactLinks?: BabylonButtonI[];\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() btnBook?: BabylonButtonI;\n @Input() addressTitle?: string;\n @Input() contactTitle?: string;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n @Output() anchorClicked = new EventEmitter<void>();\n onAnchorClicked(): void {\n if ($('.panel_menu').hasClass('active')) {\n this.toggleMenu();\n }\n }\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly screenSizer: ScreenSizerService,\n ) {}\n\n isRooms(name: string): boolean {\n return name === 'Habitaciones';\n }\n\n isOffers(name: string): boolean {\n return name === 'Ofertas';\n }\n\n preventLink(e: Event): void {\n e.preventDefault();\n }\n\n openOffer(): void {\n const dialogRef = this.dialog.open(BabylonOfferPopupComponent, {\n width: this.screenSizer.minMediumTablet() ? '65%' : '95vw',\n height: this.screenSizer.minMediumTablet() ? '80%' : '85vh',\n maxHeight: this.screenSizer.minMediumTablet() ? '714px' : '100vh',\n maxWidth: this.screenSizer.minMediumTablet() ? '1000px' : '100vw',\n hasBackdrop: true,\n panelClass: 'newsletter',\n });\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.body;\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n if (body) {\n body.classList.toggle('no_scroll');\n }\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n\n}\n","<header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n>\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n <button class=\"cs_hamburger_btn\" (click)=\"toggleMenu()\">\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n\n </div>\n <div class=\"cs_main_header_center\">\n @if (btnBook) {\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n </div>\n <div class=\"cs_main_header_right\">\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n</header>\n\n@if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n}\n\n@if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonHotelItem } from './babylon-hotel.interface';\n@Component({\n selector: 'lib-babylon-hotels-list',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-hotels-list.component.html',\n styleUrl: './babylon-hotels-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHotelsListComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() hotels?: BabylonHotelItem[];\n\n collapsed1=true;\n toggleCollapse1(): void {\n this.collapsed1 = !this.collapsed1;\n }\n}\n","<section class=\"babylon__hotels-list margin-main \">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }} </h2>\n }\n @if(title){\n <h3 class=\"title\" >{{ title }}</h3>\n }\n </div>\n </div>\n @if(hotels){\n <div class=\"container-fluid cs_plr_100\">\n <!-- TODO: FALTA FILTRO -->\n <div class=\"row cs_gap_y_80\">\n @for(hotel of hotels; track $index){\n <div class=\"babylon__hotels-list--item col-xl-4 col-md-6\">\n <div class=\"cs_card cs_style_7 cs--radius overflow-hidden\">\n <a [href]=\"hotel?.link?.[0]?.url\" [linkType]=\"hotel?.link?.[0]?.linkType\" class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg\">\n @if(hotel.img){\n <img [src]=\"hotel.img.src\" [alt]=\"hotel.img.alt\">\n }\n </a>\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info align--center no-align\" [ngClass]=\"collapsed1 ? 'close' : 'open'\">\n @if(hotel.pretitle){\n <h3 class=\"pretitle \">{{hotel.pretitle}}</h3>\n }\n @if(hotel.title){\n <h2 class=\"title--small mb--10\" >{{hotel.title}}</h2>\n }\n @if(hotel.text){\n <p class=\"text\">{{hotel.text}}</p>\n }\n @if(hotel.textMore){\n <p class=\"text text-more\">{{hotel.textMore}}</p>\n }\n <div class=\"btns__box align--center no-align\">\n @if(hotel.btnMore){\n <span class=\"btn-link btn-more\" (click)=\"toggleCollapse1()\">\n <b>{{ hotel.btnMore }}</b>\n <span class=\"babylon-plus\"></span>\n </span>\n }\n @if(hotel.btnLess){\n <span class=\"btn-link btn-minus\" (click)=\"toggleCollapse1()\">\n <b>{{ hotel.btnLess }}</b>\n <span class=\"babylon-minus\"></span>\n </span>\n }\n </div>\n </div>\n @if(hotel?.services?.length) {\n <ul class=\"babylon__hotels-list--services\">\n @for(service of hotel.services; track $index){\n @if (service.name) {\n <li class=\"babylon__hotels-list--services--item \">{{service.name}}</li>\n }\n }\n <div class=\"babylon__hotels-list--footer\">\n <div class=\"babylon__hotels-list--footer--text\">\n @if(hotel.fTitle){\n <p class=\"babylon__hotels-list--footer--title\"> {{ hotel.fTitle }}</p>\n }\n @if(hotel.fSubtitle){\n <p class=\"babylon__hotels-list--footer--subtitle\"> {{ hotel.fSubtitle }} </p>\n }\n </div>\n @if(hotel.price){\n <span class=\"babylon__hotels-list--footer--price\">{{hotel.price}}<span>€</span></span>\n }\n </div>\n </ul>\n }\n </div>\n </div>\n <div class=\"btns__box align--center \">\n @if(hotel.button){\n <a [href]=\"hotel?.button?.[0]?.url\" [linkType]=\"hotel?.button?.[0]?.linkType\" class=\"btn btn_call \">\n <b>{{hotel?.button?.[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </section>\n","import {\n Directive,\n ElementRef,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[BabylonHotelsSlider]',\n standalone: true,\n})\nexport class BabylonHotelsSliderDirective implements AfterViewInit {\n private observer: MutationObserver | undefined;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'childList' &&\n this.el.nativeElement.querySelector('.cs_hotels_slide')\n ) {\n this.initSlider();\n this.observer?.disconnect();\n }\n });\n });\n\n this.observer.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n\n setTimeout(() => {\n if (\n this.el.nativeElement.querySelector('.cs_hotels_slide') &&\n !this.observer?.takeRecords().length\n ) {\n this.initSlider();\n }\n }, 1000);\n }\n\n private initSlider() {\n const slider = this.el.nativeElement;\n const arrows = slider.querySelectorAll(\n '.cs_hotels_slide_arrow_right, .cs_hotels_slide_arrow_left'\n );\n const slides = slider.querySelectorAll('.cs_hotels_slide');\n\n arrows.forEach((arrow: any) => {\n arrow.addEventListener('click', (event: any) => {\n const direction = arrow.classList.contains(\n 'cs_hotels_slide_arrow_left'\n )\n ? 'prev'\n : 'next';\n this.updateSlides(direction);\n this.cdr.detectChanges();\n });\n });\n\n slides.forEach((slide: any) => {\n const anchorElement = slide.querySelector('a');\n const dataSrc = anchorElement.getAttribute('data-src');\n if (anchorElement && dataSrc) {\n anchorElement.style.backgroundImage = `url(${dataSrc})`;\n anchorElement.style.backgroundSize = 'cover';\n anchorElement.style.backgroundPosition = 'center';\n }\n\n const imgElement = slide.querySelector('img');\n if (imgElement) {\n imgElement.remove();\n }\n });\n\n if (!slider.querySelector('.cs_hotels_slide.active')) {\n const firstSlide = slider.querySelector('.cs_hotels_slide');\n if (firstSlide) {\n firstSlide.classList.add('active');\n }\n }\n\n this.updateSlides('next');\n }\n\n private updateSlides(direction: string) {\n const activeSlide = this.el.nativeElement.querySelector(\n '.cs_hotels_slide.active'\n );\n const slides =\n this.el.nativeElement.querySelectorAll('.cs_hotels_slide');\n const totalSlides = slides.length;\n const activeIndex = Array.from(slides).indexOf(activeSlide);\n let nextIndex;\n\n if (!activeSlide) {\n nextIndex = 0;\n } else {\n nextIndex =\n direction === 'next'\n ? activeIndex === totalSlides - 1\n ? 0\n : activeIndex + 1\n : activeIndex === 0\n ? totalSlides - 1\n : activeIndex - 1;\n }\n\n const nextSlide = slides[nextIndex];\n slides.forEach((slide: any) =>\n slide.classList.remove(\n 'prev-1',\n 'next-1',\n 'prev-2',\n 'next-2',\n 'active'\n )\n );\n this.renderer.addClass(nextSlide, 'active');\n\n const prev1Index = nextIndex === 0 ? totalSlides - 1 : nextIndex - 1;\n const prev2Index = prev1Index === 0 ? totalSlides - 1 : prev1Index - 1;\n const next1Index = nextIndex === totalSlides - 1 ? 0 : nextIndex + 1;\n const next2Index = next1Index === totalSlides - 1 ? 0 : next1Index + 1;\n\n slides[prev1Index].classList.add('prev-1');\n slides[next1Index].classList.add('next-1');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonGlobalIconI } from '../../../interfaces/babylon-global-icon.interface';\nimport { BabylonHotelsSliderDirective } from '../../../directives/babylon-sliders/babylon-hotels-slider.directive';\nimport { BabylonHotelItem } from '../babylon-hotels-list/babylon-hotel.interface';\n\n@Component({\n selector: 'lib-babylon-hotels-slider',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonHotelsSliderDirective],\n templateUrl: './babylon-hotels-slider.component.html',\n styleUrl: './babylon-hotels-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHotelsSliderComponent {\n @Input() subtitle?: string;\n @Input() title?: string;\n @Input() hotels?: BabylonHotelItem[];\n}\n","\n <section class=\"babylon__hotels-slider margin-main bg--dark1\">\n <div class=\"container\">\n <div class=\"intro_info align--center intro_info--light1 no-align\">\n @if(title){\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n }\n @if(subtitle){\n <h3 class=\"subtitle\">{{subtitle}}</h3>\n }\n </div>\n </div>\n @if(hotels){\n <div class=\"cs_hotels_slide_container\" BabylonHotelsSlider>\n <div class=\"container-fluid\">\n <div class=\"cs_hotels_slide_wrapper cs_lightgallery\">\n @for(hotel of hotels; track $index){\n <div class=\"cs_hotels_slide\">\n <a [href]=\"hotel?.link?.[0]?.url\" [linkType]=\"hotel?.link?.[0]?.linkType\" class=\"cs_hotels_slide_item cs_bg_filed cs_lightbox_item cs_custom_pointer_wrap cs--radius\" [attr.data-src]=\"hotel.img?.src\">\n @if(hotel.img){\n <img [src]=\"hotel.img.src\" [alt]=\"hotel.img.alt\" class=\"d-none\">\n }\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if(hotel.pretitle){\n <h3 class=\"pretitle--small mb--0\">{{hotel.pretitle}}</h3>\n }\n @if(hotel.title){\n <h2 class=\"title--small mb--0\">{{hotel.title}}</h2>\n }\n <div class=\"btns__box align--vertical-center\">\n @if(hotel.link && hotel?.link?.[0]?.label){\n <a [href]=\"hotel?.link?.[0]?.url\" [linkType]=\"hotel?.link?.[0]?.linkType\" class=\"btn btn_primary btn--light\">\n <b>{{hotel?.link?.[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n @if(hotel.button && hotel?.button?.[0]?.label){\n <a [href]=\"hotel?.button?.[0]?.url\" [linkType]=\"hotel?.button?.[0]?.linkType\" class=\"btn btn_call\">\n <b>{{hotel?.button?.[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n </div>\n </div>\n </a>\n </div>\n }\n\n </div>\n </div>\n <div class=\"cs_hotels_slide_arrows\">\n <span class=\"cs_hotels_slide_arrow_left\">\n <span class=\"babylon-arrow-left-big\"></span>\n </span>\n <span class=\"cs_hotels_slide_arrow_right\">\n <span class=\"babylon-arrow-right-big\"></span>\n </span>\n </div>\n\n </div>\n }\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\n\n@Component({\n selector: 'lib-babylon-info-big',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-big.component.html',\n styleUrl: './babylon-info-big.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoBigComponent {\n @Input() img?: BabylonImageI;\n @Input() imgSmall?: BabylonImageI;\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n}\n","\n<section class=\"babylon__infoImgBig\">\n <div class=\"babylon__infoImgBig--content margin-main\" >\n <div class=\"babylon__infoImgBig--boxImg\" >\n @if(img){\n <figure class=\"\" role=\"img\" [style.background-image]=\"'url(' + img.src + ')'\"></figure>\n }\n @if(imgSmall){\n <figure class=\"figure-small\" role=\"img\" [style.background-image]=\"'url(' + imgSmall.src + ')'\"></figure>\n }\n </div>\n <div class=\"babylon__infoImgBig--boxInfo \">\n <div class=\"row justify-content-center align-items-center\">\n <div class=\" col-lg-8\">\n <div class=\"intro_info intro_info--light align--center no-align\">\n @if(pretitle){\n <h4 class=\"pretitle-top\">{{ pretitle }}</h4>\n }\n @if(title){\n <h2 class=\"title mb-4\">{{ title }}</h2>\n }\n @if(text){\n <p class=\"text\">{{ text }}</p>\n }\n @if(button){\n <div class=\"btns__box align--center\">\n <a [href]=\"button.url\" [linkType]=\"button.linkType\" class=\"btn btn_primary btn--light\">{{ button.label }}</a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-info-grid',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-grid.component.html',\n styleUrl: './babylon-info-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoGridComponent implements OnInit{\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() items?: BabylonInfoGridItemI[];\n collapsed1=true;\n collapsedStates: boolean[] = [];\n\n ngOnInit(): void {\n this.collapsedStates = new Array(this.items?.length).fill(true);\n }\n\n toggleCollapse(index: number): void {\n this.collapsedStates[index] = !this.collapsedStates[index];\n }\n}\n\nexport interface BabylonInfoGridItemI {\n pretitle?: string;\n title?: string;\n text?: string;\n image?: BabylonImageI;\n links?: BabylonButtonI[];\n}\n","<section class=\"babylon__info-grid margin-main bg--dark1\">\n <div class=\"container\">\n <div class=\"intro_info align--center intro_info--light1 no-align\">\n @if (pretitle) {\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ title }}\n </h2>\n }\n </div>\n <div class=\"cs_grid_style_1\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <div\n class=\"cs_grid_item\"\n [ngClass]=\"collapsedStates[$index] ? 'close' : 'open'\"\n >\n <div\n class=\"cs_gallery_item cs_style_1 d-block cs_bg_filed position-relative cs--radius\"\n [attr.data-src]=\"item.image?.src\"\n dataBackground=\"url('{{item.image?.src}}')\"\n >\n\n @if (item.image) {\n <img\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n class=\"d-none\"\n />\n }\n <div\n class=\"intro_info intro_info--light intro_head\"\n >\n @if (item?.pretitle) {\n <h4 class=\"pretitle--small mb--10\">\n {{ item?.pretitle }}\n </h4>\n }\n @if (item?.title) {\n <h2 class=\"title--small\">\n {{ item?.title }}\n </h2>\n }\n </div>\n @if (item.links) {\n <a class=\"cs_gallery_item_link\" [href]=\"item.links[0].url\" [linkType]=\"item.links[0].linkType\"></a>\n }\n @if (item.text) {\n <span\n class=\"icon-plus cs--radius\"\n (click)=\"toggleCollapse($index)\"\n >\n <span class=\"babylon-plus\"></span>\n </span>\n <span\n class=\"icon-minus cs--radius\"\n (click)=\"toggleCollapse($index)\"\n >\n <span class=\"babylon-minus\"></span>\n </span>\n <div\n class=\"text-more intro_info intro_info--light no-align\"\n >\n <p class=\"text text--light\">\n {{ item?.text }}\n </p>\n </div>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n</section>\n","import { BabylonInfoGridItemI } from \"./babylon-info-grid.component\";\n\nexport class BabylonInfoGridI {\n pretitle?: string;\n title?: string;\n text?: string;\n items?: BabylonInfoGridItemI[];\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[backgroundStrip]',\n standalone: true,\n})\nexport class BabylonBackgroundStrip implements OnChanges {\n @Input() topBG?: string;\n @Input() bottomBG?: string;\n @Input() topColor?: string;\n @Input() bottomColor?: string;\n\n private topSection?: HTMLElement;\n private bottomSection?: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n ngOnChanges(): void {\n this.updateBackgroundStyle();\n }\n\n private updateBackgroundStyle(): void {\n const nativeElement = this.el.nativeElement;\n\n // Limpiar elementos previos\n if (this.topSection) {\n this.renderer.removeChild(nativeElement, this.topSection);\n this.topSection = undefined;\n }\n if (this.bottomSection) {\n this.renderer.removeChild(nativeElement, this.bottomSection);\n this.bottomSection = undefined;\n }\n\n // Crear sección superior si hay contenido\n if ((this.topBG && this.topBG.trim() !== '') || (this.topColor && this.topColor.trim() !== '')) {\n this.topSection = this.renderer.createElement('div');\n this.renderer.addClass(this.topSection, 'top-section');\n this.renderer.appendChild(nativeElement, this.topSection);\n\n if (this.topBG && this.topBG.trim() !== '') {\n this.renderer.setStyle(\n this.topSection,\n 'background-image',\n `url('${this.topBG}')`\n );\n this.renderer.setStyle(\n this.topSection,\n 'background-size',\n 'cover'\n );\n this.renderer.setStyle(\n this.topSection,\n 'background-position',\n 'center'\n );\n }\n if (this.topColor && this.topColor.trim() !== '') {\n this.renderer.setStyle(\n this.topSection,\n 'background-color',\n this.topColor\n );\n }\n }\n\n // Crear sección inferior si hay contenido\n if ((this.bottomBG && this.bottomBG.trim() !== '') || (this.bottomColor && this.bottomColor.trim() !== '')) {\n this.bottomSection = this.renderer.createElement('div');\n this.renderer.addClass(this.bottomSection, 'bottom-section');\n this.renderer.appendChild(nativeElement, this.bottomSection);\n\n if (this.bottomBG && this.bottomBG.trim() !== '') {\n this.renderer.setStyle(\n this.bottomSection,\n 'background-image',\n `url('${this.bottomBG}')`\n );\n this.renderer.setStyle(\n this.bottomSection,\n 'background-size',\n 'cover'\n );\n this.renderer.setStyle(\n this.bottomSection,\n 'background-position',\n 'center'\n );\n }\n if (this.bottomColor && this.bottomColor.trim() !== '') {\n this.renderer.setStyle(\n this.bottomSection,\n 'background-color',\n this.bottomColor\n );\n }\n }\n }\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonBackgroundStrip } from '../../../directives/babylon-background-strip/babylon-background-strip.directive';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-info-img',\n standalone: true,\n imports: [\n CommonModule,\n BabylonSlidersDirective,\n BabylonBackgroundStrip,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-info-img.component.html',\n styleUrl: './babylon-info-img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoImgComponent {\n @Input() rightSide: boolean = false;\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() description?: string;\n @Input() text?: string;\n @Input() ndtitle?: string;\n @Input() buttons?: BabylonButtonI[];\n @Input() images?: BabylonImageI[];\n @Input() advantages?: BabylonAdvInfoI[];\n @Input() logo?: BabylonImageI;\n @Input() advTitle?: string;\n\n @Input() topBG?: string;\n @Input() bottomBG?: string;\n @Input() topColor?: string;\n @Input() bottomColor?: string;\n\n @Input() lessBtn?: string;\n @Input() moreBtn?: string;\n\n showAll = false;\n\n get showBtn(): string {\n return this.showAll ? (this.lessBtn ?? '') : (this.moreBtn ?? '');\n }\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n\n toggleView() {\n this.showAll = !this.showAll;\n }\n}\n","<section\n class=\"babylon__infoimg margin-main\"\n id=\"InfoImg\"\n backgroundStrip\n [topBG]=\"topBG\"\n [bottomBG]=\"bottomBG\"\n [topColor]=\"topColor\"\n [bottomColor]=\"bottomColor\"\n>\n <div class=\"container-fluid p-0 position-relative\">\n <div class=\"container\">\n <div\n class=\"row align-items-center cs_gap_y_40\"\n [ngClass]=\"{ 'column-reverse': rightSide }\"\n >\n @if (rightSide) {\n <ng-container\n [ngTemplateOutlet]=\"infoImgContent\"\n [ngTemplateOutletContext]=\"{ alignClass: '' }\"\n />\n <ng-container\n [ngTemplateOutlet]=\"imageSlider\"\n [ngTemplateOutletContext]=\"{\n extraClass: 'cs_pl_110',\n }\"\n />\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"imageSlider\"\n [ngTemplateOutletContext]=\"{\n extraClass: 'cs_pr_110',\n }\"\n />\n <ng-container\n [ngTemplateOutlet]=\"infoImgContent\"\n [ngTemplateOutletContext]=\"{ alignClass: 'no-align' }\"\n />\n }\n </div>\n </div>\n </div>\n</section>\n\n<ng-template #infoImgContent let-alignClass=\"alignClass\" let-showAll=\"showAll\">\n <div class=\"col-lg-5\">\n <div class=\"intro_info {{ alignClass }}\">\n @if (pretitle) {\n <h3\n class=\"pretitle wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ pretitle }}\n </h3>\n }\n @if (logo && logo.src) {\n <div class=\"logo_title\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </div>\n } @else {\n @if (title) {\n <h2 class=\"title\">{{ title }}</h2>\n }\n }\n @if (text) {\n <h3 class=\"subtitle\">{{ text }}</h3>\n }\n @if (ndtitle) {\n <h4\n class=\"title-{{\n alignClass === 'no-align' ? 'right' : 'left'\n }}\"\n >\n {{ ndtitle }}\n </h4>\n }\n @if (description) {\n <p class=\"text\">{{ description }}</p>\n }\n @if (advTitle) {\n <h5 class=\"title--smaller\">{{ advTitle }}</h5>\n }\n @if (advantages?.length) {\n <ul\n class=\"cs_list cs_style_1 cs_mp_0\"\n [ngClass]=\"{\n 'view-minus': showAll === false,\n }\"\n >\n @if (advantages?.length) {\n @for (adv of advantages; track $index) {\n <li>\n @if (adv.icon) {\n <div\n class=\"info--icon\"\n [ngClass]=\"{\n 'icon--40':\n alignClass === 'no-align',\n }\"\n >\n <i class=\"icon--svg {{ adv.icon }}\"></i>\n </div>\n }\n @if (adv.title || adv.text) {\n <p class=\"text mb--0\">\n {{ adv.title\n }}<span class=\"text--small\">{{\n adv.text\n }}</span>\n </p>\n }\n </li>\n }\n }\n </ul>\n @if (advantages!.length > 6) {\n <div class=\"btns__box align--center\">\n <a class=\"btn-link\" (click)=\"toggleView()\">\n {{ showBtn }}\n </a>\n </div>\n }\n }\n @if (buttons) {\n <div class=\"btns__box\">\n @for (button of buttons; track $index; let odd = $odd) {\n @if (button && button.label) {\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn_primary: !odd,\n btn_call: odd,\n }\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n }\n </div>\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #imageSlider let-extraClass=\"extraClass\">\n <div class=\"col-lg-7\">\n <div class=\"{{ extraClass }}\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <div\n class=\"cs_video_block cs_style_1 cs_type_3 position-relative cs--radius\"\n >\n <figure\n class=\"cs_video_block_bg h-100 w-100 position-absolute start-0 top-0 cs_bg_filed\"\n [style.background-image]=\"\n 'url(' + image.src + ')'\n \"\n ></figure>\n </div>\n </div>\n }\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1\"\n [ngClass]=\"{\n cs_type_3: extraClass === 'cs_pl_110',\n 'cs_type_3--left': extraClass === 'cs_pr_110',\n }\"\n ></div>\n </div>\n </div>\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonBackgroundStrip } from '../../../directives/babylon-background-strip/babylon-background-strip.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-info-intro',\n standalone: true,\n imports: [CommonModule, BabylonBackgroundStrip, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-intro.component.html',\n styleUrl: './babylon-info-intro.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfoIntroComponent {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() description?: string;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n @Input() topBG?: string;\n @Input() bottomBG?: string;\n @Input() topColor?: string;\n @Input() bottomColor?: string;\n\n @Input() logo?: BabylonImageI;\n @Input() logo2?: BabylonImageI;\n\n}\n","<section\n class=\"babylon__intro bg--gray margin-main\"\n backgroundStrip\n [topBG]=\"topBG\"\n [bottomBG]=\"bottomBG\"\n [topColor]=\"topColor\"\n [bottomColor]=\"bottomColor\"\n>\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h3\n class=\"pretitle wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ pretitle }}\n </h3>\n }\n @if (title) {\n <h2 class=\"title\">{{ title }}</h2>\n }\n @if (description) {\n <p class=\"text\">{{ description }}</p>\n }\n @if (images && images[0].src) {\n <div class=\"cs_image_layer cs_about_img\">\n <img [src]=\"images[0].src\" alt=\"\" class=\"cs--radius\" />\n <!-- foto opcional -->\n </div>\n }\n @if (button?.label) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn btn_primary\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n @if (logo) {\n <div class=\"intro_logo_1 align--center\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </div>\n }\n </div>\n </div>\n @if (logo2) {\n <div class=\"intro_logo_2\">\n <img [src]=\"logo2.src\" [alt]=\"logo2.alt\" />\n </div>\n }\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-info-zig-zag',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-info-zig-zag.component.html',\n styleUrl: './babylon-info-zig-zag.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfoZigZagComponent {\n @Input() rightSide: boolean = false;\n @Input() texts?: BabylonTextZigzagI;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\nexport interface BabylonTextZigzagI {\n pretitle?: string;\n title?: string;\n contenttitle?: string;\n contentsubtitle?: string;\n contentdescription?: string;\n logo?: BabylonImageI;\n}\n","<!-- <section class=\"container-fluid p-0\"> -->\n<section class=\"babylon__offers-list margin-main\" id=\"InfoZigZag\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (texts?.pretitle) {\n <h2 class=\"pretitle mb--10\">{{ texts?.pretitle }}</h2>\n }\n @if (texts?.title) {\n <h3 class=\"title\">{{ texts?.title }}</h3>\n }\n </div>\n </div>\n <div class=\"container-fluid\">\n <div\n [ngClass]=\"{ cs_mobile_reverse: rightSide }\"\n class=\"row align-items-center cs_gap_y_40\"\n >\n @if (rightSide) {\n <div class=\"col-lg-6\" id=\"InfoZigZagRight\">\n <div class=\"cs_pr_110 cs_pl_110 cs_plr_movil\">\n <div class=\"cs_section_heading cs_style_1\">\n <div class=\"intro_info\">\n @if (texts?.contentsubtitle) {\n <h2 class=\"pretitle mb--10\">\n {{ texts?.contentsubtitle }}\n </h2>\n }\n @if (\n texts?.logo &&\n texts?.logo?.src\n ) {\n <div class=\"logo_title\">\n <img\n [src]=\"texts?.logo?.src\"\n [alt]=\"texts?.logo?.alt\"\n />\n </div>\n } @else {\n @if (texts?.contenttitle) {\n <h3 class=\"title\">\n {{ texts?.contenttitle }}\n </h3>\n }\n }\n @if (texts?.contentdescription) {\n <p class=\"text\">\n {{ texts?.contentdescription }}\n </p>\n }\n\n @if (button?.label) {\n <div class=\"btns__box\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary\"\n (click)=\"btnClick($event)\"\n >\n <b>{{ button?.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <div\n class=\"cs_image_layer cs_style_4 position-relative cs_bg_filed cs_width_left_50_vw cs--radius\"\n [style.background-image]=\"\n 'url(' + image.src + ')'\n \"\n ></div>\n </div>\n }\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3--left\"\n ></div>\n </div>\n </div>\n } @else {\n <div class=\"col-lg-6\" id=\"InfoZigZagLeft\">\n <div class=\"cs_slider cs_style_1\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <div\n class=\"cs_image_layer cs_style_4 position-relative cs_bg_filed cs_width_left_50_vw cs--radius\"\n [style.background-image]=\"\n 'url(' + image.src + ')'\n \"\n ></div>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3\"></div>\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_pl_110 cs_pr_110 cs_plr_movil\">\n <div class=\"cs_section_heading cs_style_1\">\n <div class=\"intro_info\">\n @if (texts?.contentsubtitle) {\n <h2 class=\"pretitle mb--10\">\n {{ texts?.contentsubtitle }}\n </h2>\n }\n @if (\n texts?.logo &&\n texts?.logo?.src\n ) {\n <div class=\"logo_title\">\n <img\n [src]=\"texts?.logo?.src\"\n [alt]=\"texts?.logo?.alt\"\n />\n </div>\n } @else {\n @if (texts?.contenttitle) {\n <h3 class=\"title\">\n {{ texts?.contenttitle }}\n </h3>\n }\n }\n @if (texts?.contentdescription) {\n <p class=\"text\">\n {{ texts?.contentdescription }}\n </p>\n }\n\n @if (button?.label) {\n <div class=\"btns__box\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary\"\n (click)=\"btnClick($event)\"\n >\n <b>{{ button?.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-info-zigzag-v2',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-zigzag-v2.component.html',\n styleUrl: './babylon-info-zigzag-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoZigzagV2Component {\n @Input() rightSide: boolean = false;\n @Input() items: BabylonInfoZigzagV2Item[] = [];\n}\n\nexport interface BabylonInfoZigzagV2Item {\n pretitle?: string;\n title?: string;\n text?: string;\n features?: BabylonAdvInfoI[];\n button?: BabylonButtonI;\n image?: BabylonImageI;\n}\n","<section class=\"babylon__info-zigzag-v2 margin-main\">\n <div class=\"cs_feature_box cs_style_2\">\n <div class=\"container\">\n <div class=\"row cs_gap_y_50\">\n <div\n class=\"col-lg-6\"\n [ngClass]=\"{ cs_mobile_reverse_sp: rightSide }\"\n >\n @if (rightSide) {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"items[0]\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"ndContent\"\n [ngTemplateOutletContext]=\"items[1]\"\n ></ng-container>\n }\n </div>\n <div\n class=\"col-lg-6\"\n [ngClass]=\"{ cs_mobile_reverse_sp: !rightSide }\"\n >\n @if (rightSide) {\n <ng-container\n [ngTemplateOutlet]=\"ndContent\"\n [ngTemplateOutletContext]=\"items[1]\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"items[0]\"\n ></ng-container>\n }\n </div>\n </div>\n </div>\n </div>\n</section>\n\n<ng-template #content>\n @if (items[0]; as item) {\n @if (item.image) {\n <div class=\"cs_feature_box_thumb cs_mb_55 cs_mb_lg_40\">\n <img\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n class=\"cs_feature_thumb_1 cs--radius\"\n />\n </div>\n }\n <div class=\"cs_pl_110\">\n <div class=\"intro_info\">\n @if (item.pretitle) {\n <p class=\"pretitle\">{{ item.pretitle }}</p>\n }\n @if (item.title) {\n <h2 class=\"title\">{{ item.title }}</h2>\n }\n @if (item.text) {\n <p class=\"text\">{{ item.text }}</p>\n }\n @if (item.button) {\n <div class=\"btns__box\">\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.linkType\"\n class=\"btn btn_primary\"\n >\n <b>{{ item.button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n @if (item.features?.length) {\n <div class=\"cs_pr_110\">\n <ul class=\"cs_feature_list cs_mp_0\">\n @for (feature of item.features; track $index) {\n <li>\n <div class=\"info--icon icon--medium\">\n <i\n class=\"icon--svg\"\n [ngClass]=\"feature.icon\"\n ></i>\n </div>\n <div class=\"intro_info\">\n @if (feature.title) {\n <h2 class=\"title--smaller mb--10\">\n {{ feature.title }}\n </h2>\n }\n @if (feature.text) {\n <p class=\"text\">\n {{ feature.text }}\n </p>\n }\n </div>\n </li>\n }\n </ul>\n </div>\n }\n }\n</ng-template>\n\n<ng-template #ndContent>\n @if (items[1]; as item) {\n <div class=\"cs_height_30 cs_height_lg_0\"></div>\n <div class=\"cs_pl_110\">\n <div class=\"intro_info\">\n @if (item.pretitle) {\n <p class=\"pretitle\">{{ item.pretitle }}</p>\n }\n @if (item.title) {\n <h2 class=\"title\">{{ item.title }}</h2>\n }\n @if (item.text) {\n <p class=\"text\">{{ item.text }}</p>\n }\n @if (item.button) {\n <div class=\"btns__box\">\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.linkType\"\n class=\"btn btn_primary\"\n >\n <b>{{ item.button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n @if (item.image) {\n <div class=\"cs_feature_box_thumb cs_mb_lg_40\">\n <img\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n class=\"cs_feature_thumb_1 cs--radius\"\n />\n </div>\n }\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-info2img',\n standalone: true,\n imports: [CommonModule,BabylonSlidersDirective,BabylonLinkTypeDirective],\n templateUrl: './babylon-info2img.component.html',\n styleUrl: './babylon-info2img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfo2imgComponent {\n @Input() rightSide: boolean = false;\n @Input() texts?: BabylonTextInfoI;\n @Input() advantages?: BabylonAdvInfoI[];\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n @Input() imagesSmall?: BabylonImageI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\n\n","\n <section class=\"babylon__info2img margin-main\">\n <div class=\"container\">\n <div class=\"row align-items-center cs_gap_y_45\" [ngClass]=\"{ 'column-reverse' : rightSide }\">\n @if(rightSide) {\n <div class=\"col-lg-5\">\n <div class=\"intro_info\">\n @if(texts?.pretitle){\n <h3 class=\"pretitle\">{{texts?.pretitle}}</h3>\n }\n @if(texts?.title){\n <h2 class=\"title\">{{texts?.title}}</h2>\n }\n @if(texts?.text){\n <p class=\"text\">{{texts?.text}}</p>\n }\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @if(advantages) {\n @for(adv of advantages; track $index){\n <li>\n <div class=\"info--icon \">\n @if(adv?.icon) {\n <i class=\"icon--svg\" [class]=\"adv?.icon\"></i>\n }\n </div>\n @if(adv?.text) {\n <p class=\"text mb--0\">{{adv?.text}}\n @if(adv?.icon) {\n <span class=\"text--small\">{{adv?.icon}}</span>\n }\n </p>\n }\n </li>\n }\n }\n </ul>\n @if(button?.label) {\n <div class=\"btns__box\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n <div class=\"col-lg-7 wow fadeIn\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">\n <div class=\"cs_pl_110\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"1\" data-md-slides=\"1\" data-lg-slides=\"1\" data-add-slides=\"1\">\n <div class=\"cs_slider_wrapper\">\n @if(images){\n @for(image of images; track $index){\n <div class=\"cs_slide\">\n <div class=\"cs_image_layer cs_style_1 position-relative no-border\">\n <div class=\"cs_image_layer_1_wrap\">\n <div class=\"cs_image_layer_1\">\n <img [src]=\"image.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n @if(imagesSmall && imagesSmall[$index]?.src){\n <div class=\"cs_image_layer_2_wrap\">\n <div class=\"cs_image_layer_2\">\n <img [src]=\"imagesSmall[$index]?.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n }\n </div>\n </div>\n }\n }\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3\"></div>\n </div>\n </div>\n\n </div>\n </div>\n } @else {\n <div class=\"col-lg-7 wow fadeIn\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">\n <div class=\"cs_pr_110\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"1\" data-md-slides=\"1\" data-lg-slides=\"1\" data-add-slides=\"1\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length){\n @for(image of images; track $index){\n <div class=\"cs_slide\">\n <div class=\"cs_image_layer cs_style_1 position-relative no-border\">\n <div class=\"cs_image_layer_1_wrap\">\n <div class=\"cs_image_layer_1\">\n <img [src]=\"image.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n @if(imagesSmall && imagesSmall[$index]?.src){\n <div class=\"cs_image_layer_2_wrap\">\n <div class=\"cs_image_layer_2\">\n <img [src]=\"imagesSmall[$index]?.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n }\n </div>\n </div>\n }\n }\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3--left\"></div>\n </div>\n </div>\n\n </div>\n </div>\n <div class=\"col-lg-5\">\n <div class=\"intro_info\">\n @if(texts?.pretitle){\n <h3 class=\"pretitle\">{{texts?.pretitle}}</h3>\n }\n @if(texts?.title){\n <h2 class=\"title\">{{texts?.title}}</h2>\n }\n @if(texts?.text){\n <p class=\"text\">{{texts?.text}}</p>\n }\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @if(advantages?.length) {\n @for(adv of advantages; track $index){\n <li>\n <div class=\"info--icon \">\n @if(adv?.icon) {\n <i class=\"icon--svg\" [class]=\"adv?.icon\"></i>\n }\n </div>\n @if(adv?.text) {\n <p class=\"text mb--0\">{{adv?.text}}\n @if(adv?.icon) {\n <span class=\"text--small\">{{adv?.icon}}</span>\n }\n </p>\n }\n </li>\n }\n }\n </ul>\n @if(button?.label) {\n <div class=\"btns__box\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n </section>\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\n\n@Component({\n selector: 'lib-babylon-info2img-big',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info2img-big.component.html',\n styleUrl: './babylon-info2img-big.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfo2imgBigComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n @Input() img?: BabylonImageI;\n @Input() imgSmall?: BabylonImageI;\n @Input() pretitle2?: string;\n @Input() title2?: string;\n @Input() text2?: string;\n @Input() button2?: BabylonButtonI;\n}\n","<section class=\"babylon__infoImgBig\">\n <div class=\"babylon__infoImgBig--content margin-main\">\n \n <div class=\"babylon__infoImgBig--boxImg\">\n @if (img) {\n <figure\n class=\"\"\n role=\"img\"\n [style.background-image]=\"'url(' + img.src + ')'\"\n ></figure>\n }\n <div class=\"babylon__infoImgBig--boxInfo\">\n <div class=\"row justify-content-center align-items-center\">\n <div class=\"col-lg-8\">\n <div\n class=\"intro_info intro_info--light align--center no-align\"\n >\n @if (pretitle) {\n <h4 class=\"pretitle-top mb--0\">{{ pretitle }}</h4>\n }\n @if (title) {\n <h2 class=\"title\">{{ title }}</h2>\n }\n @if (text) {\n <p class=\"text\">{{ text }}</p>\n }\n @if (button) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn_primary btn--light\"\n >{{ button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n \n \n <div class=\"babylon__infoImgBig--boxDes\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-7\">\n <div class=\"intro_info align--left\">\n @if (title2) {\n <h2 class=\"title mb--0\">{{ title2 }}</h2>\n }\n @if (pretitle2) {\n <h4 class=\"subtitle\">{{ pretitle2 }}</h4>\n }\n @if (text2) {\n <p class=\"text\">{{ text2 }}</p>\n }\n @if (button2) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button2.url\"\n [linkType]=\"button2.linkType\"\n class=\"btn btn_primary\"\n >{{ button2.label }}</a\n >\n </div>\n }\n </div>\n </div>\n <div class=\"col-lg-4 pl--60\">\n <div class=\"cs_image_layer boxDes_img\">\n @if (imgSmall) {\n <figure>\n <img\n [src]=\"imgSmall.src\"\n [alt]=\"imgSmall.alt\"\n class=\"cs--radius\"\n />\n </figure>\n <!-- <figure class=\"cs_video_block_bg1 h-100 w-100 position-absolute1 start-01 top-01 cs_bg_filed\" role=\"img\" style=\"background-image:url('https://dummyimage.com/400x600/CCCCCC/ffffff');\"></figure> -->\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-info3img',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-info3img.component.html',\n styleUrl: './babylon-info3img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfo3imgComponent {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() ndtitle?: string;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n \n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n"," \n<section class=\"babylon__info3ing margin-main\"> \n <div class=\"container-fluid p-0\"> \n <div class=\"container\"> \n <div class=\"intro_info align--center no-align\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title\">{{title}}</h2> \n } \n </div> \n </div>\n \n <div class=\"cs_image_layer cs_style_5 position-relative\">\n @if(ndtitle) {\n <div class=\"cs_moving_text_wrap cs_style_1 cs_fs_89 cs_accent_color cs_primary_font text-uppercase\">\n <div class=\"cs_moving_text_in\">\n <div class=\"cs_moving_text title--big\">{{ndtitle}}</div>\n <div class=\"cs_moving_text title--big\">{{ndtitle}}</div>\n </div>\n </div>\n }\n <div class=\"cs_image_layer_in\">\n @if(images?.length){\n @for(image of images?.slice(0, 3); track $index){\n <div class=\"cs_image_layer_item\"><img [src]=\"image.src\" alt=\"Dine\" class=\"cs--radius\"></div>\n }\n }\n </div>\n </div>\n @if(button?.label) {\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" class=\"btn btn_primary\" (click)=\"btnClick($event)\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </div>\n </section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-info4img',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info4img.component.html',\n styleUrl: './babylon-info4img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfo4imgComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n @Input() image1?: BabylonImageI;\n @Input() image2?: BabylonImageI;\n @Input() image3?: BabylonImageI;\n @Input() image4?: BabylonImageI;\n}\n","<section class=\"babylon__info4img margin-main\">\n <div class=\"owl-carousel owl-theme carousel_item_11 carousel_item_arrow\">\n <div class=\"babylon__gallery-slider--content\">\n @if (image1) {\n <div class=\"babylon__gallery-slider--col col-1\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image1.src\" [alt]=\"image1.alt\" />\n </div>\n </div>\n }\n @if (image2) {\n <div class=\"babylon__gallery-slider--col col-4\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image2.src\" [alt]=\"image2.alt\" />\n </div>\n </div>\n }\n <div class=\"babylon__gallery-slider--col col-3\">\n <div class=\"babylon__gallery-slider--item\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h4 class=\"pretitle--small\">{{ pretitle }}</h4>\n }\n @if (title) {\n <h2 class=\"title--small\">{{ title }}</h2>\n }\n @if (text) {\n <p class=\"text\">{{ text }}</p>\n }\n @if (button) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn btn-primary\"\n >\n {{ button.label }}\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n @if (image3) {\n <div class=\"babylon__gallery-slider--col col-4\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image3.src\" [alt]=\"image3.alt\" />\n </div>\n </div>\n }\n @if (image4) {\n <div class=\"babylon__gallery-slider--col col-5\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image4.src\" [alt]=\"image4.alt\" />\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonTopSliderV2Item } from '../babylon-top-slider-v2/babylon-top-slider-v2-item.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLightGalleryDirective } from '../../../directives/babylon-galleries/babylon-light-gallery.directive';\n\n@Component({\n selector: 'lib-babylon-items-grid',\n standalone: true,\n imports: [CommonModule, BabylonLightGalleryDirective],\n templateUrl: './babylon-items-grid.component.html',\n styleUrl: './babylon-items-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonItemsGridComponent {\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() images?: BabylonImageI[];\n @Input() buttons?: BabylonButtonI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__items-grid margin-main\"> \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n } \n </div> \n </div>\n <div class=\"cs_grid_style_1 cs_lightgallery\" BabylonLightGallery>\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_grid_item\">\n <a [href]=\"image.src\" class=\"cs_gallery_item cs_lightbox_item cs_style_1 d-block cs_bg_filed position-relative\" [style.background-image]=\"'url(' + image.src + ')'\" >\n @if(image?.title){\n <div class=\"cs_gallery_item_hover cs_center title--small title--small--light cs--radius\">{{image?.title}}</div>\n }\n <img [src]=\"image.src\" alt=\"\" class=\"d-none\">\n </a>\n </div>\n }\n }\n </div>\n @if(buttons && buttons[0]){\n <div class=\"btns__box align--center\">\n <a [href]=\"buttons[0].url\" class=\"btn btn_primary\">\n <b>{{buttons[0].label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </section>","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'lib-babylon-language-modal',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-language-modal.component.html',\n styleUrl: './babylon-language-modal.component.scss',\n})\nexport class BabylonLanguageModalComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() items?: BabylonLanguageModalItem[];\n @Input() selected?: BabylonLanguageModalItem;\n\n @Output() languageSelect = new EventEmitter<BabylonLanguageModalItem>();\n\n private readonly dialogRef: MatDialogRef<BabylonLanguageModalComponent> =\n inject(MatDialogRef);\n\n selectLanguage(language: BabylonLanguageModalItem): void {\n this.selected = language;\n this.languageSelect.emit(language);\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n\nexport interface BabylonLanguageModalItem {\n code?: string;\n id?: number;\n name?: string;\n}\n","<div class=\"babylon-languages__close\">\n <button\n class=\"btn btn_primary btn--light babylon-plus btn-responsive\"\n (click)=\"close()\"></button>\n</div>\n<div class=\"babylon-languages__wrapper\">\n <div class=\"babylon-languages\">\n @if (title || subtitle) {\n <div\n class=\"babylon-languages__header d-flex flex-column align-itemns-center\"\n >\n @if (title) {\n <h4 class=\"title--small\">{{ title }}</h4>\n }\n @if (subtitle) {\n <span class=\"subtitle\">{{ subtitle }}</span>\n }\n </div>\n } @if (items?.length) {\n <div\n class=\"babylon-languages__content d-flex flex-column align-items-center\"\n >\n @for (item of items; track $index) {\n <a\n [ngClass]=\"{\n 'babylon-languages__selected': item.id == selected?.id\n }\"\n class=\"d-flex align-items-center\"\n (click)=\"selectLanguage(item)\"\n ><span class=\"line\"></span>{{ item.name }}<span\n class=\"icon babylon-arrow-right\"\n ></span\n ></a>\n }\n </div>\n }\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-legal',\n standalone: true,\n imports: [RouterModule],\n templateUrl: './babylon-legal.component.html',\n styleUrl: './babylon-legal.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonLegalComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() img?: BabylonImageI;\n\n}\n","<section class=\"babylon__legal margin-main \">\n <div class=\"container\">\n <div class=\"row align-items-center cs_gap_y_30\">\n <div class=\"col-lg-6 cs_pr_110\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if(title){\n <h3 class=\"title \" >{{ title }}</h3>\n }\n @if(description){\n <p class=\"text\">\n {{ description }}\n </p>\n }\n </div>\n </div>\n @if (img) {\n <div class=\"col-lg-6\">\n <div class=\" cs_pr_1101 cs_image_layer cs_style_3 position-relative\">\n <img [src]=\"img.src\" alt=\"Contact\" class=\"cs--radius\" loading=\"lazy\">\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGlobalIconI } from '../../../interfaces/babylon-global-icon.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\n\n@Component({\n selector: 'lib-babylon-list-grid',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-list-grid.component.html',\n styleUrl: './babylon-list-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonListGridComponent {\n @Input() labels?: BabylonTextInfoI;\n @Input() items?: BabylonItemGridI[];\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\nexport interface BabylonItemGridI {\n buttons?: BabylonButtonI[];\n links?: BabylonButtonI[];\n image?: BabylonImageI;\n title?: string;\n subtitle?: string;\n services?: BabylonGlobalIconI[];\n}\n","<section class=\"babylon__list-grid margin-main\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"intro_info align--center no-align\">\n @if (labels?.pretitle) {\n <h3 class=\"pretitle\">{{ labels?.pretitle }}</h3>\n }\n @if (labels?.title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h2>\n }\n </div>\n <div class=\"cs_grid_style_4\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <div class=\"cs_grid_item\">\n <div\n class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\"\n >\n @if (item?.image) {\n <img\n class=\"cs_card_thumb w-100 h-100\"\n [src]=\"item.image\"\n alt=\"Room\"\n />\n }\n <div\n class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\"\n >\n <div class=\"intro_info intro_info--light\">\n @if (item?.title) {\n <h2 class=\"title--small mb--0\">\n {{ item?.title }}\n </h2>\n }\n @if (item?.subtitle) {\n <h3 class=\"subtitle--small mb--20\">\n {{ item?.subtitle }}\n </h3>\n }\n @if (item?.services?.length) {\n <ul class=\"cs_card_list cs_mp_0\">\n @for (\n service of item?.services;\n track $index\n ) {\n <li>\n @if (service.icon) {\n <div class=\"info--icon\">\n <i\n class=\"icon--svg icon-nuevo_pax_ico_small\"\n [ngClass]=\"\n service.icon\n \"\n ></i>\n </div>\n }\n @if (service.name) {\n <p class=\"text--small\">\n {{ service.name }}\n </p>\n }\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n @if (button?.label) {\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" class=\"btn btn_primary\">\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n</section>\n","import { BabylonItemGridI } from \"./babylon-list-grid.component\";\nimport { BabylonButtonI } from \"../../../interfaces/babylon-button.interface\";\nimport { BabylonTextInfoI } from \"../../../interfaces/babylon-text-info.interface\";\n\nexport class BabylonListGridI {\n labels?: BabylonTextInfoI;\n items?: BabylonItemGridI[];\n button?: BabylonButtonI;\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport {\n BabylonInputI,\n BabylonButtonI,\n BabylonImageI,\n} from '../../../interfaces';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport {\n FormBuilder,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\n\n@Component({\n selector: 'lib-babylon-newsletter',\n standalone: true,\n imports: [\n CommonModule,\n MatCheckboxModule,\n BabylonDataBackgroundDirective,\n ReactiveFormsModule,\n FormsModule,\n ],\n templateUrl: './babylon-newsletter.component.html',\n styleUrl: './babylon-newsletter.component.scss',\n})\nexport class BabylonNewsletterComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() conditions?: string;\n @Input() input?: BabylonInputI;\n @Input() button?: BabylonButtonI;\n @Input() img?: BabylonImageI;\n\n @Output() submitForm = new EventEmitter<string>();\n\n form!: FormGroup;\n\n constructor(\n private readonly dialogRef: MatDialogRef<BabylonNewsletterComponent>,\n private readonly fb: FormBuilder\n ) {}\n\n ngOnInit(): void {\n this.form = this.fb.group({\n input: ['', [Validators.email, Validators.required]],\n checkbox: [false, [Validators.requiredTrue]],\n });\n }\n\n validateInput(): void {\n if (this.input) {\n this.input.valid = this.form.controls['input'].errors === null;\n }\n }\n\n inputChange(event: Event): void {\n this.input!.value = (event.target as HTMLInputElement).value;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n submit(): void {\n this.submitForm.emit(this.input!.value as string);\n this.close();\n }\n}\n","<div class=\"newsletter\" id=\"NewsletterModal\">\n <div class=\"btn-close--modal\" (click)=\"close()\">\n <button class=\"btn btn_primary btn--close\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"row m-0 w-100 h-100\">\n <!-- @if (img) { -->\n <div class=\"col-5 p-0 newsletter__image\">\n <figure>\n <!-- <div\n class=\"background-image\"\n dataBackground=\"url(/assets/babylon/fotos/newsletter.jpg)\"\n ></div> -->\n <img\n class=\"background-image\"\n src=\"/assets/babylon/fotos/gallery_2.jpeg\" alt=\"\"\n >\n </figure>\n </div>\n <!-- } -->\n <div class=\"col-12 col-xl-7 newsletter__wrapper px-5\">\n <div\n class=\"newsletter__content d-flex flex-column align-items-center\"\n >\n @if (title) {\n <h2 class=\"title text-center\">{{ title }}</h2>\n }\n @if (subtitle) {\n <h3 class=\"subtitle text-center\">\n {{ subtitle }}\n </h3>\n }\n <form class=\"d-flex flex-column news_form\" [formGroup]=\"form\">\n @if (input) {\n <input\n class=\"newsletter__input\"\n type=\"text\"\n [placeholder]=\"input.placeholder\"\n formControlName=\"input\"\n (input)=\"inputChange($event)\"\n (blur)=\"validateInput()\"\n />\n }\n @if (!input?.valid) {\n <span class=\"form-error\">\n {{ input?.error }}\n </span>\n }\n <div class=\"d-flex align-items-center underline-links\">\n <mat-checkbox\n class=\"formcontrol\"\n formControlName=\"checkbox\"\n ></mat-checkbox>\n @if (conditions) {\n <span\n class=\"text--small m-0 pt-2\"\n [innerHTML]=\"conditions\"\n ></span>\n }\n </div>\n @if (button) {\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary \"\n if=\"btnSend\"\n [ngClass]=\"{ 'pointers-none': !form.valid }\"\n >\n {{ button.label }}\n </button>\n }\n </form>\n </div>\n </div>\n </div>\n</div>\n","import { BabylonInputI, BabylonButtonI, BabylonImageI } from \"../../../interfaces\";\n\nexport class BabylonNewsletterI {\n title?: string;\n subtitle?: string;\n conditions?: string;\n input?: BabylonInputI;\n button?: BabylonButtonI;\n img?: BabylonImageI;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nconst CURRENCY_SYMBOLS: { [key: string]: string } = {\n USD: '$',\n EUR: '€',\n GBP: '£',\n JPY: '¥',\n AUD: 'A$',\n CAD: 'C$',\n CHF: 'CHF',\n CNY: '¥',\n SEK: 'kr',\n NZD: 'NZ$',\n};\n\n@Pipe({\n name: 'currencySymbol',\n standalone: true,\n})\nexport class BabylonCurrencyPipe implements PipeTransform {\n transform(value: string): string {\n return CURRENCY_SYMBOLS[value] || value;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\n\n@Component({\n selector: 'lib-babylon-offer-detail',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonCurrencyPipe],\n templateUrl: './babylon-offer-detail.component.html',\n styleUrl: './babylon-offer-detail.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferDetailComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() ndTitle?: string;\n @Input() labelFrom?: string;\n @Input() labelDiscount?: string;\n @Input() currency: string = '';\n @Input() price?: number;\n @Input() discount?: number;\n @Input() image?: BabylonImageI;\n @Input() button?: BabylonButtonI;\n @Input() link?: BabylonButtonI;\n @Input() conditions?: string;\n}\n","<section class=\"babylon__offer-details margin-main\" >\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-8\">\n <div class=\"box_contents_in\">\n <div class=\"intro_info no-align box-price\">\n @if(pretitle){\n <h3 class=\"pretitle mb--0\">{{ pretitle }}</h3>\n } @if(title){\n <h2 class=\"title mb--0\">{{ title }}</h2>\n }\n <div class=\"price\">\n @if(price && labelFrom){\n {{ labelFrom }}\n\n }\n @if(discount && labelDiscount){\n {{ labelDiscount }}\n }\n <span>\n @if(price){\n {{ price }}\n }\n @if(discount){\n {{ discount }}\n }\n @if(currency){\n {{ currency | currencySymbol }}\n }\n </span>\n </div>\n @if(button){\n <div class=\"btns__box\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn_primary btn_call\"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n @if(description){\n <div class=\"intro_info no-align \">\n <p class=\"text\" [innerHTML]=\"description\"></p>\n </div>\n }\n </div>\n </div>\n @if(image){\n <div class=\"col-lg-10 my-4\">\n <div class=\"cs_image_layer cs_about_img\">\n <figure> <img [src]=\"image.src\" [alt]=\"image.alt\" class=\"cs--radius\" loading=\"lazy\"> </figure>\n </div>\n </div>\n }\n @if(ndTitle || conditions){\n <div class=\"col-lg-8\">\n <div class=\"box_contents_in \">\n <div class=\"intro_info no-align\">\n @if(ndTitle){\n <h3 class=\"title--small\">{{ ndTitle }}</h3>\n } @if(conditions){\n <p class=\"text\" [innerHTML]=\"conditions\"></p>\n }\n </div>\n </div>\n @if(link){\n <div class=\"btns__box \">\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n class=\"btn-link \"\n >\n <span class=\"babylon-arrow-left-big\"></span>\n <b>{{ link.label }}</b>\n </a>\n </div>\n }\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core'; \nimport { MatDialogRef } from '@angular/material/dialog'; \nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\n\n\n@Component({\n selector: 'lib-babylon-offer-popup-v2',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-offer-popup-v2.component.html',\n styleUrl: './babylon-offer-popup-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferPopupComponentV2 {\n\n popupOfferOpen: boolean = true;\n constructor(\n) {}\n\ntogglePopup(): void {\n this.popupOfferOpen = !this.popupOfferOpen;\n }\n}\n","<div class=\"offer-popup\" [ngClass]=\"{'popup-open': popupOfferOpen}\">\n <div class=\"btn-close--modal pb--100\">\n <button class=\"btn btn_simple_box ml--20\" (click)=\"togglePopup()\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"offer-popup__container w-100 h-100\">\n <div class=\"offer-popup__image\">\n <figure>\n <img\n class=\"background-image\"\n src=\"/assets/babylon/fotos/room_1.jpeg\" alt=\"\"\n >\n </figure>\n </div>\n <div class=\"offer-popup__wrapper px-2\">\n <div class=\"intro_info align--center\">\n <p class=\"pretitle pretitle_small-text\">Reservando durante toda la temporada</p>\n <p class=\"pretitle--small cs-line__small\">5% DTO RESERVA DIRECTA WEB</p>\n <p class=\"text--small\">DESCUENTO</p>\n <h2 class=\"title pb-0\">5%</h2>\n <div class=\"btns__box justify-between1\"> \n <a class=\"btn btn_calll\" href=\"#\">\n reservar\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"offer-popup__button-controller\" [ngClass]=\"{'popup-open': !popupOfferOpen}\">\n <button class=\"btn btn_big-circle\" (click)=\"togglePopup()\">Open Offers</button>\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonOfferI } from './babylon-offer.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n@Component({\n selector: 'lib-babylon-offer-slider',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-offer-slider.component.html',\n styleUrl: './babylon-offer-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferSliderComponent {\n @Input() offers?: BabylonOfferI[];\n @Input() backgroundImage?: BabylonImageI;\n @Input() title?: string;\n}\n","<section class=\"babylon__offerslider margin-main-botom\">\n @if (backgroundImage) {\n <div class=\"cs_hero cs_style_1 cs_center text-center position-relative\">\n <figure\n class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [attr.data-src]=\"backgroundImage.src\"\n dataBackground=\"url('{{backgroundImage.src}}')\"\n ></figure>\n </div>\n }\n @if (offers) {\n <div class=\"cs_parallax_slider loading overflow-hidden content-offers\">\n <div class=\"swiper-wrapper\">\n @for (offer of offers; track $index) {\n <div class=\"swiper-slide\">\n <a [href]=\"offer.links?.[0]?.url || '#'\" [linkType]=\"offer.links?.[0]?.linkType\">\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if (title) {\n <h3 class=\"subtitle\">\n {{ title }}\n </h3>\n }\n </div>\n <div class=\"content-offer\">\n @if (offer.images) {\n <!-- <figure\n class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [attr.data-src]=\"offer.images.src\"\n ></figure> -->\n }\n <div class=\"offer-item\">\n @if (offer.images) {\n <figure\n [attr.data-src]=\"offer.images.src\"\n dataBackground=\"url('{{offer.images.src}}')\"\n ></figure>\n }\n <div class=\"intro_info offer_text\">\n @if (offer.texts) {\n @if (offer.texts.title) {\n <h2 class=\"title--small mb--10\">\n {{ offer.texts.title }}\n </h2>\n }\n <div class=\"offer_cat\">\n @if (offer.texts.additional1) {\n <div class=\"offer_bagget\">\n {{ offer.texts.additional1 }}\n </div>\n }\n @if (offer.texts.subtitle) {\n <span\n class=\"offer-subtitle pretitle--small\"\n >\n {{ offer.texts.subtitle }}\n </span>\n }\n </div>\n }\n <div class=\"offer_prices\">\n @if (offer.discount) {\n <div class=\"offer_desde pretitle--small\">\n {{ offer.texts?.additional2 }}\n </div>\n <span class=\"offer-num\"\n >{{ offer.discount }}%</span\n >\n }\n @if (offer.price) {\n <div class=\"offer_desde pretitle\">\n {{ offer.texts?.additional3 }}\n </div>\n <span class=\"offer-num\"\n >{{ offer.price\n }}{{ offer.currency }}</span\n >\n }\n </div>\n </div>\n </div>\n </div>\n </a>\n </div>\n }\n </div>\n </div>\n @if(offers.length > 1){\n <div class=\"cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n }\n }\n</section>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\n\n@Component({\n selector: 'lib-babylon-offers-list',\n standalone: true,\n imports: [CommonModule, RouterModule, BabylonCurrencyPipe],\n templateUrl: './babylon-offers-list.component.html',\n styleUrl: './babylon-offers-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOffersListComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonOffersListItem[];\n\n @Output() offerClick = new EventEmitter<number>();\n}\n\nexport interface BabylonOffersListItem {\n id?: number;\n title?: string;\n pretitle?: string;\n labelFrom?: string;\n price?: string;\n currency: string;\n img?: BabylonImageI;\n offerUrl?: string;\n seeOfferButton?: BabylonButtonI;\n reserveButton?: BabylonButtonI;\n discount?: number;\n}\n","<section class=\"babylon__offers-list margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n } @if(title){\n <h3 class=\"title\" >{{ title }}</h3>\n }\n </div>\n </div>\n @if (items?.length) {\n <div class=\"container\">\n <div class=\"row cs_gap_y_80\">\n @for (item of items; track $index) {\n <div class=\"col-12 col-xl-6\">\n <div class=\"cs_card cs_style_2 text-center\">\n @if (item.img) {\n <div class=\"cs_card_thumb position-relative cs_primary_bg cs--radius\">\n <img [src]=\"item?.img?.src\" [alt]=\"item?.img?.alt\" class=\"cs--radius\">\n @if(item.seeOfferButton){\n <div class=\"cs_card_hover cs_center position-absolute\">\n <div class=\"cs_card_btn position-relative cs_zindex_2\">\n <div class=\"btns__box align--center \">\n <a\n [href]=\"item.seeOfferButton.url\"\n [routerLink]=\"item.seeOfferButton.url\"\n (click)=\"offerClick.emit(item.id)\"\n class=\"btn btn_primary btn--light \"\n >\n <b>{{item?.seeOfferButton?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n </div>\n </div>\n }\n <div class=\"cs_card_hover_overlay position-absolute h-100 w-100 start-0 top-0\"></div>\n </div>\n }\n <div class=\"cs_card_info position-relative row\">\n <div class=\"col-xl-8 col-lg-7\">\n <div class=\"intro_info no-align\">\n @if(item.pretitle){\n <h3 class=\"pretitle mb--10\" >{{ item?.pretitle}}</h3>\n } @if(item.title){\n <h2 class=\"title--small mb--10\" >{{ item?.title}}</h2>\n }\n </div>\n </div>\n <div class=\"col-xl-4 col-lg-5 card-btns\">\n @if(item.price){\n <h4 class=\"subtitle mb--10 \"><span class=\"text\">{{ item?.labelFrom }}</span> {{ item?.price }}{{ item.currency | currencySymbol }}</h4>\n } @if(item.discount){\n <h4 class=\"subtitle mb--10 \"><span class=\"text\">{{ item?.labelFrom }}</span> {{ item?.discount }}%</h4>\n } @if(item.reserveButton){\n <a\n [href]=\"item.reserveButton.url\"\n (click)=\"offerClick.emit(item.id)\"\n class=\"btn btn_call \"\n >\n <b>{{item?.reserveButton?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonOfferI } from '../babylon-offer-slider/babylon-offer.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-offers-slider',\n standalone: true,\n imports: [CommonModule,BabylonCurrencyPipe, BabylonSlidersDirective],\n templateUrl: './babylon-offers-slider.component.html',\n styleUrl: './babylon-offers-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonOffersSliderComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() offers?: BabylonOfferI[];\n}\n","<section class=\"babylon__offer-slider margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n }\n </div>\n </div>\n <div class=\"container-fluid p-0\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24 cs_hover_show_arrows\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"4\" >\n <div class=\"cs_slider_wrapper\">\n @if(offers?.length) {\n @for (offer of offers; track $index) {\n <div class=\"cs_slide\">\n <a [href]=\"(offer.links?.length) ? offer.links?.[0]?.url : '#'\" class=\"cs_feature_box cs_style_3 position-relative text-center cs_center cs_hobble cs_primary_bg cs_type_1 cs--radius\">\n <div class=\"cs_feature_box_bg cs_bg_filed cs_hover_layer_2\">\n <img [src]=\"offer.images?.src\" alt=\"Thumb\">\n </div>\n <div class=\"cs_feature_box_text position-relative cs_zindex_3 cs_hover_layer_2\">\n <div class=\"intro_info align--center intro_info--light \">\n @if (offer.texts?.title) {\n <h3 class=\"title--small\">{{offer.texts?.title}}</h3>\n }\n @if (offer.texts?.additional1) {\n <p class=\"text\">{{offer.texts?.additional1}}</p>\n }\n <h4 class=\"subtitle mb--10 \">\n @if (offer.texts?.description) {\n <span class=\"text\">{{offer.texts?.description}}</span>\n <br>\n }\n @if (offer.texts?.additional2) {\n <span class=\"text\">{{offer.texts?.additional2}}</span>\n }\n @if (offer.discount) {\n {{offer.discount}}\n }\n @if (offer.currency) {\n {{offer.currency | currencySymbol}}\n }\n </h4> \n </div>\n </div>\n </a>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_2\"></div>\n </div>\n </div>\n</section>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-preload',\n standalone: true,\n imports: [],\n templateUrl: './babylon-preload.component.html',\n styleUrl: './babylon-preload.component.scss'\n})\nexport class BabylonPreloadComponent {\n\n}\n","<div class=\"cs_preloader cs_accent_color cs_primary_font\">\n <div class=\"cs_preloader_in\">B</div>\n </div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\n\n\n@Component({\n selector: 'lib-babylon-room-details',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-room-details.component.html',\n styleUrl: './babylon-room-details.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomDetailsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() button?: BabylonButtonI;\n @Input() equipmentTitle?: string;\n @Input() items?: BabylonEquipmentItem[];\n}\n\nexport interface BabylonEquipmentItem {\n title?: string;\n icon?: string;\n}\n\n","<section class=\"babylon__room-details margin-main\">\n <div class=\"container\">\n <div class=\"row cs_gap_y_40\">\n <div class=\"col-lg-6\">\n <div class=\"cs_room_details\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n } @if(title){\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ title }}</h2>\n } @if(description){\n <p class=\"text\">{{ description }}</p>\n } @if(button){\n <div class=\"btns__box \">\n <a\n [href]=\"button.url\"\n class=\"btn btn_primary btn_call\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_pl_110\">\n @if(equipmentTitle){\n <h3 class=\"pretitle mb--20 mt--40\">{{ equipmentTitle}} </h3>\n } @if (items?.length) {\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @for (item of items; track $index) {\n <li>\n <div class=\"info--icon \">\n <i\n class=\"icon--svg\"\n [ngClass]=\"item.icon\"\n ></i>\n </div>\n <p class=\"text--small\">{{ item.title }} </p>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n </div>\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonDropdownI } from '../../../interfaces/babylon-dropdown.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-rooms-cols',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, DropdownModule],\n templateUrl: './babylon-rooms-cols.component.html',\n styleUrl: './babylon-rooms-cols.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsColsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonRoomsListItem[];\n @Input() stFilters?: BabylonDropdownI;\n @Input() ndFilters?: BabylonDropdownI;\n}\n\nexport interface BabylonRoomsListItem {\n button?: BabylonButtonI;\n link?: BabylonButtonI;\n img?: BabylonImageI;\n title?: string;\n pretitle?: string;\n description?: string;\n equipment?: BabylonRoomsListEquipment[];\n bedroomFilterId?: number;\n characteristicsFilterId?: number;\n price?: number;\n priceText?: string;\n}\n\nexport interface BabylonRoomsListEquipment {\n icon?: string;\n label?: string;\n}\n\nexport interface DropdownOption {\n code?: number;\n name?: string;\n ages?: DropdownOption[];\n}\n","<section class=\"babylon__rooms-cols margin-main\">\n <div class=\"container\">\n @if (title || pretitle) {\n <div class=\"d-flex flex-column align-items-center pb-4\">\n @if(pretitle){\n <span class=\"pretitle\"> {{ pretitle }} </span>\n } @if(title){\n <h2 class=\"title\">{{ title }}</h2>\n }\n </div>\n }\n <div class=\"row justify-content-center filters\">\n @if (stFilters) {\n <div class=\"dropdown__wrapper\">\n <p-dropdown\n class=\"dropdown\"\n [options]=\"stFilters.options\"\n optionLabel=\"name\"\n [placeholder]=\"stFilters.placeholder\"\n >\n </p-dropdown>\n </div>\n } @if (ndFilters) {\n <div class=\"dropdown__wrapper\">\n <p-dropdown\n class=\"dropdown\"\n [options]=\"ndFilters.options\"\n optionLabel=\"name\"\n [placeholder]=\"ndFilters.placeholder\"\n >\n </p-dropdown>\n </div>\n }\n </div>\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row cs_gap_y_80\">\n @if (items?.length) { @for (item of items; track $index) {\n <div class=\"col-xl-4 col-md-6\">\n <div class=\"cs_card cs_style_7 cs--radius overflow-hidden\">\n <a\n href=\"#\"\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg\"\n >\n @if (item.img) {\n <img [src]=\"item.img.src\" [alt]=\"item.img.alt\" />\n }\n <span\n class=\"cs_card_btn position-absolute cs_zindex_2\"\n >\n <div class=\"btns__box align--center\">\n @if(item.link) {\n <a\n [href]=\"item.link.url\"\n [linkType]=\"item.link.linkType\"\n class=\"btn btn_primary btn--light\"\n >\n <b> {{ item.link.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n } @if(item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.linkType\"\n class=\"btn btn_call btn--light\"\n >\n <b> {{ item.button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </span>\n </a>\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if(item.title){\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n } @if(item.price){\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}€\n </h3>\n } @if (item.equipment?.length) {\n <div class=\"cs_mb_20 list-equipament\">\n <ul class=\"cs_card_list cs_mp_0\">\n @for (equipment of item.equipment; track\n $index){\n <li>\n <div class=\"info--icon\">\n @if (equipment.icon) {\n <i\n class=\"icon--svg\"\n [ngClass]=\"equipment.icon\"\n ></i>\n }\n </div>\n @if (equipment.label) {\n <p class=\"text--small\">\n {{ equipment.label }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n } }\n </div>\n </div> \n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonRoomInfoI } from '../babylon-rooms-slider/babylon-room.interface';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\n\n@Component({\n selector: 'lib-babylon-rooms-grid',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-rooms-grid.component.html',\n styleUrl: './babylon-rooms-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsGridComponent {\n @Input() labels?: BabylonTextInfoI;\n @Input() rooms?: BabylonRoomInfoI[];\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__rooms-grid margin-main\"> \n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"intro_info align--center no-align\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n \n </div> \n <div class=\"cs_grid_style_4\">\n @if(rooms?.length) {\n @for (room of rooms; track $index) {\n <div class=\"cs_grid_item\">\n <a href=\"#\" class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\">\n @if(room?.images?.length) {\n @for (roomImage of room.images; track $index) {\n <img class=\"cs_card_thumb w-100 h-100\" [src]=\"roomImage.src\" alt=\"Room\">\n }\n }\n @if(room?.price) {\n <span class=\"cs_card_price text bg--white position-absolute cs--radius\">{{room?.price}}</span>\n }\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\" intro_info intro_info--light\"> \n @if(room?.texts?.name) {\n <h2 class=\"title--small mb--0\">{{room?.texts?.name}}</h2>\n }\n @if(room?.services?.length) {\n <ul class=\"cs_card_list cs_mp_0\">\n @for (service of room?.services; track $index) {\n <li>\n @if(service.icon) {\n <div class=\"info--icon \">\n <i class=\"icon--svg icon-nuevo_pax_ico_small \" [ngClass]=\"service.icon\"></i> \n </div> \n }\n @if (service.name) {\n <p class=\"text--small\">{{service.name}}</p>\n }\n </li>\n }\n </ul> \n }\n </div> \n </div>\n </a>\n </div>\n }\n }\n </div>\n @if(button?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" class=\"btn btn_primary\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </div>\n</section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonRoomsListItem } from '../babylon-rooms-cols/babylon-rooms-cols.component';\n\n@Component({\n selector: 'lib-babylon-rooms-list',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonSlidersDirective],\n templateUrl: './babylon-rooms-list.component.html',\n styleUrl: './babylon-rooms-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsListComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonRoomsListItem[];\n}\n","<section class=\"babylon__rooms-list margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if (title) {\n <h3 class=\"title\">{{ title }}</h3>\n }\n </div>\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row room-item\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"$odd ? right : left\"\n [ngTemplateOutletContext]=\"{ item }\"\n ></ng-container>\n\n <ng-template #left let-item=\"item\">\n <div class=\"col-lg-12\">\n <div\n class=\"cs_card cs_style_7 cs_type_1 cs--radius overflow-hidden cs_card-left\"\n >\n <div\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg no-border cs--radius cs_pl_20\"\n >\n <div\n class=\"cs_slider cs_style_1 cs_slider_gap_24\"\n >\n <div\n class=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (item.img) {\n <div\n class=\"cs_slide cs--radius\"\n >\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n class=\"cs--radius\"\n />\n </div>\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3 cs_type_3--left\"\n ></div>\n </div>\n </div>\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if (item.title) {\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n }\n @if (item.price) {\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}€\n </h3>\n }\n @if (item.description) {\n <p class=\"text\">\n {{ item.description }}\n </p>\n }\n @if (item.equipment?.length) {\n <div class=\"cs_mb_20\">\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n equipment of item.equipment;\n track $index\n ) {\n <li>\n @if (\n equipment.icon\n ) {\n <div\n class=\"info--icon\"\n >\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n </div>\n }\n @if (\n equipment.label\n ) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.label\n }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"btns__box\">\n @if (item.link) {\n <a\n [href]=\"item.link.url\"\n [linkType]=\"\n item.link.linkType\n \"\n class=\"btn btn_primary\"\n >\n <b>{{ item.link.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"\n item.button.linkType\n \"\n class=\"btn btn_primary btn_call\"\n >\n <b>{{\n item.button.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template #right let-item=\"item\">\n <div class=\"col-lg-12\">\n <div\n class=\"cs_card cs_style_7 cs_type_1 cs--radius overflow-hidden cs_card-right\"\n >\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if (item.title) {\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n }\n @if (item.price) {\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}€\n </h3>\n }\n @if (item.description) {\n <p class=\"text\">\n {{ item.description }}\n </p>\n }\n @if (item.equipment?.length) {\n <div class=\"cs_mb_20\">\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n equipment of item.equipment;\n track $index\n ) {\n <li>\n @if (\n equipment.icon\n ) {\n <div\n class=\"info--icon\"\n >\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n </div>\n }\n @if (\n equipment.label\n ) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.label\n }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"btns__box\">\n @if (item.link) {\n <a\n [href]=\"item.link.url\"\n [linkType]=\"\n item.link.linkType\n \"\n class=\"btn btn_primary\"\n >\n <b>{{ item.link.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"\n item.button.linkType\n \"\n class=\"btn btn_primary btn_call\"\n >\n <b>{{\n item.button.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </div>\n </div>\n <div\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg no-border cs--radius cs_pl_20\"\n >\n <div\n class=\"cs_slider cs_style_1 cs_slider_gap_24\"\n >\n <div\n class=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (item.img) {\n <div\n class=\"cs_slide cs--radius\"\n >\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n class=\"cs--radius\"\n />\n </div>\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3 cs_type_3--left\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n }\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\nimport { BabylonRoomInfoI } from './babylon-room.interface';\n\n@Component({\n selector: 'lib-babylon-rooms-slider',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-rooms-slider.component.html',\n styleUrl: './babylon-rooms-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsSliderComponent {\n @Input() labels?: BabylonTextInfoI;\n @Input() set rooms(items: BabylonRoomInfoI[] | undefined) {\n this.totalRooms = items;\n }\n\n totalRooms?: BabylonRoomInfoI[] = [];\n}\n","<section class=\"babylon__rooms-slider margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if (labels?.pretitle) {\n <h3 class=\"pretitle\">{{ labels?.pretitle }}</h3>\n }\n @if (labels?.title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h2>\n }\n </div>\n </div>\n <div class=\"container-fluid\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_40 cs_hover_show_arrows\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (totalRooms?.length) {\n @for (room of totalRooms; track $index) {\n <div class=\"cs_slide\">\n <div \n class=\"cs_card cs_style_1\"\n >\n @if (room.images?.[0]) {\n <a\n [href]=\"room.links?.[0]?.url\"\n [linkType]=\"room.links?.[0]?.linkType\"\n class=\"cs_card_thumb d-block cs--radius overflow-hidden position-relative cs_primary_bg\"\n >\n <img\n [src]=\"room.images?.[0]?.src\"\n alt=\"Room\"\n />\n <img\n [src]=\"room.images?.[0]?.src\"\n alt=\"Room\"\n />\n </a>\n }\n <div\n class=\"cs_card_info intro_info no-align\"\n >\n @if (room?.texts?.name) {\n <h2 class=\"title--small mb--0\">\n {{ room?.texts?.name }}\n </h2>\n }\n @if (room?.texts?.additional1) {\n <h3 class=\"subtitle--small\">\n {{ room?.texts?.additional1 }}\n </h3>\n }\n @if (room?.equipments?.length) {\n <ul class=\"cs_card_list cs_mp_0\">\n @for (\n equipment of room.equipments;\n track $index\n ) {\n <li>\n @if (equipment.icon) {\n <div\n class=\"info--icon\"\n >\n <i\n class=\"icon--svg icon-nuevo_pax_ico_small\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n </div>\n }\n @if (equipment.name) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.name\n }}\n </p>\n }\n </li>\n }\n </ul>\n }\n @if (room?.buttons) {\n <div class=\"btns__box\">\n @for (\n button of room.buttons;\n track $index\n ) {\n <a\n class=\"btn\"\n [href]=\"button.url\"\n [linkType]=\"\n button.linkType\n \"\n [ngClass]=\"{\n btn__primary: $odd,\n btn__call: $even,\n }\"\n >\n <b>\n {{ button.label }}\n </b>\n </a>\n }\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_slider_arrows cs_style_1 cs_mobile_hide\">\n <div class=\"cs_left_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-services-slider',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-services-slider.component.html',\n styleUrl: './babylon-services-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonServicesSliderComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() advantages?: BabylonAdvInfoI[];\n}\n","<section class=\"babylon__services-slider margin-main bg--white\">\n <div class=\"container\">\n\n <div class=\"intro_info align--center no-align\">\n @if(title){\n <h2 class=\"title \">{{ title }}</h2>\n }\n @if(pretitle){\n <h3 class=\"pretitle\" >{{ pretitle }}</h3>\n }\n </div>\n </div>\n @if(advantages){\n <div class=\"cs_slider cs_style_1 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container3\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\"\n data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"4\">\n <div class=\"cs_slider_wrapper\">\n @for(advantage of advantages; track $index){\n <div class=\"cs_slide\">\n <div class=\"services-item\">\n @if(advantage.title){\n <div class=\"services-item--info\">\n <div class=\"intro_info1 no-align\">\n <p class=\"text mb--0\">{{ advantage.title}}</p>\n </div>\n </div>\n }\n @if(advantage.icon){\n <div class=\"services-item--icon\">\n <div class=\"info--icon icon--medium \">\n <i class=\"icon--svg\" [ngClass]=\"advantage.icon\"></i>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n </div>\n }\n </section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonTopSliderV2Item } from '../babylon-top-slider-v2/babylon-top-slider-v2-item.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-slider2col',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-slider2col.component.html',\n styleUrl: './babylon-slider2col.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonSlider2colComponent {\n @Input() rightSide: boolean = false;\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","@if (!rightSide) {\n <section class=\"babylon__slider2col margin-main cs_gray_bg cs_half_bg position-relative\" id=\"Slider2ColLeft\">\n <div class=\"cs_half_bg_right cs_primary_bg bg--dark cs--radius\"></div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n <div class=\"container-fluid p-0 position-relative\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"container position-relative\">\n <div class=\"row column-reverse\">\n <div class=\"col-lg-4\">\n <div class=\"intro_info align--center intro_info--light no-align pt--20\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n\n @if(button?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary btn--light\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n <div class=\"col-lg-8\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"2\" data-add-slides=\"2\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <a class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\"\n [linkType]=\"image?.links?.[0]?.linkType || 'nolink'\"\n [href]=\"image?.links?.[0]?.url || '#'\">\n <img [src]=\"image.src\" alt=\"Room\" class=\"cs_card_thumb w-100 h-100\">\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\"intro_info intro_info--light\">\n @if(image?.title){\n <h2 class=\"title--small mb--10\">{{image?.title}}</h2>\n }\n @if(image?.subtitle){\n <p class=\"text mb--0\">{{image?.subtitle}}</p>\n }\n </div>\n </div>\n </a>\n </div>\n }\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3\"></div>\n </div>\n\n </div>\n </div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n </section>\n}\n@if (rightSide) {\n <!-- mismo modulo pero a la inversa -->\n <section class=\"babylon__slider2col margin-main cs_gray_bg cs_half_bg position-relative\" id=\"Slider2ColRight\">\n <div class=\"cs_half_bg_left cs_primary_bg bg--dark cs--radius\"></div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n <div class=\"container-fluid p-0 position-relative\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"container position-relative\">\n <div class=\"row \">\n <div class=\"col-lg-8\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"2\" data-add-slides=\"2\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <a class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\"\n [linkType]=\"image?.links?.[0]?.linkType || 'nolink'\"\n [href]=\"image?.links?.[0]?.url || '#'\">\n <img [src]=\"image.src\" alt=\"Room\" class=\"cs_card_thumb w-100 h-100\">\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\"intro_info intro_info--light\">\n @if(image?.title){\n <h2 class=\"title--small mb--10\">{{image?.title}}</h2>\n }\n @if(image?.subtitle){\n <p class=\"text mb--0\">{{image?.subtitle}}</p>\n }\n </div>\n </div>\n </a>\n </div>\n }\n }\n\n </div>\n </div>\n </div>\n <div class=\"col-lg-4\">\n <div class=\"intro_info align--center intro_info--light no-align pt--20\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n\n @if(button?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary btn--light\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3--left\"></div>\n </div>\n </div>\n </div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n </section>\n}\n\n<ng-template #imageContent let-image>\n <img [src]=\"image.src\" alt=\"Room\" class=\"cs_card_thumb w-100 h-100\">\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\"intro_info intro_info--light\">\n @if(image?.title){\n <h2 class=\"title--small mb--10\">{{image?.title}}</h2>\n }\n @if(image?.subtitle){\n <p class=\"text mb--0\">{{image?.subtitle}}</p>\n }\n </div>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonSliderItem } from '../babylon-slider3items/babylon-slider3items.component';\n\n@Component({\n selector: 'lib-babylon-slider2items',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonSlidersDirective],\n templateUrl: './babylon-slider2items.component.html',\n styleUrl: './babylon-slider2items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSlider2itemsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonSliderItem[];\n}\n","<section class=\"babylon__slider2Items margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ title }}\n </h2>\n }\n </div>\n </div>\n @if (items) {\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"2\"\n data-lg-slides=\"2\"\n data-add-slides=\"2\"\n >\n <div class=\"cs_slider_wrapper\">\n @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"cs_post_thumb1 post-room cs--radius overflow-hidden d-block position-relative\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n />\n }\n <div\n class=\"intro_info tit-room intro_info--light\"\n >\n @if (item.title) {\n <h4 class=\"title--small mb--10\">\n {{ item.title }}\n </h4>\n }\n @if (item.pretitle) {\n <p class=\"pretitle\">\n {{ item.pretitle }}\n </p>\n }\n </div>\n <span class=\"icon-plus cs--radius\">\n <span class=\"babylon-plus\"></span>\n </span>\n <div\n class=\"room-info intro_info no-align\"\n >\n @if (item.services) {\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n service of item.services;\n track $index\n ) {\n <li>\n <div\n class=\"info--icon\"\n >\n @if (\n service.icon\n ) {\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n service.icon\n \"\n ></i>\n }\n </div>\n @if (service.name) {\n <p\n class=\"text--small\"\n >\n {{\n service.name\n }}\n </p>\n }\n </li>\n }\n </ul>\n }\n @if (item.buttons) {\n <div\n class=\"btns__box align--center\"\n >\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"\n button.linkType\n \"\n class=\"btn btn--light1\"\n [ngClass]=\"{\n 'btn_primary ':\n !$odd,\n 'btn_call ':\n $odd,\n }\"\n >\n <b>{{\n button.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n }\n </div>\n </a>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n }\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonTopSliderV2Item } from '../babylon-top-slider-v2/babylon-top-slider-v2-item.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-slider3col',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-slider3col.component.html',\n styleUrl: './babylon-slider3col.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonSlider3ColComponent {\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() images?: BabylonImageI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__slider3col margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (labels?.pretitle) {\n <h3 class=\"pretitle\">{{ labels?.pretitle }}</h3>\n }\n @if (labels?.title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h2>\n }\n </div>\n </div>\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"2\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images?.length) {\n @for (image of images; track $index) {\n <div\n class=\"cs_slide\"\n [ngClass]=\"{\n 'pointer-none': !image?.buttons?.[0],\n }\"\n >\n <div class=\"cs_post cs_style_1\">\n <a\n href=\"#\"\n class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\"\n >\n <img [src]=\"image.src\" alt=\"Feature\" />\n @if (image?.buttons?.length) {\n <span\n class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\"\n >\n <span\n class=\"babylon-arrow_btn\"\n ></span>\n </span>\n }\n </a>\n <div\n class=\"cs_post_info intro_info no-align\"\n >\n <div class=\"cs_post_meta cs_mb_24\">\n @if (image?.pretitle) {\n <span>{{\n image?.pretitle\n }}</span>\n }\n <span\n class=\"cs_post_meta_seperator\"\n ></span>\n @if (image?.links?.length) {\n <a\n [href]=\"\n image.links?.[0]?.url\n \"\n >{{\n image.links?.[0]?.label\n }}</a\n >\n }\n </div>\n <div class=\"intro_info\">\n @if (image?.title) {\n <h4 class=\"title--small mb--10\">\n {{ image?.title }}\n </h4>\n }\n @if (image?.description) {\n <p class=\"text mb--10\">\n {{ image?.description }}\n </p>\n }\n @if (image.buttons) {\n @for (\n button of image.buttons;\n track $index\n ) {\n @if (button) {\n <div class=\"btns__box\">\n <a\n [href]=\"\n button?.url\n \"\n class=\"btn-link\"\n >\n <b>{{\n button?.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n</section>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-slider3col-clear',\n standalone: true,\n imports: [],\n templateUrl: './babylon-slider3col-clear.component.html',\n styleUrl: './babylon-slider3col-clear.component.scss'\n})\nexport class BabylonSlider3colClearComponent {\n\n}\n","<section class=\"babylon__slider3col margin-main\"> \n \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n <h3 class=\"pretitle\">Slider 3Col Clear</h3>\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">Explore Our Exclusive Resort Facilities</h2> \n </div> \n </div>\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"3\">\n <div class=\"cs_slider_wrapper\">\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a href=\"#\" class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta cs_mb_24\">\n <span>Nuestra carta</span>\n <span class=\"cs_post_meta_seperator\"></span>\n <a href=\"#\">descargar</a>\n </div>\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar 1</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n \n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </div>\n </div>\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a href=\"#\" class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta cs_mb_24\">\n <span>Nuestra carta</span>\n <span class=\"cs_post_meta_seperator\"></span> \n </div>\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar 1</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n \n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </div>\n </div>\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a href=\"#\" class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta cs_mb_24\">\n \n <span class=\"cs_post_meta_seperator\"></span>\n <a href=\"#\">descargar</a>\n </div>\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar 1</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </div>\n </div>\n <div class=\"cs_slide\">\n <a href=\"#\" class=\"cs_post cs_style_1\">\n <div class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </div>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </a>\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span> \n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span> \n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n \n </section>","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGlobalIconI } from '../../../interfaces/babylon-global-icon.interface';\n\n@Component({\n selector: 'lib-babylon-slider3items',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonSlidersDirective],\n templateUrl: './babylon-slider3items.component.html',\n styleUrl: './babylon-slider3items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSlider3itemsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonSliderItem[];\n\n}\n\nexport interface BabylonSliderItem {\n pretitle?: string;\n title?: string;\n img?: BabylonImageI;\n link?: BabylonButtonI;\n buttons?: BabylonButtonI[];\n services?: BabylonGlobalIconI[];\n}\n","<section class=\"babylon__slider3Items margin-main\">\n\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(pretitle){\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if(title){\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ title }}</h2>\n }\n </div>\n </div>\n @if(items){\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\"\n data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"3\">\n <div class=\"cs_slider_wrapper\">\n @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a [href]=\"item.link?.url\" [linkType]=\"item.link?.linkType\" class=\"cs_post_thumb1 post-room cs--radius overflow-hidden d-block position-relative\">\n @if(item.img){\n <img [src]=\"item.img.src\" [alt]=\"item.img.alt\">\n }\n <div class=\"intro_info tit-room intro_info--light\">\n @if(item.pretitle){\n <p class=\"pretitle mb--10\">{{item.pretitle}}</p>\n }\n @if(item.title){\n <h3 class=\"title--small mb--10\" >{{item.title}}</h3>\n }\n </div>\n </a>\n </div>\n </div>\n }\n\n </div>\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n }\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-slider4col',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-slider4col.component.html',\n styleUrl: './babylon-slider4col.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSlider4colComponent {\n @Input() labels?: BabylonSlider4colLabels;\n @Input() images?: BabylonImageI[];\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\nexport interface BabylonSlider4colLabels {\n title?: string;\n subtitle?: string;\n pretitle?: string;\n}\n","<section class=\"babylon__slider4col margin-main\"> \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n </div> \n </div>\n <div class=\"container-fluid p-0\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24 cs_hover_show_arrows\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"4\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <a href=\"#\" class=\"cs_feature_box cs_style_3 position-relative text-center cs_center cs_hobble cs_primary_bg cs_type_1 cs--radius\">\n <div class=\"cs_feature_box_bg cs_bg_filed cs_hover_layer_2 cs--radius\">\n <img [src]=\"image.src\" alt=\"Thumb\" class=\"cs--radius\">\n </div>\n <div class=\"cs_feature_box_text position-relative cs_zindex_3 cs_hover_layer_2\">\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if(image?.title){\n <h3 class=\"title--small\">{{image?.title}}</h3> \n }\n @if(image?.description){\n <p class=\"text\">{{image?.description}}</p>\n }\n @if(image?.buttons){\n @for (button of image.buttons; track $index) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary btn--light\"\n >\n <b>{{ button?.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n }\n </div>\n </div>\n </a>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_2\"></div>\n </div>\n </div>\n</section>","import { Directive, ElementRef, Renderer2, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[babylonScrollUp]',\n standalone: true\n})\nexport class BabylonScrollUpDirective {\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n this.scrollToTop();\n }\n\n private scrollToTop(): void {\n const htmlElement = document.documentElement || document.body;\n htmlElement.scrollTo({ top: 0, behavior: 'smooth' });\n }\n}","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonScrollUpDirective } from '../../../directives/scrolls/scroll-up.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\n\n@Component({\n selector: 'lib-babylon-static-footer',\n standalone: true,\n imports: [\n CommonModule,\n BabylonDataBackgroundDirective,\n BabylonScrollUpDirective,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-static-footer.component.html',\n styleUrl: './babylon-static-footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonStaticFooterComponent implements AfterViewInit {\n @Input() img?: BabylonImageI;\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() rdTitle?: string;\n @Input() thTitle?: string;\n @Input() fifthTitle?: string;\n @Input() frameUrl: string = '';\n @Input() contactInfo?: BabylonButtonI[];\n @Input() contactLinks?: BabylonButtonI[];\n @Input() address?: BabylonAddressItem;\n @Input() socialMedia?: BabylonButtonI[];\n @Input() copyright?: string;\n @Input() nav?: BabylonButtonI[];\n @Input() footerLinks?: BabylonButtonI[];\n @Input() logo?: BabylonImageI;\n @Input() input?: BabylonInputI;\n @Input() legalAdvise?: string;\n @Input() additionalLinks?: BabylonButtonI[];\n\n @Output() postValue = new EventEmitter();\n\n safeUrl: SafeResourceUrl | null = null;\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n if (this.frameUrl != null) {\n const videoUrl = this.frameUrl;\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(videoUrl);\n this.cdr.detectChanges();\n }\n }\n\n sendValue(mail: string): void {\n this.postValue.emit(mail);\n }\n}\n\nexport interface BabylonAddressItem {\n id?: string;\n name?: string;\n address?: string;\n city?: string;\n province?: string;\n country?: string;\n cp?: string;\n url?: string;\n}\n","<!-- La foto es opcional -->\n<footer\n class=\"babylon__footer cs_bg_filed\"\n [attr.data-src]=\"img?.src\"\n dataBackground=\"url({{ img?.src }})\"\n>\n <div class=\"cs_footer_main\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_footer_grid_4\">\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (title) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ title }}</span>\n </h5>\n }\n @if (contactInfo?.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (contact of contactInfo; track $index) {\n @if (contact) {\n <li>\n <a\n [linkType]=\"\n contact.linkType ?? ''\n \"\n [href]=\"contact.url\"\n >{{ contact.label }}</a\n >\n </li>\n }\n }\n </ul>\n }\n @if (socialMedia?.length) {\n <ul class=\"cs_social_btns cs_style_1\">\n @for (item of socialMedia; track $index) {\n <li>\n <a\n linkType=\"external\"\n [href]=\"item.url\"\n class=\"cs_center\"\n >\n <i [ngClass]=\"item.icon\"></i>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (ndTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ ndTitle }}</span>\n </h5>\n }\n @if (address) {\n <div class=\"cs_text_widget\">\n <a\n [href]=\"address.url || '#'\"\n linkType=\"external\"\n [ngClass]=\"{\n 'pointer-none': !address.url,\n }\"\n >\n @if (address.address) {\n {{ address.address }} <br />\n }\n @if (address.cp && address.city) {\n {{ address.cp }} {{ address.city }}\n <br />\n }\n @if (address.province && address.country) {\n {{ address.province }}\n {{ address.country }}\n }\n </a>\n </div>\n }\n </div>\n </div>\n @if(footerLinks) {\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (rdTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ rdTitle }}</span>\n </h5>\n }\n @if (footerLinks.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (link of footerLinks; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType ?? ''\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n }\n @if(additionalLinks) {\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (fifthTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ fifthTitle }}</span>\n </h5>\n }\n @if (additionalLinks.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (link of additionalLinks; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n }\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (thTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ thTitle }}</span>\n </h5>\n }\n @if(safeUrl){\n <div class=\"cs_footer_map cs_primary_bg\">\n <iframe [src]=\"safeUrl\" allowfullscreen title=\"map\"></iframe>\n </div>\n } @else {\n <div id=\"message-newsletter\"></div>\n @if(input){\n <form name=\"newsletter_form\" id=\"newsletter_form\">\n <div class=\"form-group\">\n <input\n type=\"email\"\n name=\"email_newsletter\"\n id=\"email_newsletter\"\n class=\"form-control\"\n [placeholder]=\"input?.placeholder\"\n #input\n />\n <button\n type=\"submit\"\n id=\"submit-newsletter\"\n (click)=\"sendValue(input.value)\"\n >\n <i class=\"babylon-send\"></i>\n </button>\n </div>\n <label class=\"checkbox-element\">\n <input\n class=\"checkbox-input\"\n type=\"checkbox\"\n name=\"conditions\"\n />\n <div class=\"checkbox-icon\"></div>\n @if (legalAdvise) {\n <p\n class=\"checkbox-text\"\n [innerHTML]=\"legalAdvise\"\n ></p>\n }\n </label>\n </form>\n }\n }\n </div>\n </div>\n </div>\n @if (logo) {\n <div class=\"cs_footer_logo\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" class=\"footer-logo-img\">\n </div>\n }\n </div>\n </div>\n <div class=\"cs_bottom_footer_wrap\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_bottom_footer position-relative\">\n @if (copyright) {\n <div class=\"cs_copyright\">\n <span class=\"cs_copyright_year\"> {{ copyright }} </span>\n </div>\n }\n <span class=\"cs_scrollup cs_center\">\n <svg\n width=\"15\"\n height=\"7\"\n viewBox=\"0 0 15 7\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 6.18793L14.1169 7L7.93687 1.31723C7.81958 1.20941 7.66053 1.14885 7.49468 1.14885C7.32884 1.14885 7.16978 1.20941 7.0525 1.31723L0.884376 6.99022L0 6.177L6.16812 0.505163C6.51998 0.181708 6.99715 0 7.49468 0C7.99222 0 8.46938 0.181708 8.82125 0.505163L15 6.18793Z\"\n fill=\"white\"\n />\n </svg>\n <span\n babylonScrollUp\n class=\"cs_scrollup_bg_dotted cs_accent_color\"\n >\n <svg\n width=\"56\"\n height=\"56\"\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"28\"\n cy=\"28\"\n r=\"27.5\"\n stroke=\"currentColor\"\n stroke-dasharray=\"5 5\"\n />\n </svg>\n </span>\n </span>\n @if (contactLinks?.length) {\n <div class=\"cs_bottom_footer_right\">\n <ul class=\"cs_footer_links cs_mp_0\">\n @for (link of contactLinks; track $index) {\n @if (link) {\n <li>\n <a\n [linkType]=\"link.linkType ?? ''\"\n [href]=\"link.url\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\n\n@Component({\n selector: 'lib-babylon-static-footer-v2',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-static-footer-v2.component.html',\n styleUrl: './babylon-static-footer-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonStaticFooterV2Component implements AfterViewInit {\n @Input() img?: BabylonImageI;\n @Input() imgUrl?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() rdTitle?: string;\n @Input() thTitle?: string;\n @Input() frameUrl: string = '';\n @Input() contactInfo?: BabylonButtonI[];\n @Input() contactLinks?: BabylonButtonI[];\n @Input() address?: BabylonAddressItem;\n @Input() socialMedia?: BabylonButtonI[];\n @Input() copyright?: string;\n @Input() nav?: BabylonButtonI[];\n @Input() footerLinks?: BabylonButtonI[];\n\n safeUrl: SafeResourceUrl = '';\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n const videoUrl = this.frameUrl;\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(videoUrl);\n this.cdr.detectChanges();\n }\n}\n","<!-- La foto es opcional -->\n<footer class=\"babylon__footer_v2 cs_bg_filed\">\n <div class=\"cs_footer_main\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_footer_grid_2\">\n <!-- 1a columna -->\n <div class=\"cs_footer_column\">\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (title) {\n <h5 class=\"pretitle\">\n <span>{{ title }}</span>\n </h5>\n }\n @if (contactInfo?.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (\n contact of contactInfo;\n track $index\n ) {\n @if (contact) {\n <li>\n <a\n class=\"text\"\n [linkType]=\"\n contact.linkType\n \"\n [href]=\"contact.url\"\n >{{ contact.label }}</a\n >\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (ndTitle) {\n <h5 class=\"pretitle\">\n <span>{{ ndTitle }}</span>\n </h5>\n }\n @if (address) {\n <div class=\"cs_text_widget text\">\n <p>\n @if (address.address) {\n {{ address.address }} <br />\n }\n @if (address.cp && address.city) {\n {{ address.cp }} {{ address.city }}\n <br />\n }\n @if (\n address.province && address.country\n ) {\n {{ address.province }}\n {{ address.country }}\n }\n </p>\n </div>\n }\n </div>\n </div>\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (rdTitle) {\n <h5 class=\"pretitle\">\n <span>{{ rdTitle }}</span>\n </h5>\n }\n @if (socialMedia) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (item of socialMedia; track $index) {\n <li>\n <a\n class=\"text\"\n linkType=\"external\"\n [href]=\"item.url\"\n >\n <i [ngClass]=\"item.icon\"></i>\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n <!-- 2a columna -->\n <div class=\"cs_footer_column\">\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (img) {\n <a\n class=\"cs_footer_map cs_primary_bg\"\n [href]=\"imgUrl || '#'\"\n [ngClass]=\"{ 'pointers-none': !imgUrl }\"\n linkType=\"external\"\n >\n <img [src]=\"img.src\" [alt]=\"img.alt\" />\n </a>\n } @else {\n @if (safeUrl) {\n <div class=\"cs_footer_map cs_primary_bg\">\n <iframe\n [src]=\"safeUrl\"\n allowfullscreen\n ></iframe>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_bottom_links_footer position-relative\">\n @if (footerLinks) {\n <ul class=\"cs_menu_widget_links cs_mp0\">\n @for (link of footerLinks; track $index) {\n @if (link) {\n <li>\n <a\n class=\"text\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cs_bottom_footer_wrap\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_bottom_footer position-relative\">\n @if (copyright) {\n <div class=\"cs_copyright\">\n <span class=\"cs_copyright_year\"> {{ copyright }} </span>\n </div>\n }\n @if (contactLinks?.length) {\n <div class=\"cs_bottom_footer_right\">\n <ul class=\"cs_footer_links cs_mp_0\">\n @for (link of contactLinks; track $index) {\n <li>\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >{{ link.label }}</a\n >\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, HostListener } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-submenu-hotel',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-submenu-hotel.component.html',\n styleUrl: './babylon-submenu-hotel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSubmenuHotelComponent implements OnInit {\n @Input() items?: BabylonButtonI[];\n @Input() selected?: BabylonButtonI;\n\n headerFixed = false;\n isDropdownOpen = false;\n\n ngOnInit() {\n this.checkScroll();\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n this.checkScroll();\n }\n\n private checkScroll() {\n const scrollPosition = window.scrollY;\n this.headerFixed = scrollPosition > 100;\n }\n\n toggleDropdown(): void {\n this.isDropdownOpen = !this.isDropdownOpen;\n }\n}\n","<section class=\"babylon__submenu-hotel\" [ngClass]=\"{ cs_gescout_sticky: headerFixed, 'submenu-open': isDropdownOpen }\">\n\n <!-- Trigger for tablet -->\n <div class=\"submenu-trigger\" (click)=\"toggleDropdown()\">\n <span>MENU</span>\n <span class=\"hamburger-icon\">\n <span></span>\n <span></span>\n <span></span>\n </span>\n </div>\n\n @if (items) {\n <div class=\"container\">\n <nav class=\"submenu\">\n <ul>\n @for (item of items; track $index) {\n <li>\n <a\n [href]=\"item.url\"\n [linkType]=\"item.linkType\"\n [ngClass]=\"{\n active:\n selected?.label?.toLowerCase() ===\n item?.label?.toLowerCase(),\n }\"\n >{{ item?.label }}</a\n >\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'lib-babylon-thanks',\n standalone: true,\n imports: [RouterModule],\n templateUrl: './babylon-thanks.component.html',\n styleUrl: './babylon-thanks.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonThanksComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__thank margin-main \">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(pretitle){\n <h2 class=\"pretitle \">{{ pretitle }}</h2>\n }\n @if(title){\n <h3 class=\"title mb--10\" >{{ title }}</h3>\n }\n @if(text){\n <p class=\"text mb--10\">{{ text }}</p>\n }\n </div>\n @if(button){\n <div class=\"btns__box align--center\">\n <a (click)=\"btnClick($event)\" [href]=\"button.url\" [routerLink]=\"button.url\" class=\"btn btn_primary\" >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n</section>\n","import { AfterViewInit, ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { BabylonTopSliderItem } from './babylon-top-slider-item.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { CommonModule } from '@angular/common';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { ScreenSizerService } from '../../../services/screen-sizer';\n\ndeclare global {\n interface Window {\n parallaxSwiperSlider: () => void;\n }\n}\n\n@Component({\n selector: 'lib-babylon-top-slider',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-top-slider.component.html',\n styleUrl: './babylon-top-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonTopSliderComponent implements OnInit, AfterViewInit {\n @Input() items?: BabylonTopSliderItem[];\n @Input() buttons?: BabylonButtonI[];\n @Input() logo?: BabylonImageI;\n @Input() itemsMobile?: BabylonTopSliderItem[];\n\n @Output() btnClick = new EventEmitter<BabylonButtonI>();\n\n constructor(private readonly screenSizer: ScreenSizerService) {}\n\n scrollToSection(event: Event, sectionId: string): void {\n event.preventDefault();\n const section = document.getElementById(sectionId);\n if (section) {\n section.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n ngOnInit(): void {\n if (this.screenSizer.width < 768 && this.itemsMobile?.length) {\n this.items = [...this.itemsMobile];\n }\n}\n\n ngAfterViewInit(): void {\n if (window && window.parallaxSwiperSlider) {\n window.parallaxSwiperSlider();\n }\n }\n}\n","<section class=\"babylon__topslider margin-main-botom\">\n <div class=\"cs_parallax_slider loading overflow-hidden position-relative\">\n @if (items?.length) {\n <div class=\"swiper-wrapper\">\n @for (item of items; track $index) {\n <div class=\"swiper-slide\">\n <div class=\"cs_hero cs_style_1 cs_center text-center position-relative\">\n @if (item.img) {\n <figure class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [attr.data-src]=\"item.img.src\"\n dataBackground=\"url('{{item.img.src}}')\"></figure>\n }\n <div class=\"container position-relative cs_zindex_3\">\n <div class=\"cs_hero_text\">\n @if (item.subtitle) {\n <h2 class=\"pretitle_carrusel\">{{item.subtitle}}</h2>\n }\n @if (item.title) {\n <h1 class=\"title_carrusel\">{{item.title}}</h1>\n }\n @if (item?.buttons?.length) {\n @for (button of item?.buttons; track $index) {\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url ?? '#'\" class=\"btn btn_primary btn--light\">\n <b>{{button?.label ?? ''}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n @if (items) {\n @if (items.length > 1) {\n <div class=\"cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n }\n }\n @if(logo){\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" class=\"top-slider-logo\"/>\n }\n <div class=\"mouse_wp\">\n <a\n href=\"#first_section\"\n aria-label=\"first_section\"\n (click)=\"scrollToSection($event, 'first_section')\"\n class=\"cs_down_btn_2\"\n\n >\n <div class=\"mouse\"></div>\n </a>\n </div>\n</section>\n<div id=\"first_section\"></div>\n\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\n\n@Component({\n selector: 'lib-babylon-top-slider-thumbs',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective, BabylonCurrencyPipe, BabylonDataBackgroundDirective],\n templateUrl: './babylon-top-slider-thumbs.component.html',\n styleUrl: './babylon-top-slider-thumbs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonTopSliderThumbsComponent implements AfterViewInit {\n @Input() title?: string;\n @Input() from?: string;\n @Input() currency?: string;\n @Input() price?: number;\n @Input() images?: BabylonImageI[];\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.cdr.detectChanges();\n }, 100);\n }\n\n}\n","<section class=\"babylon__topslider-thumbs margin-main-botom\">\n <div class=\"position-relative cs_gallery_hover_show_nav\">\n <div\n class=\"cs_gallery_slider_thumb_2 slick-slider\"\n sliders=\"cs_gallery_slider_thumb_2\"\n >\n @if (images?.length) { @for (image of images; track $index) {\n <div class=\"cs_gallery_slider_thumb_item_2 cs_bg_filed\" [attr.data-src]=\"image?.src\" dataBackground=\"url('{{image?.src}}')\"></div>\n }}\n </div>\n <div class=\"cs_gallery_slider_nav_2_wrap\">\n <div class=\"container position-relative cs_gallery_slider_nav_2_in\">\n <div class=\" intro_info intro_info--light\">\n @if(title){\n <h1 class=\"title mb--10\">{{ title }}</h1>\n }\n <p class=\"subtitle mb--0\">\n @if(from){\n <span class=\"text\">\n {{ from }}\n </span>\n } @if(price){\n {{ price }}\n } @if(currency){\n {{currency | currencySymbol}}\n }\n </p>\n\n </div>\n <div\n class=\"cs_gallery_slider_nav_2 slick-slider\"\n sliders=\"cs_gallery_slider_nav_2\"\n >\n @if (images?.length) { @for (image of images; track $index) {\n <div class=\"cs_gallery_slider_thumb_mini_2 cs_bg_filed\" [attr.data-src]=\"image?.src\" dataBackground=\"url('{{image?.src}}')\"></div>\n }}\n </div>\n </div>\n </div>\n <div class=\"cs_left_arrow_gallery_2 cs_center cs_mobile_hide cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n </div>\n <div class=\"cs_right_arrow_gallery_2 cs_center cs_mobile_hide cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n</section>\n","import { AfterViewInit, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BabylonTopSliderItem } from '../babylon-top-slider/babylon-top-slider-item.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonTopSliderV2Item } from './babylon-top-slider-v2-item.interface';\nimport { CommonModule } from '@angular/common';\n\ndeclare global {\n interface Window {\n parallaxSwiperSlider: () => void;\n }\n}\n\n@Component({\n selector: 'lib-babylon-top-slider-v2',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-top-slider-v2.component.html',\n styleUrl: './babylon-top-slider-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonTopSliderV2Component implements AfterViewInit {\n @Input() rightSide: boolean = false;\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() items?: BabylonTopSliderItem[];\n @Input() buttons?: BabylonButtonI;\n\n @Output() btnClick = new EventEmitter<BabylonButtonI>();\n\n ngAfterViewInit(): void {\n if (window && window.parallaxSwiperSlider) {\n window.parallaxSwiperSlider();\n }\n }\n}\n","<section\n class=\"babylon__topsliderv2 cs_hero cs_style_2 position-relative margin-main-botom\"\n>\n @if (items) {\n <div\n class=\"cs_bg_filed\"\n [ngClass]=\"{\n cs_hero_left_right: rightSide,\n cs_hero_left_img: !rightSide,\n }\"\n >\n <div\n class=\"cs_parallax_slider loading overflow-hidden position-relative\"\n >\n <div class=\"swiper-wrapper\">\n @for (item of items; track $index) {\n <div class=\"swiper-slide\">\n <div\n class=\"cs_hero cs_style_1 cs_center text-center position-relative\"\n >\n <figure\n class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [style.background-image]=\"\n 'url(' + item.img + ')'\n \"\n ></figure>\n </div>\n </div>\n }\n </div>\n </div>\n <div class=\"cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n }\n <div class=\"cs_hero_in\">\n <div class=\"cs_hero_content cs_center\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <div class=\"cs_hero_text intro_info\">\n @if (labels?.subtitle) {\n <h2\n class=\"pretitle_carrusel pretitle_carrusel--dark\"\n >\n {{ labels?.subtitle }}\n </h2>\n }\n @if (labels?.title) {\n <h1\n class=\"title_carrusel title_carrusel--dark wow fadeInRight\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h1>\n }\n @if (labels?.description || labels?.text) {\n <p class=\"text\">{{ labels?.description }}</p>\n <p class=\"text\">{{ labels?.text }}</p>\n }\n @if (buttons) {\n <div class=\"btns__box\">\n <a\n [href]=\"buttons.url\"\n class=\"btn btn_primary\"\n >\n <b>{{ buttons.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n Input,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { ScreenSizerService } from '../../../services/screen-sizer';\nimport { BabylonVideoSourceI } from './babylon-video-source.interface';\n\ndeclare global {\n interface Window {\n initYTPlayer: () => void;\n }\n}\n\n@Component({\n selector: 'lib-babylon-top-slider-video',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-top-slider-video.component.html',\n styleUrl: './babylon-top-slider-video.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonTopSliderVideoComponent implements AfterViewInit {\n @ViewChild('video', { read: ElementRef })\n videoElement!: ElementRef<HTMLDivElement>;\n @ViewChild('img', { read: ElementRef })\n imgElement!: ElementRef<HTMLImageElement>;\n @Input() labelInfos?: BabylonLabelInfo;\n @Input() videoData?: BabylonVideoSourceI;\n @Input() button?: BabylonButtonI;\n @Input() img?: BabylonImageI;\n\n private readonly screenSizer = inject(ScreenSizerService);\n private readonly renderer = inject(Renderer2);\n\n constructor() {\n effect(() => {\n this.manageVideoOrImage();\n });\n }\n\n ngAfterViewInit(): void {\n if (window && window.initYTPlayer) {\n window.initYTPlayer();\n this.manageVideoOrImage();\n }\n }\n\n manageVideoOrImage(): void {\n if (\n !this.screenSizer.minMediumTablet() &&\n this.img?.src &&\n document.querySelector('#wrapper_bgndVideo')\n ) {\n this.renderer.setStyle(\n document.querySelector('#wrapper_bgndVideo'),\n 'display',\n 'none'\n );\n this.renderer.setStyle(\n document.querySelector('.youtube-bg'),\n 'padding-top',\n '110px'\n );\n } else {\n this.renderer.setStyle(\n document.querySelector('.youtube-bg'),\n 'padding-top',\n '130px'\n );\n if (document.querySelector('#wrapper_bgndVideo')) {\n this.renderer.setStyle(\n document.querySelector('#wrapper_bgndVideo'),\n 'display',\n 'block'\n );\n }\n }\n }\n\n getVideoDataProperty(): string {\n return JSON.stringify({\n videoURL: this.videoData?.src,\n containment: '.youtube-bg',\n autoPlay: true,\n mute: true,\n startAt: 1,\n opacity: 1,\n showControls: false,\n loop: true,\n stopMovieOnBlur: false,\n });\n }\n}\n\nexport interface BabylonLabelInfo {\n title: string;\n pretitle: string;\n}\n","<section class=\"babylon__topslidervideo margin-main-botom\">\n <div\n class=\"cs_hero cs_style_4 cs_primary_bg cs_bg_filed text-center position-relative youtube-bg\"\n >\n @if (videoData?.src) {\n <div\n id=\"bgndVideo\"\n class=\"player\"\n [attr.data-property]=\"getVideoDataProperty()\"\n ></div>\n }\n\n @if (img && img.src) {\n <img [src]=\"img.src\" [alt]=\"img.alt\" />\n }\n <div\n class=\"cs_hero_text_wrap cs_center wow fadeIn\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n <div class=\"container position-relative cs_zindex_3\">\n <div class=\"cs_hero_text\">\n @if (labelInfos?.pretitle) {\n <h1 class=\"cs_hero_subtitle pretitle_carrusel\">\n {{ labelInfos?.pretitle }}\n </h1>\n }\n @if (labelInfos?.title) {\n <h1 class=\"title_carrusel\">{{ labelInfos?.title }}</h1>\n }\n @if (button?.url) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary btn--light\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'lib-babylon-webmap',\n standalone: true,\n imports: [RouterModule],\n templateUrl: './babylon-webmap.component.html',\n styleUrl: './babylon-webmap.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonWebmapComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() image?: string;\n @Input() links?: BabylonButtonI[];\n\n linkClick(e: Event) {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__webmap margin-main \">\n <div class=\"container\">\n <div class=\"row cs_gap_y_30\">\n <div class=\"col-lg-6 cs_pr_110\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if(title){\n <h3 class=\"title \" >{{ title }}</h3>\n }\n @if (links?.length) {\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @for (link of links; track $index) {\n <li>\n <a\n [href]=\"link.url\"\n [routerLink]=\"link.url\"\n (click)=\"linkClick($event)\">\n <p class=\"text--small\">\n {{ link.label }}\n </p>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n @if (image) {\n <div class=\"col-lg-6\">\n <div class=\" cs_pr_1101 cs_image_layer cs_style_3 position-relative\">\n <img [src]=\"image\" alt=\"\" class=\"cs--radius\">\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","/*\n * Public API Surface of babylon\n */\n\n/* COMPONENTS */\nexport * from './lib/components/core/index';\n\n/* SERVICES */\nexport * from './lib/services';\n\n/* INTERFACES */\nexport * from './lib/interfaces/index';\n\n/* UTILS */\nexport * from './lib/utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i5","i1.ScreenSizerService","i2.ScreenSizerService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"ctt-babylon.mjs","sources":["../../../projects/babylon/src/lib/components/core/babylon-404/babylon-404.component.ts","../../../projects/babylon/src/lib/components/core/babylon-404/babylon-404.component.html","../../../projects/babylon/src/lib/directives/babylon-sliders/babylon-sliders.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-advantages/babylon-advantages.component.ts","../../../projects/babylon/src/lib/components/core/babylon-advantages/babylon-advantages.component.html","../../../projects/babylon/src/lib/directives/babylon-sliders/babylon-custom-slider.directive.ts","../../../projects/babylon/src/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.ts","../../../projects/babylon/src/lib/directives/babylon-galleries/babylon-light-gallery.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.html","../../../projects/babylon/src/lib/directives/data-background/data-background.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-info/babylon-banner-info.component.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-info/babylon-banner-info.component.html","../../../projects/babylon/src/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.ts","../../../projects/babylon/src/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.html","../../../projects/babylon/src/lib/components/core/babylon-blog-details/babylon-blog-details.component.ts","../../../projects/babylon/src/lib/components/core/babylon-blog-details/babylon-blog-details.component.html","../../../projects/babylon/src/lib/components/core/babylon-blog-list/babylon-blog-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-blog-list/babylon-blog-list.component.html","../../../projects/babylon/src/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.ts","../../../projects/babylon/src/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.html","../../../projects/babylon/src/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.ts","../../../projects/babylon/src/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.html","../../../projects/babylon/src/lib/directives/link-type/link-type.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-address/babylon-contact-address.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-address/babylon-contact-address.component.html","../../../projects/babylon/src/lib/components/core/babylon-contact-form/babylon-contact-form.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-form/babylon-contact-form.component.html","../../../projects/babylon/src/lib/components/core/babylon-contact-how/babylon-contact-how.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-how/babylon-contact-how.component.html","../../../projects/babylon/src/lib/components/core/babylon-contact-map/babylon-contact-map.component.ts","../../../projects/babylon/src/lib/components/core/babylon-contact-map/babylon-contact-map.component.html","../../../projects/babylon/src/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.ts","../../../projects/babylon/src/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.html","../../../projects/babylon/src/lib/components/core/babylon-engine/babylon-engine.component.ts","../../../projects/babylon/src/lib/components/core/babylon-engine/babylon-engine.component.html","../../../projects/babylon/src/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.html","../../../projects/babylon/src/lib/components/core/babylon-faq/babylon-faq.component.ts","../../../projects/babylon/src/lib/components/core/babylon-faq/babylon-faq.component.html","../../../projects/babylon/src/lib/components/core/babylon-features-slider/babylon-features-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-features-slider/babylon-features-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-links/babylon-footer-links.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-links/babylon-footer-links.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-social/babylon-footer-social.component.ts","../../../projects/babylon/src/lib/components/core/babylon-footer-social/babylon-footer-social.component.html","../../../projects/babylon/src/lib/components/core/babylon-footer-social/babylon-footer-social.interface.ts","../../../projects/babylon/src/lib/components/core/babylon-gallery/babylon-gallery.component.ts","../../../projects/babylon/src/lib/components/core/babylon-gallery/babylon-gallery.component.html","../../../projects/babylon/src/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.ts","../../../projects/babylon/src/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.html","../../../projects/babylon/src/lib/components/core/babylon-head-intro/babylon-head-intro.component.ts","../../../projects/babylon/src/lib/components/core/babylon-head-intro/babylon-head-intro.component.html","../../../projects/babylon/src/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.ts","../../../projects/babylon/src/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.html","../../../projects/babylon/src/lib/services/screen-sizer/screen-sizer.service.token.ts","../../../projects/babylon/src/lib/services/screen-sizer/screen-sizer.service.ts","../../../projects/babylon/src/lib/Enum/services.enum.ts","../../../projects/babylon/src/lib/utils/utils.ts","../../../projects/babylon/src/lib/services/mapper/mapper.service.token.ts","../../../projects/babylon/src/lib/services/mapper/mapper.service.ts","../../../projects/babylon/src/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-clear/babylon-header-clear.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-clear/babylon-header-clear.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.html","../../../projects/babylon/src/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.html","../../../projects/babylon/src/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.ts","../../../projects/babylon/src/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.html","../../../projects/babylon/src/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.html","../../../projects/babylon/src/lib/directives/babylon-sliders/babylon-hotels-slider.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-big/babylon-info-big.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-big/babylon-info-big.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-grid/babylon-info-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-grid/babylon-info-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-grid/babylon-info-grid.interface.ts","../../../projects/babylon/src/lib/directives/babylon-background-strip/babylon-background-strip.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-info-img/babylon-info-img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-img/babylon-info-img.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-intro/babylon-info-intro.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-intro/babylon-info-intro.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.html","../../../projects/babylon/src/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-info2img/babylon-info2img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info2img/babylon-info2img.component.html","../../../projects/babylon/src/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.html","../../../projects/babylon/src/lib/components/core/babylon-info3img/babylon-info3img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info3img/babylon-info3img.component.html","../../../projects/babylon/src/lib/components/core/babylon-info4img/babylon-info4img.component.ts","../../../projects/babylon/src/lib/components/core/babylon-info4img/babylon-info4img.component.html","../../../projects/babylon/src/lib/components/core/babylon-items-grid/babylon-items-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-items-grid/babylon-items-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-language-modal/babylon-language-modal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-language-modal/babylon-language-modal.component.html","../../../projects/babylon/src/lib/components/core/babylon-legal/babylon-legal.component.ts","../../../projects/babylon/src/lib/components/core/babylon-legal/babylon-legal.component.html","../../../projects/babylon/src/lib/components/core/babylon-list-grid/babylon-list-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-list-grid/babylon-list-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-list-grid/babylon-list-grid.interface.ts","../../../projects/babylon/src/lib/components/core/babylon-newsletter/babylon-newsletter.component.ts","../../../projects/babylon/src/lib/components/core/babylon-newsletter/babylon-newsletter.component.html","../../../projects/babylon/src/lib/components/core/babylon-newsletter/babylon-newsletter.interface.ts","../../../projects/babylon/src/lib/pipes/babylon-currency.pipe.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.html","../../../projects/babylon/src/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-offers-list/babylon-offers-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offers-list/babylon-offers-list.component.html","../../../projects/babylon/src/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-preload/babylon-preload.component.ts","../../../projects/babylon/src/lib/components/core/babylon-preload/babylon-preload.component.html","../../../projects/babylon/src/lib/components/core/babylon-room-details/babylon-room-details.component.ts","../../../projects/babylon/src/lib/components/core/babylon-room-details/babylon-room-details.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.html","../../../projects/babylon/src/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-services-slider/babylon-services-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-services-slider/babylon-services-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider2col/babylon-slider2col.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider2col/babylon-slider2col.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider2items/babylon-slider2items.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider2items/babylon-slider2items.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider3col/babylon-slider3col.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider3col/babylon-slider3col.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider3items/babylon-slider3items.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider3items/babylon-slider3items.component.html","../../../projects/babylon/src/lib/components/core/babylon-slider4col/babylon-slider4col.component.ts","../../../projects/babylon/src/lib/components/core/babylon-slider4col/babylon-slider4col.component.html","../../../projects/babylon/src/lib/directives/scrolls/scroll-up.directive.ts","../../../projects/babylon/src/lib/components/core/babylon-static-footer/babylon-static-footer.component.ts","../../../projects/babylon/src/lib/components/core/babylon-static-footer/babylon-static-footer.component.html","../../../projects/babylon/src/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.ts","../../../projects/babylon/src/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.html","../../../projects/babylon/src/lib/components/core/babylon-thanks/babylon-thanks.component.ts","../../../projects/babylon/src/lib/components/core/babylon-thanks/babylon-thanks.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider/babylon-top-slider.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider/babylon-top-slider.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.html","../../../projects/babylon/src/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.ts","../../../projects/babylon/src/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.html","../../../projects/babylon/src/lib/components/core/babylon-webmap/babylon-webmap.component.ts","../../../projects/babylon/src/lib/components/core/babylon-webmap/babylon-webmap.component.html","../../../projects/babylon/src/public-api.ts","../../../projects/babylon/src/ctt-babylon.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-404',\n standalone: true,\n imports: [CommonModule, RouterModule],\n templateUrl: './babylon-404.component.html',\n styleUrl: './babylon-404.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Babylon404Component {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() img?: BabylonImageI;\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__404 margin-main \"> \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h2 class=\"title\">{{ pretitle }}</h2>\n } \n @if (title) {\n <h1 class=\"title--small mb--10\">{{ title }}</h1>\n }\n @if (description) {\n <p class=\"text mb--10\">\n {{ description }}\n </p>\n } @if(button?.label) {\n <div class=\"btns__box align--center\">\n <a\n (click)=\"btnClick($event)\"\n [href]=\"button?.url\"\n [routerLink]=\"button?.url\"\n class=\"btn btn-primary\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a\n >\n </div>\n }\n </div> \n </div> \n</section>","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\n\ndeclare var $: any;\n\n@Directive({\n selector: '[sliders]',\n standalone: true,\n})\nexport class BabylonSlidersDirective implements AfterViewInit {\n @Input() sliders!:\n | 'cs_slider_container'\n | 'cs_gallery_slider_nav'\n | 'cs_gallery_slider_nav_2'\n | 'cs_gallery_slider_thumb'\n | 'cs_gallery_slider_thumb_2'\n | 'cs_slider_container2'\n | 'cs_slider_container3'\n | 'cs_slider_container4';\n\n private resizeTimeout: any;\n\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.initializeSlider();\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n this.initializeSlider();\n }, 200);\n });\n }, 100);\n }\n\n private initializeSlider(): void {\n const $slider = $(this.el.nativeElement);\n\n if (!$slider.length) return;\n\n const $slickActive = $slider.find('.cs_slider_wrapper');\n if ($slickActive.hasClass('slick-initialized')) {\n $slickActive.slick('unslick'); // Destruye el slider actual\n }\n\n switch (this.sliders) {\n case 'cs_slider_container':\n this.initSlickSlider($slider);\n break;\n case 'cs_gallery_slider_nav':\n this.initSlickSliderNav($slider);\n break;\n case 'cs_gallery_slider_nav_2':\n this.initSlickSliderNav_2($slider);\n break;\n case 'cs_gallery_slider_thumb':\n this.initSlickSliderThumb($slider);\n break;\n case 'cs_gallery_slider_thumb_2':\n this.initSlickSliderThumb_2($slider);\n break;\n case 'cs_slider_container2':\n this.initSlickSlider2($slider);\n break;\n case 'cs_slider_container3':\n this.initSlickSlider3($slider);\n break;\n case 'cs_slider_container4':\n this.initSlickSlider4($slider);\n break;\n default:\n break;\n }\n }\n\n private initSlickSlider($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');\n const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: this.getSlidesPerView($slider),\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 10) === 1,\n dots: true,\n appendDots: $slider.parent().find('.cs_pagination'),\n });\n }\n\n private initSlickSlider2($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');\n const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: this.getSlidesPerView($slider),\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 10) === 1,\n });\n }\n\n private initSlickSlider3($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider\n .siblings('.cs_slider_arrows')\n .find('.cs_left_arrow');\n const nextArrow = $slider\n .siblings('.cs_slider_arrows')\n .find('.cs_right_arrow');\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 0),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: this.getSlidesPerView($slider),\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 0) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 0) === 1,\n dots: false,\n appendDots: $slider.parent().find('.cs_pagination'),\n });\n }\n\n private initSlickSliderNav($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider NAV ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n $slider.slick({\n slidesToShow: 3,\n slidesToScroll: 1,\n asNavFor: $.exists('.cs_gallery_slider_thumb_mini')\n ? '.cs_gallery_slider_thumb_mini'\n : '.cs_gallery_slider_thumb',\n focusOnSelect: true,\n arrows: false,\n vertical: true,\n centerMode: true,\n centerPadding: '0px',\n speed: 1000,\n });\n }\n\n private initSlickSliderNav_2($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider NAV ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n $slider.slick({\n slidesToShow: 3,\n slidesToScroll: 1,\n asNavFor: '.cs_gallery_slider_thumb_2',\n focusOnSelect: true,\n arrows: false,\n centerMode: true,\n centerPadding: '0px',\n speed: 1000,\n });\n }\n\n private initSlickSliderThumb($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider THUMBS ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n const prevArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_left_arrow_gallery');\n const nextArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_right_arrow_gallery');\n\n $slider.slick({\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n asNavFor: '.cs_gallery_slider_nav.slick-slider',\n infinite: true,\n speed: 600,\n autoplay: false,\n fade: true,\n });\n }\n\n private initSlickSliderThumb_2($slider: any): void {\n if ($slider.hasClass('slick-initialized')) {\n console.warn(\n 'Slider THUMBS ya está inicializado, evitando duplicados.'\n );\n return;\n }\n\n const prevArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_left_arrow_gallery_2 .cs_swiper_button_prev');\n const nextArrow = $slider\n .closest('.cs_gallery_hover_show_nav')\n .find('.cs_right_arrow_gallery_2 .cs_swiper_button_next');\n\n $slider.slick({\n slidesToShow: 1,\n slidesToScroll: 1,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n asNavFor: '.cs_gallery_slider_nav_2.slick-slider',\n infinite: true,\n speed: 600,\n autoplay: false,\n });\n }\n\n private initSlickSlider4($slider: any): void {\n const $slickActive = $slider.find('.cs_slider_wrapper');\n\n if ($slickActive.hasClass('slick-initialized')) {\n console.warn('Slider ya está inicializado');\n return;\n }\n\n const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');\n const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');\n\n const slidesToShow = this.getSlidesPerView($slider);\n\n $slickActive.slick({\n autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),\n autoplaySpeed: this.getSliderSetting(\n $slider,\n 'data-autoplay',\n 3000\n ),\n speed: this.getSliderSetting($slider, 'data-speed', 600),\n infinite: this.getSliderSetting($slider, 'data-loop', 1) === 1,\n slidesToShow: slidesToShow,\n swipeToSlide: true,\n prevArrow: prevArrow,\n nextArrow: nextArrow,\n centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,\n variableWidth:\n this.getSliderSetting($slider, 'data-variable-width', 10) === 1,\n dots: true,\n appendDots: $slider.parent().find('.cs_pagination'),\n });\n this.toggleSliderArrows($slider, slidesToShow);\n }\n\n private getSliderSetting(\n $slider: any,\n settingName: string,\n defaultValue: any\n ): any {\n return parseInt($slider.attr(settingName), 10) || defaultValue;\n }\n\n private getSlidesPerView($slider: any): number {\n const slidesPerViewType = $slider.attr('data-slides-per-view');\n const xsSlides = parseInt($slider.attr('data-xs-slides'), 10) || 1;\n const smSlides = parseInt($slider.attr('data-sm-slides'), 10) || 2;\n const mdSlides = parseInt($slider.attr('data-md-slides'), 10) || 2;\n const lgSlides = parseInt($slider.attr('data-lg-slides'), 10) || 3;\n const xlSlides =\n parseInt($slider.attr('data-xl-slides'), 10) || lgSlides;\n\n if (slidesPerViewType === 'responsive') {\n if (window.innerWidth < 576) {\n return xsSlides;\n } else if (window.innerWidth < 768) {\n return smSlides;\n } else if (window.innerWidth < 1024) {\n return mdSlides;\n } else if (window.innerWidth < 1400) {\n return lgSlides;\n } else {\n return xlSlides;\n }\n } else {\n return parseInt(slidesPerViewType, 10) || 1;\n }\n }\n\n private toggleSliderArrows($slider: any, slidesToShow: number): void {\n const $slides = $slider.find('.cs_slide');\n const totalSlides = $slides.length;\n\n const $sliderContainer = $slider.closest('.cs_slider');\n const shouldHide = totalSlides <= slidesToShow;\n\n $sliderContainer.toggleClass('hide-arrows', shouldHide);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonAdvInfoI } from './babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-advantages',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-advantages.component.html',\n styleUrl: './babylon-advantages.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonAdvantagesComponent {\n @Input() title?: string;\n @Input() advantages?: BabylonAdvInfoI[];\n}\n","<section class=\"babylon__advantages-slider margin-main bg--white\">\n @if(title){\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n <h3 class=\"pretitle\" >{{ title }}</h3>\n </div>\n </div>\n }\n @if(advantages){\n <div class=\"cs_slider cs_style_1 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\"\n data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"3\">\n <div class=\"cs_slider_wrapper\">\n @for (advantage of advantages; track $index) {\n <div class=\"cs_slide\">\n <div class=\"advantages-item\">\n <div class=\"advantages-item--icon\">\n <div class=\"info--icon icon--small \">\n <i class=\"icon--svg\" [ngClass]=\"advantage.icon\"></i>\n </div>\n </div>\n @if(advantage.title){\n <div class=\"advantages-item--info\">\n <div class=\"intro_info1 no-align\">\n <p class=\"text mb--0\">{{advantage.title}}</p>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n </div>\n }\n\n </section>\n","import { Directive, ElementRef, Renderer2, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[BabylonCustomSlider]', \n standalone: true\n})\nexport class BabylonCustomSliderDirective implements AfterViewInit {\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngAfterViewInit(): void {\n this.initSlider();\n }\n\n private initSlider() {\n const slider = this.el.nativeElement;\n const arrows = slider.querySelectorAll('.cs_custom_slide_arrow_right, .cs_custom_slide_arrow_left');\n arrows.forEach((arrow: any) => {\n arrow.addEventListener('click', (event: any) => {\n const direction = arrow?.classList.contains('cs_custom_slide_arrow_left') ? 'prev' : 'next';\n this.updateSlides(direction);\n });\n });\n this.updateSlides('next');\n }\n\n private updateSlides(direction: string) {\n const activeSlide = this.el.nativeElement.querySelector('.cs_custom_slide.active');\n const slides = this.el.nativeElement.querySelectorAll('.cs_custom_slide');\n const totalSlides = slides.length;\n const activeIndex = Array.from(slides).indexOf(activeSlide);\n let nextIndex;\n\n if (direction === 'next') {\n nextIndex = activeIndex === totalSlides - 1 ? 0 : activeIndex + 1;\n } else {\n nextIndex = activeIndex === 0 ? totalSlides - 1 : activeIndex - 1;\n }\n\n const nextSlide = slides?.[nextIndex];\n slides?.forEach((slide: any) => slide?.classList.remove('prev-1', 'next-1', 'prev-2', 'next-2', 'active'));\n nextSlide?.classList.add('active');\n\n const prev1Index = nextIndex === 0 ? totalSlides - 1 : nextIndex - 1;\n const prev2Index = prev1Index === 0 ? totalSlides - 1 : prev1Index - 1;\n const next1Index = nextIndex === totalSlides - 1 ? 0 : nextIndex + 1;\n const next2Index = next1Index === totalSlides - 1 ? 0 : next1Index + 1;\n\n slides?.[prev1Index]?.classList.add('prev-1');\n slides?.[prev2Index]?.classList.add('prev-2');\n slides?.[next1Index]?.classList.add('next-1');\n slides?.[next2Index]?.classList.add('next-2');\n }\n}\n","import { Directive, ElementRef, Renderer2, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[BabylonCustomMousePointer]',\n standalone: true\n})\nexport class BabylonCustomMousePointerDirective {\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n @HostListener('mousemove', ['$event'])\n onMouseMove(event: MouseEvent): void {\n const mousePoint = this.el.nativeElement.querySelector('.cs_mouse_point');\n \n if (mousePoint) {\n const mouseX = event.pageX - this.el.nativeElement.getBoundingClientRect().left;\n const mouseY = event.clientY - this.el.nativeElement.getBoundingClientRect().top\n\n if (mousePoint) {\n this.renderer.setStyle(mousePoint, 'top', `${mouseY}px`);\n this.renderer.setStyle(mousePoint, 'left', `${mouseX}px`);\n }\n \n }\n }\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n const mousePoint = this.el.nativeElement.querySelector('.cs_mouse_point');\n if (mousePoint) {\n this.renderer.setStyle(mousePoint, 'visibility', 'visible');\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n const mousePoint = this.el.nativeElement.querySelector('.cs_mouse_point');\n if (mousePoint) {\n this.renderer.setStyle(mousePoint, 'visibility', 'hidden');\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\ndeclare var $: any;\n\n@Directive({\n selector: '[BabylonLightGallery]',\n standalone: true\n})\nexport class BabylonLightGalleryDirective implements AfterViewInit {\n constructor(private el: ElementRef) {}\n\n ngAfterViewInit() {\n this.initLightGallery();\n }\n\n private initLightGallery() {\n if (typeof $ !== 'undefined' && this.el.nativeElement) {\n const galleryContainer = $(this.el.nativeElement);\n const items = galleryContainer.find('.cs_lightbox_item');\n\n if (items.length > 0) {\n galleryContainer.lightGallery({\n selector: items,\n subHtmlSelectorRelative: false,\n thumbnail: true,\n mousewheel: true,\n share: false,\n fullScreen: false,\n autoplay: false,\n actualSize: false,\n autoplayControls: false,\n download: false,\n });\n \n } else {\n console.warn('No se encontraron elementos .cs_lightbox_item dentro del contenedor.');\n }\n } else {\n console.error('jQuery o lightGallery no están disponibles.');\n }\n }\n}","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonCustomSliderDirective } from '../../../directives/babylon-sliders/babylon-custom-slider.directive';\nimport { BabylonCustomMousePointerDirective } from '../../../directives/babylon-customs/babylon-custom-mouse-pointer.directive';\nimport { BabylonLightGalleryDirective } from '../../../directives/babylon-galleries/babylon-light-gallery.directive';\n\n@Component({\n selector: 'lib-babylon-banner-gallery',\n standalone: true,\n imports: [CommonModule, BabylonCustomSliderDirective, BabylonCustomMousePointerDirective, BabylonLightGalleryDirective],\n templateUrl: './babylon-banner-gallery.component.html',\n styleUrl: './babylon-banner-gallery.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonBannerGalleryComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() hover?: string;\n @Input() button?: BabylonButtonI[];\n @Input() images?: BabylonImageI[];\n \n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<!-- <section class=\"cs_primary_bg\"> -->\n<section class=\"babylon__banner-gallery margin-main bg--dark1\"> \n <div class=\"container\">\n <div class=\"intro_info align--center intro_info--light1 no-align\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n } \n </div> \n </div>\n <div class=\"cs_custom_slide_container\" BabylonCustomSlider >\n <div class=\"container\">\n <div class=\"cs_custom_slide_wrapper cs_lightgallery\" BabylonLightGallery>\n @if(images){\n @for(image of images; track $index){\n <div class=\"cs_custom_slide\">\n <a [href]=\"image?.src\" BabylonCustomMousePointer class=\"cs_custom_slide_item cs_bg_filed cs_lightbox_item cs_custom_pointer_wrap cs--radius\" [style.background-image]=\"'url(' + image.src + ')'\">\n @if (hover) {\n <span class=\"cs_mouse_point cs_style_1\">{{hover}}</span>\n }\n <img [src]=\"image?.src\" alt=\"\" class=\"d-none\">\n </a>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_custom_slide_arrows\">\n <span class=\"cs_custom_slide_arrow_left\">\n <span class=\"babylon-arrow-left-big\"></span> \n </span>\n <span class=\"cs_custom_slide_arrow_right\">\n <span class=\"babylon-arrow-right-big\"></span> \n </span>\n </div>\n \n </div>\n \n @if(button && button[0]?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button[0]?.url\" class=\"btn btn_primary\">\n <b>{{button[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n } \n </section>","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[dataBackground]',\n standalone: true,\n})\nexport class BabylonDataBackgroundDirective implements OnInit {\n @Input() dataBackground?: string;\n\n constructor(\n private readonly el: ElementRef,\n private readonly renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n const element = this.el.nativeElement;\n\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.renderer.setStyle(\n element,\n 'background-image',\n this.dataBackground\n );\n observer.unobserve(element);\n }\n });\n });\n\n observer.observe(element);\n }\n}\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\n\n\n@Component({\n selector: 'lib-babylon-banner-info',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-banner-info.component.html',\n styleUrl: './babylon-banner-info.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonBannerInfoComponent implements AfterViewInit {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() button?: BabylonButtonI;\n @Input() image?: BabylonImageI;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.cdr.detectChanges();\n }\n\n}\n"," <!-- La foto es opcional -->\n <section class=\"babylon__banner-info margin-main\">\n <div class=\"margin-main cs_bg_filed bg--white\" [attr.data-src]=\"image?.src\" dataBackground=\"url('{{image?.src}}')\"></div>\n <div class=\"col-xxl-8 offset-xxl-2 col-xl-10 offset-xl-1\" [ngClass]=\"{'babylon__banner-info__opaque-box' : image?.src}\">\n <div class=\"cs_newsletter cs_style_1 text-center\">\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if(pretitle){\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n } @if(title){\n <h3 class=\"title mb--10\" >{{ title }}</h3>\n } @if(description){\n <p class=\"text mb--10\">{{ description }}</p>\n } @if(button){\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button.url\"\n class=\"btn btn_primary btn--light\"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n FormBuilder,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-banner-newsletter',\n standalone: true,\n imports: [\n CommonModule,\n BabylonDataBackgroundDirective,\n FormsModule,\n ReactiveFormsModule,\n ],\n templateUrl: './babylon-banner-newsletter.component.html',\n styleUrl: './babylon-banner-newsletter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonBannerNewsletterComponent {\n @Input() placeholder?: string;\n @Input() text?: string;\n @Input() title?: string;\n @Input() button?: BabylonButtonI[];\n @Input() image?: BabylonImageI;\n\n @Output() submitForm = new EventEmitter<string>();\n\n fb = inject(FormBuilder);\n\n form = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n });\n\n btnClick(): void {\n if (this.form.valid) {\n this.submitForm.emit(this.form.value.email!);\n }\n }\n}\n","<!-- La foto es opcional -->\n<section class=\"babylon__banner-newsletter margin-main\">\n <div\n class=\"margin-main cs_bg_filed bg--white\"\n [attr.data-src]=\"image?.src\"\n dataBackground=\"url('{{ image?.src }}')\"\n >\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-xxl-8 offset-xxl-2 col-xl-10 offset-xl-1\">\n <div class=\"cs_newsletter cs_style_1 text-center\">\n <span\n class=\"cs_newsletter_icon cs_center cs_mb_26 wow zoomIn\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n <span class=\"babylon-envelope\"></span>\n </span>\n <div class=\"intro_info align--center intro_info--light\">\n @if (title) {\n <h3 class=\"title--small mb--10\">{{ title }}</h3>\n }\n @if (text) {\n <p class=\"text mb--10\">{{ text }}</p>\n }\n </div>\n <form\n action=\"#\"\n [formGroup]=\"form\"\n class=\"cs_newsletter_form position-relative\"\n >\n <input\n type=\"email\"\n class=\"cs_newsletter_input cs--radius\"\n formControlName=\"email\"\n [placeholder]=\"placeholder\"\n />\n\n @if (button && button[0].label) {\n <button\n class=\"cs_btn cs_style_2 cs_medium cs--radius cs_fs_15 btn-link btn-link--light\"\n [ngClass]=\"{\n 'pointer-none': form.invalid,\n }\"\n (click)=\"btnClick()\"\n >\n <b>{{ button[0].label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </button>\n }\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-blog-details',\n standalone: true,\n imports: [],\n templateUrl: './babylon-blog-details.component.html',\n styleUrl: './babylon-blog-details.component.scss'\n})\nexport class BabylonBlogDetailsComponent {\n\n}\n","<section class=\"babylon__blog-detail margin-main\"> \n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"intro_info \"> \n <h2 class=\"title mb--0\">CHAR Fuego y Brasas en Baobab Suites </h2> \n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div> \n </div> \n </div>\n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"row cs_gap_y_lg_80\">\n <div class=\"col-lg-8\">\n <div class=\"cs_blog_details\">\n <div class=\"cs_image_layer cs_about_img\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Blog\" class=\"cs--radius\"> \n </div>\n <div class=\"intro_info no-align\">\n <p class=\"text\">A Elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Tortor posuere ac ut consequat semper viverra nam libero justo. Mauris commodo quis imperdiet massa tincidunt nunc pulvinar sapien et. Aliquam purus sit amet luctus venenatis lectus magna fringilla urna. Purus sit amet luctus venenatis lectus. Nunc aliquet bibendum enim facilisis. Pretium viverra suspendisse potenti nullam ac tortor vitae. Purus sit amet luctus venenatis lectus. Nunc aliquet bibendum enim facilisis. Pretium viverra suspendisse potenti nullam ac tortor vitae.</p>\n <h2 class=\"title--small\">Exploring Spa Offerings</h2>\n <p class=\"text\">On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best. <br><br>On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain circumstances.</p>\n \n <h2 class=\"title--small\">Signature Experiences & Wellness Workshops and Classes</h2>\n <p class=\"text\">we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain circumstances.</p>\n \n <p class=\"text\">So, blinded by desire, that they cannot foresee the pain and trouble that are bound to ensue; and equal blame belongs to those who fail in their duty through weakness of will, which is the same as saying through shrinking from toil and pain. These cases are perfectly simple and easy to distinguish. In a free hour, when our power of choice is untrammelled and when nothing prevents our being able to do what we like best, every pleasure is to be welcomed and every pain avoided. But in certain amount of people.</p>\n <p class=\"text\">Our Proposed Solution: Our experienced team of web developers and booking system integration experts will collaborate closely with you to design a website that reflects the professionalism of your cleaning services. Our solution will include:</p>\n </div>\n </div> \n <div class=\"btns__box\">\n <a href=\"#\" class=\"btn-link \">\n <span class=\"babylon-arrow-left-big\"></span> \n <b>Volver</b> \n </a>\n </div> \n </div>\n <div class=\"col-lg-4\">\n <div class=\"cs_sidebar cs_right_sidebar\">\n <div class=\"cs_sidebar_item widget_search\">\n <form class=\"cs_sidebar_search\" action=\"#\">\n <input type=\"text\" placeholder=\"Search...\">\n <button class=\"cs_sidebar_search_btn\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_658_659)\">\n <path d=\"M17.7808 16.7198L13.3041 12.243C14.524 10.751 15.1239 8.84707 14.9795 6.92518C14.8351 5.00328 13.9575 3.2104 12.5283 1.91739C11.099 0.624387 9.22751 -0.0698265 7.3008 -0.0216526C5.37409 0.0265212 3.5396 0.813397 2.17678 2.17621C0.813961 3.53903 0.0270858 5.37352 -0.0210881 7.30024C-0.0692619 9.22695 0.624952 11.0985 1.91796 12.5277C3.21097 13.9569 5.00384 14.8345 6.92574 14.9789C8.84764 15.1233 10.7515 14.5235 12.2436 13.3035L16.7203 17.7803C16.8618 17.9169 17.0512 17.9925 17.2479 17.9908C17.4445 17.9891 17.6326 17.9102 17.7717 17.7711C17.9107 17.6321 17.9896 17.444 17.9913 17.2473C17.993 17.0507 17.9174 16.8612 17.7808 16.7198ZM7.50057 13.5C6.31388 13.5 5.15384 13.1481 4.16715 12.4888C3.18045 11.8295 2.41142 10.8925 1.95729 9.79611C1.50317 8.69975 1.38435 7.49335 1.61586 6.32946C1.84737 5.16558 2.41881 4.09648 3.25793 3.25736C4.09704 2.41825 5.16614 1.8468 6.33003 1.61529C7.49391 1.38378 8.70031 1.5026 9.79667 1.95673C10.893 2.41085 11.8301 3.17989 12.4894 4.16658C13.1487 5.15328 13.5006 6.31332 13.5006 7.5C13.4988 9.09076 12.8661 10.6158 11.7412 11.7407C10.6164 12.8655 9.09132 13.4982 7.50057 13.5Z\" fill=\"currentColor\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_658_659\">\n <rect width=\"18\" height=\"18\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg> \n </button>\n </form>\n </div>\n <div class=\"cs_sidebar_item widget_categories\">\n <h4 class=\"title--small mb--20\">Categories</h4>\n <ul>\n <li class=\"cat-item\">\n <a href=\"#\">Luxury Hotel (0)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Resort (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Travel (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Restaurant (5)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n </ul>\n </div>\n <div class=\"cs_sidebar_item\">\n <h4 class=\"title--small mb--20\">Latest post</h4>\n <ul class=\"cs_recent_posts\">\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Discovering Hidden Treasures Near Babylon</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Rejuvenation Tips from Babylon's Spa Experts</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Finding Tranquility at Babylon Resort</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Babylon's Commitment to Eco-Friendly Practices</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n </ul>\n </div> \n </div>\n </div>\n </div>\n </div>\n \n </section>","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-blog-list',\n standalone: true,\n imports: [],\n templateUrl: './babylon-blog-list.component.html',\n styleUrl: './babylon-blog-list.component.scss'\n})\nexport class BabylonBlogListComponent {\n\n}\n","<section class=\"babylon__blog-list margin-main\"> \n <div class=\"container\"> \n <div class=\"intro_info align--center\">\n <h3 class=\"pretitle\">Blog list</h3>\n <h2 class=\"title\">Magazine</h2> \n </div> \n </div>\n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"row cs_gap_y_lg_80\">\n <div class=\"col-lg-8\">\n <div class=\"cs_post cs_style_1 cs_size_5\">\n <a href=\"blog-detail\" class=\"cs_post_thumb cs--radius overflow-hidden d-block cs_mb_30 position-relative\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Feature\">\n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div>\n <h2 class=\"cs_post_title title1\">\n <a href=\"#\" class=\"title--small\">A Journey into Our Luxurious Resort</a>\n </h2>\n <p class=\"cs_subtitle text\">Nestled amidst the tranquil coastal surroundings of Babylon Resort lies a sanctuary of serenity and rejuvenation – our luxurious spa. In this blog, we'll take you on a journey through the ultimate relaxation experience, highlighting the exquisite treatments and wellness rituals that await you at Babylon's Spa...</p>\n <div class=\"btns__box \">\n <a href=\"blog-detail\" class=\"btn btn_primary\">\n <b>Learn More</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div>\n </div>\n <div class=\"cs_post cs_style_1 cs_size_5\">\n <a href=\"blog-detail\" class=\"cs_post_thumb cs--radius overflow-hidden d-block cs_mb_30 position-relative\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Feature\">\n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div>\n <h2 class=\"cs_post_title title1\">\n <a href=\"#\" class=\"title--small\">A Journey into Our Luxurious Resort</a>\n </h2>\n <p class=\"cs_subtitle text\">Nestled amidst the tranquil coastal surroundings of Babylon Resort lies a sanctuary of serenity and rejuvenation – our luxurious spa. In this blog, we'll take you on a journey through the ultimate relaxation experience, highlighting the exquisite treatments and wellness rituals that await you at Babylon's Spa...</p>\n <div class=\"btns__box \">\n <a href=\"blog-detail\" class=\"btn btn_primary\">\n <b>Learn More</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div>\n </div>\n <div class=\"cs_post cs_style_1 cs_size_5\">\n <a href=\"blog-detail\" class=\"cs_post_thumb cs--radius overflow-hidden d-block cs_mb_30 position-relative\">\n <img src=\"/assets/babylon/fotos/post_thumb_25.jpeg\" alt=\"Feature\">\n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta_4 cs_mb_13 pretitle\">\n <span>categoria</span>\n <span>3 Aug 2024</span> \n </div>\n <h2 class=\"cs_post_title title1\">\n <a href=\"#\" class=\"title--small\">A Journey into Our Luxurious Resort</a>\n </h2>\n <p class=\"cs_subtitle text\">Nestled amidst the tranquil coastal surroundings of Babylon Resort lies a sanctuary of serenity and rejuvenation – our luxurious spa. In this blog, we'll take you on a journey through the ultimate relaxation experience, highlighting the exquisite treatments and wellness rituals that await you at Babylon's Spa...</p>\n <div class=\"btns__box \">\n <a href=\"blog-detail\" class=\"btn btn_primary\">\n <b>Learn More</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div>\n </div>\n \n </div>\n <div class=\"col-lg-4\">\n <div class=\"cs_sidebar cs_right_sidebar\">\n <div class=\"cs_sidebar_item widget_search\">\n <form class=\"cs_sidebar_search\" action=\"#\">\n <input type=\"text\" placeholder=\"Search...\">\n <button class=\"cs_sidebar_search_btn\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_658_659)\">\n <path d=\"M17.7808 16.7198L13.3041 12.243C14.524 10.751 15.1239 8.84707 14.9795 6.92518C14.8351 5.00328 13.9575 3.2104 12.5283 1.91739C11.099 0.624387 9.22751 -0.0698265 7.3008 -0.0216526C5.37409 0.0265212 3.5396 0.813397 2.17678 2.17621C0.813961 3.53903 0.0270858 5.37352 -0.0210881 7.30024C-0.0692619 9.22695 0.624952 11.0985 1.91796 12.5277C3.21097 13.9569 5.00384 14.8345 6.92574 14.9789C8.84764 15.1233 10.7515 14.5235 12.2436 13.3035L16.7203 17.7803C16.8618 17.9169 17.0512 17.9925 17.2479 17.9908C17.4445 17.9891 17.6326 17.9102 17.7717 17.7711C17.9107 17.6321 17.9896 17.444 17.9913 17.2473C17.993 17.0507 17.9174 16.8612 17.7808 16.7198ZM7.50057 13.5C6.31388 13.5 5.15384 13.1481 4.16715 12.4888C3.18045 11.8295 2.41142 10.8925 1.95729 9.79611C1.50317 8.69975 1.38435 7.49335 1.61586 6.32946C1.84737 5.16558 2.41881 4.09648 3.25793 3.25736C4.09704 2.41825 5.16614 1.8468 6.33003 1.61529C7.49391 1.38378 8.70031 1.5026 9.79667 1.95673C10.893 2.41085 11.8301 3.17989 12.4894 4.16658C13.1487 5.15328 13.5006 6.31332 13.5006 7.5C13.4988 9.09076 12.8661 10.6158 11.7412 11.7407C10.6164 12.8655 9.09132 13.4982 7.50057 13.5Z\" fill=\"currentColor\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_658_659\">\n <rect width=\"18\" height=\"18\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg> \n </button>\n </form>\n </div>\n <div class=\"cs_sidebar_item widget_categories\">\n <h4 class=\"title--small mb--20\">Categories</h4>\n <ul>\n <li class=\"cat-item\">\n <a href=\"#\">Luxury Hotel (0)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Resort (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Travel (2)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Restaurant (5)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n <li class=\"cat-item\">\n <a href=\"#\">Tour Agency (1)</a>\n </li>\n </ul>\n </div>\n <div class=\"cs_sidebar_item\">\n <h4 class=\"title--small mb--20\">Latest post</h4>\n <ul class=\"cs_recent_posts\">\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Discovering Hidden Treasures Near Babylon</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Rejuvenation Tips from Babylon's Spa Experts</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Finding Tranquility at Babylon Resort</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n <li>\n <div class=\"cs_recent_post\">\n <h3 class=\"title--smaller mb--10\"><a href=\"#\">Babylon's Commitment to Eco-Friendly Practices</a></h3>\n <em class=\"text--small\">Apr 10, 2024</em>\n </div>\n </li>\n </ul>\n </div> \n </div>\n </div>\n </div>\n </div> \n </section>","import { Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-breadcrumb',\n standalone: true,\n imports: [CommonModule, RouterModule],\n templateUrl: './babylon-breadcrumb.component.html',\n styleUrl: './babylon-breadcrumb.component.scss'\n})\nexport class BabylonBreadcrumbComponent {\n\n @Input() links?: BabylonButtonI[];\n\n linkClick(e: Event) {\n e.preventDefault();\n }\n}\n","@if (links?.length) {\n <section class=\"auroa__breadcrump\">\n <div class=\"container-fluid\">\n <ol class=\"breadcrump\">\n @for (link of links; track $index; let last = $last) {\n <li class=\"breadcrump__element\">\n <a\n class=\"breadcrump__item\"\n [ngClass]=\"{ 'breadcrump__element--active': last }\"\n [href]=\"link.url\"\n [routerLink]=\"link.url\"\n (click)=\"linkClick($event)\"\n >{{ link.label }}</a\n >\n </li>\n \n }\n </ol>\n </div>\n </section>\n \n }","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonComingSoonI } from './babylon-comingsoon.interface';\n\n@Component({\n selector: 'lib-babylon-comingsoon',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-comingsoon.component.html',\n styleUrl: './babylon-comingsoon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonComingsoonComponent {\n @Input() props?: BabylonComingSoonI;\n}\n\nexport interface BabylonTextsComingSoonI {\n title?: string;\n subtitle?: string;\n copyright?: string;\n}\n\nexport interface BabylonSMComingSoonI {\n name?: string;\n url?: string;\n}\n\n","<section class=\"babylon__comingsoon margin-main-botom\">\n <div class=\"cs_parallax_slider loading overflow-hidden position-relative\">\n <div class=\"swiper-wrapper\">\n @if(props?.images?.length){\n @for(image of props?.images; track $index){\n <div class=\"swiper-slide\">\n <div class=\"cs_hero cs_style_1 cs_center text-center position-relative\">\n <figure class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\" [attr.data-src]=\"image.src\" dataBackground=\"url('{{image?.src}}')\"></figure>\n </div>\n </div>\n }\n }\n </div>\n</div> \n <div class=\"container1 babylon__comingsoon--text \">\n <div class=\"cs_hero_text intro_info no-align align--center intro_info--light\"> \n @if(props?.logo) {\n <img [src]=\"props?.logo?.src\" alt=\"Logo\" class=\"logo mb--40\">\n }\n \n @if(props?.texts?.title) {\n <h1 class=\"title mb--10\">{{props?.texts?.title}}\n </h1>\n }\n @if(props?.texts?.subtitle) {\n <h2 class=\"subtitle\">{{props?.texts?.subtitle}}</h2>\n } \n @if(props?.link) {\n <a [href]=\"props?.link?.url\" class=\"btn-link btn-link--light\">\n <b>{{props?.link?.label}}</b>\n </a>\n }\n @if(props?.button?.label) {\n <div class=\"btns__box align--center\">\n <a [href]=\"props?.button?.url\" class=\"btn btn_call btn--light\">\n <b>{{props?.button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n } \n </div>\n </div>\n <div class=\"foot\">\n <div class=\"container-fluid \">\n <div class=\"foot-inner\">\n @if(props?.texts?.copyright) {\n <div class=\"copyright\">\n <p>{{props?.texts?.copyright}}</p>\n </div>\n } \n @if(props?.socialMedia?.length) {\n <ul class=\"cs_social_btns cs_style_1\"> \n @if(props?.socialMedia){\n @for(sm of props?.socialMedia; track $index){\n <li><a [href]=\"sm.url\" class=\"cs_center\"><i [ngClass]=\"'babylon-' + sm.name?.toLowerCase()\" [class]=\"'babylon-' + sm.name\"></i></a></li>\n }\n }\n </ul> \n }\n </div>\n </div>\n </div>\n</section>\n\n ","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Directive({\n selector: '[linkType]',\n standalone: true,\n})\nexport class BabylonLinkTypeDirective implements OnInit {\n @Input() linkType?: string;\n @Input() href?: string;\n @Output() anchorClicked = new EventEmitter<void>();\n\n constructor(\n private readonly router: Router,\n private readonly elRef: ElementRef\n ) {}\n ngOnInit(): void {\n if (!this.linkType || !this.href) {\n this.handleNoLink();\n return;\n }\n this.elRef.nativeElement.setAttribute('href', this.href);\n }\n\n @HostListener('click', ['$event'])\n btnClick(event: Event): void {\n if (!this.linkType || !this.href) {\n this.handleNoLink();\n return;\n }\n\n if (!this.linkType) {\n console.warn('linkType is missing.');\n return;\n }\n\n event.preventDefault();\n\n switch (this.linkType) {\n case 'internal':\n this.handleInternalLink(this.href);\n break;\n\n case 'internal_link':\n this.handleInternalLink(this.href);\n break;\n\n case 'external':\n this.handleExternalLink(this.href);\n break;\n\n case 'external_link':\n this.handleExternalLink(this.href);\n break;\n\n case 'anchor':\n this.handleAnchorLink(this.href);\n break;\n\n case 'pdf_link':\n this.handlePdfLink(this.href);\n break;\n\n case 'nolink':\n this.handleNoLink();\n break;\n\n default:\n console.warn(`Unsupported linkType: ${this.linkType}`);\n break;\n }\n }\n\n private handleInternalLink(url: string): void {\n const cleanedUrl = url.trim().replace(/\\/+$/, '');\n this.router.navigateByUrl('/' + cleanedUrl);\n }\n\n private handleExternalLink(url: string): void {\n window.open(url, '_blank');\n }\n\n private handlePdfLink(url: string): void {\n window.open(url, '_blank');\n }\n\n private handleAnchorLink(sectionId: string): void {\n const element = document.getElementById(sectionId);\n if (element) {\n const yOffset = -160;\n const y =\n element.getBoundingClientRect().top + window.scrollY + yOffset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n this.anchorClicked.emit();\n } else {\n console.warn(`Section with ID ${sectionId} not found.`);\n }\n }\n\n private handleNoLink(): void {\n this.elRef.nativeElement.removeAttribute('href');\n this.elRef.nativeElement.removeAttribute('[href]');\n this.elRef.nativeElement.style.pointerEvents = 'none';\n this.elRef.nativeElement.style.cursor = 'default';\n this.elRef.nativeElement.setAttribute('aria-disabled', 'true');\n this.elRef.nativeElement.setAttribute('tabindex', '-1');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-contact-address',\n standalone: true,\n imports: [\n CommonModule,\n BabylonLinkTypeDirective\n ],\n templateUrl: './babylon-contact-address.component.html',\n styleUrl: './babylon-contact-address.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactAddressComponent{\n @Input() info?: BabylonContactFormInfo;\n}\n\nexport interface BabylonContactFormInfo {\n address?: BabylonContactFormInfoItem;\n email?: BabylonContactFormInfoItem;\n phone?: BabylonContactFormInfoItem;\n}\n\nexport interface BabylonContactFormInfoItem {\n icon?: string;\n title?: string;\n text?: string;\n links?: ({ smallText?: string } & BabylonButtonI)[];\n}\n\n","<section class=\"babylon__contact-address margin-main\">\n <div class=\"container\">\n @if(info){\n <div class=\"cs_contact_info_boxes\">\n @if (info.address) {\n <div class=\"cs_contact_info_box\">\n <div class=\"cs_iconbox cs_style_4\">\n @if (info.address.icon; as icon) {\n <div class=\"cs_iconbox_icon cs_center rounded-circle\">\n <div class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"icon\"></i>\n </div>\n </div>\n }\n <div class=\"cs_iconbox_right\">\n <div class=\"intro_info1 no-align\">\n @if (info.address.title; as title) {\n <h2 class=\"title--smaller mb--0\">{{ title }}</h2>\n } @if (info.address.text; as text) {\n <p class=\"text mb--0\">{{ text }}</p>\n }\n </div>\n </div>\n </div>\n </div>\n } @if (info.email;as email) {\n <div class=\"cs_contact_info_box\">\n <div class=\"cs_iconbox cs_style_4\">\n @if(email.icon;as icon){\n <div class=\"cs_iconbox_icon cs_center rounded-circle\">\n <div class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"icon\"></i>\n </div>\n </div>\n }\n <div class=\"cs_iconbox_right\">\n <div class=\"intro_info1 no-align\">\n @if(email.title;as title){\n <h2 class=\"title--smaller mb--0\">{{ title }}</h2>\n } @if(email.links; as links) {\n <p class=\"text mb--0\">\n @for (link of links; track $index; let last =\n $last) {\n <a [href]=\"link.url\" [linkType]=\"link.linkType\">{{ link.label }}</a>\n @if(!last){-} }\n </p>\n }\n </div>\n </div>\n </div>\n </div>\n } @if (info.phone;as phone) {\n <div class=\"cs_contact_info_box\">\n <div class=\"cs_iconbox cs_style_4\">\n @if(phone.icon;as icon){\n <div class=\"cs_iconbox_icon cs_center rounded-circle\">\n <div class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"icon\"></i>\n </div>\n </div>\n }\n <div class=\"cs_iconbox_right\">\n <div class=\"intro_info1 no-align\">\n @if (phone.title; as title) {\n <h2 class=\"title--smaller mb--0\">{{ title }}</h2>\n } @if (phone.links; as links) { @for (link of links;\n track $index) {\n <p class=\"text mb--0\">\n <a [href]=\"link.url\" [linkType]=\"link.linkType\">{{ link.label }}</a>\n </p>\n } }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n signal,\n} from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\nimport {\n FormBuilder,\n FormsModule,\n ReactiveFormsModule,\n FormGroup,\n Validators,\n AbstractControl,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonDropdownI } from '../../../interfaces/babylon-dropdown.interface';\nimport { DropdownModule } from 'primeng/dropdown';\n\n@Component({\n selector: 'lib-babylon-contact-form',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n DropdownModule,\n ],\n templateUrl: './babylon-contact-form.component.html',\n styleUrl: './babylon-contact-form.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactFormComponent implements OnInit {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() description?: string;\n @Input() inputs?: BabylonInputI[];\n @Input() textarea?: BabylonInputI;\n @Input() conditions?: string;\n @Input() conditions2?: string;\n @Input() button?: BabylonButtonI;\n @Input() image?: BabylonImageI;\n @Input() dropdown?: BabylonDropdownI;\n\n @Output() submit = new EventEmitter<any>();\n\n form!: FormGroup;\n\n formReady = signal<boolean>(false);\n\n constructor(private readonly fb: FormBuilder) {}\n\n ngOnInit(): void {\n this.initializeForm();\n }\n\n initializeForm(): void {\n const controls: { [key: string]: any } = {};\n\n this.inputs?.forEach((input) => {\n if (input.id) {\n const existingValidators = [...(input.validators || [])];\n\n const validators =\n input.id === 'phone'\n ? [...existingValidators, this.phoneValidator()]\n : existingValidators;\n controls[input.id] = ['', validators];\n }\n });\n\n if (this.textarea && this.textarea.id) {\n controls[this.textarea.id] = ['', this.textarea?.validators || []];\n }\n\n if (this.conditions) {\n controls['checkbox'] = [false, Validators.requiredTrue];\n }\n if (this.conditions2) {\n controls['checkbox2'] = [false, Validators.requiredTrue];\n }\n if (this.dropdown) {\n controls['dropdown'] = ['', Validators.required];\n }\n\n this.form = this.fb.group(controls);\n this.formReady.set(true);\n }\n\n validateInput(input: BabylonInputI): void {\n if (input && input.id) {\n const control = this.form.get(input.id);\n if (control) {\n input.valid = control.errors === null;\n }\n }\n }\n\n inputChange(event: Event, input: BabylonInputI): void {\n const inputElement = event.target as HTMLInputElement;\n\n if (input.type === 'tel') {\n inputElement.value = inputElement.value.replace(/[^0-9+]/g, '');\n }\n }\n\n resetForm(): void {\n this.form?.reset();\n\n Object.values(this.form.controls).forEach((control) => {\n control.markAsPristine();\n control.markAsUntouched();\n control.updateValueAndValidity();\n });\n\n if (this.textarea) {\n this.textarea.value = '';\n }\n this.inputs?.forEach((input) => {\n input.value = '';\n });\n }\n\n submitForm(e: Event): void {\n e.preventDefault();\n this.form.updateValueAndValidity();\n if (this.form.invalid) {\n this.markAllControlsAsTouched();\n this.inputs?.forEach((input) => this.validateInput(input));\n if (this.textarea) this.validateInput(this.textarea);\n return;\n }\n this.submit.emit(this.form.value);\n this.resetForm();\n }\n\n markAllControlsAsTouched(): void {\n Object.values(this.form.controls).forEach((control) => {\n control.markAsTouched();\n });\n\n this.inputs?.forEach((input) => this.validateInput(input));\n if (this.textarea) this.validateInput(this.textarea);\n }\n\n phoneValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!control.value) {\n return null;\n }\n\n const phoneRegex = /^(?:[+ ]?)[\\d -]{7,15}$/;\n const valid = phoneRegex.test(control.value);\n return valid ? null : { invalidPhone: true };\n };\n }\n}\n","<section class=\"babylon__contact-form margin-main\">\n <div class=\"container\">\n <div class=\"row cs_gap_y_50\">\n <div class=\"col-lg-6\">\n <div class=\"cs_pr_100\">\n <div class=\"intro_info mb--40\">\n @if (pretitle) {\n <h3 class=\"subtitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ title }}\n </h2>\n }\n @if (description) {\n <p class=\"text mb--0\">{{ description }}</p>\n }\n </div>\n @if (formReady()) {\n <form\n [formGroup]=\"form\"\n id=\"contactform\"\n class=\"cs_form cs_style_2\"\n >\n @if (dropdown) {\n <div>\n @if (dropdown.title) {\n <label class=\"text mb--10\"\n >{{ dropdown.title }}*</label\n >\n }\n <p-dropdown\n class=\"cs_form_field_2 cs--radius form-control\"\n [options]=\"dropdown.options\"\n formControlName=\"dropdown\"\n [placeholder]=\"dropdown.placeholder\"\n optionLabel=\"name\"\n >\n </p-dropdown>\n @if (\n form.controls['dropdown'].invalid &&\n form.controls['dropdown'].touched\n ) {\n <div class=\"form-warning\">\n <small>{{ dropdown.error }}</small>\n </div>\n }\n </div>\n }\n @if (inputs?.length) {\n @for (input of inputs; track $index) {\n <div>\n @if (input.title) {\n <label class=\"text mb--10\"\n >{{ input.title }}*</label\n >\n }\n <input\n class=\"cs_form_field_2 cs--radius\"\n [type]=\"input.type\"\n [id]=\"input.name\"\n [name]=\"input.name\"\n [placeholder]=\"input.title\"\n [formControlName]=\"input.id!\"\n [value]=\"input.value\"\n (blur)=\"validateInput(input)\"\n (change)=\"\n inputChange($event, input)\n \"\n />\n @if (\n form.controls[input.id!].invalid &&\n form.controls[input.id!].touched\n ) {\n <div class=\"form-warning\">\n <small>{{\n input?.error\n }}</small>\n </div>\n }\n </div>\n }\n }\n @if (textarea) {\n <div>\n @if (textarea.title) {\n <label class=\"text mb--10\"\n >{{ textarea.title }}*</label\n >\n }\n <textarea\n cols=\"30\"\n rows=\"6\"\n class=\"cs_form_field_2 cs--radius\"\n [id]=\"textarea.name\"\n [formControlName]=\"textarea.id!\"\n [placeholder]=\"textarea.title\"\n ></textarea>\n @if (\n form.controls[textarea.id!].invalid &&\n form.controls[textarea.id!].touched\n ) {\n <div class=\"form-warning\">\n <small>{{ textarea.error }}</small>\n </div>\n }\n </div>\n }\n @if (conditions) {\n <div class=\"item-check \">\n <mat-checkbox\n class=\"formcontrol\"\n formControlName=\"checkbox\"\n [ngClass]=\"{\n 'error-checkbox':\n form.controls['checkbox']\n .invalid &&\n form.controls['checkbox']\n .touched,\n }\"\n ></mat-checkbox>\n <span\n class=\"conditions\"\n [innerHTML]=\"conditions\"\n >\n </span>\n </div>\n }\n @if (conditions2) {\n <div class=\" \">\n <mat-checkbox\n class=\"formcontrol\"\n formControlName=\"checkbox2\"\n [ngClass]=\"{\n 'error-checkbox':\n form.controls['checkbox2']\n .invalid &&\n form.controls['checkbox2']\n .touched,\n }\"\n ></mat-checkbox>\n <span\n class=\"conditions\"\n [innerHTML]=\"conditions2\"\n >\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btns__box align--center\">\n <button\n class=\"btn btn_primary\"\n type=\"submit\"\n [ngClass]=\"{\n 'pointers-none': form.invalid,\n }\"\n (click)=\"submitForm($event)\"\n >\n <b>{{ button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </button>\n </div>\n }\n </form>\n }\n </div>\n </div>\n @if (image) {\n <div class=\"col-lg-6\">\n <div class=\"cs_image_layer cs_style_3 position-relative\">\n <img [src]=\"image\" alt=\"Contact\" class=\"cs--radius\" />\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-contact-how',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-contact-how.component.html',\n styleUrl: './babylon-contact-how.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactHowComponent implements AfterViewInit {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonContactMapItem[];\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.cdr.detectChanges();\n }, 100);\n }\n}\n\nexport interface BabylonContactMapItem {\n title?: string;\n description?: string;\n icon?: string;\n}\n","<section class=\"babylon__contact-how margin-main \">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_30 cs_show_shadow_20\">\n <div class=\"container\">\n <div class=\"cs_section_heading_wrap_1\">\n <div class=\"cs_section_heading cs_style_1\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h3 class=\"pretitle wow fadeInLeft\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ pretitle }} </h3>\n } @if(title){\n <h2 class=\"title\">{{ title }}</h2>\n }\n </div>\n </div>\n <div class=\"cs_slider_arrows cs_style_4\">\n <div class=\"cs_left_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\" cs_right_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n\n <div class=\"cs_full_width_right\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container2\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"1\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"2\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_iconbox cs_style_3 cs--radius bg--white\">\n <div class=\"cs_iconbox_icon cs_mb_29 cs_center cs--radius bg--white\">\n <div class=\"info--icon icon--medium \">\n <i class=\"icon--svg icon-plane1_ico_big\" [ngClass]=\"item.icon\"></i>\n </div>\n </div>\n <h3 class=\"title--small mb--10\">{{ item.title }}</h3>\n <p class=\"text\">{{ item.description }}</p>\n </div>\n </div>\n }\n }\n\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cs_height_50 cs_height_lg_40\"></div>\n </section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-contact-map',\n standalone: true,\n imports: [ BabylonLinkTypeDirective],\n templateUrl: './babylon-contact-map.component.html',\n styleUrl: './babylon-contact-map.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonContactMapComponent {\n @Input() contentUrl?: string;\n @Input() mapImage?: BabylonImageI;\n @Input() button?: BabylonButtonI;\n\n get safeUrl(): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(this.contentUrl!);\n }\n\n constructor(private readonly sanitizer: DomSanitizer) {}\n}\n","<section class=\"babylon__contact-map margin-main\">\n <div class=\"cs_google_map cs_style_1\">\n @if (contentUrl) {\n <iframe [src]=\"safeUrl\" allowfullscreen loading=\"lazy\" title=\"map\"></iframe>\n } @else {\n @if (mapImage) {\n <img [src]=\"mapImage.src\" [alt]=\"mapImage.src\" loading=\"lazy\" />\n }\n }\n @if (button){\n <a [href]=\"button.url\" [linkType]=\"button.linkType\" class=\"btn btn_call\">{{button.label}}</a>\n }\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonDropdownI } from '../../../interfaces/babylon-dropdown.interface';\nimport { DropdownOption } from '../babylon-rooms-cols/babylon-rooms-cols.component';\n\n@Component({\n selector: 'lib-babylon-guests-popup',\n standalone: true,\n imports: [CommonModule, FormsModule, DropdownModule, ReactiveFormsModule],\n templateUrl: './babylon-guests-popup.component.html',\n styleUrl: './babylon-guests-popup.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonGuestsPopupComponent implements OnChanges, OnInit {\n @Input() defaultValue?: any;\n @Input() adultsDropdown?: BabylonDropdownI;\n @Input() kidsDropdown?: BabylonDropdownI;\n @Input() babiesDropdown?: BabylonDropdownI;\n @Input() agesDropdown?: BabylonDropdownI;\n @Input() kidsLabel?: string;\n @Input() agesLabel?: string;\n @Input() btn?: BabylonButtonI;\n @Input() onlyAdults?: boolean;\n\n @Output() apply = new EventEmitter<guestsValue>();\n\n value: guestsValue = {\n adultsValue: { code: 1, name: '01' },\n kidsValue: {},\n infantsValue: {},\n };\n\n kids: number[] = [];\n agesValue: DropdownOption[] = [];\n\n applied = false;\n kidsApplied = true;\n\n private isDropdownCleaned = new Set<string>();\n\n ngOnChanges(changes: SimpleChanges): void {\n this.cleanIfNeeded('adultsDropdown', changes);\n this.cleanIfNeeded('kidsDropdown', changes);\n this.cleanIfNeeded('babiesDropdown', changes);\n this.cleanIfNeeded('agesDropdown', changes);\n }\n\n ngOnInit(): void {\n if (this.defaultValue) {\n this.value.adultsValue = this.adultsDropdown?.options?.find(\n o => o.code === this.defaultValue.adultsValue?.code\n );\n \n this.value.infantsValue = this.babiesDropdown?.options?.find(\n o => o.code === this.defaultValue.infantsValue?.code\n );\n \n if (this.defaultValue.kidsValue?.code != undefined) {\n this.value.kidsValue = this.kidsDropdown?.options?.find(\n o => o.code === this.defaultValue.kidsValue.code\n );\n \n const count = Number(this.value.kidsValue?.code);\n this.kids = Array.from({ length: count }, (_, i) => i + 1);\n \n this.agesValue = this.defaultValue.kidsValue.ages ?? [];\n }\n }\n }\n\n private cleanIfNeeded(\n key: keyof BabylonGuestsPopupComponent,\n changes: SimpleChanges\n ): void {\n if (changes[key] && !this.isDropdownCleaned.has(key)) {\n const dropdown = this[key] as BabylonDropdownI | undefined;\n const cleaned = this.cleanDropdownNames(dropdown);\n (this as any)[key] = cleaned;\n this.isDropdownCleaned.add(key);\n }\n }\n\n private cleanDropdownNames(\n dropdown?: BabylonDropdownI\n ): BabylonDropdownI | undefined {\n if (!dropdown?.options) return dropdown;\n\n dropdown.options = dropdown.options.map((opt) => {\n let name = opt.name;\n\n if (\n typeof name === 'string' &&\n /^[0-9]+$/.test(name) &&\n name.length > 1\n ) {\n name = String(Number(name));\n }\n\n return {\n ...opt,\n name,\n };\n });\n\n return dropdown;\n }\n\n openDropdown(dropdown: Dropdown): void {\n dropdown.show();\n }\n\n dropdownChange(data: DropdownOption, place: 'kids' | 'babies' | 'adults') {\n switch (place) {\n case 'adults':\n this.value.adultsValue = data;\n break;\n case 'kids':\n this.applied = false;\n if (data.code) this.kidsApplied = false;\n this.value.kidsValue = data;\n this.kids = [];\n this.agesValue = [];\n for (let i = 0; i < Number(data.code); i++) {\n this.kids?.push(i + 1);\n this.agesValue.push({ code: 3, name: '03' });\n }\n break;\n case 'babies':\n this.value.infantsValue = data;\n\n break;\n\n default:\n break;\n }\n }\n\n applyData(): void {\n this.applied = true;\n this.apply.emit(this.value);\n }\n\n applyAges(): void {\n if (this.value && this.value.kidsValue) {\n this.value.kidsValue.ages = this.agesValue;\n }\n this.applied = true;\n this.kidsApplied = true;\n }\n}\n\nexport interface guestsValue {\n adultsValue?: DropdownOption;\n kidsValue?: DropdownOption;\n infantsValue?: DropdownOption;\n}\n","<div class=\"babylon__guests d-flex flex-column\">\n @if (adultsDropdown) {\n <div\n class=\"babylon__guests__dropdown--wrapper\"\n (click)=\"openDropdown(adultsDropdownRef)\"\n >\n <span class=\"babylon__guests__icon babylon-adult\"></span>\n <div class=\"babylon__guests__dropdown--content\">\n <div class=\"babylon__guests__dropdown--title-wrapper\">\n @if (adultsDropdown.title) {\n <span\n class=\"babylon__guests__dropdown--title color--brown\"\n >\n {{ adultsDropdown.title }}\n </span>\n }\n </div>\n\n <p-dropdown\n (click)=\"$event.preventDefault()\"\n class=\"babylon__guests__dropdown\"\n [options]=\"adultsDropdown.options\"\n [(ngModel)]=\"value.adultsValue\"\n [placeholder]=\"adultsDropdown.placeholder\"\n name=\"adults\"\n optionLabel=\"name\"\n #adultsDropdownRef\n (ngModelChange)=\"dropdownChange($event, 'adults')\"\n >\n </p-dropdown>\n </div>\n </div>\n }\n @if (kidsDropdown && !onlyAdults) {\n <div\n class=\"babylon__guests__dropdown--wrapper\"\n (click)=\"openDropdown(kidsDropdownRef)\"\n >\n <span class=\"babylon__guests__icon babylon-kid\"></span>\n <div class=\"babylon__guests__dropdown--content\">\n <div class=\"babylon__guests__dropdown--title-wrapper\">\n @if (kidsDropdown.title) {\n <span\n class=\"babylon__guests__dropdown--title color--brown\"\n >\n {{ kidsDropdown.title }}\n </span>\n }\n @if (kidsDropdown.smallTitle) {\n <small\n class=\"babylon__guests__dropdown--small-title color--camel\"\n >\n {{ kidsDropdown.smallTitle }}\n </small>\n }\n </div>\n\n <p-dropdown\n (click)=\"$event.preventDefault()\"\n class=\"babylon__guests__dropdown\"\n [options]=\"kidsDropdown.options\"\n [(ngModel)]=\"value.kidsValue\"\n [placeholder]=\"kidsDropdown.placeholder\"\n name=\"kids\"\n optionLabel=\"name\"\n #kidsDropdownRef\n (ngModelChange)=\"dropdownChange($event, 'kids')\"\n >\n </p-dropdown>\n </div>\n <span\n class=\"icon-pointer-down babylon__guests__dropdown--icon\"\n ></span>\n </div>\n }\n @if (!applied && kids.length && !onlyAdults) {\n <div class=\"babylon__guests__kids py-6\">\n @if (agesLabel) {\n <header>\n <p class=\"text light m-0\">{{ agesLabel }}</p>\n </header>\n }\n <div>\n <div class=\"row gy-3 justify-content-between pb-4\">\n @for (\n kid of kids;\n track $index;\n let even = $even, last = $last\n ) {\n <div\n class=\"col-6\"\n [ngClass]=\"{ 'offset-3': last && even }\"\n >\n @if (kidsLabel) {\n <span class=\"text-small light\"\n >{{ kidsLabel }} {{ kid }}</span\n >\n }\n <div\n class=\"babylon__guests__dropdown--wrapper small\"\n >\n <p-dropdown\n class=\"babylon__guests__dropdown small\"\n [options]=\"agesDropdown?.options\"\n [(ngModel)]=\"agesValue[$index]\"\n optionLabel=\"name\"\n [placeholder]=\"\n agesDropdown?.options?.[0]?.name\n \"\n name=\"age\"\n >\n </p-dropdown>\n </div>\n </div>\n }\n </div>\n @if (btn) {\n <a class=\"btn btn-small btn_call\" (click)=\"applyAges()\">{{\n btn.label\n }}</a>\n }\n </div>\n </div>\n }\n @if (babiesDropdown && !onlyAdults) {\n <div\n class=\"babylon__guests__dropdown--wrapper\"\n (click)=\"openDropdown(babiesDropdownRef)\"\n >\n <span class=\"babylon__guests__icon babylon-baby\"></span>\n <div class=\"babylon__guests__dropdown--content\">\n <div class=\"babylon__guests__dropdown--title-wrapper\">\n @if (babiesDropdown.title) {\n <span\n class=\"babylon__guests__dropdown--title color--brown\"\n >\n {{ babiesDropdown.title }}\n </span>\n }\n @if (babiesDropdown.smallTitle) {\n <small\n class=\"babylon__guests__dropdown--small-title color--camel\"\n >\n {{ babiesDropdown.smallTitle }}\n </small>\n }\n </div>\n\n <p-dropdown\n (click)=\"$event.preventDefault()\"\n class=\"babylon__guests__dropdown\"\n [options]=\"babiesDropdown.options\"\n [(ngModel)]=\"value.infantsValue\"\n [placeholder]=\"babiesDropdown.placeholder\"\n name=\"infants\"\n optionLabel=\"name\"\n #babiesDropdownRef\n (ngModelChange)=\"dropdownChange($event, 'babies')\"\n >\n </p-dropdown>\n </div>\n <span\n class=\"icon-pointer-down babylon__guests__dropdown--icon\"\n ></span>\n </div>\n }\n @if (btn) {\n <a class=\"btn btn_call\" [class.disabled]=\"!kidsApplied\" (click)=\"applyData()\">{{ btn.label }}</a>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { Calendar, CalendarModule } from 'primeng/calendar';\nimport { DialogModule } from 'primeng/dialog';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGuestsPopupI } from '../babylon-guests-popup/babylon-guests-popup.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\nimport {\n BabylonGuestsPopupComponent,\n guestsValue,\n} from '../babylon-guests-popup/babylon-guests-popup.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\n\n@Component({\n selector: 'lib-babylon-engine',\n standalone: true,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CalendarModule,\n BabylonGuestsPopupComponent,\n DialogModule,\n DropdownModule,\n CommonModule,\n ],\n templateUrl: './babylon-engine.component.html',\n styleUrl: './babylon-engine.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonEngineComponent implements OnInit {\n @ViewChild('datepicker') datepicker!: Calendar;\n @ViewChild('datepickerIn') datepickerIn!: Calendar;\n @ViewChild('datepickerOut') datepickerOut!: Calendar;\n @Input() modal?: boolean;\n @Output() close = new EventEmitter<any>();\n datepickerValue = '';\n minDate: Date = new Date();\n\n @Input() datepickerData?: BabylonInputI;\n @Input() guestsInput?: BabylonInputI;\n @Input() promoInput?: BabylonInputI;\n @Input() guests?: BabylonGuestsPopupI;\n @Input() button?: BabylonButtonI;\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() url?: string;\n @Input() codigo?: string;\n @Input() lang?: string;\n @Input() glValue?: string;\n @Input() onlyAdults?: boolean;\n\n @ViewChild('hotelsDropdown', { static: false }) hotelsDropdown!: Dropdown;\n @Input() hotelsInput?: BabylonInputI;\n @Input() hotels?: BabylonHotelsDropdownI;\n @Input() hotelsPlaceholder?: string;\n hotelsValue: any;\n\n form = new FormGroup({\n hotels: new FormControl(undefined, [Validators.required]),\n dates: new FormControl('', [Validators.required]),\n guests: new FormControl('', [Validators.required]),\n promo: new FormControl('', [Validators.required]),\n });\n\n guestsValue = '';\n guestsValueSeparates: BabylonGuestValueI = {\n adults: 2,\n kids: {\n code: 0,\n codeAges: [],\n },\n infants: 0,\n };\n showingGuests = false;\n generatedUrl: string = '';\n private unsubscribe$ = new Subject<void>();\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.minDate.setHours(0, 0, 0, 0);\n this.guestsValue = '2';\n this.form.get('guests')?.setValue(this.guestsValue);\n\n this.updateGeneratedUrl();\n this.cdr.detectChanges();\n\n this.form.valueChanges\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(() => {\n this.updateGeneratedUrl();\n });\n }\n\n toggleHotelsDropdown(): void {\n if (this.hotelsDropdown) {\n this.hotelsDropdown.show();\n }\n }\n\n handleDropdownChange(event: any): void {\n this.hotelsValue = event.value;\n }\n\n toggleShowingGuests(): void {\n this.showingGuests = !this.showingGuests;\n }\n\n guestsChange(data: guestsValue) {\n this.guestsValueSeparates.adults = Number(data.adultsValue?.code);\n this.guestsValueSeparates.kids.code = Number(data.kidsValue?.code);\n this.guestsValueSeparates.kids.codeAges = data.kidsValue?.ages?.map(\n (age: any) => Number(age.code)\n );\n this.guestsValueSeparates.infants = Number(data.infantsValue?.code);\n\n const totalGuests =\n (Number(data.adultsValue?.code)\n ? Number(data.adultsValue?.code)\n : 0) +\n (Number(data.kidsValue?.code) ? Number(data.kidsValue?.code) : 0) +\n (Number(data.infantsValue?.code)\n ? Number(data.infantsValue?.code)\n : 0);\n this.guestsValue = totalGuests.toString();\n\n this.form?.get('guests')?.setValue(this.guestsValue);\n\n this.toggleShowingGuests();\n }\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n\n closeModal(): void {\n this.close.emit(this.form.value);\n }\n\n updateGeneratedUrl(): void {\n if (!this.form || !this.button?.url) {\n this.generatedUrl = this.button?.url || '';\n return;\n }\n\n const formValues = this.form.value;\n const params = new URLSearchParams();\n\n if (this.url) {\n const isMobile =\n /Mobi|Android|iPhone|iPad|iPod|Windows Phone/i.test(\n navigator.userAgent\n );\n const affiliate = `${this.codigo}_${this.lang}_${\n isMobile ? 'mobile' : 'PC'\n }`;\n params.append('affiliate', affiliate);\n }\n\n if (Array.isArray(formValues.dates) && formValues.dates.length === 2) {\n const [datein, dateout] = formValues.dates.map((date: string) =>\n this.formatDate(new Date(date))\n );\n params.append('datein', datein);\n params.append('dateout', dateout);\n }\n\n if (this.guestsValueSeparates.adults) {\n params.append(\n 'adultos',\n this.guestsValueSeparates.adults.toString()\n );\n }\n\n if (this.guestsValueSeparates.kids.code) {\n params.append(\n 'children',\n this.guestsValueSeparates.kids.code.toString()\n );\n }\n\n if (this.guestsValueSeparates.infants) {\n params.append(\n 'babies',\n this.guestsValueSeparates.infants.toString()\n );\n }\n\n this.appendGuestAges(params);\n\n if (formValues.promo) {\n params.append('prom', formValues.promo);\n params.append('prom_clean', '0');\n } else {\n params.append('prom_clean', '1');\n }\n\n if (this.glValue) params.append('_gl', this.glValue);\n\n if (formValues.hotels) {\n this.generatedUrl = `${this.hotelsValue?.url}?${params.toString()}`;\n } else {\n this.generatedUrl = `${this.button?.url}?${params.toString()}`;\n }\n }\n\n private appendGuestAges(params: URLSearchParams): void {\n const { infants, kids } = this.guestsValueSeparates;\n\n if (infants) {\n Array.from({ length: infants }).forEach(() =>\n params.append('guestAges', '0')\n );\n }\n\n if (kids?.codeAges?.length) {\n kids.codeAges.forEach((age) =>\n params.append('guestAges', age.toString())\n );\n }\n }\n\n private formatDate(date: Date): string {\n return date\n .toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n })\n .replace(/\\//g, '-');\n }\n\n get defaultGuestsValue(): guestsValue {\n return {\n adultsValue: {\n code: this.guestsValueSeparates.adults,\n name: String(this.guestsValueSeparates.adults).padStart(2, '0'),\n },\n kidsValue: {\n code: this.guestsValueSeparates.kids.code,\n name: String(this.guestsValueSeparates.kids.code).padStart(\n 2,\n '0'\n ),\n ages: this.guestsValueSeparates.kids.codeAges?.map((code) => ({\n code,\n name: String(code).padStart(2, '0'),\n })),\n },\n infantsValue: {\n code: this.guestsValueSeparates.infants,\n name: String(this.guestsValueSeparates.infants).padStart(\n 2,\n '0'\n ),\n },\n };\n }\n}\n\nexport interface BabylonHotelI {\n id?: string;\n name?: string;\n ticket?: string;\n}\n\nexport interface BabylonGuestValueI {\n adults: number;\n kids: {\n code?: number;\n codeAges?: number[];\n };\n infants: number;\n}\n\nexport interface BabylonHotelsDropdownI {\n placeholder?: string;\n options?: BabylonHotelDropdownOption[];\n title?: string;\n smallTitle?: string;\n error?: string;\n}\n\nexport interface BabylonHotelDropdownOption {\n name?: string;\n ticker?: string;\n url?: string;\n}\n","<!--Desktop Engine-->\n<div class=\"babylon__engine bg_white\" [ngClass]=\"{'engine__cadena': hotels}\">\n <form\n class=\"babylon__engine__form d-flex align-items-center\"\n [formGroup]=\"form\"\n >\n @if(hotelsInput && hotels && hotels.options && hotels.options.length > 1) {\n <div\n class=\"babylon__engine__input--wrapper d-flex align-items-center hotels\"\n >\n <p-dropdown\n class=\"babylon__engine__input\"\n [options]=\"hotels.options\"\n formControlName=\"hotels\"\n [placeholder]=\"hotelsPlaceholder\"\n optionLabel=\"name\"\n (onChange)=\"handleDropdownChange($event)\"\n #hotelsDropdown\n >\n </p-dropdown>\n\n <span\n class=\"babylon-arrow-bottom\"\n ></span>\n </div>\n }\n <div\n class=\"babylon__engine__datepicker--wrapper d-flex justify-content-between align-items-center\"\n >\n <p-calendar\n class=\"babylon__engine__datepicker\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n [(ngModel)]=\"datepickerValue\"\n selectionMode=\"range\"\n [numberOfMonths]=\"2\"\n [placeholder]=\"datepickerData?.placeholder\"\n formControlName=\"dates\"\n [minDate]=\"minDate\"\n #datepicker\n >\n </p-calendar>\n\n <span\n class=\"babylon__engine__datepicker--icon babylon-arrow-bottom\"\n ></span>\n </div>\n <div\n class=\"babylon__engine__input--wrapper d-flex align-items-center\"\n (click)=\"toggleShowingGuests()\"\n >\n <input\n class=\"babylon__engine__input\"\n type=\"text\"\n [placeholder]=\"guestsInput?.placeholder\"\n formControlName=\"guests\"\n />\n <span class=\"babylon-arrow-bottom\"></span>\n </div>\n <p-dialog class=\"babylon__engine__dialog\" [(visible)]=\"showingGuests\">\n <lib-babylon-guests-popup\n [onlyAdults]=\"onlyAdults\"\n [defaultValue]=\"defaultGuestsValue\"\n [adultsDropdown]=\"guests?.adultsDropdown\"\n [agesDropdown]=\"guests?.agesDropdown\"\n [agesLabel]=\"guests?.agesLabel\"\n [babiesDropdown]=\"guests?.babiesDropdown\"\n [kidsDropdown]=\"guests?.kidsDropdown\"\n [kidsDropdown]=\"guests?.kidsDropdown\"\n [btn]=\"guests?.btn\"\n (apply)=\"guestsChange($event)\"\n ></lib-babylon-guests-popup>\n </p-dialog>\n <div\n class=\"babylon__engine__input--wrapper d-flex align-items-center promo-code\"\n >\n <input\n class=\"babylon__engine__input\"\n type=\"text\"\n [placeholder]=\"promoInput?.placeholder\"\n formControlName=\"promo\"\n />\n <span class=\"babylon-tag\"></span>\n </div>\n\n @if (button) {\n <a\n [href]=\"generatedUrl\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"btn btn_call\"\n id=\"btn-submit\"\n >\n {{ button.label }}\n </a>\n }\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { Calendar, CalendarModule } from 'primeng/calendar';\nimport { DialogModule } from 'primeng/dialog';\nimport { Dropdown, DropdownModule } from 'primeng/dropdown';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGuestsPopupI } from '../babylon-guests-popup/babylon-guests-popup.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\nimport {\n BabylonGuestsPopupComponent,\n guestsValue,\n} from '../babylon-guests-popup/babylon-guests-popup.component';\nimport { BabylonGuestValueI } from '../babylon-engine/babylon-engine.component';\nimport { Subject, takeUntil } from 'rxjs';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-engine-modal',\n standalone: true,\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CalendarModule,\n BabylonGuestsPopupComponent,\n DialogModule,\n DropdownModule,\n CommonModule,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-engine-modal.component.html',\n styleUrl: './babylon-engine-modal.component.scss',\n})\nexport class BabylonEngineModalComponent implements OnInit {\n @ViewChild('datepicker') datepicker!: Calendar;\n @Input() modal?: boolean;\n @Output() close = new EventEmitter<any>();\n datepickerValue = '';\n minDate: Date = new Date();\n\n @Input() datepickerData?: BabylonInputI;\n @Input() guestsInput?: BabylonInputI;\n @Input() promoInput?: BabylonInputI;\n @Input() button?: BabylonButtonI;\n @Input() guests?: BabylonGuestsPopupI;\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() lang?: string;\n @Input() url?: string;\n @Input() codigo?: string;\n @Input() glValue?: string;\n @Input() onlyAdults?: boolean;\n\n @ViewChild('hotelsDropdown', { static: false }) hotelsDropdown!: Dropdown;\n @Input() hotelsInput?: BabylonInputI;\n @Input() hotels?: BabylonHotelsModalDropdownI;\n @Input() hotelsPlaceholder?: string;\n hotelsValue: any;\n\n formModal = new FormGroup({\n hotels: new FormControl(undefined, [Validators.required]),\n dates: new FormControl('', [Validators.required]),\n guests: new FormControl('', [Validators.required]),\n promo: new FormControl('', [Validators.required]),\n });\n\n guestsValue = '';\n guestsValueSeparates: BabylonGuestValueI = {\n adults: 2,\n kids: {\n code: 0,\n codeAges: [],\n },\n infants: 0,\n };\n generatedUrl: string = '';\n private unsubscribe$ = new Subject<void>();\n showingGuests = false;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private readonly dialogRef: MatDialogRef<BabylonEngineModalComponent>,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.minDate.setHours(0, 0, 0, 0);\n this.guestsValue = '2';\n this.formModal.get('guests')?.setValue(this.guestsValue);\n\n this.updateGeneratedUrl();\n this.cdr.detectChanges();\n\n this.formModal.valueChanges\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe(() => {\n this.updateGeneratedUrl();\n });\n }\n\n openCalendar(): void {\n this.datepicker.toggle();\n }\n\n toggleHotelsDropdown(): void {\n if (this.hotelsDropdown) {\n this.hotelsDropdown.show();\n }\n }\n\n handleDropdownChange(event: any): void {\n this.hotelsValue = event.value;\n }\n\n toggleShowingGuests(): void {\n this.showingGuests = !this.showingGuests;\n }\n\n guestsChange(data: guestsValue) {\n this.guestsValueSeparates.adults = Number(data.adultsValue?.code);\n this.guestsValueSeparates.kids.code = Number(data.kidsValue?.code);\n this.guestsValueSeparates.kids.codeAges = data.kidsValue?.ages?.map(\n (age) => Number(age.code)\n );\n this.guestsValueSeparates.infants = Number(data.infantsValue?.code);\n\n const totalGuests =\n (Number(data.adultsValue?.code)\n ? Number(data.adultsValue?.code)\n : 0) +\n (Number(data.kidsValue?.code) ? Number(data.kidsValue?.code) : 0) +\n (Number(data.infantsValue?.code)\n ? Number(data.infantsValue?.code)\n : 0);\n this.guestsValue =\n totalGuests < 10\n ? '0' + totalGuests.toString()\n : totalGuests.toString();\n\n this.formModal?.get('guests')?.setValue(this.guestsValue);\n\n this.toggleShowingGuests();\n }\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n\n closeModal(): void {\n this.close.emit(this.formModal.value);\n this.dialogRef.close();\n }\n\n updateGeneratedUrl(): void {\n if (!this.formModal || !this.button?.url) {\n this.generatedUrl = this.button?.url || '';\n return;\n }\n\n const formValues = this.formModal.value;\n const params = new URLSearchParams();\n\n if (this.url) {\n const isMobile =\n /Mobi|Android|iPhone|iPad|iPod|Windows Phone/i.test(\n navigator.userAgent\n );\n const affiliate = `${this.codigo}_${this.lang}_${\n isMobile ? 'mobile' : 'PC'\n }`;\n params.append('affiliate', affiliate);\n }\n\n if (Array.isArray(formValues.dates) && formValues.dates.length === 2) {\n const [datein, dateout] = formValues.dates.map((date: string) =>\n this.formatDate(new Date(date))\n );\n params.append('datein', datein);\n params.append('dateout', dateout);\n }\n\n if (this.guestsValueSeparates.adults) {\n params.append(\n 'adultos',\n this.guestsValueSeparates.adults.toString()\n );\n }\n\n if (this.guestsValueSeparates.kids.code) {\n params.append(\n 'children',\n this.guestsValueSeparates.kids.code.toString()\n );\n }\n\n if (this.guestsValueSeparates.infants) {\n params.append(\n 'babies',\n this.guestsValueSeparates.infants.toString()\n );\n }\n\n this.appendGuestAges(params);\n\n if (formValues.promo) {\n params.append('prom', formValues.promo);\n params.append('prom_clean', '0');\n } else {\n params.append('prom_clean', '1');\n }\n\n if (this.glValue) params.append('_gl', this.glValue);\n\n if (formValues.hotels) {\n this.generatedUrl = `${this.hotelsValue?.url}?${params.toString()}`;\n } else {\n this.generatedUrl = `${this.button?.url}?${params.toString()}`;\n }\n }\n\n private appendGuestAges(params: URLSearchParams): void {\n const { infants, kids } = this.guestsValueSeparates;\n\n if (infants) {\n Array.from({ length: infants }).forEach(() =>\n params.append('guestAges', '0')\n );\n }\n\n if (kids?.codeAges?.length) {\n kids.codeAges.forEach((age) =>\n params.append('guestAges', age.toString())\n );\n }\n }\n\n private formatDate(date: Date): string {\n return date\n .toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n })\n .replace(/\\//g, '-');\n }\n\n get defaultGuestsValue(): guestsValue {\n return {\n adultsValue: {\n code: this.guestsValueSeparates.adults,\n name: String(this.guestsValueSeparates.adults).padStart(2, '0'),\n },\n kidsValue: {\n code: this.guestsValueSeparates.kids.code,\n name: String(this.guestsValueSeparates.kids.code).padStart(\n 2,\n '0'\n ),\n ages: this.guestsValueSeparates.kids.codeAges?.map((code) => ({\n code,\n name: String(code).padStart(2, '0'),\n })),\n },\n infantsValue: {\n code: this.guestsValueSeparates.infants,\n name: String(this.guestsValueSeparates.infants).padStart(\n 2,\n '0'\n ),\n },\n };\n }\n}\n\nexport interface BabylonHotelsModalDropdownI {\n placeholder?: string;\n options?: BabylonHotelModalDropdownOption[];\n title?: string;\n smallTitle?: string;\n error?: string;\n}\n\nexport interface BabylonHotelModalDropdownOption {\n name?: string;\n ticker?: string;\n url?: string;\n}\n","<div class=\"babylon__engines__wrapper\">\n <div class=\"close-modal\" (click)=\"closeModal()\">\n <button class=\"btn btn_primary btn--light btn--close ml--20\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"babylon__engines engine-modal\">\n <div\n class=\"babylon__engines__header d-flex flex-column align-itemns-center\"\n [ngClass]=\"{\n 'babylon__engines__header--popup-open': showingGuests\n }\"\n >\n @if (title) {\n <h4 class=\"title--small\">{{ title }}</h4>\n } @if (subtitle) {\n <span class=\"subtitle\">{{ subtitle }}</span>\n\n }\n </div>\n\n <form\n class=\"babylon__engines__form d-flex flex-column align-items-center\"\n [formGroup]=\"formModal\"\n >\n @if(hotelsInput && hotels && hotels.options && hotels.options.length > 1){\n <div\n class=\"babylon__engines__input--wrapper d-flex align-items-center hotels\"\n >\n <span class=\"babylon__engines__datepicker__icon--left\"></span>\n @if(hotelsInput){\n <span\n class=\"babylon__engines__datepicker--title\"\n (click)=\"toggleHotelsDropdown()\"\n >{{ hotelsInput }}</span\n >\n }\n <span class=\"babylon-arrow-bottom\"></span>\n\n <p-dropdown\n class=\"babylon__engines__input\"\n [options]=\"hotels.options\"\n formControlName=\"hotels\"\n [placeholder]=\"hotelsPlaceholder\"\n optionLabel=\"name\"\n (onChange)=\"handleDropdownChange($event)\"\n #hotelsDropdown\n >\n </p-dropdown>\n </div>\n }\n <div\n class=\"babylon__engines__datepicker--wrapper d-flex justify-content-between flex-nowrap\"\n >\n <span\n class=\"babylon__engines__datepicker__icon--left\"\n (click)=\"openCalendar()\"\n ></span>\n @if (datepickerData?.title) {\n <span\n class=\"babylon__engines__datepicker--title\"\n (click)=\"openCalendar()\"\n >{{ datepickerData?.title }}</span\n >\n }\n\n <p-calendar\n class=\"babylon__engines__datepicker\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n [(ngModel)]=\"datepickerValue\"\n selectionMode=\"range\"\n [placeholder]=\"datepickerData?.placeholder\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n [minDate]=\"minDate\"\n #datepicker\n >\n </p-calendar>\n <span\n (click)=\"openCalendar()\"\n class=\"babylon__engines__datepicker__icon babylon-calendar\"\n ></span>\n </div>\n @if (guestsInput) {\n <div\n class=\"babylon__engines__input--wrapper d-flex align-items-center guests\"\n (click)=\"toggleShowingGuests()\"\n >\n <span class=\"babylon__engines__datepicker__icon--left\"></span>\n <input\n class=\"babylon__engines__input\"\n type=\"text\"\n formControlName=\"guests\"\n [placeholder]=\"guestsInput.placeholder\"\n [value]=\"guestsValue\"\n />\n <span class=\"babylon-arrow-bottom\"></span>\n </div>\n } @if (showingGuests && guests) {\n <lib-babylon-guests-popup\n [onlyAdults]=\"onlyAdults\"\n [defaultValue]=\"defaultGuestsValue\"\n [adultsDropdown]=\"guests.adultsDropdown\"\n [agesDropdown]=\"guests.agesDropdown\"\n [agesLabel]=\"guests.agesLabel\"\n [babiesDropdown]=\"guests.babiesDropdown\"\n [kidsDropdown]=\"guests.kidsDropdown\"\n [kidsDropdown]=\"guests.kidsDropdown\"\n [btn]=\"guests.btn\"\n (apply)=\"guestsChange($event)\"\n ></lib-babylon-guests-popup>\n } @if (promoInput) {\n <div\n class=\"babylon__engines__input--wrapper d-flex align-items-center promo-code\"\n >\n <span class=\"babylon__engines__datepicker__icon--left\"></span>\n <input\n class=\"babylon__engines__input\"\n type=\"text\"\n [placeholder]=\"promoInput.placeholder\"\n formControlName=\"promo\"\n [value]=\"\"\n />\n <span class=\"babylon-tag\"></span>\n </div>\n } @if (button) {\n <a\n [href]=\"generatedUrl\"\n linkType=\"external\"\n class=\"btn btn_call btn--light1\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n\n >\n {{ button.label }}\n </a>\n }\n </form>\n </div>\n</div>\n\n<!-- <div class=\"babylon__engine__close\">\n <a\n class=\"btn btn-circle btn--light babylon-plus\"\n (click)=\"closeModal()\"\n ></a>\n</div> -->\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-faq',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-faq.component.html',\n styleUrl: './babylon-faq.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFaqComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() image?: BabylonImageI;\n @Input() items?: BabylonFaqItem[];\n\n selectedIndex = 0;\n\n selectItem(index: number) {\n this.selectedIndex = index;\n }\n}\n\nexport interface BabylonFaqItem {\n label?: string;\n description?: string;\n}\n","<section class=\"babylon__faq margin-main\">\n <div class=\"container\">\n <div class=\"row align-items-center cs_gap_y_30\">\n @if (image) {\n <div class=\"col-lg-6 cs_pr_110\">\n <div\n class=\"cs_pr_1101 cs_image_layer cs_style_3 position-relative\"\n >\n <img\n [src]=\"image.src\"\n [alt]=\"image.alt\"\n class=\"cs--radius\"\n loading=\"lazy\"\n />\n </div>\n </div>\n }\n <div class=\"col-lg-6\">\n <div class=\"intro_info no-align\">\n @if (pretitle) {\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if (title) {\n <h3 class=\"title\">{{ title }}</h3>\n }\n </div>\n @if (items?.length) {\n <div class=\"cs_accordians cs_style_1\">\n @for (item of items; track $index) {\n <div\n class=\"cs_accordian {{\n selectedIndex === $index ? 'active' : ''\n }}\"\n >\n @if (item.label) {\n <div\n class=\"cs_accordian_head\"\n (click)=\"selectItem($index)\"\n >\n <h2 class=\"title--smaller mb--0\">\n {{ item.label }}\n </h2>\n <span\n class=\"cs_accordian_toggle\"\n ></span>\n </div>\n }\n @if (item.description) {\n <div class=\"cs_accordian_body\">\n <p class=\"text mb--0\">\n {{ item.description }}\n </p>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-features-slider',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-features-slider.component.html',\n styleUrl: './babylon-features-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFeaturesSliderComponent implements AfterViewInit {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonFeaturesSliderItem[];\n @Input() button?: BabylonButtonI;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.cdr.detectChanges();\n }, 100);\n }\n}\n\nexport interface BabylonFeaturesSliderItem {\n title?: string;\n description?: string;\n icon?: string;\n}\n","<section class=\"babylon__features-slider margin-main \">\n\n <div class=\"cs_slider cs_style_1 cs_slider_gap_30 cs_show_shadow_20\">\n <div class=\"container\">\n <div class=\"cs_section_heading_wrap_1\">\n <div class=\"cs_section_heading cs_style_1 \">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h3 class=\"pretitle wow fadeInLeft\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ pretitle }} </h3>\n } @if(title){\n <h2 class=\"title\">{{ title }}</h2>\n }\n </div>\n\n </div>\n <div class=\"cs_slider_arrows cs_style_4\">\n <div class=\"cs_left_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\" cs_right_arrow slick-arrow cs_center\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n\n <div class=\"cs_full_width_right mb--20\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container4\"\n data-autoplay=\"0\"\n data-loop=\"0\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"1\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"2\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-lg-slides=\"2\"\n data-xl-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (items?.length) { @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_iconbox cs_style_3 cs--radius bg--white\">\n @if(item.icon){\n <div class=\"cs_iconbox_icon cs_mb_29 cs_center cs--radius bg--white\">\n <div class=\"info--icon icon--big \">\n <i\n class=\"icon--svg\"\n [ngClass]=\"item.icon\"\n ></i>\n </div>\n </div>\n } @if(item.title){\n <h3 class=\"title--small mb--10\">{{ item.title }}</h3>\n } @if(item.description){\n <p class=\"text\">{{ item.description }}</p>\n }\n </div>\n </div>\n } }\n </div>\n </div>\n </div>\n @if(button){\n <div class=\"btns__box align--center \">\n <a\n [href]=\"button.url\"\n class=\"btn btn_primary \"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { BabylonGalleryFilter } from '../babylon-gallery';\n\n@Component({\n selector: 'lib-filter-modal',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-filter-modal.component.html',\n styleUrl: './babylon-filter-modal.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFilterModalComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() filters?: BabylonGalleryFilter[];\n\n @Output() filterSelect = new EventEmitter<BabylonGalleryFilter>();\n\n constructor(\n private readonly dialogRef: MatDialogRef<BabylonFilterModalComponent>\n ) {}\n\n close(filter?: BabylonGalleryFilter): void {\n if (filter) {\n this.filterSelect.emit(filter);\n }\n this.dialogRef.close();\n }\n}\n","<div class=\"btn-close--modal\">\n <a\n class=\"btn btn_primary btn--light babylon-plus btn-responsive\"\n (click)=\"close()\"\n ></a>\n</div>\n<div class=\"babylon__filters__wrapper\">\n <div class=\"babylon__filters\">\n <header class=\"babylon__filters__header\">\n @if (title) {\n <h1 class=\"title light\">{{ title }}</h1>\n }\n @if (subtitle) {\n <span class=\"subtitle light\">{{ subtitle }}</span>\n }\n </header>\n <ul class=\"d-flex flex-column\">\n @for (filter of filters; track filter.text) {\n <li class=\"text light\" (click)=\"close(filter)\">\n {{ filter.text }}\n </li>\n }\n </ul>\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-footer-contact',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-contact.component.html',\n styleUrl: './babylon-footer-contact.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterContactComponent {\n @Input() title?: string;\n @Input() text?: string;\n @Input() advantages?: BabylonAdvInfoI[];\n @Input() links?: BabylonButtonI[];\n @Input() button?: BabylonButtonI;\n @Input() extraTxt?: string;\n @Input() img?: BabylonImageI;\n}\n","<section class=\"babylon__footer-contact margin-main1\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"footer-contact--module\">\n <div class=\"footer-contact--info\">\n <div class=\"footer-contact--head\">\n @if (title) {\n <h2 class=\"title--small mb--30\">{{ title }}</h2>\n }\n @if (text) {\n <p class=\"text\">{{ text }}</p>\n }\n @if (advantages) {\n <ul class=\"mt--30\">\n @for (adv of advantages; track $index) {\n <li>\n <span class=\"info--icon\"\n ><i\n class=\"icon--svg\"\n [ngClass]=\"adv.icon\"\n ></i\n ></span>\n <p class=\"text\">{{ adv.text }}</p>\n </li>\n }\n </ul>\n }\n </div>\n @if (links) {\n <div class=\"footer-contact--foot\">\n @for (link of links; track $index) {\n <p>\n <a\n [href]=\"link?.url\"\n [linkType]=\"link?.linkType\"\n >{{ link?.label }}</a\n >\n </p>\n }\n </div>\n }\n </div>\n <div class=\"footer-contact--photo\">\n @if (extraTxt) {\n <span class=\"footer-contact--tag\">{{ extraTxt }}</span>\n }\n @if (img) {\n <img [src]=\"img.src\" [alt]=\"img.alt\" class=\" \" />\n }\n @if (button) {\n <div class=\"footer-contact--btns\">\n <a\n class=\"btn btn_call btn--light\"\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n >\n <b>{{ button.label }}</b>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-footer-links',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-links.component.html',\n styleUrl: './babylon-footer-links.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterLinksComponent {\n @Input() copyright?: string;\n @Input() year?: string;\n @Input() buttons?: BabylonButtonI[];\n}\n","<section class=\"babylon__footer-links\">\n <div class=\"cs_bottom_footer_wrap\">\n <div class=\"container\">\n <div class=\"cs_bottom_footer position-relative\">\n @if (copyright) {\n <div class=\"cs_copyright\">\n {{ copyright }}\n @if (year) {\n <span class=\"cs_copyright_year\"> {{ year }} </span>\n }\n </div>\n }\n @if (buttons) {\n <div class=\"cs_bottom_footer_right\">\n <ul class=\"cs_footer_links cs_mp_0\">\n @for (button of buttons; track $index) {\n <li>\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n >{{ button?.label }}</a\n >\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI, BabylonTexts, BabylonButtonI } from '../../../interfaces';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-footer-logos',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-logos.component.html',\n styleUrl: './babylon-footer-logos.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterLogosComponent {\n @Input() logos?: BabylonFooterLogoItemI[];\n @Input() texts?: BabylonTexts;\n @Input() buttons?: BabylonButtonI[];\n \n get filteredButtons() {\n return (this.buttons || []).filter(b => !!b);\n }\n \n hasContent() {\n return (\n (this.texts && (this.texts.title || this.texts.subtitle || this.texts.description)) ||\n this.filteredButtons.length\n );\n }\n}\n\nexport interface BabylonFooterLogoItemI {\n img?: BabylonImageI;\n link?: BabylonButtonI;\n}","<section class=\"babylon__footer-logos\">\n <div class=\"container\">\n @if (hasContent()) {\n <div class=\"intro_info align--center no-align pt--30\">\n @if (texts?.title) {\n <h1 class=\"title--small mb--10\">{{ texts?.title }}</h1>\n }\n @if (texts?.subtitle) {\n <h2 class=\"title\">{{ texts?.subtitle }}</h2>\n }\n @if (texts?.description) {\n <p class=\"text mb--10\">\n {{ texts?.description }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\"><b>{{ button?.label\n }}</b><span class=\"babylon-arrow-right-big\"></span></a>\n </div>\n }\n }\n </div>\n }\n </div>\n }\n @if (logos) {\n <ul>\n @for (logo of logos; track $index) {\n <li>\n @if (logo.link) {\n <a [href]=\"logo.link.url\" [linkType]=\"logo.link.linkType\" aria-label=\"link\">\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" /></a>\n } @else {\n <img [src]=\"logo.img?.src\" [alt]=\"logo.img?.alt\" />\n }\n </li>\n }\n </ul>\n }\n </div>\n</section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-footer-social',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-footer-social.component.html',\n styleUrl: './babylon-footer-social.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonFooterSocialComponent {\n @Input() title?: string;\n @Input() text?: string;\n @Input() links?: BabylonButtonI[];\n}\n","<section class=\"babylon__footer-socials margin-main\">\n <div class=\"babylon__footer-socials__wrap\">\n <div class=\"container\">\n <div class=\"babylon__footer-socials__inner\">\n @if (title) {\n <div class=\"cs_bottom_footer_left\">\n <span class=\"text\">{{ title }}</span>\n </div>\n }\n @if (links) {\n <div class=\"cs_bottom_footer_center\">\n <ul class=\"cs_social_btns cs_style_1\">\n @for (link of links; track $index) {\n @if(link.icon){\n <li>\n <a\n [href]=\"link.url || link.linkValue\"\n [linkType]=\"link.linkType\"\n class=\"cs_center\"\n >\n <span class=\"info--icon icon--medium\">\n <i class=\"icon--svg\" [ngClass]=\"'icon-' + link.icon\"></i>\n </span>\n </a>\n </li>\n }\n }\n </ul>\n </div>\n }\n @if (text) {\n <div class=\"cs_bottom_footer_right\">\n <span class=\"text\">{{ text }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n</section>\n","import { BabylonButtonI } from \"../../../interfaces/babylon-button.interface\";\n\nexport class BabylonFooterSocialI {\n title?: string;\n text?: string;\n links?: BabylonButtonI[];\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n EventEmitter,\n inject,\n Input,\n OnInit,\n signal,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { tap } from 'rxjs';\nimport { BabylonLightGalleryDirective } from '../../../directives/babylon-galleries/babylon-light-gallery.directive';\nimport { BabylonButtonI } from '../../../interfaces';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonFilterModalComponent } from '../babylon-filter-modal';\n\n@Component({\n selector: 'lib-babylon-gallery',\n standalone: true,\n imports: [CommonModule, BabylonLightGalleryDirective],\n templateUrl: './babylon-gallery.component.html',\n styleUrl: './babylon-gallery.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonGalleryComponent implements OnInit {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() roomTitle?: string;\n @Input() filterTitle?: string;\n @Input() filters?: BabylonGalleryFilter[];\n @Input() images?: BabylonGalleryItem[];\n @Input() filtersBtn?: BabylonButtonI;\n @Input() roomsBtn?: BabylonButtonI;\n\n filterSelected = signal<BabylonGalleryFilter | undefined>(undefined);\n\n imagesDisplayed = computed(() => {\n if (this.filterSelected()?.all || !this.filterSelected()) {\n return this.images;\n } else {\n return this.images?.filter(\n (item) => item.filter === this.filterSelected()?.id\n );\n }\n });\n\n private readonly dialog = inject(MatDialog);\n\n ngOnInit(): void {\n this.filterSelected.set(this.filters?.find((f) => f.all));\n }\n\n filterItems(filter?: BabylonGalleryFilter): void {\n if (filter) {\n !filter.rooms\n ? this.filterSelected.set(filter)\n : this.openFiltersModal(true);\n }\n }\n\n openFiltersModal(rooms?: boolean): void {\n const dialogRef = this.dialog.open(BabylonFilterModalComponent, {\n width: '100vw',\n height: '100vh',\n maxWidth: '100vw',\n hasBackdrop: true,\n });\n\n const event = new EventEmitter<BabylonGalleryFilter>();\n\n event\n .pipe(\n tap((filter?: BabylonGalleryFilter) => {\n this.filterItems(filter);\n })\n )\n .subscribe();\n\n dialogRef.componentInstance.filters = this.filters?.filter(\n (filter) => (!rooms && !filter.room) || (rooms && filter.room)\n );\n\n dialogRef.componentInstance.filterSelect = event;\n dialogRef.componentInstance.title = rooms\n ? this.roomTitle\n : this.filterTitle;\n dialogRef.componentInstance.filterSelect = event;\n }\n}\n\nexport interface BabylonGalleryItem {\n img?: BabylonImageI;\n title?: string;\n filter?: number;\n}\n\nexport interface BabylonGalleryFilter {\n id: number;\n text?: string;\n rooms?: boolean;\n room?: boolean;\n all?: boolean;\n}\n","<section class=\"babylon__gallery margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if (pretitle) {\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if (title) {\n <h3 class=\"title\">{{ title }}</h3>\n }\n </div>\n </div>\n @if (filters?.length) {\n <div class=\"item d-flex justify-content-center\">\n @for (filter of filters; track $index) {\n @if (filter && !filter.room) {\n <span\n class=\"subtitle babylon__gallery__filter\"\n (click)=\"filterItems(filter)\"\n [ngClass]=\"{\n 'babylon__gallery__filter--selected':\n filterSelected() === filter,\n }\"\n >\n {{ filter.text }}\n </span>\n }\n }\n </div>\n }\n <div class=\"babylon__gallery__filter-buttons d-flex justify-content-center\">\n @if (roomsBtn) {\n <button\n class=\"d-flex justify-content-between align-items-center\"\n (click)=\"openFiltersModal(true)\"\n >\n {{ roomsBtn.label }} <span>=</span>\n </button>\n }\n @if (filtersBtn) {\n <button\n class=\"d-flex justify-content-between align-items-center\"\n (click)=\"openFiltersModal(false)\"\n >\n {{ filtersBtn.label }} <span>=</span>\n </button>\n }\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_grid_style_2 cs_lightgallery\" BabylonLightGallery>\n @if (imagesDisplayed()?.length) {\n @for (item of imagesDisplayed(); track $index) {\n <div class=\"cs_grid_item\">\n <a\n [href]=\"item.img?.src\"\n class=\"cs_gallery_item cs_style_3 cs_lightbox_item d-block cs_bg_filed position-relative cs_type_1 cs--radius\"\n [attr.data-src]=\"item.img?.src\"\n [style.background-image]=\"\n 'url(' + item.img?.src + ')'\n \"\n >\n <div class=\"cs_gallery_item_hover cs--radius\">\n <span class=\"cs_hover_icon cs_accent_color\">\n <span class=\"babylon-fullscreen\"></span>\n </span>\n @if (item.title) {\n <span\n class=\"cs_hover_text title--smaller\"\n >{{ item.title }}</span\n >\n }\n </div>\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n class=\"d-none\"\n />\n }\n </a>\n </div>\n }\n }\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-grid-gallery',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-grid-gallery.component.html',\n styleUrl: './babylon-grid-gallery.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonGridGalleryComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() button?: BabylonButtonI[];\n @Input() images?: BabylonImageI[];\n \n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__grid-gallery margin-main\"> \n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n } \n </div> \n <div class=\"row cs_row_gap_lg_10\">\n <div class=\"col-9\">\n <div class=\"position-relative overflow-hidden cs--radius_5 cs_gallery_hover_show_nav cs_primary_bg\">\n <div class=\"cs_gallery_slider_thumb slick-slider\" sliders=\"cs_gallery_slider_thumb\">\n @if(images?.length){\n @for(image of images; track $index){\n <div class=\"cs_gallery_slider_thumb_item cs--radius\">\n <img [src]=\"image.src\" alt=\"Thumb\" class=\"cs--radius\">\n </div>\n }\n }\n </div> \n <div class=\"cs_left_arrow_gallery cs_center\">\n <div class=\"cs_left_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-left-big\"></span> \n </div> \n </div>\n <div class=\"cs_right_arrow_gallery cs_center\">\n <div class=\"cs_right_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-right-big\"></span> \n </div> \n </div>\n </div>\n </div>\n <div class=\"col-3\">\n <div class=\"overflow-hidden cs--radius_5\">\n <div class=\"cs_gallery_slider_nav slick-slider\" sliders=\"cs_gallery_slider_nav\">\n @if(images?.length){\n @for(image of images; track $index){\n <div class=\"cs_gallery_slider_thumb_mini cs--radius\">\n <img [src]=\"image.src\" alt=\"Thumb\">\n </div>\n }\n }\n </div>\n </div>\n </div>\n </div> \n \n @if(button && button[0]?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button[0].url\" class=\"btn btn_primary\">\n <b>{{button[0].label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </div>\n</section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces';\n\n@Component({\n selector: 'lib-babylon-head-intro',\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-head-intro.component.html',\n styleUrls: ['./babylon-head-intro.component.scss'],\n standalone : true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class BabylonHeadIntroComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() buttons?: BabylonButtonI[];\n}\n","<section class=\"babylon__head-intro margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h1 class=\"title\">{{ title }}</h1>\n }\n @if (text) {\n <p class=\"text\">\n {{ text }}\n </p>\n }\n @if (buttons?.length) {\n <div class=\"btns__box align--center\">\n @for (button of buttons; track $index) {\n @if (button) {\n <div>\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn btn_primary\"\n ><b>{{ button?.label }}</b\n ><span class=\"babylon-arrow-right-big\"></span\n ></a>\n </div>\n }\n }\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI, BabylonMenuButtonI, BabylonImageI } from '../../../interfaces';\n\n@Component({\n selector: 'lib-babylon-modal-menu',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-modal-menu.component.html',\n styleUrl: './babylon-modal-menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonModalMenuComponent {\n @Input() menu?: BabylonMenuButtonI[];\n @Input() socialMedia?: BabylonButtonI[];\n @Input() address?: BabylonModalMenuAddress;\n @Input() contact?: BabylonButtonI[];\n @Input() addressTitle?: string;\n @Input() contactTitle?: string;\n @Input() img?: BabylonImageI;\n @Input() hastag?: string;\n @Input() logo?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n\n @Output() anchorClicked = new EventEmitter<void>();\n @Output() toggleMenu = new EventEmitter<void>();\n}\n\nexport interface BabylonModalMenuAddress {\n id?: string;\n name?: string;\n address?: string;\n city?: string;\n province?: string;\n country?: string;\n cp?: string;\n links?: BabylonButtonI;\n}\n","<div class=\"panel__content\">\n <div class=\"panel__content_wrapper\">\n <div class=\"cs_hamburger_header_top\">\n @if (logo) {\n <div class=\"cs_hamburger_brand\">\n <a \n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\">\n </a>\n </div>\n }\n <div class=\"btn-close--modal\">\n <a\n class=\"btn btn_primary btn--light babylon-plus btn-responsive\"\n (click)=\"toggleMenu.emit()\"\n ></a>\n </div>\n </div>\n <div class=\"container\">\n <div class=\"row justify-content-between\">\n <div class=\"col-lg-5\">\n <nav class=\"wrapper_menu\">\n @if (menu && menu.length) {\n <ul>\n @for (link of menu; track $index) {\n <li>\n <div class=\"container-item\">\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n (anchorClicked)=\"\n anchorClicked.emit()\n \"\n >\n {{ link.label }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n </nav>\n <!-- /wrapper_menu -->\n </div>\n <div class=\"col-lg-6 d-flex align-items-end\">\n <div class=\"menu_panel_details\">\n @if (img) {\n <div>\n <img\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n />\n </div>\n }\n <div class=\"row justify-content-between\">\n @if (address) {\n <div class=\"col-lg-6 mb-lg-0 mb-4\">\n @if (addressTitle) {\n <h5 class=\"pretitle\">\n {{ addressTitle }}\n </h5>\n }\n <div class=\"contacts\">\n <a [href]=\"address.links?.url\" [linkType]=\"address.links?.linkType\" class=\"text text54\">\n @if (address.address) {\n <p\n [innerHTML]=\"address.address\"\n ></p>\n }\n @if (address.cp || address.city) {\n <p\n [innerHTML]=\"\n address.cp +\n ' ' +\n address.city\n \"\n ></p>\n }\n @if (\n address.province || address.country\n ) {\n <p\n [innerHTML]=\"\n address.province +\n ' ' +\n address.country\n \"\n ></p>\n }\n </a>\n </div>\n </div>\n }\n <div class=\"col-lg-5 mb-lg-0 mb-4\">\n @if (contact) {\n @if (contactTitle) {\n <h5 class=\"pretitle\">\n {{ contactTitle }}\n </h5>\n }\n @if (contact.length) {\n <div class=\"contacts\">\n <ul>\n @for (\n link of contact;\n track $index\n ) {\n <li>\n <a class=\"text\"\n [href]=\"link?.url\"\n [linkType]=\"\n link?.linkType\n \"\n >{{ link?.label }}</a\n >\n </li>\n }\n </ul>\n </div>\n }\n }\n </div>\n </div>\n\n <div\n class=\"see-more row justify-content-between\"\n style=\"display: none\"\n >\n @if (address) {\n <div\n class=\"see-more__address col-lg-6 mb-lg-0 mb-4\"\n ></div>\n }\n </div>\n @if (socialMedia) {\n <div class=\"social\">\n <ul class=\"row\">\n @for (link of socialMedia; track $index) {\n <li class=\"col-lg-2\">\n <a\n [href]=\"link.url\"\n linkType=\"external\"\n ><i [ngClass]=\"link.icon\"></i\n ></a>\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { ScreenSizerParams } from './screen-sizer.interface';\n\nexport const SCREEN_SIZER_PARAMS_TOKEN = new InjectionToken<ScreenSizerParams>(\n 'ScreenSizerParams'\n);\n","import { Injectable, inject, signal } from '@angular/core';\nimport {\n debounceTime,\n distinctUntilChanged,\n fromEvent,\n map,\n startWith,\n} from 'rxjs';\nimport { SCREEN_SIZER_PARAMS_TOKEN } from './screen-sizer.service.token';\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.mobile);\n\n this.smallTablet.set(\n size >= this.screenSizerParams.mobile &&\n size < this.screenSizerParams.smallTablet\n );\n\n this.mediumTablet.set(\n size >= this.screenSizerParams.smallTablet &&\n size < this.screenSizerParams.mediumTablet\n );\n\n this.fullTablet.set(\n size >= this.screenSizerParams.mediumTablet &&\n size < this.screenSizerParams.fullTablet\n );\n\n this.smallDesktop.set(\n size >= this.screenSizerParams.fullTablet &&\n size < this.screenSizerParams.smallDesktop\n );\n\n this.mediumDesktop.set(\n size >= this.screenSizerParams.smallDesktop &&\n size < this.screenSizerParams.mediumDesktop\n );\n\n this.fullDesktop.set(\n size >= this.screenSizerParams.mediumDesktop &&\n size < this.screenSizerParams.fullDesktop\n );\n\n this.fullBigDesktop.set(\n size >= this.screenSizerParams.fullDesktop &&\n size < this.screenSizerParams.fullBigDesktop\n );\n\n this.maxDesktop.set(\n size >= this.screenSizerParams.fullBigDesktop\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 getBreakpoint(breakpoint: keyof typeof this.screenSizerParams): number {\n return this.screenSizerParams[breakpoint];\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","export enum RoomServiceType {\n Equipment = 'equipment',\n Service = 'service',\n characteristics = 'characteristics',\n }","import { BabylonButtonI, BodyComponent } from '../interfaces';\n\nexport class Utils {\n // Función para convertir una cadena de snake_case a camelCase\n static snakeToCamel(snake: string): string {\n return snake.replace(/(_\\w)/g, (matches) => matches[1].toUpperCase());\n }\n\n // Función para convertir las propiedades de un objeto de snake_case a camelCase\n static convertObjectKeysToCamelCase(obj: any): any {\n if (Array.isArray(obj)) {\n return obj.map((item) => this.convertObjectKeysToCamelCase(item));\n } else if (obj !== null && obj.constructor === Object) {\n return Object.keys(obj).reduce((result, key) => {\n const camelKey = this.snakeToCamel(key);\n result[camelKey] = this.convertObjectKeysToCamelCase(obj[key]);\n return result;\n }, {} as any);\n }\n return obj;\n }\n\n static formatLinkType(linkType: string): string | undefined {\n return linkType === 'external_link' || linkType === 'external'\n ? 'external'\n : linkType === 'internal_link' || linkType === 'internal'\n ? 'internal'\n : linkType;\n }\n\n static findComponent<T>(\n body: BodyComponent<T>[],\n name: string\n ): T | undefined {\n return body.find((component) => component?.name?.toLowerCase() === name)\n ?.props;\n }\n\n static convertToBase64(file: File): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = (error) => reject(error);\n });\n }\n\n static normalizeText(text: string): string {\n return text\n ?.normalize('NFD') // Descompone los caracteres con acentos\n ?.replace(/[\\u0300-\\u036f]/g, '') // Elimina los acentos\n ?.toLowerCase();\n }\n\n static mapButtons(\n button: any | any[] | undefined | null,\n buttonType?: string\n ): (BabylonButtonI | undefined)[] {\n if (Array.isArray(button)) {\n return button?.map((btn) =>\n btn.label?.length\n ? ({\n type: buttonType ?? undefined,\n label: btn?.label ?? undefined,\n linkType: Utils.formatLinkType(btn?.linkType),\n url: (() => {\n if (\n btn.linkValue &&\n typeof btn.linkValue === 'string'\n ) {\n const trimmedValue =\n btn.linkValue?.charAt(\n btn.linkValue?.length - 1\n ) === '/'\n ? btn.linkValue?.slice(0, -1)\n : btn.linkValue;\n\n if (/^\\+?[0-9]+$/.test(trimmedValue)) {\n // Es un teléfono\n return trimmedValue.startsWith('tel:')\n ? trimmedValue\n : `tel:${trimmedValue}`;\n } else if (\n /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(\n trimmedValue\n )\n ) {\n // Es un correo\n return trimmedValue.startsWith('mailto:')\n ? trimmedValue\n : `mailto:${trimmedValue}`;\n }\n\n return trimmedValue;\n }\n return undefined;\n })(),\n icon: btn.icon ? btn?.icon : undefined,\n } as BabylonButtonI)\n : undefined\n );\n } else {\n return [];\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const SITE_CONFIG_SERVICE_TOKEN = new InjectionToken<any>(\n 'SiteConfigService'\n);\n","import { computed, inject, Injectable, Signal, signal } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport {\n Babylon404I,\n BabylonAddressItem,\n BabylonAdvantagesI,\n BabylonBannerGalleryI,\n BabylonBannerInfoI,\n BabylonBreadcrumbI,\n BabylonComingSoonI,\n BabylonContactAddressI,\n BabylonContactFormI,\n BabylonContactHowI,\n BabylonContactMapaI,\n BabylonContactMapItem,\n BabylonEngineI,\n BabylonEngineModalI,\n BabylonEquipmentItem,\n BabylonFaqI,\n BabylonFaqItem,\n BabylonFeaturesSliderI,\n BabylonFeaturesSliderItem,\n BabylonFooterContactI,\n BabylonFooterLinksI,\n BabylonFooterLogosI,\n BabylonFooterSocialI,\n BabylonGalleryFilter,\n BabylonGalleryI,\n BabylonGalleryItem,\n BabylonHeaderBookShowI,\n BabylonHeaderClearI,\n BabylonHeaderMenuCenterI,\n BabylonHeaderMenuLogoCenterI,\n BabylonHeaderMenuShowI,\n BabylonHeadIntroI,\n BabylonHotelsListI,\n BabylonHotelsSliderI,\n BabylonInfo2imgBigI,\n BabylonInfo2imgI,\n BabylonInfo4imgI,\n BabylonInfoBigI,\n BabylonInfoGridI,\n BabylonInfoGridItemI,\n BabylonInfoImgI,\n BabylonInfoIntroI,\n BabylonInfoZigzagV2I,\n BabylonInfoZigzagV2Item,\n BabylonLanguageModalI,\n BabylonLegalI,\n BabylonNewsletterI,\n BabylonOfferDetailI,\n BabylonOfferI,\n BabylonOfferSliderI,\n BabylonOffersListI,\n BabylonOffersListItem,\n BabylonRoomDetailI,\n BabylonRoomInfoI,\n BabylonRoomsColsI,\n BabylonRoomsListEquipment,\n BabylonRoomsListI,\n BabylonRoomsListItem,\n BabylonRoomsSliderI,\n BabylonServicesSliderI,\n BabylonSlider2itemsI,\n BabylonSlider3ItemsI,\n BabylonSlider4colLabels,\n BabylonSliderItem,\n BabylonStaticFooterI,\n BabylonSubmenuI,\n BabylonThanksI,\n BabylonTopSliderI,\n BabylonTopSliderItem,\n BabylonTopSliderThumbsI,\n BabylonTopSliderV2I,\n BabylonTopSliderVideoI,\n BabylonWebmapI,\n DropdownOption,\n} from '../../components/core';\nimport { BabylonGlobalModalI } from '../../components/core/babylon-global-modal';\nimport { BabylonItemGridI } from '../../components/core/babylon-list-grid/babylon-list-grid.component';\nimport { BabylonListGridI } from '../../components/core/babylon-list-grid/babylon-list-grid.interface';\nimport { BabylonStaticFooterV2I } from '../../components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface';\nimport { RoomServiceType } from '../../Enum/services.enum';\nimport {\n BabylonButtonI,\n BabylonImageI,\n BabylonInputI,\n BabylonMenuButtonI,\n BabylonMenuInfoI,\n BabylonTextInfoI,\n BodyComponent,\n COMPONENTS_EXTRA,\n ConsultTypeI,\n} from '../../interfaces';\nimport { Utils } from '../../utils/utils';\nimport { ScreenSizerService } from '../screen-sizer';\nimport { SITE_CONFIG_SERVICE_TOKEN } from './mapper.service.token';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapperService {\n private readonly siteSvc = inject(SITE_CONFIG_SERVICE_TOKEN);\n private readonly screenSizer = inject(ScreenSizerService);\n\n get isMinFullTabletInstant(): boolean {\n return this.screenSizer.minFullTabletInstant();\n }\n\n headerButtons = signal<Record<string, string> | undefined>(undefined);\n\n siteId: Signal<number> = computed(\n () => this.siteSvc.webConfigInstant?.siteID\n );\n\n floatingButtons?: BabylonButtonI[];\n\n getImageResponsive(\n image: ImageResponse | undefined,\n isFigure = true\n ): string | BabylonImageI | undefined {\n let selectedImage;\n if (this.screenSizer.mobile()) {\n selectedImage = image?.thumbnails?.[375]?.webp;\n } else if (this.screenSizer.isSmallTabletInstant()) {\n selectedImage = image?.thumbnails?.[540]?.webp;\n } else if (this.screenSizer.isMediumTabletInstant()) {\n selectedImage = image?.thumbnails?.[768]?.webp;\n } else if (this.screenSizer.isFullTabletInstant()) {\n selectedImage = image?.thumbnails?.[1024]?.webp;\n } else if (this.screenSizer.isSmallDesktopInstant()) {\n selectedImage = image?.thumbnails?.[1280]?.webp;\n } else if (this.screenSizer.minMediumDesktop()) {\n selectedImage = image?.path?.webp;\n } else {\n selectedImage = image?.thumbnails?.[1366]?.webp;\n }\n return selectedImage\n ? isFigure\n ? `${this.siteSvc.cdnImagesInstant}${selectedImage}`\n : {\n src: `${this.siteSvc.cdnImagesInstant}${selectedImage}`,\n alt: image?.alt,\n }\n : undefined;\n }\n\n getArrayImageResponsive(\n images: ImageResponse[] | undefined,\n isFigure = true\n ): (string | BabylonImageI)[] | undefined {\n return images?.map((img) => this.getImageResponsive(img, isFigure)!);\n }\n\n private generateAgesOptions(\n maxLength: number,\n minLength = 0\n ): DropdownOption[] {\n const options: DropdownOption[] = [];\n for (let i = minLength; i <= maxLength; i++) {\n options.push({ code: i, name: i < 10 ? `0${i}` : `${i}` });\n }\n return options;\n }\n\n mapBodyExtra(\n body: any[] | undefined\n ): BodyComponent<COMPONENTS_EXTRA>[] | undefined {\n const bodyMapped: BodyComponent<COMPONENTS_EXTRA>[] | undefined =\n body?.map((component) => {\n const componentMapped: BodyComponent<COMPONENTS_EXTRA> = {\n name: component.name?.toLowerCase(),\n order: component.order,\n props: {},\n } as BodyComponent<COMPONENTS_EXTRA>;\n\n switch (component.name?.toLowerCase()) {\n case 'menu':\n componentMapped.props = this.mapSubmenu(\n component.props\n ) as BabylonSubmenuI;\n componentMapped.name = 'submenu';\n break;\n }\n\n return componentMapped;\n });\n\n return bodyMapped;\n }\n\n mapSubmenu(props: any | undefined): BabylonSubmenuI {\n const selected = props?.items?.find((item: any) => item.selected);\n const submenu = {\n // hotel: props?.hotel,\n items: props?.items\n ?.filter((item: any) => item.active)\n ?.map(\n (link: any) =>\n ({\n label: link?.name,\n url: link?.linkValue,\n linkType: 'internal',\n }) as BabylonButtonI\n ),\n selected: {\n label: selected?.name,\n url: selected?.linkValue,\n } as BabylonButtonI,\n } as BabylonSubmenuI;\n\n return submenu;\n }\n\n mapComponents<T>(\n body: any[],\n addons?: ComponentsAddons\n ): BodyComponent<T>[] {\n const bodyMapped: BodyComponent<T>[] = body.map((component) => {\n const componentMapped: BodyComponent<T> = {\n name: component.name?.toLowerCase(),\n order: component.order,\n props: {},\n } as BodyComponent<T>;\n\n if (component.props) {\n //It is necessary, otherwise it gives an error and does not show components\n try {\n switch (component.name?.toLowerCase()) {\n case 'module404':\n componentMapped.props = this.map404(\n component.props\n ) as T;\n break;\n\n //---- LAYOUT COMPONENTS ----//\n case 'topslider':\n componentMapped.props = this.mapTopSlider(\n component.props\n ) as T;\n break;\n case 'topslidervideo':\n componentMapped.props = this.mapTopSliderVideo(\n component.props\n ) as T;\n break;\n\n case 'topsliderv2left':\n case 'topsliderv2right':\n componentMapped.props = this.mapTopSliderV2(\n component.props,\n componentMapped.name === 'topsliderv2right'\n ) as T;\n break;\n case 'infoimgright':\n case 'infoimgleft':\n componentMapped.props = this.mapInfoImg(\n component.props,\n componentMapped.name === 'infoimgright'\n ) as T;\n break;\n case 'infointro':\n componentMapped.props = this.mapInfoIntro(\n component.props\n ) as T;\n break;\n case 'info2imgleft':\n case 'info2imgright':\n componentMapped.props = this.mapInfo2img(\n component.props,\n componentMapped.name === 'info2imgright'\n ) as T;\n break;\n case 'info3img':\n componentMapped.props = this.mapInfoImg(\n component.props\n ) as T;\n break;\n case 'infozigzagleft':\n case 'infozigzagright':\n componentMapped.props = this.mapZigzag(\n component.props,\n componentMapped.name === 'infozigzagright'\n ) as T;\n break;\n case 'infogrid':\n componentMapped.props = this.mapInfoGrid(\n component.props\n ) as T;\n break;\n case 'slider2colleft':\n case 'slider2colright':\n componentMapped.props = this.mapSliderColl2(\n component.props,\n componentMapped.name === 'slider2colright'\n ) as T;\n break;\n case 'slider3col':\n componentMapped.props = this.mapSliderColl(\n component.props\n ) as T;\n break;\n case 'slider4col':\n componentMapped.props = this.mapSliderColl(\n component.props\n ) as T;\n break;\n case 'itemsgrid':\n componentMapped.props = this.mapItemsGrid(\n component.props\n ) as T;\n break;\n case 'roomsslider':\n componentMapped.props = this.mapRoomsSlider(\n component.props\n ) as T;\n break;\n case 'roomsgrid':\n componentMapped.props = this.mapRoom(\n component.props\n ) as T;\n break;\n case 'bannergallery':\n componentMapped.props = this.mapBannerGallery(\n component.props\n ) as T;\n break;\n case 'gridgallery':\n componentMapped.props = this.mapGridGallery(\n component.props\n ) as T;\n break;\n case 'bannernewsletter':\n componentMapped.props = this.mapBannerNewsletter(\n component.props\n ) as T;\n break;\n case 'offersslider':\n componentMapped.props = this.mapOfferSlider(\n component.props\n ) as T;\n break;\n //---- LAYOUT COMPONENTS END----//\n\n case 'thanks':\n componentMapped.props = this.mapThanks(\n component.props\n ) as T;\n break;\n\n case 'contactform':\n componentMapped.props = this.mapContactForm(\n component.props,\n addons?.contactOffice,\n addons?.consultType\n ) as T;\n break;\n\n case 'contacthow':\n componentMapped.props = this.mapContactHow(\n component.props\n ) as T;\n break;\n\n case 'webmap':\n componentMapped.props = this.mapWebmap(\n component.props\n ) as T;\n break;\n\n case 'contactmap':\n componentMapped.props = this.mapContactMap(\n component.props\n ) as T;\n break;\n\n case 'legal':\n componentMapped.props = this.mapLegal(\n component.props\n ) as T;\n break;\n\n case 'roomscols':\n componentMapped.props = this.mapRoomsCols(\n component.props\n ) as T;\n break;\n\n case 'roomdetails':\n componentMapped.props = this.mapRoomDetail(\n component.props\n ) as T;\n break;\n\n case 'topsliderthumbs':\n componentMapped.props = this.mapTopSliderThumbs(\n component.props\n ) as T;\n break;\n\n case 'featuresslider':\n componentMapped.props = this.mapFeaturesSlider(\n component.props\n ) as T;\n break;\n\n case 'bannerinfo':\n componentMapped.props = this.mapBannerInfo(\n component.props\n ) as T;\n break;\n\n case 'roomslist':\n componentMapped.props = this.mapRoomsList(\n component.props\n ) as T;\n break;\n\n case 'comingsoon':\n componentMapped.props = this.mapComingSoon(\n component.props\n ) as T;\n break;\n\n case 'offerdetail':\n componentMapped.props = this.mapOfferDetail(\n component.props\n ) as T;\n break;\n\n case 'offerslist':\n componentMapped.props = this.mapOffersList(\n component.props\n ) as T;\n break;\n\n case 'faq':\n componentMapped.props = this.mapFaq(\n component.props\n ) as T;\n break;\n\n case 'staticfooter':\n componentMapped.props = this.mapStaticFooter(\n component.props\n ) as T;\n break;\n\n case 'gallery':\n componentMapped.props = this.mapGallery(\n component.props\n ) as T;\n break;\n\n case 'nav':\n componentMapped.props = this.mapMenu(\n component.props,\n addons?.menuSocialMedia\n ) as T;\n break;\n\n case 'languagesmodal':\n componentMapped.props = this.mapLanguageModal(\n component.props\n ) as T;\n break;\n\n case 'slider3items':\n componentMapped.props = this.mapSlider3Items(\n component.props\n ) as T;\n break;\n\n case 'hotelsslider':\n componentMapped.props = this.mapHotelsSlider(\n component.props\n ) as T;\n break;\n\n case 'hotelslist':\n componentMapped.props = this.mapHotelsList(\n component.props\n ) as T;\n break;\n\n case 'info4img':\n componentMapped.props = this.mapInfo4Img(\n component.props\n ) as T;\n break;\n\n case 'servicesslider':\n componentMapped.props = this.mapServicesSlider(\n component.props\n ) as T;\n break;\n\n case 'contactaddress':\n componentMapped.props = this.mapContactAddress(\n component.props\n ) as T;\n break;\n\n case 'advantages':\n componentMapped.props = this.mapAdvantages(\n component.props\n ) as T;\n break;\n\n case 'infobig':\n componentMapped.props = this.mapInfoBig(\n component.props\n ) as T;\n break;\n\n case 'infozigzagv2left':\n componentMapped.props = this.mapInfoZigZagV2(\n component.props\n ) as T;\n break;\n\n case 'infozigzagv2right':\n componentMapped.props = this.mapInfoZigZagV2(\n component.props\n ) as T;\n break;\n\n case 'footercontact':\n componentMapped.props = this.mapFooterContact(\n component.props\n ) as T;\n break;\n\n case 'info2imgbig':\n componentMapped.props = this.mapInfo2ImgBig(\n component.props\n ) as T;\n break;\n\n case 'footerlinks':\n componentMapped.props = this.mapFooterLinks(\n component.props\n ) as T;\n break;\n\n case 'footerlogos':\n componentMapped.props = this.mapFooterLogos(\n component.props\n ) as T;\n break;\n\n case 'offerslider':\n componentMapped.props = this.mapOfferSlider(\n component.props\n ) as T;\n break;\n\n case 'footersocials':\n componentMapped.props = this.mapFooterSocials(\n component.props\n ) as T;\n break;\n\n case 'slider2items':\n componentMapped.props = this.mapSlider2items(\n component.props\n ) as T;\n break;\n\n case 'staticfooterv2':\n componentMapped.props = this.mapStaticFooterv2(\n component.props\n ) as T;\n break;\n\n case 'listgrid':\n componentMapped.props = this.mapListGrid(\n component.props\n ) as T;\n break;\n\n case 'newslettermodal':\n componentMapped.props = this.mapNewsletterModal(\n component.props\n ) as T;\n break;\n\n case 'globalmodal':\n componentMapped.props = this.mapGlobalModal(\n component.props\n ) as T;\n break;\n\n case 'headintro':\n componentMapped.props = this.mapHeadIntro(\n component.props\n ) as T;\n break;\n\n default:\n break;\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n return componentMapped;\n });\n return bodyMapped;\n }\n\n map404(props: any | undefined): Babylon404I {\n return {\n title: props.texts?.title,\n description: props.texts?.description,\n subtitle: props.texts?.subtitle,\n button: Utils.mapButtons(props.buttons)[0],\n } as Babylon404I;\n }\n\n //---- LAYOUT COMPONENTS ----//\n mapTopSlider(props: any | undefined): BabylonTopSliderI | undefined {\n return {\n buttons: Utils.mapButtons(props?.buttons),\n links: Utils.mapButtons(props?.links),\n items: props?.multimedia?.imagenes?.map((item: ImageResponse) => ({\n title: item?.title,\n subtitle: item?.pretitle,\n img: this.getImageResponsive(item, false),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n })),\n itemsMobile: props?.multimedia?.imagenesmobile?.map(\n (item: ImageResponse) =>\n ({\n title: item?.title,\n subtitle: item?.pretitle,\n img: this.getImageResponsive(item, false),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n }) as BabylonTopSliderItem\n ),\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n } as BabylonTopSliderI;\n }\n\n mapTopSliderVideo(\n props: any | undefined\n ): BabylonTopSliderVideoI | undefined {\n return {\n videoData: {\n title: props?.video?.title,\n src: props?.video?.src,\n type: 'video/mp4',\n },\n labelInfos: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n img: this.getImageResponsive(\n props?.multimedia?.imagemobile?.[0],\n false\n ),\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonTopSliderVideoI;\n }\n\n mapTopSliderV2(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n rightSide: rightSide,\n buttons: Utils.mapButtons(props?.buttons)[0],\n items: props?.multimedia?.imagenes?.map(\n (item: ImageResponse) =>\n ({\n title: item.title,\n subtitle: item.pretitle,\n img: this.getImageResponsive(item),\n }) as BabylonSlider4colLabels\n ),\n labels: {\n title: props?.texts?.title,\n subtitle: props?.texts?.pretitle,\n pretitle: props?.texts?.text,\n description: props?.texts?.description,\n text: props?.texts?.text,\n },\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapInfoImg(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonInfoImgI | undefined {\n return {\n rightSide: rightSide,\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n buttons: Utils.mapButtons(props?.buttons),\n description: props?.texts?.description,\n text: props?.texts?.text,\n ndtitle: props?.texts?.ndtitle,\n lessBtn: props?.texts?.seeLess,\n moreBtn: props?.texts?.seeMore,\n images: props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n advantages: props?.Ventajas?.filter(\n (item: any) => item?.title || item?.text\n )?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: item.icon ? `icon-${item.icon}` : undefined,\n })),\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n advTitle: props?.texts?.prueba,\n } as BabylonInfoImgI;\n }\n\n mapInfoIntro(props: any | undefined): BabylonInfoIntroI | undefined {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n description: props?.texts?.description,\n button: Utils.mapButtons(props?.buttons)[0],\n images: props?.multimedia?.image?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n topBG: this.getImageResponsive(\n props?.multimedia?.topbg?.[0],\n false\n ),\n bottomBG: this.getImageResponsive(\n props?.multimedia?.bottombg?.[0],\n false\n ),\n topColor: props?.texts?.topColor,\n bottomColor: props?.texts?.BottomColor,\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n logo2: this.getImageResponsive(\n props?.multimedia?.logo2?.[0],\n false\n ),\n } as BabylonInfoIntroI;\n }\n\n mapHeader(\n props: any | undefined,\n menu: any\n ):\n | BabylonHeaderBookShowI\n | BabylonHeaderClearI\n | BabylonHeaderMenuCenterI\n | BabylonHeaderMenuLogoCenterI\n | BabylonHeaderMenuShowI {\n const link = menu.links?.logoLink?.flat()?.[0];\n const headerButtons = props?.headerButtons?.props;\n\n this.floatingButtons = headerButtons\n ? [\n {\n icon: `babylon-${headerButtons.texts?.transferIcon}`,\n label: headerButtons?.texts?.transfer,\n },\n {\n icon: `babylon-${headerButtons.texts?.checkinIcon}`,\n label: headerButtons?.texts?.checkin,\n },\n ]\n : undefined;\n return {\n lang: this.siteSvc.selectedLanguageInstant?.locate?.toUpperCase(),\n btnBook: { label: headerButtons?.texts?.bookNow },\n linkLogo: {\n label: link?.label,\n url: link?.linkValue,\n linkType: link?.linkType,\n },\n menu: menu?.nav?.map(\n (menu: any) =>\n ({\n name: menu?.name,\n url: menu?.linkValue,\n linkType: menu?.linkType,\n label: menu?.translations?.[0]?.name\n ? menu?.translations?.[0]?.name\n : menu?.name,\n children: menu?.children?.map(\n (child: any) =>\n ({\n name: child?.name,\n url: child?.linkValue,\n linkType: child?.linkType,\n label:\n child?.translations?.find(\n (lng: any) =>\n lng.languageId ===\n this.siteSvc\n .selectedLanguageInstant?.id\n )?.name || child?.name,\n }) as BabylonButtonI\n ),\n }) as BabylonMenuButtonI\n ),\n menuInfo: this.mapMenu(menu, undefined),\n } as\n | BabylonHeaderBookShowI\n | BabylonHeaderClearI\n | BabylonHeaderMenuCenterI\n | BabylonHeaderMenuLogoCenterI\n | BabylonHeaderMenuShowI;\n }\n\n //TODO: Wait for back info\n mapMenu(\n props: any | undefined,\n socialMedia: any | undefined\n ): BabylonMenuInfoI {\n const links = Utils.mapButtons(\n props?.nav?.map((link: any) => ({\n ...link,\n label: link.translations?.[0]?.name,\n }))\n );\n return {\n links: links.slice(0, 6),\n bottomLinks: links.slice(6),\n address: {\n address: props?.address?.[0]?.address,\n city: props?.address?.[0]?.city,\n country: props?.address?.[0]?.country,\n cp: props?.address?.[0]?.cp,\n title: props?.texts?.addressTitle,\n province: props?.address?.[0]?.province,\n url: props?.address?.[0]?.link,\n links: {\n url: props?.address?.[0]?.link,\n linkType: 'external',\n },\n },\n contact: {\n links: Utils.mapButtons(props?.links?.contact?.[0]),\n title: props?.texts?.contactTitle,\n },\n socialMedia: socialMedia?.map(\n (item: any) =>\n ({\n icon: `babylon-${item.name?.toLowerCase()}`,\n url: item.url,\n }) as BabylonButtonI\n ),\n img: this.getImageResponsive(props?.multimedia?.imagen?.[0], false),\n imgBackground: this.getImageResponsive(\n props?.multimedia?.background?.[0],\n false\n ),\n linkLogo: {\n url: props?.links?.logoLink?.[0]?.linkValue,\n linkType: props?.links?.logoLink?.[0]?.linkType,\n },\n } as BabylonMenuInfoI;\n }\n\n mapInfo2img(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonInfo2imgI | undefined {\n return {\n rightSide: rightSide,\n texts: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n item1: props?.texts?.item1,\n item1Text: props?.texts?.item1Text,\n },\n button: Utils.mapButtons(props?.buttons),\n images: props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n imagessmall: props?.multimedia?.imagessmall?.map(\n (item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })\n ),\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n } as BabylonInfo2imgI;\n }\n\n mapZigzag(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonInfo2imgI | undefined {\n let images: ImageResponse[] = [];\n let texts;\n if (props?.multimedia?.images) {\n images = props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }));\n texts = {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n contenttitle: props?.texts?.contenttitle,\n contentsubtitle: props?.texts?.contentsubtitle,\n contentdescription: props?.texts?.contentdescription,\n logo: this.getImageResponsive(\n props?.multimedia?.logo?.[0],\n false\n ),\n };\n }\n if (props?.multimedia?.image) {\n images = props?.multimedia?.image?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }));\n texts = {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n contenttitle: props?.multimedia?.image?.[0]?.title,\n contentsubtitle: props?.multimedia?.image?.[0]?.subtitle,\n contentdescription: props?.multimedia?.image?.[0]?.description,\n logo: this.getImageResponsive(\n props?.multimedia?.logo?.[0],\n false\n ),\n };\n }\n return {\n rightSide: rightSide,\n button: Utils.mapButtons(props?.buttons)[0],\n texts,\n images,\n } as BabylonInfo2imgI;\n }\n\n mapGridGallery(props: any | undefined): BabylonInfoImgI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n hover: props?.texts?.hover,\n placeholder: props?.texts?.placeholder,\n button: Utils.mapButtons(props?.buttons),\n images: props?.multimedia?.imagenes?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n } as BabylonInfoImgI;\n }\n\n mapInfoGrid(props: any | undefined): BabylonInfoGridI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n items: props?.multimedia?.images?.map(\n (item: any) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n text: item.description,\n image: this.getImageResponsive(item, false),\n links: item.links ? Utils.mapButtons(item.links.filter((link: any) => link?.linkValue !== null)) : undefined,\n }) as BabylonInfoGridItemI\n ),\n } as BabylonInfoGridI;\n }\n\n mapBannerGallery(\n props: any | undefined\n ): BabylonBannerGalleryI | undefined {\n const images = props?.multimedia?.imagenes\n ? props?.multimedia?.imagenes?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }))\n : props?.multimedia?.images?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }));\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n hover: props?.texts?.hover,\n button: Utils.mapButtons(props?.buttons),\n images,\n } as BabylonBannerGalleryI;\n }\n\n mapBannerNewsletter(props: any | undefined): BabylonInfoImgI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n hover: props?.texts?.hover,\n placeholder: props?.texts?.placeholder,\n button: Utils.mapButtons(props?.buttons),\n image: props?.multimedia?.image?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n }))[0],\n } as BabylonInfoImgI;\n }\n\n mapSliderColl2(\n props: any | undefined,\n rightSide: boolean = false\n ): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n rightSide: rightSide,\n buttons: Utils.mapButtons(props?.buttons)[0],\n images: props?.multimedia?.images?.map(\n (item: ImageResponse) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n subtitle: item.subtitle,\n src: this.getImageResponsive(item),\n links: Utils.mapButtons(item?.links),\n }) as BabylonImageI\n ),\n labels: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapSliderColl(props: any | undefined): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n images: props?.multimedia?.images?.map(\n (item: ImageResponse) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n subtitle: item.subtitle,\n description: item.description,\n src: this.getImageResponsive(item),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n }) as BabylonImageI\n ),\n labels: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapItemsGrid(props: any | undefined): BabylonTopSliderV2I | undefined {\n return props\n ? ({\n images: props?.multimedia?.images?.map(\n (item: ImageResponse) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n subtitle: item.subtitle,\n description: item.description,\n src: this.getImageResponsive(item),\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n }) as BabylonImageI\n ),\n labels: {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n },\n buttons: Utils.mapButtons(props?.buttons),\n } as BabylonTopSliderV2I)\n : undefined;\n }\n\n mapRoom(props: any | undefined): BabylonInfo2imgI | undefined {\n return {\n button: Utils.mapButtons(props?.buttons),\n texts: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n },\n rooms: props?.rooms?.map(\n (item: any) =>\n ({\n button: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n images: item.multimedia\n ?.filter((img: ImageResponse) => img.cover)\n ?.map(\n (img: ImageResponse) =>\n ({\n pretitle: img.pretitle,\n title: img.title,\n subtitle: img.subtitle,\n src: this.getImageResponsive(img),\n }) as BabylonImageI\n ),\n texts: {\n name: item.texts?.name,\n description: item.texts?.description,\n additional1: item.texts?.additional1,\n additional2: item.texts?.additional2,\n additional3: item.texts?.additional3,\n additional4: item.texts?.additional4,\n },\n services: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map((item: any) => ({\n name: item.name,\n icon: `icon-${item.class}`,\n })),\n }) as BabylonRoomInfoI\n ),\n } as BabylonInfo2imgI;\n }\n\n mapRoomsSlider(props: any | undefined): BabylonRoomsSliderI | undefined {\n return {\n button: Utils.mapButtons(props?.buttons),\n texts: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n },\n rooms: props?.rooms?.map(\n (item: any) =>\n ({\n buttons: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n images: [\n this.getImageResponsive(\n item?.multimedia?.find(\n (img: any) => img?.cover\n ) || item?.multimedia?.[0],\n false\n ),\n ],\n texts: {\n name: item.texts?.name,\n description: item.texts?.description,\n additional1: item.texts?.additional1,\n additional2: item.texts?.additional2,\n additional3: item.texts?.additional3,\n additional4: item.texts?.additional4,\n },\n equipments: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map((item: any) => ({\n name: item.name,\n icon: `icon-${item.class}`,\n })),\n }) as BabylonRoomInfoI\n ),\n } as BabylonRoomsSliderI;\n }\n\n mapOfferSlider(props: any | undefined): BabylonOfferSliderI | undefined {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n backgroundImage: this.getImageResponsive(\n props?.multimedia?.backgroundimage?.[0],\n false\n ),\n offers: props?.offers?.map(\n (item: any) =>\n ({\n applicationFrom: item?.applicationFrom,\n applicationTo: item?.applicationTo,\n button: Utils.mapButtons(item?.buttons),\n currency: item?.currency,\n discount: item?.discount,\n price: item?.price,\n links: Utils.mapButtons(item?.links),\n images: this.getImageResponsive(\n item?.multimedia?.[0],\n false\n ),\n name: item?.name,\n texts: {\n title: item.texts?.title,\n subtitle: item.texts?.subtitle,\n description: item.texts?.description,\n additional1: item.texts?.additional1,\n additional2: item.texts?.additional2,\n additional3: item.texts?.additional3,\n conditions: item.texts?.conditions,\n url: item.texts?.reservationUrl,\n } as BabylonTextInfoI,\n url: item?.url,\n visibleFrom: item?.visibleFrom,\n visibleTo: item?.visibleTo,\n }) as BabylonOfferI\n ),\n } as BabylonOfferSliderI;\n }\n //---- LAYOUT COMPONENTS END----//\n\n mapThanks(props: any | undefined): BabylonThanksI {\n return {\n title: props.texts?.title,\n description: props.texts?.description,\n pretitle: props.texts?.pretitle,\n button: Utils.mapButtons(props.buttons)[0],\n } as BabylonThanksI;\n }\n\n mapContactForm(\n props: any | undefined,\n ndProps: any | undefined,\n ndPropsConsult: any | undefined\n ): BabylonContactFormI | undefined {\n return {\n title: props?.texts?.title,\n description: props?.texts?.description,\n pretitle: props?.texts?.subtitle,\n button: Utils.mapButtons(props?.buttons)[0],\n textarea: {\n id: 'mensaje',\n title: props?.texts?.inputMessage,\n name: Utils.normalizeText(props?.texts?.inputMessage),\n placeholder: props?.texts?.inputMessagePlaceHolder,\n value: '',\n validators: [Validators.required],\n error: props?.texts?.errorRequired,\n },\n conditions: props?.texts?.conditions,\n conditions2: props?.texts?.conditions2,\n dropdown: {\n title: props?.texts?.dropdownTitle,\n options: ndPropsConsult?.map(\n (prop: any) =>\n ({ code: prop.id, name: prop.name }) as DropdownOption\n ),\n placeholder: props?.texts?.dropdownPlaceholder,\n error: props?.texts?.errorRequired,\n },\n image: this.getImageResponsive(\n props?.multimedia?.image?.[0]\n ) as string,\n inputs: [\n {\n id: 'nombre',\n title: props?.texts?.inputName,\n name: Utils.normalizeText(props?.texts?.inputName),\n placeholder: props?.texts?.inputNamePlaceHolder,\n value: '',\n type: 'text',\n error: props?.texts?.errorRequired,\n validators: [Validators.required],\n valid: true,\n },\n {\n id: 'surname',\n title: props?.texts?.inputSurnames,\n name: Utils.normalizeText(props?.texts?.inputSurnames),\n placeholder: props?.texts?.inputSurnamesPlaceHolder,\n value: '',\n type: 'text',\n error: props?.texts?.errorRequired,\n validators: [Validators.required],\n valid: true,\n },\n {\n id: 'email',\n title: props?.texts?.inputEmail,\n name: Utils.normalizeText(props?.texts?.inputEmail),\n placeholder: props?.texts?.inputEmailPlaceHolder,\n value: '',\n type: 'text',\n error: props?.texts?.errorEmail,\n validators: [Validators.email, Validators.required],\n valid: true,\n },\n {\n id: 'phone',\n title: props?.texts?.inputPhone,\n name: Utils.normalizeText(props?.texts?.inputPhone),\n placeholder: props?.texts?.inputPhonePlaceHolder,\n value: '',\n type: 'tel',\n error: props?.texts?.errorPhone,\n validators: [Validators.required],\n valid: true,\n },\n ] as BabylonInputI[],\n info: {\n address: {\n icon: 'icon-' + ndProps?.texts?.addressIcon,\n title: ndProps?.texts?.addressTitle,\n text: ndProps?.links?.address?.[0]?.[0]?.label,\n },\n email: {\n icon: 'icon-' + ndProps?.texts?.emailIcon,\n title: ndProps?.texts?.emailTitle,\n links: Utils.mapButtons(ndProps?.links?.email?.[0]).map(\n (btn) =>\n ({\n ...btn,\n url: `mailto:${btn?.url}l`,\n }) as BabylonButtonI\n ),\n },\n phone: {\n icon: 'icon-' + ndProps?.texts?.phoneIcon,\n title: ndProps?.texts?.phoneTitle,\n links: Utils.mapButtons(ndProps?.links?.phone?.[0]).map(\n (btn) =>\n ({\n ...btn,\n url: `phone:${btn?.url}l`,\n }) as BabylonButtonI\n ),\n },\n },\n } as BabylonContactFormI;\n }\n\n mapContactAddress(\n props: any | undefined\n ): BabylonContactAddressI | undefined {\n return {\n info: {\n address: {\n icon: 'icon-' + props?.texts?.addressIcon,\n title: props?.texts?.addressTitle,\n text: [\n props?.address?.[0]?.locality,\n props?.address?.[0]?.city,\n props?.address?.[0]?.province,\n props?.address?.[0]?.country,\n props?.address?.[0]?.cp,\n ]\n .filter(Boolean)\n .join(', '),\n },\n email: {\n icon: 'icon-' + props?.texts?.emailIcon,\n title:\n props?.address?.[0]?.email ?? props?.texts?.emailTitle,\n links: Utils.mapButtons(props?.address?.[0]?.email).map(\n (btn) =>\n ({\n url: `mailto:${props?.address?.[0]?.email}`,\n linkType: 'external',\n label: props?.address?.[0]?.email,\n }) as BabylonButtonI\n ),\n },\n phone: {\n icon: 'icon-' + props?.texts?.reservationsIcon,\n title:\n props?.address?.[0]?.phone ??\n props?.texts?.reservationsTitle,\n links: Utils.mapButtons(props?.address?.[0]?.phone).map(\n (btn) =>\n ({\n url: `tel:${props?.address?.[0]?.phone}`,\n linkType: 'external',\n label: props?.address?.[0]?.phone,\n }) as BabylonButtonI\n ),\n },\n },\n };\n }\n\n mapContactMap(props: any | undefined): BabylonContactMapaI | undefined {\n return {\n contentUrl: props?.texts?.phoneIcon,\n mapImage: this.getImageResponsive(\n props?.multimedia?.image?.[0],\n false\n ),\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonContactMapaI;\n }\n\n mapContactHow(props: any | undefined): BabylonContactHowI | undefined {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.Ventajas?.map(\n (item: any) =>\n ({\n title: item.title,\n description: item.text,\n icon: `icon-${item.icon}`,\n }) as BabylonContactMapItem\n ),\n } as BabylonContactHowI;\n }\n\n mapWebmap(props: any | undefined): BabylonWebmapI | undefined {\n return {\n links: (\n props?.pages?.map(\n (link: any) =>\n ({\n label: link.name,\n url: link.url,\n linkType: 'internal',\n }) as BabylonButtonI\n ) as BabylonButtonI[]\n ).filter(\n (link) =>\n link.url?.split('/')[1] ===\n this.siteSvc.selectedLanguageInstant?.locate\n ),\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n image: this.getImageResponsive(\n props?.multimedia?.image?.[0]\n ) as string,\n };\n }\n\n mapLegal(props: any | undefined): BabylonLegalI {\n return {\n title: props.texts?.title,\n description: props.texts?.description,\n pretitle: props.texts?.pretitle,\n img: {\n src: this.getImageResponsive(props?.multimedia?.image?.[0]),\n alt: '',\n },\n } as BabylonLegalI;\n }\n\n mapBreadcrumbs(props: any | undefined): BabylonBreadcrumbI {\n return {\n links: (props?.items as any[])\n ?.sort((a, b) => a - b)\n ?.map(\n (item) =>\n ({\n label: item?.label,\n linkType: 'internal',\n url: item?.url\n ? item?.url?.charAt(item?.url?.length - 1) ===\n '/'\n ? item?.url?.slice(0, -1)\n : item?.url\n : undefined,\n }) as BabylonButtonI\n ),\n } as BabylonBreadcrumbI;\n }\n\n // mapEngine(props: any | undefined): BabylonEngineI {\n // return {\n // button: { label: props?.texts?.motorApply },\n // datepickerData: {\n // placeholder: props?.texts?.motorDateTitle,\n // },\n // guestsInput: {\n // placeholder: props?.texts?.motorGuestsInputHolder,\n // },\n // promoInput: {\n // placeholder: props?.texts?.motorPromoHolder,\n // },\n // guests: {\n // btn: { label: props?.texts?.motorApply },\n // adultsDropdown: {\n // title: props?.texts?.motorAdultsTitle,\n // options: this.generateAgesOptions(props?.maxAdults, 1),\n // },\n // kidsDropdown: {\n // title: props?.texts?.motorKidsTitle,\n // smallTitle: props?.texts?.motorKidsSmallLabel,\n // options: this.generateAgesOptions(props?.maxChildren),\n // },\n // babiesDropdown: {\n // title: props?.texts?.motorBabiesTitle,\n // smallTitle: props?.texts?.motorBabiesSmallTitle,\n // options: this.generateAgesOptions(props?.maxBabies),\n // },\n // agesDropdown: {\n // options: this.generateAgesOptions(\n // props?.maxAgeChildren,\n // props?.maxAgeBabies\n // ),\n // },\n // agesLabel: props?.texts?.motorAgesTitle,\n // kidsLabel: props?.texts?.motorKidLabel,\n // },\n // title: props?.texts?.motorTitle,\n // subtitle: props?.texts?.motorSubtitle,\n // } as BabylonEngineI;\n // }\n\n mapRoomsCols(props: any | undefined): BabylonRoomsColsI {\n return {\n stFilters: undefined,\n ndFilters: undefined,\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.rooms?.map(\n (item: any) =>\n ({\n bedroomFilterId: 0,\n characteristicsFilterId: 0,\n link: Utils.mapButtons(item.links)[0],\n button: Utils.mapButtons(item.buttons)[0],\n title: item.texts?.name,\n pretitle: item.texts?.additional1,\n price: item?.price,\n priceText: item.texts?.additional2,\n equipment: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map(\n (item: any) =>\n ({\n icon: `icon-${item.class}`,\n label: item.name,\n }) as BabylonRoomsListEquipment\n ),\n img: this.getImageResponsive(\n item.multimedia?.find(\n (img: ImageResponse) => img.cover\n ) ?? item.multimedia?.[0],\n false\n ),\n images: this.getArrayImageResponsive(\n item.multimedia,\n false\n ),\n }) as BabylonRoomsListItem\n ),\n } as BabylonRoomsColsI;\n }\n\n mapFeaturesSlider(\n props: any | undefined\n ): BabylonFeaturesSliderI | undefined {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.Ventajas?.map(\n (item: any) =>\n ({\n title: item.title,\n description: item.text,\n icon: `icon-${item.icon}`,\n }) as BabylonFeaturesSliderItem\n ),\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonFeaturesSliderI;\n }\n\n mapBannerInfo(props: any | undefined): BabylonBannerInfoI {\n return {\n title: props?.multimedia?.image?.[0]?.title,\n pretitle: props?.multimedia?.image?.[0]?.pretitle,\n description: props?.multimedia?.image?.[0]?.description,\n button: Utils.mapButtons(props?.multimedia?.image?.[0]?.buttons)[0],\n image: this.getImageResponsive(\n props?.multimedia?.image?.[0],\n false\n ),\n } as BabylonBannerInfoI;\n }\n\n mapRoomDetail(props: any | undefined): BabylonRoomDetailI | undefined {\n if (!props?.room) {\n return undefined;\n }\n const { texts, multimedia, buttons } = props?.room;\n return {\n title: texts?.name,\n description: texts?.description,\n pretitle: texts?.additional1,\n equipmentTitle: texts?.additional2,\n button: Utils.mapButtons(buttons)[0],\n items: props.room?.services\n ?.filter(\n (item: any) => item?.type === RoomServiceType.Equipment\n )\n .map((item: any) => ({\n title: item?.name,\n icon: `icon-${item?.class}`,\n })) as BabylonEquipmentItem[],\n } as BabylonRoomDetailI;\n }\n\n mapTopSliderThumbs(props: any | undefined): BabylonTopSliderThumbsI {\n return {\n title: props?.texts?.title,\n from: props?.texts?.from,\n price: props?.texts?.price,\n currency: props?.texts?.currency,\n button: Utils.mapButtons(props.buttons)[0],\n image: props?.multimedia?.imagen?.map((item: ImageResponse) => ({\n src: this.getImageResponsive(item),\n })),\n } as BabylonTopSliderThumbsI;\n }\n\n mapRoomsList(props: any | undefined): BabylonRoomsListI {\n return {\n stFilters: undefined,\n ndFilters: undefined,\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.rooms?.map(\n (item: any) =>\n ({\n bedroomFilterId: 0,\n characteristicsFilterId: 0,\n link: Utils.mapButtons(item.links)[0],\n button: Utils.mapButtons(item.buttons)[0],\n title: item.texts?.name,\n pretitle: item.texts?.additional1,\n description: item.texts?.description,\n price: item?.price,\n priceText: item.texts?.additional2,\n equipment: item?.services\n ?.filter(\n (item: any) =>\n item?.type ===\n RoomServiceType.characteristics\n )\n ?.map(\n (item: any) =>\n ({\n icon: `icon-${item.class}`,\n label: item.name,\n }) as BabylonRoomsListEquipment\n ),\n img: this.getImageResponsive(\n item.multimedia?.find((img: any) => img?.cover) ||\n item?.multimedia?.[0],\n false\n ),\n images: this.getArrayImageResponsive(\n item.multimedia,\n false\n ),\n }) as BabylonRoomsListItem\n ),\n } as BabylonRoomsColsI;\n }\n\n mapComingSoon(props: any | undefined): BabylonComingSoonI {\n return {\n images: props?.multimedia?.images?.map(\n (img: ImageResponse) =>\n ({\n src: this.getImageResponsive(img),\n }) as BabylonImageI\n ),\n logo: props?.multimedia?.logo?.map(\n (img: ImageResponse) =>\n ({\n src: this.getImageResponsive(img),\n }) as BabylonImageI\n )[0],\n texts: props?.texts,\n socialMedia: props?.socialMedia,\n link: Utils.mapButtons(props?.links)[0],\n button: Utils.mapButtons(props?.buttons)[0],\n } as BabylonComingSoonI;\n }\n\n mapOfferDetail(props: any | undefined): BabylonOfferDetailI {\n return {\n pretitle: props?.offer?.[0]?.texts?.subtitle,\n title: props?.offer?.[0]?.texts?.title,\n description: props?.offer?.[0]?.texts?.description,\n ndTitle: props?.offer?.[0]?.texts?.additional1,\n labelFrom: props?.offer?.[0]?.texts?.additional2,\n labelDiscount: props?.offer?.[0]?.texts?.additional3,\n currency: props?.offer?.[0]?.currency,\n price: props?.offer?.[0]?.price,\n discount: props?.offer?.[0]?.discount,\n conditions: props?.offer?.[0]?.texts?.conditions,\n image: {\n src: this.getImageResponsive(\n props?.offer?.[0]?.multimedia?.[0]\n ),\n alt: '',\n },\n link: Utils.mapButtons(props?.links)[0],\n button: Utils.mapButtons(props?.offer?.[0]?.buttons)[0],\n } as BabylonOfferDetailI;\n }\n\n mapOffersList(props: any | undefined): BabylonOffersListI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.offers?.map(\n (item: any) =>\n ({\n id: item?.id,\n pretitle: item?.texts?.subtitle,\n title: item?.texts?.title,\n price: item?.price,\n currency: item?.currency,\n discount: item?.discount,\n img: {\n src: this.getImageResponsive(item?.multimedia?.[0]),\n alt: item?.multimedia?.[0]?.alt,\n },\n reserveButton: Utils.mapButtons(item?.buttons)[0],\n seeOfferButton: Utils.mapButtons(item?.links)[0],\n labelFrom: item?.texts?.additional2,\n }) as BabylonOffersListItem\n ),\n } as BabylonOffersListI;\n }\n\n mapFaq(props: any | undefined): BabylonFaqI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.items?.map(\n (faq: any) =>\n ({\n label: faq.title,\n description: faq.text,\n }) as BabylonFaqItem\n ),\n img: this.getImageResponsive(props?.multimedia?.image?.[0], false),\n } as BabylonFaqI;\n }\n\n mapStaticFooter(props: any | undefined): BabylonStaticFooterI {\n return {\n title: props?.texts?.title,\n ndTitle: props?.texts?.addressTitle,\n rdTitle: props?.texts?.linksTitle,\n thTitle: props?.texts?.locationTitle,\n fifthTitle: props?.texts?.additionalFooterTitle,\n frameUrl: props?.texts?.frameUrl,\n contactInfo: Utils.mapButtons(props?.links?.contact?.[0]),\n contactLinks: Utils.mapButtons(props?.links?.contactLinks?.[0]),\n footerLinks: Utils.mapButtons(props?.links?.footerLinks?.[0]),\n address: Array.isArray(props?.address)\n ? props.address.map(\n (address: any) =>\n ({\n id: address.id,\n name: address.name,\n address: address.address,\n city: address.city,\n province: address.province,\n country: address.country,\n cp: address.cp,\n url: address.link,\n }) as BabylonAddressItem\n )\n : [],\n socialMedia: props?.socialMedia?.map(\n (link: any) =>\n ({\n icon: `babylon-${link.name?.toLowerCase()}`,\n url: link.url,\n }) as BabylonButtonI\n ),\n copyright: props?.texts?.copyright,\n nav: props?.nav?.map(\n (nav: any) =>\n ({\n label: nav.name,\n url: nav.url,\n }) as BabylonButtonI\n ),\n img: {\n src: this.getImageResponsive(\n props?.multimedia?.background?.[0]\n ),\n alt: props?.multimedia?.background?.title,\n },\n logo: this.getImageResponsive(props?.multimedia?.logo?.[0], false),\n input: props?.texts?.input,\n legalAdvise: props?.texts?.legalAdvise,\n additionalLinks: Utils.mapButtons(\n props?.links?.additionalFooterLinks?.[0]\n ),\n } as BabylonStaticFooterI;\n }\n\n mapGallery(props: any | undefined): BabylonGalleryI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n roomsBtn: {\n label: props?.texts?.filterRooms,\n },\n filtersBtn: {\n label: props?.texts?.filterCategories,\n },\n filters: props.filters?.map(\n (item: any, index: number) =>\n ({\n id: index,\n all: item.all,\n room: item.room,\n rooms: item.rooms,\n text: item.name,\n }) as BabylonGalleryFilter\n ),\n images: props?.filters\n .reduce(\n (\n acc: { multimedia: any[]; filterIndex: number }[],\n filter: any,\n filterIndex: number\n ) => {\n if (filter.multimedia) {\n const multimediaWithFilter = filter.multimedia.map(\n (item: any) => ({\n ...item,\n filter: filterIndex,\n })\n );\n return [\n ...acc,\n {\n multimedia: multimediaWithFilter,\n filterIndex,\n },\n ];\n }\n return acc;\n },\n []\n )\n .flatMap(({ multimedia }: any) => multimedia)\n .map(\n (img: any) =>\n ({\n title: img.title,\n img: this.getImageResponsive(img, false),\n filter: img?.filter,\n }) as BabylonGalleryItem\n ),\n } as BabylonGalleryI;\n }\n\n mapLanguageModal(props: any | undefined): BabylonLanguageModalI {\n return {\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n items: props?.languages,\n selected: props.languages.find(\n (lng: any) =>\n lng.id === this.siteSvc.selectedLanguageInstant?.id\n ),\n } as BabylonLanguageModalI;\n }\n\n mapEngine(props: any | undefined): BabylonEngineI | BabylonEngineModalI {\n return {\n onlyAdults: props?.onlyAdults,\n button: { label: props?.texts?.motorSubmit, url: props?.url },\n datepickerData: {\n placeholder: props?.texts?.motorDateTitle,\n },\n guestsInput: {\n placeholder: props?.texts?.motorGuestsInputHolder,\n },\n promoInput: {\n placeholder: props?.texts?.motorPromoHolder,\n },\n guests: {\n btn: { label: props?.texts?.motorApply },\n adultsDropdown: {\n title: props?.texts?.motorAdultsTitle,\n options: this.generateAgesOptions(props?.maxAdults, 1),\n },\n kidsDropdown: {\n title: props?.texts?.motorKidsTitle,\n smallTitle: props?.texts?.motorKidsSmallLabel,\n options: this.generateAgesOptions(props?.maxChildren),\n },\n babiesDropdown: {\n title: props?.texts?.motorBabiesTitle,\n smallTitle: props?.texts?.motorBabiesSmallTitle,\n options: this.generateAgesOptions(props?.maxBabies),\n },\n agesDropdown: {\n options: this.generateAgesOptions(\n props?.maxAgeChildren,\n props?.maxAgeBabies + 1\n ),\n },\n agesLabel: props?.texts?.motorAgesTitle,\n kidsLabel: props?.texts?.motorKidLabel,\n },\n title: props?.texts?.motorTitle,\n subtitle: props?.texts?.motorSubtitle,\n url: props?.url,\n hotel: props?.hotels?.[0],\n codigo: props?.codigo ? props?.codigo : 'demo_c2t_clientes', //to change, dont come from back\n glValue: props?.glValue,\n hotelsInput: props?.texts?.motorDropDownName,\n hotelsPlaceholder: props?.texts?.motorDropDownHolder,\n hotels: {\n options: props?.hotels?.map((hotel: any) => ({\n name: hotel?.name,\n ticker: hotel?.ticker,\n url: 'https://reservations.a10hotels.es/es/hotel/a10h_clubdelsol_apt',\n })),\n },\n } as BabylonEngineModalI | BabylonEngineI;\n }\n mapSlider3Items(props: any | undefined): BabylonSlider3ItemsI {\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n items: props?.multimedia?.images?.map(\n (item: any) =>\n ({\n pretitle: item.pretitle,\n title: item.title,\n img: {\n src: this.getImageResponsive(item),\n alt: item.title,\n },\n link: Utils.mapButtons(item.links?.[0]),\n }) as BabylonSliderItem\n ),\n } as BabylonSlider3ItemsI;\n }\n\n mapHotelsSlider(props: any | undefined): BabylonHotelsSliderI {\n return {\n title: props?.texts?.title,\n subtitle: props?.texts?.pretitle,\n hotels: props?.hotels?.map(\n (item: any) =>\n ({\n pretitle: item.texts.additional1,\n title: item.texts.name,\n img: {\n src: this.getImageResponsive(item.multimedia?.[0]),\n alt: item.multimedia?.[0]?.alt,\n },\n link: Utils.mapButtons(item.links),\n button: Utils.mapButtons(item.buttons),\n }) as BabylonSliderItem\n ),\n } as BabylonHotelsSliderI;\n }\n\n mapHotelsList(props: any | undefined): BabylonHotelsListI {\n // TODO: Revisar mappeo de imágenes\n return {\n title: props?.texts?.title,\n pretitle: props?.texts?.pretitle,\n hotels: props?.hotels?.map(\n (item: any) =>\n ({\n pretitle: item?.texts?.additional1,\n title: item?.texts?.name,\n text: item?.texts?.description,\n textMore: item?.texts?.additional2,\n img: {\n src: this.getImageResponsive(item?.multimedia?.[0]),\n alt: item?.multimedia?.[0]?.alt,\n },\n link: Utils.mapButtons(item?.links),\n button: Utils.mapButtons(item?.buttons),\n price: item?.price,\n fTitle: props?.texts?.footerTitle,\n fSubtitle: props?.texts?.footerPretitle,\n services: item?.servicesService?.map((item: any) => ({\n name: item?.name,\n icon: `icon-${item?.class}`,\n })),\n btnLess: item?.texts?.additional3,\n btnMore: item?.texts?.additional4,\n }) as BabylonSliderItem\n ),\n } as BabylonHotelsListI;\n }\n\n mapInfo4Img(props: any | undefined): BabylonInfo4imgI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.description,\n button: Utils.mapButtons(props?.buttons)[0],\n image1: {\n src: this.getImageResponsive(props?.multimedia?.images[0]),\n alt: props?.multimedia?.images[0].alt,\n },\n image2: {\n src: this.getImageResponsive(props?.multimedia?.images[1]),\n alt: props?.multimedia?.images[1].alt,\n },\n image3: {\n src: this.getImageResponsive(props?.multimedia?.images[2]),\n alt: props?.multimedia?.images[2].alt,\n },\n image4: {\n src: this.getImageResponsive(props?.multimedia?.images[3]),\n alt: props?.multimedia?.images[3].alt,\n },\n } as BabylonInfo4imgI;\n }\n\n mapServicesSlider(props: any | undefined): BabylonServicesSliderI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n } as BabylonServicesSliderI;\n }\n\n mapAdvantages(props: any | undefined): BabylonAdvantagesI {\n return {\n title: props?.texts?.title,\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n icon: `icon-${item.icon}`,\n })),\n } as BabylonAdvantagesI;\n }\n\n mapInfoBig(props: any | undefined): BabylonInfoBigI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.description,\n button: Utils.mapButtons(props?.buttons)[0],\n img: this.getImageResponsive(props?.multimedia?.images[0], false),\n imgSmall: this.getImageResponsive(\n props?.multimedia?.images[1],\n false\n ),\n } as BabylonInfoBigI;\n }\n\n mapInfoZigZagV2(props: any | undefined): BabylonInfoZigzagV2I {\n const [image] = props?.multimedia?.image || [];\n const [image2] = props?.multimedia?.image2 || [];\n return {\n items: [\n {\n button: Utils.mapButtons(props?.buttons)[0],\n features: undefined,\n image: this.getImageResponsive(image, false),\n pretitle: image.pretitle,\n title: image.title,\n text: image.description,\n },\n {\n button: Utils.mapButtons(props?.buttons)[0],\n image: this.getImageResponsive(image2, false),\n pretitle: image2.pretitle,\n title: image2.title,\n text: image.description,\n features: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n },\n ] as BabylonInfoZigzagV2Item[],\n } as BabylonInfoZigzagV2I;\n }\n\n mapFooterContact(props: any | undefined): BabylonFooterContactI {\n return {\n title: props?.texts?.title,\n text: props?.texts?.text,\n extraTxt: props?.texts?.additionalText1,\n button: Utils.mapButtons(props?.buttons)[0],\n img: {\n src: this.getImageResponsive(props?.multimedia?.image?.[0]),\n alt: props?.multimedia?.image?.[0]?.alt,\n },\n advantages: props?.Ventajas?.map((item: any) => ({\n title: item.title,\n text: item.text,\n icon: `icon-${item.icon}`,\n })),\n links: Utils.mapButtons(props?.links?.contactLinks?.[0]),\n } as BabylonFooterContactI;\n }\n\n mapInfo2ImgBig(props: any | undefined): BabylonInfo2imgBigI {\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.description,\n pretitle2: props?.texts?.ndPretitle,\n title2: props?.texts?.ndTitle,\n text2: props?.texts?.ndDescription,\n button: Utils.mapButtons(props?.buttons)[0],\n button2: Utils.mapButtons(props?.buttons)[1],\n img: {\n src: this.getImageResponsive(props?.multimedia?.image?.[0]),\n alt: props?.multimedia?.image?.[0]?.alt,\n },\n imgSmall: {\n src: this.getImageResponsive(props?.multimedia?.ndimage?.[0]),\n alt: props?.multimedia?.ndimage?.[0]?.alt,\n },\n } as BabylonInfo2imgBigI;\n }\n\n mapFooterLogos(props: any | undefined): BabylonFooterLogosI {\n return {\n texts: props?.texts,\n buttons: Utils.mapButtons(props?.buttons),\n logos: props?.multimedia?.logos?.map((logo: any) => ({\n img: this.getImageResponsive(logo, false),\n link: Utils.mapButtons(logo?.links?.[0]),\n })),\n } as BabylonFooterLogosI;\n }\n\n mapFooterLinks(props: any | undefined): BabylonFooterLinksI {\n return {\n copyright: props?.texts?.copyright,\n year: props?.texts?.year,\n buttons: Utils.mapButtons(props?.buttons),\n } as BabylonFooterLinksI;\n }\n\n mapFooterSocials(props: any | undefined): BabylonFooterSocialI {\n const filteredLinks = (props?.links || []).filter(\n (link: any) =>\n link !== null &&\n link !== undefined &&\n link.label !== '' &&\n link.link_value !== ''\n );\n return {\n title: props?.texts?.title,\n text: props?.texts?.text,\n links: filteredLinks ?? Utils.mapButtons(filteredLinks),\n } as BabylonFooterSocialI;\n }\n\n mapSlider2items(props: any | undefined): BabylonSlider2itemsI {\n return {\n title: props?.texts?.title,\n text: props?.texts?.text,\n items: props?.rooms?.map((item: any) => ({\n pretitle: item?.texts?.description,\n title: item?.texts?.name,\n img: {\n src: this.getImageResponsive(item?.multimedia?.[0]),\n alt: item?.multimedia?.[0]?.alt,\n },\n // link:\n buttons: Utils.mapButtons(item?.buttons),\n services: item?.services?.map((item: any) => ({\n name: item.name,\n icon: `icon-${item.class}`,\n })),\n })),\n } as BabylonSlider2itemsI;\n }\n\n mapStaticFooterv2(props: any | undefined): BabylonStaticFooterV2I {\n return {\n title: props?.texts?.title,\n ndTitle: props?.texts?.addressTitle,\n rdTitle: props?.texts?.linksTitle,\n thTitle: props?.texts?.locationTitle,\n frameUrl: props?.texts?.frameUrl,\n imgUrl: props?.multimedia?.footerimg?.[0]?.links?.[0]?.linkValue,\n contactInfo: Utils.mapButtons(props?.links?.contact?.[0]),\n contactLinks: Utils.mapButtons(props?.links?.contactLinks?.[0]),\n footerLinks: Utils.mapButtons(props?.links?.footerLinks?.[0]),\n address: Array.isArray(props?.address)\n ? props.address.map(\n (address: any) =>\n ({\n id: address?.id,\n name: address?.name,\n address: address?.address,\n city: address?.city,\n province: address?.province,\n country: address?.country,\n cp: address?.cp,\n }) as BabylonAddressItem\n )\n : [],\n socialMedia: [\n {\n url: props?.socialMedia?.[0]?.url,\n label: props?.texts?.instagramTitle,\n } as BabylonButtonI,\n ],\n copyright: props?.texts?.copyright,\n nav: props?.nav?.map(\n (nav: any) =>\n ({\n label: nav?.name,\n url: nav?.url,\n }) as BabylonButtonI\n ),\n img: this.getImageResponsive(\n props?.multimedia?.footerimg?.[0],\n false\n ),\n } as BabylonStaticFooterV2I;\n }\n\n mapListGrid(props: any | undefined): BabylonListGridI {\n const { image } = props?.multimedia || [];\n return {\n button: Utils.mapButtons(props?.buttons)[0],\n labels: {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n },\n items: image?.map(\n (item: ImageResponse) =>\n ({\n button: Utils.mapButtons(item?.buttons),\n links: Utils.mapButtons(item?.links),\n image: this.getImageResponsive(item),\n title: item.title,\n subtitle: item.subtitle,\n services: [], //TODO: pte back,\n }) as BabylonItemGridI\n ),\n } as BabylonListGridI;\n }\n\n mapNewsletterModal(props: any | undefined): BabylonNewsletterI {\n return {\n conditions: props?.texts?.conditions,\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n button: Utils.mapButtons(props?.buttons)[0],\n image: this.getImageResponsive(\n props?.multimedia?.defaultimage?.[0]\n ),\n input: {\n name: 'mail',\n placeholder: props?.texts?.inputHolder,\n valid: true,\n value: '',\n error: props?.texts?.newsErrorEmail,\n } as BabylonInputI,\n img: this.getImageResponsive(props?.multimedia?.image?.[0]),\n } as BabylonNewsletterI;\n }\n\n mapGlobalModal(props: any | undefined): BabylonGlobalModalI | undefined {\n //TODO: mapear y rectificar las propiedades cuando vengan del back\n return {\n title: props?.texts?.title,\n subtitle: props?.texts?.subtitle,\n buttons: Utils.mapButtons(props?.buttons),\n image: this.getImageResponsive(props?.multimedia?.image),\n iframe: props?.texts?.iframe,\n img: this.getImageResponsive(props?.multimedia?.image?.[0]),\n } as BabylonGlobalModalI;\n }\n\n mapHeadIntro(props: any | undefined): BabylonHeadIntroI | undefined {\n console.log(Utils.mapButtons(props?.buttons.filter((btn: any) => btn?.linkValue !== null)))\n return {\n pretitle: props?.texts?.pretitle,\n title: props?.texts?.title,\n text: props?.texts?.text,\n buttons: Utils.mapButtons(props?.buttons.filter((btn: any) => btn?.linkValue !== null)),\n } as BabylonHeadIntroI;\n }\n}\n\nexport interface ImageResponse {\n path: ImageResponsePath;\n thumbnails: {\n 375: ImageResponsePath;\n 540: ImageResponsePath;\n 768: ImageResponsePath;\n 800: ImageResponsePath;\n 1024: ImageResponsePath;\n 1280: ImageResponsePath;\n 1366: ImageResponsePath;\n };\n cover: number;\n tags?: any[];\n title?: string;\n pretitle?: string;\n subtitle?: string;\n ndTitle?: string;\n description?: string;\n links?: any[];\n buttons?: any[];\n alt?: string;\n}\n\nexport interface ImageResponsePath {\n original: string;\n webp: string;\n}\n\nexport interface ComponentsAddons {\n contactOffice?: any;\n menuSocialMedia?: { [k: string]: string }[];\n consultType?: ConsultTypeI;\n}\n\nexport interface FilterOption {\n id?: number;\n name?: string;\n children?: FilterOption;\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\nimport {\n BabylonModalMenuAddress,\n BabylonModalMenuComponent,\n} from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { ScreenSizerService } from '../../../services';\n\n@Component({\n selector: 'lib-babylon-header-book-show',\n standalone: true,\n imports: [CommonModule, RouterModule, BabylonLinkTypeDirective, BabylonModalMenuComponent],\n templateUrl: './babylon-header-book-show.component.html',\n styleUrl: './babylon-header-book-show.component.scss',\n providers: [BabylonLinkTypeDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderBookShowComponent implements OnInit, OnDestroy {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() btnBook?: BabylonButtonI;\n @Input() lang?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() headerInMenu?: boolean = false;\n \n @Input() screenBreakpoint: number =\n this.screenSizer.getBreakpoint('smallDesktop') - 1;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n showBtnBook: boolean = false;\n\n constructor(private readonly screenSizer: ScreenSizerService) {}\n\n ngOnInit(): void {\n this.checkScreen();\n window.addEventListener('resize', this.checkScreen.bind(this));\n }\n\n ngOnDestroy(): void {\n window.removeEventListener('resize', this.checkScreen.bind(this));\n }\n\n checkScreen(): void {\n this.showBtnBook = window.innerWidth <= this.screenBreakpoint;\n }\n\n preventLink(linkType: string): void {\n if (linkType.includes('internal')) {\n this.toggleMenu();\n }\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.querySelector('body');\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n\n if (body) {\n body.classList.toggle('no_scroll');\n if (panelMenu?.classList.contains('active')) {\n body.style.overflow = 'hidden';\n } else {\n body.style.overflow = '';\n }\n }\n\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n onAnchorClicked(): void {\n const csHamburgerHeader = document.querySelector(\n '.cs_hamburger_header'\n );\n if (csHamburgerHeader?.classList.contains('active')) {\n csHamburgerHeader.classList.remove('active');\n }\n }\n}\n","<div class=\"babylon-header cs-header-component fixed_header\">\n <header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n [ngClass]=\"{ cs_gescout_sticky: headerFixed }\"\n >\n <div class=\"cs_main_header\" id=\"headerBookShow\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n @if (logo) {\n <div class=\"cs_main_header_left\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img\n [src]=\"logo.src\"\n width=\"240\"\n height=\"60\"\n [alt]=\"logo.alt\"\n />\n </a>\n </div>\n }\n @if (menu) {\n <div class=\"cs_main_header_center babylon__header__box\">\n <nav\n class=\"cs_nav cs_fs_13 cs_semibold cs_menu_item_global\"\n >\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n link.children?.length,\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n (anchorClicked)=\"\n onAnchorClicked()\n \"\n >\n {{ link.label }}\n </a>\n @if (link.children?.length) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n (anchorClicked)=\"\n onAnchorClicked()\n \"\n >\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"cs_main_header_right\">\n @if (btnBook && showBtnBook) {\n <button\n class=\"btn btn_call btn--light1\"\n (click)=\"openEngineModal()\"\n id=\"btn-book\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n\n <button\n class=\"cs_hamburger_btn ml--20\"\n aria-label=\"menu\"\n (click)=\"toggleMenu()\"\n >\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </header>\n @if (logo) {\n <div class=\"header-responsive\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </a>\n </div>\n }\n \n @if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n }\n</div>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EmbeddedViewRef,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonEngineComponent } from '../babylon-engine';\nimport {\n BabylonModalMenuAddress,\n BabylonModalMenuComponent,\n} from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-clear',\n standalone: true,\n imports: [\n RouterModule,\n CommonModule,\n BabylonModalMenuComponent,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-header-clear.component.html',\n styleUrl: './babylon-header-clear.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderClearComponent {\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() lang?: string;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() btnBook?: BabylonButtonI;\n @Input() engineRef?: TemplateRef<EmbeddedViewRef<BabylonEngineComponent>>;\n @Input() engineShow = false;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n @Output() anchorClicked = new EventEmitter<void>();\n\n onAnchorClicked(): void {\n const panelMenu = document.querySelector('.panel_menu');\n if (panelMenu && panelMenu.classList.contains('active')) {\n this.toggleMenu();\n }\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.body;\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n if (body) {\n body.classList.toggle('no_scroll');\n }\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n}\n","<div class=\"babylon-header\">\n <header class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\" >\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n <button class=\"cs_hamburger_btn\" (click)=\"toggleMenu()\">\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n </div>\n <div class=\"cs_main_header_center\">\n @if (logo) {\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n }\n </div>\n <div\n class=\"cs_main_header_right\"\n [ngClass]=\"{ clear__engine: engineRef && engineShow }\"\n >\n @if (btnBook && !engineShow) {\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n <a\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-news-modal\"\n (click)=\"openNewsletter()\"\n >\n <span class=\"babylon-envelope\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n </header>\n\n @if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n }\n\n @if (engineRef && engineShow) {\n <ng-container [ngTemplateOutlet]=\"engineRef\"></ng-container>\n }\n\n @if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-menu-center',\n standalone: true,\n imports: [RouterModule, CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-header-menu-center.component.html',\n styleUrl: './babylon-header-menu-center.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMenuCenterComponent {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() lang?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n isRooms(name: string): boolean {\n return name === 'Habitaciones';\n }\n\n isOffers(name: string): boolean {\n return name === 'Ofertas';\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n}\n","<div class=\"babylon-header\">\n <header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n >\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n @if (logo) {\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n width=\"250\"\n />\n </a>\n }\n </div>\n @if (menu) {\n <div class=\"cs_main_header_center\">\n <nav class=\"cs_nav cs_fs_13 cs_semibold\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n isRooms(link.name!) ||\n isOffers(link.name!),\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n isRooms(link.name!) ||\n isOffers(link.name!)\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n >\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"cs_main_header_right\">\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>RESERVAR </b>\n </button>\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n\n <button class=\"cs_hamburger_btn ml--20\">\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</header>\n@if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"250\" />\n </a>\n </div>\n}\n<div class=\"cs_hamburger_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_hamburger_header_top\">\n @if (logo) {\n <div class=\"cs_hamburger_brand\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"250\" />\n </a>\n </div>\n }\n <button class=\"cs_close_hamburger\">\n <svg\n width=\"30\"\n height=\"30\"\n viewBox=\"0 0 30 30\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19.8175 11.0675L15.885 15L19.8175 18.9325C20.0613 19.1763 20.0613 19.5725 19.8175 19.8162C19.695 19.9387 19.535 19.9987 19.375 19.9987C19.215 19.9987 19.055 19.9375 18.9325 19.8162L15 15.8837L11.0675 19.8162C10.945 19.9387 10.785 19.9987 10.625 19.9987C10.465 19.9987 10.305 19.9375 10.1825 19.8162C9.93875 19.5725 9.93875 19.1763 10.1825 18.9325L14.115 15L10.1825 11.0675C9.93875 10.8238 9.93875 10.4275 10.1825 10.1838C10.4262 9.94 10.8225 9.94 11.0662 10.1838L14.9987 14.1163L18.9313 10.1838C19.175 9.94 19.5713 9.94 19.815 10.1838C20.0588 10.4275 20.0588 10.8238 19.815 11.0675H19.8175ZM30 15C30 23.2712 23.2712 30 15 30C6.72875 30 0 23.2712 0 15C0 6.72875 6.72875 0 15 0C23.2712 0 30 6.72875 30 15ZM28.75 15C28.75 7.41875 22.5812 1.25 15 1.25C7.41875 1.25 1.25 7.41875 1.25 15C1.25 22.5812 7.41875 28.75 15 28.75C22.5812 28.75 28.75 22.5812 28.75 15Z\"\n fill=\"white\"\n />\n </svg>\n </button>\n </div>\n </div>\n <div class=\"cs_hamburger_header_in\">\n <div class=\"container\">\n <div class=\"row\">\n @if (menu) {\n <div class=\"col-lg-6\">\n <nav class=\"cs_hamburger_menu\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n class=\"title--small\"\n [ngClass]=\"{\n 'menu-item-has-children':\n isRooms(link.name!) ||\n isOffers(link.name!),\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n isRooms(link.name!) ||\n isOffers(link.name!)\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n >\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"col-lg-6\">\n <div class=\"cs_hamburger_header_info\">\n <div class=\"cs_hamburger_header_info_in\">\n <div class=\"row\">\n <div class=\"col-lg-6\">\n <div class=\"cs_hamburger_contact_info\">\n @if (title) {\n <h3\n class=\"cs_fs_28 subtitle--small subtitle--small--light mb--20\"\n >\n {{ title }}\n </h3>\n }\n @if (menuInfo?.contact?.links?.length) {\n <p class=\"text\">\n @for (\n contact of menuInfo?.contact?.links;\n track $index\n ) {\n <a\n [href]=\"\n contact.linkValue\n \"\n >\n {{ contact.label }} :\n {{\n contact.linkValue\n }} </a\n ><br />\n }\n </p>\n }\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_hamburger_contact_info\">\n @if (ndTitle) {\n <h3\n class=\"cs_fs_28 subtitle--small subtitle--small--light mb--20\"\n >\n {{ ndTitle }}\n </h3>\n }\n @if (menuInfo?.address; as address) {\n <p class=\"ctext\">\n @if (address.address) {\n {{ address.address }} <br />\n }\n @if (\n address.cp && address.city\n ) {\n {{ address.cp }}\n {{ address.city }} <br />\n }\n @if (\n address.province &&\n address.country\n ) {\n {{ address.province }}\n {{ address.country }}\n }\n </p>\n <a\n href=\"#\"\n class=\"btn-link btn-link--light\"\n >\n <b>Ver mapa</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { ScreenSizerService } from '../../../services';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-menu-logo-center',\n standalone: true,\n imports: [RouterModule, CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-header-menu-logo-center.component.html',\n styleUrl: './babylon-header-menu-logo-center.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMenuLogoCenterComponent implements OnInit {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() btnBook?: BabylonButtonI;\n @Input() lang?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n leftMenu: BabylonMenuButtonI[] = [];\n rightMenu: BabylonMenuButtonI[] = [];\n\n isHamburgerActive: boolean = false;\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly screenSizer: ScreenSizerService\n ) {}\n ngOnInit(): void {\n const midIndex = this.menu ? Math.ceil(this.menu.length / 2) : 0;\n this.leftMenu = this.menu ? this.menu.slice(0, midIndex) : [];\n this.rightMenu = this.menu ? this.menu.slice(midIndex) : [];\n }\n\n isInternalLink(linkType: string): boolean {\n return linkType === 'internal';\n }\n\n preventLink(e: Event): void {\n e.preventDefault();\n this.isHamburgerActive = false;\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleHamburgerMenu() {\n this.isHamburgerActive = !this.isHamburgerActive;\n }\n\n closeHamburgerMenu() {\n this.isHamburgerActive = false;\n }\n}\n","<div class=\"babylon-header\">\n <header class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\">\n <div class=\"cs_main_header\" id=\"headerCenterBookShow\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n @if (logoSticky) {\n <div class=\"cs_logo_left\">\n <div class=\"cs_logo_item\">\n <a [href]=\"\n linkLogo?.url\n ? linkLogo?.url\n : '/' + lang?.toLowerCase()\n \">\n <img [src]=\"logoSticky.src\" alt=\"\" class=\"cs_logo\" width=\"250\" />\n </a>\n </div>\n </div>\n }\n </div>\n <div class=\"cs_btn-engine-container\">\n <button class=\"btn btn_call\" (click)=\"openEngineModal()\" id=\"btn-book\">\n <b>{{ btnBook?.label }} </b>\n </button>\n </div>\n @if (menu) {\n <div class=\"cs_main_header_center\">\n <nav class=\"cs_nav cs_fs_13 cs_semibold\">\n <div class=\"cs_menu_logo\">\n <div class=\"leftMenu\">\n <ul class=\"cs_nav_list\">\n <!-- Primera mitad del menú -->\n @for (\n link of leftMenu;\n track $index\n ) {\n <li [ngClass]=\"{\n 'menu-item-has-children':\n link.children\n ?.length,\n }\">\n <a [linkType]=\"\n link.linkType\n \" (click)=\"\n preventLink($event)\n \" [href]=\"\n link.url\n \">\n {{ link.label }}\n </a>\n @if (\n link.children?.length\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a [href]=\"\n item.url\n \" (click)=\"\n preventLink(\n $event\n )\n \" [routerLink]=\"\n item.url\n \">\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n </div>\n\n <!-- Logo en el centro -->\n @if (logo) {\n <div class=\"cs_logo_center\">\n <li class=\"cs_logo_item\">\n <a [href]=\"\n linkLogo?.url\n ? linkLogo?.url\n : '/' +\n lang?.toLowerCase()\n \">\n <img [src]=\"logo.src\" alt=\"\" class=\"cs_logo\" width=\"200\" />\n </a>\n </li>\n </div>\n }\n\n <div class=\"rightMenu\">\n <ul class=\"cs_nav_list\">\n <!-- Segunda mitad del menú -->\n @for (\n link of rightMenu;\n track $index\n ) {\n <li [ngClass]=\"{\n 'menu-item-has-children':\n link.children\n ?.length,\n }\">\n <a [linkType]=\"\n link.linkType\n \" (click)=\"\n preventLink($event)\n \" [href]=\"\n link.url\n \">\n {{ link.label }}\n </a>\n @if (\n link.children?.length\n ) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a [href]=\"\n item.url\n \" (click)=\"\n preventLink(\n $event\n )\n \" [routerLink]=\"\n item.url\n \">\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n </div>\n </div>\n <div class=\"cs_menu_no_logo\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li [ngClass]=\"{\n 'menu-item-has-children':\n link.children\n ?.length,\n }\">\n <a [linkType]=\"\n link.linkType\n \" [href]=\"link.url\" (click)=\"\n preventLink($event)\n \" [routerLink]=\"link.url\">\n {{ link.label }}\n </a>\n @if (\n link.children?.length\n ) {\n <ul>\n @for (\n item of link.children;\n let childrenIndex = $index;\n track childrenIndex\n ) {\n <li>\n <a [href]=\"\n item.url\n \" (click)=\"\n preventLink(\n $event\n )\n \" [routerLink]=\"\n item.url\n \">\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </div>\n </nav>\n </div>\n }\n\n <div class=\"cs_main_header_right\">\n @if (lang) {\n <button class=\"btn btn_unlink ml--20 btn-lang\" id=\"btn-lang\" (click)=\"openLanguagesModal()\">\n <b>{{ lang }}</b>\n </button>\n }\n\n <button class=\"cs_hamburger_btn ml--20\" (click)=\"toggleHamburgerMenu()\">\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </header>\n @if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n }\n <div class=\"cs_hamburger_header\" [ngClass]=\"{ active: isHamburgerActive }\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_hamburger_header_top\">\n @if (logo) {\n <div class=\"cs_hamburger_brand\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n }\n\n <div class=\"btn-close--modal\" (click)=\"closeHamburgerMenu()\">\n <span class=\"btn btn_primary btn--light babylon-plus btn-responsive\"></span>\n </div>\n </div>\n </div>\n <div class=\"cs_hamburger_header_in\">\n <div class=\"container\">\n <div class=\"row\">\n @if (menu) {\n <div class=\"col-lg-6\">\n <nav class=\"cs_hamburger_menu\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li class=\"title--small\" [ngClass]=\"{\n 'menu-item-has-children':\n link.children?.length,\n }\">\n <a [linkType]=\"link.linkType\" (click)=\"\n preventLink($event)\n \" [routerLink]=\"link.url\">\n {{ link.label }}\n </a>\n @if (link.children?.length) {\n <ul>\n @for (\n item of link.children;\n track $index\n ) {\n <li>\n <a [linkType]=\"\n link.linkType\n \" (click)=\"\n preventLink(\n $event\n )\n \" [routerLink]=\"\n link.url\n \">\n {{\n item.label\n }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</div>","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonModalMenuComponent } from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\n@Component({\n selector: 'lib-babylon-header-menu-show',\n standalone: true,\n imports: [\n RouterModule,\n CommonModule,\n BabylonLinkTypeDirective,\n BabylonModalMenuComponent,\n ],\n templateUrl: './babylon-header-menu-show.component.html',\n styleUrl: './babylon-header-menu-show.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMenuShowComponent {\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() lang?: string;\n @Input() btnBook?: BabylonButtonI;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n onAnchorClicked(): void {\n const panelMenu = document.querySelector('.panel_menu');\n if (panelMenu?.classList.contains('active')) {\n this.toggleMenu();\n }\n }\n\n isRooms(name: string): boolean {\n return name === 'Habitaciones';\n }\n\n isOffers(name: string): boolean {\n return name === 'Ofertas';\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.querySelector('body');\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n\n if (body) {\n body.classList.toggle('no_scroll');\n }\n\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n}\n","<div class=\"babylon-header\">\n <header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n [ngClass]=\"{ cs_gescout_sticky: headerFixed }\"\n >\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n @if (logo) {\n <div class=\"cs_main_header_left\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img\n [src]=\"logo.src\"\n [alt]=\"logo.alt\"\n width=\"250\"\n />\n </a>\n </div>\n }\n @if (menu) {\n <div class=\"cs_main_header_center\">\n <nav class=\"cs_nav cs_fs_13 cs_semibold\">\n @if (menu.length) {\n <ul class=\"cs_nav_list\">\n @for (link of menu; track $index) {\n <li\n [ngClass]=\"{\n 'menu-item-has-children':\n isRooms(link.name!) ||\n isOffers(link.name!),\n }\"\n >\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n @if (\n isRooms(link.name!) ||\n isOffers(link.name!)\n ) {\n <ul>\n @for (\n item of link.children;\n let childrenIndex = $index;\n track childrenIndex\n ) {\n <li>\n <a\n [linkType]=\"\n item.linkType\n \"\n [href]=\"\n item.url\n \"\n >\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n }\n </nav>\n </div>\n }\n <div class=\"cs_main_header_right\">\n @if (btnBook) {\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n (click)=\"openLanguagesModal()\"\n id=\"btn-lang\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-news-modal\"\n (click)=\"openNewsletter()\"\n >\n <span class=\"babylon-envelope\"></span>\n </button>\n\n <button\n class=\"cs_hamburger_btn ml--20\"\n (click)=\"toggleMenu()\"\n >\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n</header>\n\n@if (logo) {\n <div class=\"header-responsive\">\n <a\n class=\"cs_site_branding\"\n [href]=\"linkLogo?.url\"\n [linkType]=\"linkLogo?.linkType\"\n >\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n}\n\n@if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n }\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core'; \nimport { MatDialogRef } from '@angular/material/dialog'; \n\n\n@Component({\n selector: 'lib-babylon-offer-popup',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-offer-popup.component.html',\n styleUrl: './babylon-offer-popup.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferPopupComponent {\n constructor(\n private readonly dialogRef: MatDialogRef<BabylonOfferPopupComponent>\n) {}\n\nclose(): void {\n this.dialogRef.close();\n}\n}\n","<div class=\"offer-popup\">\n <div class=\"btn-close--modal margin-30\" (click)=\"close()\">\n <button class=\"btn btn_primary btn--close ml--20\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"row m-0 w-100 h-100\">\n <div class=\"col-12 col-xl-6 p-0 offer-popup__image\">\n <figure>\n <img\n class=\"background-image\"\n src=\"/assets/babylon/fotos/newsletter.jpg\" alt=\"\"\n >\n </figure>\n </div>\n <div class=\"col-12 col-xl-6 offer-popup__wrapper px-5\">\n <div class=\"intro_info align--center\">\n <h2 class=\"title--small\">¡Reserva ya con un 10% de descuento!</h2>\n <h3 class=\"subtitle--small mb--20\">Precio exclusivo web </h3>\n <p class=\"text--small\">\n Sed ut perspiciatis unde omnis iste natus error sit\n voluptatem accusantium doloremque laudantium, totam rem\n aperiam, eaque ipsa quae ab illo inventore veritatis et\n quasi architecto beatae vitae dicta sunt explicabo.\n </p>\n <div class=\"btns__box justify-between1\"> \n <a class=\"btn btn_call\" href=\"#\">\n reservar\n </a>\n <a class=\"btn-link\" href=\"#\">\n Ver más información\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { RouterModule } from '@angular/router';\nimport { ScreenSizerService } from '../../../services';\nimport { BabylonOfferPopupComponent } from '../babylon-offer-popup/babylon-offer-popup.component';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonMenuButtonI } from '../../../interfaces/babylon-menu-button.interface';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonModalMenuComponent } from '../babylon-modal-menu/babylon-modal-menu.component';\nimport { BabylonMenuInfoI } from '../../../interfaces/babylon-menu-info.interface';\n\ndeclare var $: any;\n@Component({\n selector: 'lib-babylon-header-mobile',\n standalone: true,\n imports: [RouterModule, CommonModule, BabylonLinkTypeDirective, BabylonModalMenuComponent],\n templateUrl: './babylon-header-mobile.component.html',\n styleUrl: './babylon-header-mobile.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHeaderMobileComponent {\n\n @Input() headerFixed: boolean = false;\n @Input() logo?: BabylonImageI;\n @Input() logoSticky?: BabylonImageI;\n @Input() linkLogo?: BabylonButtonI;\n @Input() menu?: BabylonMenuButtonI[];\n @Input() menuInfo?: BabylonMenuInfoI;\n @Input() lang?: string;\n @Input() socialMedia?: BabylonButtonI[];\n @Input() address?: BabylonAddressItem;\n @Input() contactInfo?: BabylonButtonI[];\n @Input() contactLinks?: BabylonButtonI[];\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() btnBook?: BabylonButtonI;\n @Input() addressTitle?: string;\n @Input() contactTitle?: string;\n\n @Output() openEngine = new EventEmitter();\n @Output() openLanguages = new EventEmitter();\n @Output() openNews = new EventEmitter();\n\n @Output() anchorClicked = new EventEmitter<void>();\n onAnchorClicked(): void {\n if ($('.panel_menu').hasClass('active')) {\n this.toggleMenu();\n }\n }\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly screenSizer: ScreenSizerService,\n ) {}\n\n isRooms(name: string): boolean {\n return name === 'Habitaciones';\n }\n\n isOffers(name: string): boolean {\n return name === 'Ofertas';\n }\n\n preventLink(e: Event): void {\n e.preventDefault();\n }\n\n openOffer(): void {\n const dialogRef = this.dialog.open(BabylonOfferPopupComponent, {\n width: this.screenSizer.minMediumTablet() ? '65%' : '95vw',\n height: this.screenSizer.minMediumTablet() ? '80%' : '85vh',\n maxHeight: this.screenSizer.minMediumTablet() ? '714px' : '100vh',\n maxWidth: this.screenSizer.minMediumTablet() ? '1000px' : '100vw',\n hasBackdrop: true,\n panelClass: 'newsletter',\n });\n }\n\n openLanguagesModal(): void {\n this.openLanguages.emit();\n }\n\n openEngineModal(): void {\n this.openEngine.emit();\n }\n\n openNewsletter(): void {\n this.openNews.emit();\n }\n\n toggleMenu(): void {\n const hamburger = document.querySelector('.hamburger');\n const panelMenu = document.querySelector('.panel_menu');\n const body = document.body;\n const header = document.querySelector('header');\n\n if (hamburger) {\n hamburger.classList.toggle('is-active');\n }\n if (panelMenu) {\n panelMenu.classList.toggle('active');\n }\n if (body) {\n body.classList.toggle('no_scroll');\n }\n if (header) {\n header.classList.toggle('header_color');\n }\n }\n\n}\n","<header\n class=\"cs_site_header cs_style_1 cs_transparent_header cs_primary_color cs_sticky_header fixed_header\"\n>\n <div class=\"cs_main_header\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_main_header_in\">\n <div class=\"cs_main_header_left\">\n <button class=\"cs_hamburger_btn\" (click)=\"toggleMenu()\">\n <span class=\"cs_hamburger_btn_in\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </span>\n </button>\n\n </div>\n <div class=\"cs_main_header_center\">\n @if (btnBook) {\n <button\n class=\"btn btn_call btn--light1\"\n id=\"btn-book\"\n (click)=\"openEngineModal()\"\n >\n <b>{{ btnBook.label }} </b>\n </button>\n }\n </div>\n <div class=\"cs_main_header_right\">\n @if (lang) {\n <button\n class=\"btn btn_primary btn--light ml--20 btn-lang\"\n id=\"btn-lang\"\n (click)=\"openLanguagesModal()\"\n >\n <b>{{ lang }}</b>\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n</header>\n\n@if (logo) {\n <div class=\"header-responsive\">\n <a class=\"cs_site_branding\" [href]=\"linkLogo?.url\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" width=\"200\" />\n </a>\n </div>\n}\n\n@if (menuInfo && menu) {\n <section class=\"babylon__menu\">\n <lib-babylon-modal-menu\n class=\"panel_menu\"\n [menu]=\"menu\"\n [address]=\"menuInfo.address\"\n [addressTitle]=\"menuInfo.address?.title\"\n [contact]=\"menuInfo.contact?.links\"\n [contactTitle]=\"menuInfo.contact?.title\"\n [socialMedia]=\"menuInfo.socialMedia\"\n [img]=\"menuInfo.img\"\n [linkLogo]=\"linkLogo\"\n [logo]=\"logo\"\n (toggleMenu)=\"toggleMenu()\"\n (anchorClicked)=\"onAnchorClicked()\"\n ></lib-babylon-modal-menu>\n </section>\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonHotelItem } from './babylon-hotel.interface';\n@Component({\n selector: 'lib-babylon-hotels-list',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-hotels-list.component.html',\n styleUrl: './babylon-hotels-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHotelsListComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() hotels?: BabylonHotelItem[];\n\n collapsed1=true;\n toggleCollapse1(): void {\n this.collapsed1 = !this.collapsed1;\n }\n}\n","<section class=\"babylon__hotels-list margin-main \">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }} </h2>\n }\n @if(title){\n <h3 class=\"title\" >{{ title }}</h3>\n }\n </div>\n </div>\n @if(hotels){\n <div class=\"container-fluid cs_plr_100\">\n <!-- TODO: FALTA FILTRO -->\n <div class=\"row cs_gap_y_80\">\n @for(hotel of hotels; track $index){\n <div class=\"babylon__hotels-list--item col-xl-4 col-md-6\">\n <div class=\"cs_card cs_style_7 cs--radius overflow-hidden\">\n <a [href]=\"hotel?.link?.[0]?.url\" [linkType]=\"hotel?.link?.[0]?.linkType\" class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg\">\n @if(hotel.img){\n <img [src]=\"hotel.img.src\" [alt]=\"hotel.img.alt\">\n }\n </a>\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info align--center no-align\" [ngClass]=\"collapsed1 ? 'close' : 'open'\">\n @if(hotel.pretitle){\n <h3 class=\"pretitle \">{{hotel.pretitle}}</h3>\n }\n @if(hotel.title){\n <h2 class=\"title--small mb--10\" >{{hotel.title}}</h2>\n }\n @if(hotel.text){\n <p class=\"text\">{{hotel.text}}</p>\n }\n @if(hotel.textMore){\n <p class=\"text text-more\">{{hotel.textMore}}</p>\n }\n <div class=\"btns__box align--center no-align\">\n @if(hotel.btnMore){\n <span class=\"btn-link btn-more\" (click)=\"toggleCollapse1()\">\n <b>{{ hotel.btnMore }}</b>\n <span class=\"babylon-plus\"></span>\n </span>\n }\n @if(hotel.btnLess){\n <span class=\"btn-link btn-minus\" (click)=\"toggleCollapse1()\">\n <b>{{ hotel.btnLess }}</b>\n <span class=\"babylon-minus\"></span>\n </span>\n }\n </div>\n </div>\n @if(hotel?.services?.length) {\n <ul class=\"babylon__hotels-list--services\">\n @for(service of hotel.services; track $index){\n @if (service.name) {\n <li class=\"babylon__hotels-list--services--item \">{{service.name}}</li>\n }\n }\n <div class=\"babylon__hotels-list--footer\">\n <div class=\"babylon__hotels-list--footer--text\">\n @if(hotel.fTitle){\n <p class=\"babylon__hotels-list--footer--title\"> {{ hotel.fTitle }}</p>\n }\n @if(hotel.fSubtitle){\n <p class=\"babylon__hotels-list--footer--subtitle\"> {{ hotel.fSubtitle }} </p>\n }\n </div>\n @if(hotel.price){\n <span class=\"babylon__hotels-list--footer--price\">{{hotel.price}}<span>€</span></span>\n }\n </div>\n </ul>\n }\n </div>\n </div>\n <div class=\"btns__box align--center \">\n @if(hotel.button){\n <a [href]=\"hotel?.button?.[0]?.url\" [linkType]=\"hotel?.button?.[0]?.linkType\" class=\"btn btn_call \">\n <b>{{hotel?.button?.[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </section>\n","import {\n Directive,\n ElementRef,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[BabylonHotelsSlider]',\n standalone: true,\n})\nexport class BabylonHotelsSliderDirective implements AfterViewInit {\n private observer: MutationObserver | undefined;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === 'childList' &&\n this.el.nativeElement.querySelector('.cs_hotels_slide')\n ) {\n this.initSlider();\n this.observer?.disconnect();\n }\n });\n });\n\n this.observer.observe(this.el.nativeElement, {\n childList: true,\n subtree: true,\n });\n\n setTimeout(() => {\n if (\n this.el.nativeElement.querySelector('.cs_hotels_slide') &&\n !this.observer?.takeRecords().length\n ) {\n this.initSlider();\n }\n }, 1000);\n }\n\n private initSlider() {\n const slider = this.el.nativeElement;\n const arrows = slider.querySelectorAll(\n '.cs_hotels_slide_arrow_right, .cs_hotels_slide_arrow_left'\n );\n const slides = slider.querySelectorAll('.cs_hotels_slide');\n\n arrows.forEach((arrow: any) => {\n arrow.addEventListener('click', (event: any) => {\n const direction = arrow.classList.contains(\n 'cs_hotels_slide_arrow_left'\n )\n ? 'prev'\n : 'next';\n this.updateSlides(direction);\n this.cdr.detectChanges();\n });\n });\n\n slides.forEach((slide: any) => {\n const anchorElement = slide.querySelector('a');\n const dataSrc = anchorElement.getAttribute('data-src');\n if (anchorElement && dataSrc) {\n anchorElement.style.backgroundImage = `url(${dataSrc})`;\n anchorElement.style.backgroundSize = 'cover';\n anchorElement.style.backgroundPosition = 'center';\n }\n\n const imgElement = slide.querySelector('img');\n if (imgElement) {\n imgElement.remove();\n }\n });\n\n if (!slider.querySelector('.cs_hotels_slide.active')) {\n const firstSlide = slider.querySelector('.cs_hotels_slide');\n if (firstSlide) {\n firstSlide.classList.add('active');\n }\n }\n\n this.updateSlides('next');\n }\n\n private updateSlides(direction: string) {\n const activeSlide = this.el.nativeElement.querySelector(\n '.cs_hotels_slide.active'\n );\n const slides =\n this.el.nativeElement.querySelectorAll('.cs_hotels_slide');\n const totalSlides = slides.length;\n const activeIndex = Array.from(slides).indexOf(activeSlide);\n let nextIndex;\n\n if (!activeSlide) {\n nextIndex = 0;\n } else {\n nextIndex =\n direction === 'next'\n ? activeIndex === totalSlides - 1\n ? 0\n : activeIndex + 1\n : activeIndex === 0\n ? totalSlides - 1\n : activeIndex - 1;\n }\n\n const nextSlide = slides[nextIndex];\n slides.forEach((slide: any) =>\n slide.classList.remove(\n 'prev-1',\n 'next-1',\n 'prev-2',\n 'next-2',\n 'active'\n )\n );\n this.renderer.addClass(nextSlide, 'active');\n\n const prev1Index = nextIndex === 0 ? totalSlides - 1 : nextIndex - 1;\n const prev2Index = prev1Index === 0 ? totalSlides - 1 : prev1Index - 1;\n const next1Index = nextIndex === totalSlides - 1 ? 0 : nextIndex + 1;\n const next2Index = next1Index === totalSlides - 1 ? 0 : next1Index + 1;\n\n slides[prev1Index].classList.add('prev-1');\n slides[next1Index].classList.add('next-1');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonGlobalIconI } from '../../../interfaces/babylon-global-icon.interface';\nimport { BabylonHotelsSliderDirective } from '../../../directives/babylon-sliders/babylon-hotels-slider.directive';\nimport { BabylonHotelItem } from '../babylon-hotels-list/babylon-hotel.interface';\n\n@Component({\n selector: 'lib-babylon-hotels-slider',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonHotelsSliderDirective],\n templateUrl: './babylon-hotels-slider.component.html',\n styleUrl: './babylon-hotels-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonHotelsSliderComponent {\n @Input() subtitle?: string;\n @Input() title?: string;\n @Input() hotels?: BabylonHotelItem[];\n}\n","\n <section class=\"babylon__hotels-slider margin-main bg--dark1\">\n <div class=\"container\">\n <div class=\"intro_info align--center intro_info--light1 no-align\">\n @if(title){\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n }\n @if(subtitle){\n <h3 class=\"subtitle\">{{subtitle}}</h3>\n }\n </div>\n </div>\n @if(hotels){\n <div class=\"cs_hotels_slide_container\" BabylonHotelsSlider>\n <div class=\"container-fluid\">\n <div class=\"cs_hotels_slide_wrapper cs_lightgallery\">\n @for(hotel of hotels; track $index){\n <div class=\"cs_hotels_slide\">\n <a [href]=\"hotel?.link?.[0]?.url\" [linkType]=\"hotel?.link?.[0]?.linkType\" class=\"cs_hotels_slide_item cs_bg_filed cs_lightbox_item cs_custom_pointer_wrap cs--radius\" [attr.data-src]=\"hotel.img?.src\">\n @if(hotel.img){\n <img [src]=\"hotel.img.src\" [alt]=\"hotel.img.alt\" class=\"d-none\">\n }\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if(hotel.pretitle){\n <h3 class=\"pretitle--small mb--0\">{{hotel.pretitle}}</h3>\n }\n @if(hotel.title){\n <h2 class=\"title--small mb--0\">{{hotel.title}}</h2>\n }\n <div class=\"btns__box align--vertical-center\">\n @if(hotel.link && hotel?.link?.[0]?.label){\n <a [href]=\"hotel?.link?.[0]?.url\" [linkType]=\"hotel?.link?.[0]?.linkType\" class=\"btn btn_primary btn--light\">\n <b>{{hotel?.link?.[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n @if(hotel.button && hotel?.button?.[0]?.label){\n <a [href]=\"hotel?.button?.[0]?.url\" [linkType]=\"hotel?.button?.[0]?.linkType\" class=\"btn btn_call\">\n <b>{{hotel?.button?.[0]?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n </div>\n </div>\n </a>\n </div>\n }\n\n </div>\n </div>\n <div class=\"cs_hotels_slide_arrows\">\n <span class=\"cs_hotels_slide_arrow_left\">\n <span class=\"babylon-arrow-left-big\"></span>\n </span>\n <span class=\"cs_hotels_slide_arrow_right\">\n <span class=\"babylon-arrow-right-big\"></span>\n </span>\n </div>\n\n </div>\n }\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\n\n@Component({\n selector: 'lib-babylon-info-big',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-big.component.html',\n styleUrl: './babylon-info-big.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoBigComponent {\n @Input() img?: BabylonImageI;\n @Input() imgSmall?: BabylonImageI;\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n}\n","\n<section class=\"babylon__infoImgBig\">\n <div class=\"babylon__infoImgBig--content margin-main\" >\n <div class=\"babylon__infoImgBig--boxImg\" >\n @if(img){\n <figure class=\"\" role=\"img\" [style.background-image]=\"'url(' + img.src + ')'\"></figure>\n }\n @if(imgSmall){\n <figure class=\"figure-small\" role=\"img\" [style.background-image]=\"'url(' + imgSmall.src + ')'\"></figure>\n }\n </div>\n <div class=\"babylon__infoImgBig--boxInfo \">\n <div class=\"row justify-content-center align-items-center\">\n <div class=\" col-lg-8\">\n <div class=\"intro_info intro_info--light align--center no-align\">\n @if(pretitle){\n <h4 class=\"pretitle-top\">{{ pretitle }}</h4>\n }\n @if(title){\n <h2 class=\"title mb-4\">{{ title }}</h2>\n }\n @if(text){\n <p class=\"text\">{{ text }}</p>\n }\n @if(button){\n <div class=\"btns__box align--center\">\n <a [href]=\"button.url\" [linkType]=\"button.linkType\" class=\"btn btn_primary btn--light\">{{ button.label }}</a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-info-grid',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-grid.component.html',\n styleUrl: './babylon-info-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoGridComponent implements OnInit{\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() items?: BabylonInfoGridItemI[];\n collapsed1=true;\n collapsedStates: boolean[] = [];\n\n ngOnInit(): void {\n this.collapsedStates = new Array(this.items?.length).fill(true);\n }\n\n toggleCollapse(index: number): void {\n this.collapsedStates[index] = !this.collapsedStates[index];\n }\n}\n\nexport interface BabylonInfoGridItemI {\n pretitle?: string;\n title?: string;\n text?: string;\n image?: BabylonImageI;\n links?: BabylonButtonI[];\n}\n","<section class=\"babylon__info-grid margin-main bg--dark1\">\n <div class=\"container\">\n <div class=\"intro_info align--center intro_info--light1 no-align\">\n @if (pretitle) {\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ title }}\n </h2>\n }\n </div>\n <div class=\"cs_grid_style_1\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <div\n class=\"cs_grid_item\"\n [ngClass]=\"collapsedStates[$index] ? 'close' : 'open'\"\n >\n <div\n class=\"cs_gallery_item cs_style_1 d-block cs_bg_filed position-relative cs--radius\"\n [attr.data-src]=\"item.image?.src\"\n dataBackground=\"url('{{item.image?.src}}')\"\n >\n\n @if (item.image) {\n <img\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n class=\"d-none\"\n />\n }\n <div\n class=\"intro_info intro_info--light intro_head\"\n >\n @if (item?.pretitle) {\n <h4 class=\"pretitle--small mb--10\">\n {{ item?.pretitle }}\n </h4>\n }\n @if (item?.title) {\n <h2 class=\"title--small\">\n {{ item?.title }}\n </h2>\n }\n </div>\n @if (item.links) {\n <a class=\"cs_gallery_item_link\" [href]=\"item.links[0].url\" [linkType]=\"item.links[0].linkType\"></a>\n }\n @if (item.text) {\n <span\n class=\"icon-plus cs--radius\"\n (click)=\"toggleCollapse($index)\"\n >\n <span class=\"babylon-plus\"></span>\n </span>\n <span\n class=\"icon-minus cs--radius\"\n (click)=\"toggleCollapse($index)\"\n >\n <span class=\"babylon-minus\"></span>\n </span>\n <div\n class=\"text-more intro_info intro_info--light no-align\"\n >\n <p class=\"text text--light\">\n {{ item?.text }}\n </p>\n </div>\n }\n </div>\n </div>\n }\n }\n </div>\n </div>\n</section>\n","import { BabylonInfoGridItemI } from \"./babylon-info-grid.component\";\n\nexport class BabylonInfoGridI {\n pretitle?: string;\n title?: string;\n text?: string;\n items?: BabylonInfoGridItemI[];\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[backgroundStrip]',\n standalone: true,\n})\nexport class BabylonBackgroundStrip implements OnChanges {\n @Input() topBG?: string;\n @Input() bottomBG?: string;\n @Input() topColor?: string;\n @Input() bottomColor?: string;\n\n private topSection?: HTMLElement;\n private bottomSection?: HTMLElement;\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n ngOnChanges(): void {\n this.updateBackgroundStyle();\n }\n\n private updateBackgroundStyle(): void {\n const nativeElement = this.el.nativeElement;\n\n // Limpiar elementos previos\n if (this.topSection) {\n this.renderer.removeChild(nativeElement, this.topSection);\n this.topSection = undefined;\n }\n if (this.bottomSection) {\n this.renderer.removeChild(nativeElement, this.bottomSection);\n this.bottomSection = undefined;\n }\n\n // Crear sección superior si hay contenido\n if ((this.topBG && this.topBG.trim() !== '') || (this.topColor && this.topColor.trim() !== '')) {\n this.topSection = this.renderer.createElement('div');\n this.renderer.addClass(this.topSection, 'top-section');\n this.renderer.appendChild(nativeElement, this.topSection);\n\n if (this.topBG && this.topBG.trim() !== '') {\n this.renderer.setStyle(\n this.topSection,\n 'background-image',\n `url('${this.topBG}')`\n );\n this.renderer.setStyle(\n this.topSection,\n 'background-size',\n 'cover'\n );\n this.renderer.setStyle(\n this.topSection,\n 'background-position',\n 'center'\n );\n }\n if (this.topColor && this.topColor.trim() !== '') {\n this.renderer.setStyle(\n this.topSection,\n 'background-color',\n this.topColor\n );\n }\n }\n\n // Crear sección inferior si hay contenido\n if ((this.bottomBG && this.bottomBG.trim() !== '') || (this.bottomColor && this.bottomColor.trim() !== '')) {\n this.bottomSection = this.renderer.createElement('div');\n this.renderer.addClass(this.bottomSection, 'bottom-section');\n this.renderer.appendChild(nativeElement, this.bottomSection);\n\n if (this.bottomBG && this.bottomBG.trim() !== '') {\n this.renderer.setStyle(\n this.bottomSection,\n 'background-image',\n `url('${this.bottomBG}')`\n );\n this.renderer.setStyle(\n this.bottomSection,\n 'background-size',\n 'cover'\n );\n this.renderer.setStyle(\n this.bottomSection,\n 'background-position',\n 'center'\n );\n }\n if (this.bottomColor && this.bottomColor.trim() !== '') {\n this.renderer.setStyle(\n this.bottomSection,\n 'background-color',\n this.bottomColor\n );\n }\n }\n }\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonBackgroundStrip } from '../../../directives/babylon-background-strip/babylon-background-strip.directive';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-info-img',\n standalone: true,\n imports: [\n CommonModule,\n BabylonSlidersDirective,\n BabylonBackgroundStrip,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-info-img.component.html',\n styleUrl: './babylon-info-img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoImgComponent {\n @Input() rightSide: boolean = false;\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() description?: string;\n @Input() text?: string;\n @Input() ndtitle?: string;\n @Input() buttons?: BabylonButtonI[];\n @Input() images?: BabylonImageI[];\n @Input() advantages?: BabylonAdvInfoI[];\n @Input() logo?: BabylonImageI;\n @Input() advTitle?: string;\n\n @Input() topBG?: string;\n @Input() bottomBG?: string;\n @Input() topColor?: string;\n @Input() bottomColor?: string;\n\n @Input() lessBtn?: string;\n @Input() moreBtn?: string;\n\n showAll = false;\n\n get showBtn(): string {\n return this.showAll ? (this.lessBtn ?? '') : (this.moreBtn ?? '');\n }\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n\n toggleView() {\n this.showAll = !this.showAll;\n }\n}\n","<section\n class=\"babylon__infoimg margin-main\"\n id=\"InfoImg\"\n backgroundStrip\n [topBG]=\"topBG\"\n [bottomBG]=\"bottomBG\"\n [topColor]=\"topColor\"\n [bottomColor]=\"bottomColor\"\n>\n <div class=\"container-fluid p-0 position-relative\">\n <div class=\"container\">\n <div\n class=\"row align-items-center cs_gap_y_40\"\n [ngClass]=\"{ 'column-reverse': rightSide }\"\n >\n @if (rightSide) {\n <ng-container\n [ngTemplateOutlet]=\"infoImgContent\"\n [ngTemplateOutletContext]=\"{ alignClass: '' }\"\n />\n <ng-container\n [ngTemplateOutlet]=\"imageSlider\"\n [ngTemplateOutletContext]=\"{\n extraClass: 'cs_pl_110',\n }\"\n />\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"imageSlider\"\n [ngTemplateOutletContext]=\"{\n extraClass: 'cs_pr_110',\n }\"\n />\n <ng-container\n [ngTemplateOutlet]=\"infoImgContent\"\n [ngTemplateOutletContext]=\"{ alignClass: 'no-align' }\"\n />\n }\n </div>\n </div>\n </div>\n</section>\n\n<ng-template #infoImgContent let-alignClass=\"alignClass\" let-showAll=\"showAll\">\n <div class=\"col-lg-5\">\n <div class=\"intro_info {{ alignClass }}\">\n @if (pretitle) {\n <h3\n class=\"pretitle wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ pretitle }}\n </h3>\n }\n @if (logo && logo.src) {\n <div class=\"logo_title\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </div>\n } @else {\n @if (title) {\n <h2 class=\"title\">{{ title }}</h2>\n }\n }\n @if (text) {\n <h3 class=\"subtitle\">{{ text }}</h3>\n }\n @if (ndtitle) {\n <h4\n class=\"title-{{\n alignClass === 'no-align' ? 'right' : 'left'\n }}\"\n >\n {{ ndtitle }}\n </h4>\n }\n @if (description) {\n <p class=\"text\">{{ description }}</p>\n }\n @if (advTitle) {\n <h5 class=\"title--smaller\">{{ advTitle }}</h5>\n }\n @if (advantages?.length) {\n <ul\n class=\"cs_list cs_style_1 cs_mp_0\"\n [ngClass]=\"{\n 'view-minus': showAll === false,\n }\"\n >\n @if (advantages?.length) {\n @for (adv of advantages; track $index) {\n <li>\n @if (adv.icon) {\n <div\n class=\"info--icon\"\n [ngClass]=\"{\n 'icon--40':\n alignClass === 'no-align',\n }\"\n >\n <i class=\"icon--svg {{ adv.icon }}\"></i>\n </div>\n }\n @if (adv.title || adv.text) {\n <p class=\"text mb--0\">\n {{ adv.title\n }}<span class=\"text--small\">{{\n adv.text\n }}</span>\n </p>\n }\n </li>\n }\n }\n </ul>\n @if (advantages!.length > 6) {\n <div class=\"btns__box align--center\">\n <a class=\"btn-link\" (click)=\"toggleView()\">\n {{ showBtn }}\n </a>\n </div>\n }\n }\n @if (buttons) {\n <div class=\"btns__box\">\n @for (button of buttons; track $index; let odd = $odd) {\n @if (button && button.label) {\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn_primary: !odd,\n btn_call: odd,\n }\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n }\n </div>\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #imageSlider let-extraClass=\"extraClass\">\n <div class=\"col-lg-7\">\n <div class=\"{{ extraClass }}\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <div\n class=\"cs_video_block cs_style_1 cs_type_3 position-relative cs--radius\"\n >\n <figure\n class=\"cs_video_block_bg h-100 w-100 position-absolute start-0 top-0 cs_bg_filed\"\n [style.background-image]=\"\n 'url(' + image.src + ')'\n \"\n ></figure>\n </div>\n </div>\n }\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1\"\n [ngClass]=\"{\n cs_type_3: extraClass === 'cs_pl_110',\n 'cs_type_3--left': extraClass === 'cs_pr_110',\n }\"\n ></div>\n </div>\n </div>\n </div>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonBackgroundStrip } from '../../../directives/babylon-background-strip/babylon-background-strip.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-info-intro',\n standalone: true,\n imports: [CommonModule, BabylonBackgroundStrip, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-intro.component.html',\n styleUrl: './babylon-info-intro.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfoIntroComponent {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() description?: string;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n @Input() topBG?: string;\n @Input() bottomBG?: string;\n @Input() topColor?: string;\n @Input() bottomColor?: string;\n\n @Input() logo?: BabylonImageI;\n @Input() logo2?: BabylonImageI;\n\n}\n","<section\n class=\"babylon__intro bg--gray margin-main\"\n backgroundStrip\n [topBG]=\"topBG\"\n [bottomBG]=\"bottomBG\"\n [topColor]=\"topColor\"\n [bottomColor]=\"bottomColor\"\n>\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h3\n class=\"pretitle wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ pretitle }}\n </h3>\n }\n @if (title) {\n <h2 class=\"title\">{{ title }}</h2>\n }\n @if (description) {\n <p class=\"text\">{{ description }}</p>\n }\n @if (images && images[0].src) {\n <div class=\"cs_image_layer cs_about_img\">\n <img [src]=\"images[0].src\" alt=\"\" class=\"cs--radius\" />\n <!-- foto opcional -->\n </div>\n }\n @if (button?.label) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn btn_primary\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n @if (logo) {\n <div class=\"intro_logo_1 align--center\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </div>\n }\n </div>\n </div>\n @if (logo2) {\n <div class=\"intro_logo_2\">\n <img [src]=\"logo2.src\" [alt]=\"logo2.alt\" />\n </div>\n }\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-info-zig-zag',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-info-zig-zag.component.html',\n styleUrl: './babylon-info-zig-zag.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfoZigZagComponent {\n @Input() rightSide: boolean = false;\n @Input() texts?: BabylonTextZigzagI;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\nexport interface BabylonTextZigzagI {\n pretitle?: string;\n title?: string;\n contenttitle?: string;\n contentsubtitle?: string;\n contentdescription?: string;\n logo?: BabylonImageI;\n}\n","<!-- <section class=\"container-fluid p-0\"> -->\n<section class=\"babylon__offers-list margin-main\" id=\"InfoZigZag\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (texts?.pretitle) {\n <h2 class=\"pretitle mb--10\">{{ texts?.pretitle }}</h2>\n }\n @if (texts?.title) {\n <h3 class=\"title\">{{ texts?.title }}</h3>\n }\n </div>\n </div>\n <div class=\"container-fluid\">\n <div\n [ngClass]=\"{ cs_mobile_reverse: rightSide }\"\n class=\"row align-items-center cs_gap_y_40\"\n >\n @if (rightSide) {\n <div class=\"col-lg-6\" id=\"InfoZigZagRight\">\n <div class=\"cs_pr_110 cs_pl_110 cs_plr_movil\">\n <div class=\"cs_section_heading cs_style_1\">\n <div class=\"intro_info\">\n @if (texts?.contentsubtitle) {\n <h2 class=\"pretitle mb--10\">\n {{ texts?.contentsubtitle }}\n </h2>\n }\n @if (\n texts?.logo &&\n texts?.logo?.src\n ) {\n <div class=\"logo_title\">\n <img\n [src]=\"texts?.logo?.src\"\n [alt]=\"texts?.logo?.alt\"\n />\n </div>\n } @else {\n @if (texts?.contenttitle) {\n <h3 class=\"title\">\n {{ texts?.contenttitle }}\n </h3>\n }\n }\n @if (texts?.contentdescription) {\n <p class=\"text\">\n {{ texts?.contentdescription }}\n </p>\n }\n\n @if (button?.label) {\n <div class=\"btns__box\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary\"\n (click)=\"btnClick($event)\"\n >\n <b>{{ button?.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <div\n class=\"cs_image_layer cs_style_4 position-relative cs_bg_filed cs_width_left_50_vw cs--radius\"\n [style.background-image]=\"\n 'url(' + image.src + ')'\n \"\n ></div>\n </div>\n }\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3--left\"\n ></div>\n </div>\n </div>\n } @else {\n <div class=\"col-lg-6\" id=\"InfoZigZagLeft\">\n <div class=\"cs_slider cs_style_1\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <div\n class=\"cs_image_layer cs_style_4 position-relative cs_bg_filed cs_width_left_50_vw cs--radius\"\n [style.background-image]=\"\n 'url(' + image.src + ')'\n \"\n ></div>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3\"></div>\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_pl_110 cs_pr_110 cs_plr_movil\">\n <div class=\"cs_section_heading cs_style_1\">\n <div class=\"intro_info\">\n @if (texts?.contentsubtitle) {\n <h2 class=\"pretitle mb--10\">\n {{ texts?.contentsubtitle }}\n </h2>\n }\n @if (\n texts?.logo &&\n texts?.logo?.src\n ) {\n <div class=\"logo_title\">\n <img\n [src]=\"texts?.logo?.src\"\n [alt]=\"texts?.logo?.alt\"\n />\n </div>\n } @else {\n @if (texts?.contenttitle) {\n <h3 class=\"title\">\n {{ texts?.contenttitle }}\n </h3>\n }\n }\n @if (texts?.contentdescription) {\n <p class=\"text\">\n {{ texts?.contentdescription }}\n </p>\n }\n\n @if (button?.label) {\n <div class=\"btns__box\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary\"\n (click)=\"btnClick($event)\"\n >\n <b>{{ button?.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-info-zigzag-v2',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info-zigzag-v2.component.html',\n styleUrl: './babylon-info-zigzag-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfoZigzagV2Component {\n @Input() rightSide: boolean = false;\n @Input() items: BabylonInfoZigzagV2Item[] = [];\n}\n\nexport interface BabylonInfoZigzagV2Item {\n pretitle?: string;\n title?: string;\n text?: string;\n features?: BabylonAdvInfoI[];\n button?: BabylonButtonI;\n image?: BabylonImageI;\n}\n","<section class=\"babylon__info-zigzag-v2 margin-main\">\n <div class=\"cs_feature_box cs_style_2\">\n <div class=\"container\">\n <div class=\"row cs_gap_y_50\">\n <div\n class=\"col-lg-6\"\n [ngClass]=\"{ cs_mobile_reverse_sp: rightSide }\"\n >\n @if (rightSide) {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"items[0]\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"ndContent\"\n [ngTemplateOutletContext]=\"items[1]\"\n ></ng-container>\n }\n </div>\n <div\n class=\"col-lg-6\"\n [ngClass]=\"{ cs_mobile_reverse_sp: !rightSide }\"\n >\n @if (rightSide) {\n <ng-container\n [ngTemplateOutlet]=\"ndContent\"\n [ngTemplateOutletContext]=\"items[1]\"\n ></ng-container>\n } @else {\n <ng-container\n [ngTemplateOutlet]=\"content\"\n [ngTemplateOutletContext]=\"items[0]\"\n ></ng-container>\n }\n </div>\n </div>\n </div>\n </div>\n</section>\n\n<ng-template #content>\n @if (items[0]; as item) {\n @if (item.image) {\n <div class=\"cs_feature_box_thumb cs_mb_55 cs_mb_lg_40\">\n <img\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n class=\"cs_feature_thumb_1 cs--radius\"\n />\n </div>\n }\n <div class=\"cs_pl_110\">\n <div class=\"intro_info\">\n @if (item.pretitle) {\n <p class=\"pretitle\">{{ item.pretitle }}</p>\n }\n @if (item.title) {\n <h2 class=\"title\">{{ item.title }}</h2>\n }\n @if (item.text) {\n <p class=\"text\">{{ item.text }}</p>\n }\n @if (item.button) {\n <div class=\"btns__box\">\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.linkType\"\n class=\"btn btn_primary\"\n >\n <b>{{ item.button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n @if (item.features?.length) {\n <div class=\"cs_pr_110\">\n <ul class=\"cs_feature_list cs_mp_0\">\n @for (feature of item.features; track $index) {\n <li>\n <div class=\"info--icon icon--medium\">\n <i\n class=\"icon--svg\"\n [ngClass]=\"feature.icon\"\n ></i>\n </div>\n <div class=\"intro_info\">\n @if (feature.title) {\n <h2 class=\"title--smaller mb--10\">\n {{ feature.title }}\n </h2>\n }\n @if (feature.text) {\n <p class=\"text\">\n {{ feature.text }}\n </p>\n }\n </div>\n </li>\n }\n </ul>\n </div>\n }\n }\n</ng-template>\n\n<ng-template #ndContent>\n @if (items[1]; as item) {\n <div class=\"cs_height_30 cs_height_lg_0\"></div>\n <div class=\"cs_pl_110\">\n <div class=\"intro_info\">\n @if (item.pretitle) {\n <p class=\"pretitle\">{{ item.pretitle }}</p>\n }\n @if (item.title) {\n <h2 class=\"title\">{{ item.title }}</h2>\n }\n @if (item.text) {\n <p class=\"text\">{{ item.text }}</p>\n }\n @if (item.button) {\n <div class=\"btns__box\">\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.linkType\"\n class=\"btn btn_primary\"\n >\n <b>{{ item.button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n @if (item.image) {\n <div class=\"cs_feature_box_thumb cs_mb_lg_40\">\n <img\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n class=\"cs_feature_thumb_1 cs--radius\"\n />\n </div>\n }\n }\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-info2img',\n standalone: true,\n imports: [CommonModule,BabylonSlidersDirective,BabylonLinkTypeDirective],\n templateUrl: './babylon-info2img.component.html',\n styleUrl: './babylon-info2img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfo2imgComponent {\n @Input() rightSide: boolean = false;\n @Input() texts?: BabylonTextInfoI;\n @Input() advantages?: BabylonAdvInfoI[];\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n @Input() imagesSmall?: BabylonImageI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\n\n","\n <section class=\"babylon__info2img margin-main\">\n <div class=\"container\">\n <div class=\"row align-items-center cs_gap_y_45\" [ngClass]=\"{ 'column-reverse' : rightSide }\">\n @if(rightSide) {\n <div class=\"col-lg-5\">\n <div class=\"intro_info\">\n @if(texts?.pretitle){\n <h3 class=\"pretitle\">{{texts?.pretitle}}</h3>\n }\n @if(texts?.title){\n <h2 class=\"title\">{{texts?.title}}</h2>\n }\n @if(texts?.text){\n <p class=\"text\">{{texts?.text}}</p>\n }\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @if(advantages) {\n @for(adv of advantages; track $index){\n <li>\n <div class=\"info--icon \">\n @if(adv?.icon) {\n <i class=\"icon--svg\" [class]=\"adv?.icon\"></i>\n }\n </div>\n @if(adv?.text) {\n <p class=\"text mb--0\">{{adv?.text}}\n @if(adv?.icon) {\n <span class=\"text--small\">{{adv?.icon}}</span>\n }\n </p>\n }\n </li>\n }\n }\n </ul>\n @if(button?.label) {\n <div class=\"btns__box\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n <div class=\"col-lg-7 wow fadeIn\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">\n <div class=\"cs_pl_110\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"1\" data-md-slides=\"1\" data-lg-slides=\"1\" data-add-slides=\"1\">\n <div class=\"cs_slider_wrapper\">\n @if(images){\n @for(image of images; track $index){\n <div class=\"cs_slide\">\n <div class=\"cs_image_layer cs_style_1 position-relative no-border\">\n <div class=\"cs_image_layer_1_wrap\">\n <div class=\"cs_image_layer_1\">\n <img [src]=\"image.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n @if(imagesSmall && imagesSmall[$index]?.src){\n <div class=\"cs_image_layer_2_wrap\">\n <div class=\"cs_image_layer_2\">\n <img [src]=\"imagesSmall[$index]?.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n }\n </div>\n </div>\n }\n }\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3\"></div>\n </div>\n </div>\n\n </div>\n </div>\n } @else {\n <div class=\"col-lg-7 wow fadeIn\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">\n <div class=\"cs_pr_110\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"1\" data-md-slides=\"1\" data-lg-slides=\"1\" data-add-slides=\"1\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length){\n @for(image of images; track $index){\n <div class=\"cs_slide\">\n <div class=\"cs_image_layer cs_style_1 position-relative no-border\">\n <div class=\"cs_image_layer_1_wrap\">\n <div class=\"cs_image_layer_1\">\n <img [src]=\"image.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n @if(imagesSmall && imagesSmall[$index]?.src){\n <div class=\"cs_image_layer_2_wrap\">\n <div class=\"cs_image_layer_2\">\n <img [src]=\"imagesSmall[$index]?.src\" alt=\"Service\" class=\"cs--radius\">\n </div>\n </div>\n }\n </div>\n </div>\n }\n }\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3--left\"></div>\n </div>\n </div>\n\n </div>\n </div>\n <div class=\"col-lg-5\">\n <div class=\"intro_info\">\n @if(texts?.pretitle){\n <h3 class=\"pretitle\">{{texts?.pretitle}}</h3>\n }\n @if(texts?.title){\n <h2 class=\"title\">{{texts?.title}}</h2>\n }\n @if(texts?.text){\n <p class=\"text\">{{texts?.text}}</p>\n }\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @if(advantages?.length) {\n @for(adv of advantages; track $index){\n <li>\n <div class=\"info--icon \">\n @if(adv?.icon) {\n <i class=\"icon--svg\" [class]=\"adv?.icon\"></i>\n }\n </div>\n @if(adv?.text) {\n <p class=\"text mb--0\">{{adv?.text}}\n @if(adv?.icon) {\n <span class=\"text--small\">{{adv?.icon}}</span>\n }\n </p>\n }\n </li>\n }\n }\n </ul>\n @if(button?.label) {\n <div class=\"btns__box\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n </section>\n\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\n\n@Component({\n selector: 'lib-babylon-info2img-big',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info2img-big.component.html',\n styleUrl: './babylon-info2img-big.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfo2imgBigComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n @Input() img?: BabylonImageI;\n @Input() imgSmall?: BabylonImageI;\n @Input() pretitle2?: string;\n @Input() title2?: string;\n @Input() text2?: string;\n @Input() button2?: BabylonButtonI;\n}\n","<section class=\"babylon__infoImgBig\">\n <div class=\"babylon__infoImgBig--content margin-main\">\n \n <div class=\"babylon__infoImgBig--boxImg\">\n @if (img) {\n <figure\n class=\"\"\n role=\"img\"\n [style.background-image]=\"'url(' + img.src + ')'\"\n ></figure>\n }\n <div class=\"babylon__infoImgBig--boxInfo\">\n <div class=\"row justify-content-center align-items-center\">\n <div class=\"col-lg-8\">\n <div\n class=\"intro_info intro_info--light align--center no-align\"\n >\n @if (pretitle) {\n <h4 class=\"pretitle-top mb--0\">{{ pretitle }}</h4>\n }\n @if (title) {\n <h2 class=\"title\">{{ title }}</h2>\n }\n @if (text) {\n <p class=\"text\">{{ text }}</p>\n }\n @if (button) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn_primary btn--light\"\n >{{ button.label }}</a\n >\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n \n \n <div class=\"babylon__infoImgBig--boxDes\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-7\">\n <div class=\"intro_info align--left\">\n @if (title2) {\n <h2 class=\"title mb--0\">{{ title2 }}</h2>\n }\n @if (pretitle2) {\n <h4 class=\"subtitle\">{{ pretitle2 }}</h4>\n }\n @if (text2) {\n <p class=\"text\">{{ text2 }}</p>\n }\n @if (button2) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button2.url\"\n [linkType]=\"button2.linkType\"\n class=\"btn btn_primary\"\n >{{ button2.label }}</a\n >\n </div>\n }\n </div>\n </div>\n <div class=\"col-lg-4 pl--60\">\n <div class=\"cs_image_layer boxDes_img\">\n @if (imgSmall) {\n <figure>\n <img\n [src]=\"imgSmall.src\"\n [alt]=\"imgSmall.alt\"\n class=\"cs--radius\"\n />\n </figure>\n <!-- <figure class=\"cs_video_block_bg1 h-100 w-100 position-absolute1 start-01 top-01 cs_bg_filed\" role=\"img\" style=\"background-image:url('https://dummyimage.com/400x600/CCCCCC/ffffff');\"></figure> -->\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'lib-babylon-info3img',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-info3img.component.html',\n styleUrl: './babylon-info3img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonInfo3imgComponent {\n @Input() title?: string;\n @Input() pretitle?: string;\n @Input() ndtitle?: string;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n \n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n"," \n<section class=\"babylon__info3ing margin-main\"> \n <div class=\"container-fluid p-0\"> \n <div class=\"container\"> \n <div class=\"intro_info align--center no-align\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title\">{{title}}</h2> \n } \n </div> \n </div>\n \n <div class=\"cs_image_layer cs_style_5 position-relative\">\n @if(ndtitle) {\n <div class=\"cs_moving_text_wrap cs_style_1 cs_fs_89 cs_accent_color cs_primary_font text-uppercase\">\n <div class=\"cs_moving_text_in\">\n <div class=\"cs_moving_text title--big\">{{ndtitle}}</div>\n <div class=\"cs_moving_text title--big\">{{ndtitle}}</div>\n </div>\n </div>\n }\n <div class=\"cs_image_layer_in\">\n @if(images?.length){\n @for(image of images?.slice(0, 3); track $index){\n <div class=\"cs_image_layer_item\"><img [src]=\"image.src\" alt=\"Dine\" class=\"cs--radius\"></div>\n }\n }\n </div>\n </div>\n @if(button?.label) {\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" class=\"btn btn_primary\" (click)=\"btnClick($event)\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </div>\n </section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-info4img',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-info4img.component.html',\n styleUrl: './babylon-info4img.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonInfo4imgComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n @Input() image1?: BabylonImageI;\n @Input() image2?: BabylonImageI;\n @Input() image3?: BabylonImageI;\n @Input() image4?: BabylonImageI;\n}\n","<section class=\"babylon__info4img margin-main\">\n <div class=\"owl-carousel owl-theme carousel_item_11 carousel_item_arrow\">\n <div class=\"babylon__gallery-slider--content\">\n @if (image1) {\n <div class=\"babylon__gallery-slider--col col-1\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image1.src\" [alt]=\"image1.alt\" />\n </div>\n </div>\n }\n @if (image2) {\n <div class=\"babylon__gallery-slider--col col-4\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image2.src\" [alt]=\"image2.alt\" />\n </div>\n </div>\n }\n <div class=\"babylon__gallery-slider--col col-3\">\n <div class=\"babylon__gallery-slider--item\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h4 class=\"pretitle--small\">{{ pretitle }}</h4>\n }\n @if (title) {\n <h2 class=\"title--small\">{{ title }}</h2>\n }\n @if (text) {\n <p class=\"text\">{{ text }}</p>\n }\n @if (button) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n [linkType]=\"button?.linkType\"\n class=\"btn btn-primary\"\n >\n {{ button.label }}\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n @if (image3) {\n <div class=\"babylon__gallery-slider--col col-4\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image3.src\" [alt]=\"image3.alt\" />\n </div>\n </div>\n }\n @if (image4) {\n <div class=\"babylon__gallery-slider--col col-5\">\n <div class=\"babylon__gallery-slider--item\">\n <img [src]=\"image4.src\" [alt]=\"image4.alt\" />\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonTopSliderV2Item } from '../babylon-top-slider-v2/babylon-top-slider-v2-item.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLightGalleryDirective } from '../../../directives/babylon-galleries/babylon-light-gallery.directive';\n\n@Component({\n selector: 'lib-babylon-items-grid',\n standalone: true,\n imports: [CommonModule, BabylonLightGalleryDirective],\n templateUrl: './babylon-items-grid.component.html',\n styleUrl: './babylon-items-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonItemsGridComponent {\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() images?: BabylonImageI[];\n @Input() buttons?: BabylonButtonI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__items-grid margin-main\"> \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n } \n </div> \n </div>\n <div class=\"cs_grid_style_1 cs_lightgallery\" BabylonLightGallery>\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_grid_item\">\n <a [href]=\"image.src\" class=\"cs_gallery_item cs_lightbox_item cs_style_1 d-block cs_bg_filed position-relative\" [style.background-image]=\"'url(' + image.src + ')'\" >\n @if(image?.title){\n <div class=\"cs_gallery_item_hover cs_center title--small title--small--light cs--radius\">{{image?.title}}</div>\n }\n <img [src]=\"image.src\" alt=\"\" class=\"d-none\">\n </a>\n </div>\n }\n }\n </div>\n @if(buttons && buttons[0]){\n <div class=\"btns__box align--center\">\n <a [href]=\"buttons[0].url\" class=\"btn btn_primary\">\n <b>{{buttons[0].label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </section>","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, inject, Input, Output } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'lib-babylon-language-modal',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-language-modal.component.html',\n styleUrl: './babylon-language-modal.component.scss',\n})\nexport class BabylonLanguageModalComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() items?: BabylonLanguageModalItem[];\n @Input() selected?: BabylonLanguageModalItem;\n\n @Output() languageSelect = new EventEmitter<BabylonLanguageModalItem>();\n\n private readonly dialogRef: MatDialogRef<BabylonLanguageModalComponent> =\n inject(MatDialogRef);\n\n selectLanguage(language: BabylonLanguageModalItem): void {\n this.selected = language;\n this.languageSelect.emit(language);\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n\nexport interface BabylonLanguageModalItem {\n code?: string;\n id?: number;\n name?: string;\n}\n","<div class=\"babylon-languages__close\">\n <button\n class=\"btn btn_primary btn--light babylon-plus btn-responsive\"\n (click)=\"close()\"></button>\n</div>\n<div class=\"babylon-languages__wrapper\">\n <div class=\"babylon-languages\">\n @if (title || subtitle) {\n <div\n class=\"babylon-languages__header d-flex flex-column align-itemns-center\"\n >\n @if (title) {\n <h4 class=\"title--small\">{{ title }}</h4>\n }\n @if (subtitle) {\n <span class=\"subtitle\">{{ subtitle }}</span>\n }\n </div>\n } @if (items?.length) {\n <div\n class=\"babylon-languages__content d-flex flex-column align-items-center\"\n >\n @for (item of items; track $index) {\n <a\n [ngClass]=\"{\n 'babylon-languages__selected': item.id == selected?.id\n }\"\n class=\"d-flex align-items-center\"\n (click)=\"selectLanguage(item)\"\n ><span class=\"line\"></span>{{ item.name }}<span\n class=\"icon babylon-arrow-right\"\n ></span\n ></a>\n }\n </div>\n }\n </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-legal',\n standalone: true,\n imports: [RouterModule],\n templateUrl: './babylon-legal.component.html',\n styleUrl: './babylon-legal.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonLegalComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() img?: BabylonImageI;\n\n}\n","<section class=\"babylon__legal margin-main \">\n <div class=\"container\">\n <div class=\"row align-items-center cs_gap_y_30\">\n <div class=\"col-lg-6 cs_pr_110\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if(title){\n <h3 class=\"title \" >{{ title }}</h3>\n }\n @if(description){\n <p class=\"text\">\n {{ description }}\n </p>\n }\n </div>\n </div>\n @if (img) {\n <div class=\"col-lg-6\">\n <div class=\" cs_pr_1101 cs_image_layer cs_style_3 position-relative\">\n <img [src]=\"img.src\" alt=\"Contact\" class=\"cs--radius\" loading=\"lazy\">\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGlobalIconI } from '../../../interfaces/babylon-global-icon.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\n\n@Component({\n selector: 'lib-babylon-list-grid',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-list-grid.component.html',\n styleUrl: './babylon-list-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonListGridComponent {\n @Input() labels?: BabylonTextInfoI;\n @Input() items?: BabylonItemGridI[];\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\nexport interface BabylonItemGridI {\n buttons?: BabylonButtonI[];\n links?: BabylonButtonI[];\n image?: BabylonImageI;\n title?: string;\n subtitle?: string;\n services?: BabylonGlobalIconI[];\n}\n","<section class=\"babylon__list-grid margin-main\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"intro_info align--center no-align\">\n @if (labels?.pretitle) {\n <h3 class=\"pretitle\">{{ labels?.pretitle }}</h3>\n }\n @if (labels?.title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h2>\n }\n </div>\n <div class=\"cs_grid_style_4\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <div class=\"cs_grid_item\">\n <div\n class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\"\n >\n @if (item?.image) {\n <img\n class=\"cs_card_thumb w-100 h-100\"\n [src]=\"item.image\"\n alt=\"Room\"\n />\n }\n <div\n class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\"\n >\n <div class=\"intro_info intro_info--light\">\n @if (item?.title) {\n <h2 class=\"title--small mb--0\">\n {{ item?.title }}\n </h2>\n }\n @if (item?.subtitle) {\n <h3 class=\"subtitle--small mb--20\">\n {{ item?.subtitle }}\n </h3>\n }\n @if (item?.services?.length) {\n <ul class=\"cs_card_list cs_mp_0\">\n @for (\n service of item?.services;\n track $index\n ) {\n <li>\n @if (service.icon) {\n <div class=\"info--icon\">\n <i\n class=\"icon--svg icon-nuevo_pax_ico_small\"\n [ngClass]=\"\n service.icon\n \"\n ></i>\n </div>\n }\n @if (service.name) {\n <p class=\"text--small\">\n {{ service.name }}\n </p>\n }\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n @if (button?.label) {\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" class=\"btn btn_primary\">\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n</section>\n","import { BabylonItemGridI } from \"./babylon-list-grid.component\";\nimport { BabylonButtonI } from \"../../../interfaces/babylon-button.interface\";\nimport { BabylonTextInfoI } from \"../../../interfaces/babylon-text-info.interface\";\n\nexport class BabylonListGridI {\n labels?: BabylonTextInfoI;\n items?: BabylonItemGridI[];\n button?: BabylonButtonI;\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport {\n BabylonInputI,\n BabylonButtonI,\n BabylonImageI,\n} from '../../../interfaces';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport {\n FormBuilder,\n FormGroup,\n FormsModule,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\n\n@Component({\n selector: 'lib-babylon-newsletter',\n standalone: true,\n imports: [\n CommonModule,\n MatCheckboxModule,\n BabylonDataBackgroundDirective,\n ReactiveFormsModule,\n FormsModule,\n ],\n templateUrl: './babylon-newsletter.component.html',\n styleUrl: './babylon-newsletter.component.scss',\n})\nexport class BabylonNewsletterComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() conditions?: string;\n @Input() input?: BabylonInputI;\n @Input() button?: BabylonButtonI;\n @Input() img?: BabylonImageI;\n\n @Output() submitForm = new EventEmitter<string>();\n\n form!: FormGroup;\n\n constructor(\n private readonly dialogRef: MatDialogRef<BabylonNewsletterComponent>,\n private readonly fb: FormBuilder\n ) {}\n\n ngOnInit(): void {\n this.form = this.fb.group({\n input: ['', [Validators.email, Validators.required]],\n checkbox: [false, [Validators.requiredTrue]],\n });\n }\n\n validateInput(): void {\n if (this.input) {\n this.input.valid = this.form.controls['input'].errors === null;\n }\n }\n\n inputChange(event: Event): void {\n this.input!.value = (event.target as HTMLInputElement).value;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n submit(): void {\n this.submitForm.emit(this.input!.value as string);\n this.close();\n }\n}\n","<div class=\"newsletter\" id=\"NewsletterModal\">\n <div class=\"btn-close--modal\" (click)=\"close()\">\n <button class=\"btn btn_primary btn--close\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"row m-0 w-100 h-100\">\n <!-- @if (img) { -->\n <div class=\"col-5 p-0 newsletter__image\">\n <figure>\n <!-- <div\n class=\"background-image\"\n dataBackground=\"url(/assets/babylon/fotos/newsletter.jpg)\"\n ></div> -->\n <img\n class=\"background-image\"\n src=\"/assets/babylon/fotos/gallery_2.jpeg\" alt=\"\"\n >\n </figure>\n </div>\n <!-- } -->\n <div class=\"col-12 col-xl-7 newsletter__wrapper px-5\">\n <div\n class=\"newsletter__content d-flex flex-column align-items-center\"\n >\n @if (title) {\n <h2 class=\"title text-center\">{{ title }}</h2>\n }\n @if (subtitle) {\n <h3 class=\"subtitle text-center\">\n {{ subtitle }}\n </h3>\n }\n <form class=\"d-flex flex-column news_form\" [formGroup]=\"form\">\n @if (input) {\n <input\n class=\"newsletter__input\"\n type=\"text\"\n [placeholder]=\"input.placeholder\"\n formControlName=\"input\"\n (input)=\"inputChange($event)\"\n (blur)=\"validateInput()\"\n />\n }\n @if (!input?.valid) {\n <span class=\"form-error\">\n {{ input?.error }}\n </span>\n }\n <div class=\"d-flex align-items-center underline-links\">\n <mat-checkbox\n class=\"formcontrol\"\n formControlName=\"checkbox\"\n ></mat-checkbox>\n @if (conditions) {\n <span\n class=\"text--small m-0 pt-2\"\n [innerHTML]=\"conditions\"\n ></span>\n }\n </div>\n @if (button) {\n <button\n (click)=\"submit()\"\n class=\"btn btn-primary \"\n if=\"btnSend\"\n [ngClass]=\"{ 'pointers-none': !form.valid }\"\n >\n {{ button.label }}\n </button>\n }\n </form>\n </div>\n </div>\n </div>\n</div>\n","import { BabylonInputI, BabylonButtonI, BabylonImageI } from \"../../../interfaces\";\n\nexport class BabylonNewsletterI {\n title?: string;\n subtitle?: string;\n conditions?: string;\n input?: BabylonInputI;\n button?: BabylonButtonI;\n img?: BabylonImageI;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nconst CURRENCY_SYMBOLS: { [key: string]: string } = {\n USD: '$',\n EUR: '€',\n GBP: '£',\n JPY: '¥',\n AUD: 'A$',\n CAD: 'C$',\n CHF: 'CHF',\n CNY: '¥',\n SEK: 'kr',\n NZD: 'NZ$',\n};\n\n@Pipe({\n name: 'currencySymbol',\n standalone: true,\n})\nexport class BabylonCurrencyPipe implements PipeTransform {\n transform(value: string): string {\n return CURRENCY_SYMBOLS[value] || value;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\n\n@Component({\n selector: 'lib-babylon-offer-detail',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonCurrencyPipe],\n templateUrl: './babylon-offer-detail.component.html',\n styleUrl: './babylon-offer-detail.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferDetailComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() ndTitle?: string;\n @Input() labelFrom?: string;\n @Input() labelDiscount?: string;\n @Input() currency: string = '';\n @Input() price?: number;\n @Input() discount?: number;\n @Input() image?: BabylonImageI;\n @Input() button?: BabylonButtonI;\n @Input() link?: BabylonButtonI;\n @Input() conditions?: string;\n}\n","<section class=\"babylon__offer-details margin-main\" >\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-8\">\n <div class=\"box_contents_in\">\n <div class=\"intro_info no-align box-price\">\n @if(pretitle){\n <h3 class=\"pretitle mb--0\">{{ pretitle }}</h3>\n } @if(title){\n <h2 class=\"title mb--0\">{{ title }}</h2>\n }\n <div class=\"price\">\n @if(price && labelFrom){\n {{ labelFrom }}\n\n }\n @if(discount && labelDiscount){\n {{ labelDiscount }}\n }\n <span>\n @if(price){\n {{ price }}\n }\n @if(discount){\n {{ discount }}\n }\n @if(currency){\n {{ currency | currencySymbol }}\n }\n </span>\n </div>\n @if(button){\n <div class=\"btns__box\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn_primary btn_call\"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n @if(description){\n <div class=\"intro_info no-align \">\n <p class=\"text\" [innerHTML]=\"description\"></p>\n </div>\n }\n </div>\n </div>\n @if(image){\n <div class=\"col-lg-10 my-4\">\n <div class=\"cs_image_layer cs_about_img\">\n <figure> <img [src]=\"image.src\" [alt]=\"image.alt\" class=\"cs--radius\" loading=\"lazy\"> </figure>\n </div>\n </div>\n }\n @if(ndTitle || conditions){\n <div class=\"col-lg-8\">\n <div class=\"box_contents_in \">\n <div class=\"intro_info no-align\">\n @if(ndTitle){\n <h3 class=\"title--small\">{{ ndTitle }}</h3>\n } @if(conditions){\n <p class=\"text\" [innerHTML]=\"conditions\"></p>\n }\n </div>\n </div>\n @if(link){\n <div class=\"btns__box \">\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n class=\"btn-link \"\n >\n <span class=\"babylon-arrow-left-big\"></span>\n <b>{{ link.label }}</b>\n </a>\n </div>\n }\n </div>\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core'; \nimport { MatDialogRef } from '@angular/material/dialog'; \nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\n\n\n@Component({\n selector: 'lib-babylon-offer-popup-v2',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-offer-popup-v2.component.html',\n styleUrl: './babylon-offer-popup-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferPopupComponentV2 {\n\n popupOfferOpen: boolean = true;\n constructor(\n) {}\n\ntogglePopup(): void {\n this.popupOfferOpen = !this.popupOfferOpen;\n }\n}\n","<div class=\"offer-popup\" [ngClass]=\"{'popup-open': popupOfferOpen}\">\n <div class=\"btn-close--modal pb--100\">\n <button class=\"btn btn_simple_box ml--20\" (click)=\"togglePopup()\">\n <span class=\"babylon-plus\"></span>\n </button>\n </div>\n <div class=\"offer-popup__container w-100 h-100\">\n <div class=\"offer-popup__image\">\n <figure>\n <img\n class=\"background-image\"\n src=\"/assets/babylon/fotos/room_1.jpeg\" alt=\"\"\n >\n </figure>\n </div>\n <div class=\"offer-popup__wrapper px-2\">\n <div class=\"intro_info align--center\">\n <p class=\"pretitle pretitle_small-text\">Reservando durante toda la temporada</p>\n <p class=\"pretitle--small cs-line__small\">5% DTO RESERVA DIRECTA WEB</p>\n <p class=\"text--small\">DESCUENTO</p>\n <h2 class=\"title pb-0\">5%</h2>\n <div class=\"btns__box justify-between1\"> \n <a class=\"btn btn_calll\" href=\"#\">\n reservar\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"offer-popup__button-controller\" [ngClass]=\"{'popup-open': !popupOfferOpen}\">\n <button class=\"btn btn_big-circle\" (click)=\"togglePopup()\">Open Offers</button>\n</div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonOfferI } from './babylon-offer.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n@Component({\n selector: 'lib-babylon-offer-slider',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-offer-slider.component.html',\n styleUrl: './babylon-offer-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOfferSliderComponent {\n @Input() offers?: BabylonOfferI[];\n @Input() backgroundImage?: BabylonImageI;\n @Input() title?: string;\n}\n","<section class=\"babylon__offerslider margin-main-botom\">\n @if (backgroundImage) {\n <div class=\"cs_hero cs_style_1 cs_center text-center position-relative\">\n <figure\n class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [attr.data-src]=\"backgroundImage.src\"\n dataBackground=\"url('{{backgroundImage.src}}')\"\n ></figure>\n </div>\n }\n @if (offers) {\n <div class=\"cs_parallax_slider loading overflow-hidden content-offers\">\n <div class=\"swiper-wrapper\">\n @for (offer of offers; track $index) {\n <div class=\"swiper-slide\">\n <a [href]=\"offer.links?.[0]?.url || '#'\" [linkType]=\"offer.links?.[0]?.linkType\">\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if (title) {\n <h3 class=\"subtitle\">\n {{ title }}\n </h3>\n }\n </div>\n <div class=\"content-offer\">\n @if (offer.images) {\n <!-- <figure\n class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [attr.data-src]=\"offer.images.src\"\n ></figure> -->\n }\n <div class=\"offer-item\">\n @if (offer.images) {\n <figure\n [attr.data-src]=\"offer.images.src\"\n dataBackground=\"url('{{offer.images.src}}')\"\n ></figure>\n }\n <div class=\"intro_info offer_text\">\n @if (offer.texts) {\n @if (offer.texts.title) {\n <h2 class=\"title--small mb--10\">\n {{ offer.texts.title }}\n </h2>\n }\n <div class=\"offer_cat\">\n @if (offer.texts.additional1) {\n <div class=\"offer_bagget\">\n {{ offer.texts.additional1 }}\n </div>\n }\n @if (offer.texts.subtitle) {\n <span\n class=\"offer-subtitle pretitle--small\"\n >\n {{ offer.texts.subtitle }}\n </span>\n }\n </div>\n }\n <div class=\"offer_prices\">\n @if (offer.discount) {\n <div class=\"offer_desde pretitle--small\">\n {{ offer.texts?.additional2 }}\n </div>\n <span class=\"offer-num\"\n >{{ offer.discount }}%</span\n >\n }\n @if (offer.price) {\n <div class=\"offer_desde pretitle\">\n {{ offer.texts?.additional3 }}\n </div>\n <span class=\"offer-num\"\n >{{ offer.price\n }}{{ offer.currency }}</span\n >\n }\n </div>\n </div>\n </div>\n </div>\n </a>\n </div>\n }\n </div>\n </div>\n @if(offers.length > 1){\n <div class=\"cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n }\n }\n</section>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\n\n@Component({\n selector: 'lib-babylon-offers-list',\n standalone: true,\n imports: [CommonModule, RouterModule, BabylonCurrencyPipe],\n templateUrl: './babylon-offers-list.component.html',\n styleUrl: './babylon-offers-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonOffersListComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonOffersListItem[];\n\n @Output() offerClick = new EventEmitter<number>();\n}\n\nexport interface BabylonOffersListItem {\n id?: number;\n title?: string;\n pretitle?: string;\n labelFrom?: string;\n price?: string;\n currency: string;\n img?: BabylonImageI;\n offerUrl?: string;\n seeOfferButton?: BabylonButtonI;\n reserveButton?: BabylonButtonI;\n discount?: number;\n}\n","<section class=\"babylon__offers-list margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n } @if(title){\n <h3 class=\"title\" >{{ title }}</h3>\n }\n </div>\n </div>\n @if (items?.length) {\n <div class=\"container\">\n <div class=\"row cs_gap_y_80\">\n @for (item of items; track $index) {\n <div class=\"col-12 col-xl-6\">\n <div class=\"cs_card cs_style_2 text-center\">\n @if (item.img) {\n <div class=\"cs_card_thumb position-relative cs_primary_bg cs--radius\">\n <img [src]=\"item?.img?.src\" [alt]=\"item?.img?.alt\" class=\"cs--radius\">\n @if(item.seeOfferButton){\n <div class=\"cs_card_hover cs_center position-absolute\">\n <div class=\"cs_card_btn position-relative cs_zindex_2\">\n <div class=\"btns__box align--center \">\n <a\n [href]=\"item.seeOfferButton.url\"\n [routerLink]=\"item.seeOfferButton.url\"\n (click)=\"offerClick.emit(item.id)\"\n class=\"btn btn_primary btn--light \"\n >\n <b>{{item?.seeOfferButton?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n </div>\n </div>\n }\n <div class=\"cs_card_hover_overlay position-absolute h-100 w-100 start-0 top-0\"></div>\n </div>\n }\n <div class=\"cs_card_info position-relative row\">\n <div class=\"col-xl-8 col-lg-7\">\n <div class=\"intro_info no-align\">\n @if(item.pretitle){\n <h3 class=\"pretitle mb--10\" >{{ item?.pretitle}}</h3>\n } @if(item.title){\n <h2 class=\"title--small mb--10\" >{{ item?.title}}</h2>\n }\n </div>\n </div>\n <div class=\"col-xl-4 col-lg-5 card-btns\">\n @if(item.price){\n <h4 class=\"subtitle mb--10 \"><span class=\"text\">{{ item?.labelFrom }}</span> {{ item?.price }}{{ item.currency | currencySymbol }}</h4>\n } @if(item.discount){\n <h4 class=\"subtitle mb--10 \"><span class=\"text\">{{ item?.labelFrom }}</span> {{ item?.discount }}%</h4>\n } @if(item.reserveButton){\n <a\n [href]=\"item.reserveButton.url\"\n (click)=\"offerClick.emit(item.id)\"\n class=\"btn btn_call \"\n >\n <b>{{item?.reserveButton?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonOfferI } from '../babylon-offer-slider/babylon-offer.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-offers-slider',\n standalone: true,\n imports: [CommonModule,BabylonCurrencyPipe, BabylonSlidersDirective],\n templateUrl: './babylon-offers-slider.component.html',\n styleUrl: './babylon-offers-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonOffersSliderComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() offers?: BabylonOfferI[];\n}\n","<section class=\"babylon__offer-slider margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if(pretitle) {\n <h3 class=\"pretitle\">{{pretitle}}</h3>\n }\n @if(title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{title}}</h2>\n }\n </div>\n </div>\n <div class=\"container-fluid p-0\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24 cs_hover_show_arrows\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"4\" >\n <div class=\"cs_slider_wrapper\">\n @if(offers?.length) {\n @for (offer of offers; track $index) {\n <div class=\"cs_slide\">\n <a [href]=\"(offer.links?.length) ? offer.links?.[0]?.url : '#'\" class=\"cs_feature_box cs_style_3 position-relative text-center cs_center cs_hobble cs_primary_bg cs_type_1 cs--radius\">\n <div class=\"cs_feature_box_bg cs_bg_filed cs_hover_layer_2\">\n <img [src]=\"offer.images?.src\" alt=\"Thumb\">\n </div>\n <div class=\"cs_feature_box_text position-relative cs_zindex_3 cs_hover_layer_2\">\n <div class=\"intro_info align--center intro_info--light \">\n @if (offer.texts?.title) {\n <h3 class=\"title--small\">{{offer.texts?.title}}</h3>\n }\n @if (offer.texts?.additional1) {\n <p class=\"text\">{{offer.texts?.additional1}}</p>\n }\n <h4 class=\"subtitle mb--10 \">\n @if (offer.texts?.description) {\n <span class=\"text\">{{offer.texts?.description}}</span>\n <br>\n }\n @if (offer.texts?.additional2) {\n <span class=\"text\">{{offer.texts?.additional2}}</span>\n }\n @if (offer.discount) {\n {{offer.discount}}\n }\n @if (offer.currency) {\n {{offer.currency | currencySymbol}}\n }\n </h4> \n </div>\n </div>\n </a>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_2\"></div>\n </div>\n </div>\n</section>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-preload',\n standalone: true,\n imports: [],\n templateUrl: './babylon-preload.component.html',\n styleUrl: './babylon-preload.component.scss'\n})\nexport class BabylonPreloadComponent {\n\n}\n","<div class=\"cs_preloader cs_accent_color cs_primary_font\">\n <div class=\"cs_preloader_in\">B</div>\n </div>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\n\n\n@Component({\n selector: 'lib-babylon-room-details',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-room-details.component.html',\n styleUrl: './babylon-room-details.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomDetailsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() description?: string;\n @Input() button?: BabylonButtonI;\n @Input() equipmentTitle?: string;\n @Input() items?: BabylonEquipmentItem[];\n}\n\nexport interface BabylonEquipmentItem {\n title?: string;\n icon?: string;\n}\n\n","<section class=\"babylon__room-details margin-main\">\n <div class=\"container\">\n <div class=\"row cs_gap_y_40\">\n <div class=\"col-lg-6\">\n <div class=\"cs_room_details\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n } @if(title){\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ title }}</h2>\n } @if(description){\n <p class=\"text\">{{ description }}</p>\n } @if(button){\n <div class=\"btns__box \">\n <a\n [href]=\"button.url\"\n class=\"btn btn_primary btn_call\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n\n </div>\n </div>\n <div class=\"col-lg-6\">\n <div class=\"cs_pl_110\">\n @if(equipmentTitle){\n <h3 class=\"pretitle mb--20 mt--40\">{{ equipmentTitle}} </h3>\n } @if (items?.length) {\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @for (item of items; track $index) {\n <li>\n <div class=\"info--icon \">\n <i\n class=\"icon--svg\"\n [ngClass]=\"item.icon\"\n ></i>\n </div>\n <p class=\"text--small\">{{ item.title }} </p>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n </div>\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonDropdownI } from '../../../interfaces/babylon-dropdown.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-rooms-cols',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, DropdownModule],\n templateUrl: './babylon-rooms-cols.component.html',\n styleUrl: './babylon-rooms-cols.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsColsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonRoomsListItem[];\n @Input() stFilters?: BabylonDropdownI;\n @Input() ndFilters?: BabylonDropdownI;\n}\n\nexport interface BabylonRoomsListItem {\n button?: BabylonButtonI;\n link?: BabylonButtonI;\n img?: BabylonImageI;\n title?: string;\n pretitle?: string;\n description?: string;\n equipment?: BabylonRoomsListEquipment[];\n bedroomFilterId?: number;\n characteristicsFilterId?: number;\n price?: number;\n priceText?: string;\n}\n\nexport interface BabylonRoomsListEquipment {\n icon?: string;\n label?: string;\n}\n\nexport interface DropdownOption {\n code?: number;\n name?: string;\n ages?: DropdownOption[];\n}\n","<section class=\"babylon__rooms-cols margin-main\">\n <div class=\"container\">\n @if (title || pretitle) {\n <div class=\"d-flex flex-column align-items-center pb-4\">\n @if(pretitle){\n <span class=\"pretitle\"> {{ pretitle }} </span>\n } @if(title){\n <h2 class=\"title\">{{ title }}</h2>\n }\n </div>\n }\n <div class=\"row justify-content-center filters\">\n @if (stFilters) {\n <div class=\"dropdown__wrapper\">\n <p-dropdown\n class=\"dropdown\"\n [options]=\"stFilters.options\"\n optionLabel=\"name\"\n [placeholder]=\"stFilters.placeholder\"\n >\n </p-dropdown>\n </div>\n } @if (ndFilters) {\n <div class=\"dropdown__wrapper\">\n <p-dropdown\n class=\"dropdown\"\n [options]=\"ndFilters.options\"\n optionLabel=\"name\"\n [placeholder]=\"ndFilters.placeholder\"\n >\n </p-dropdown>\n </div>\n }\n </div>\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row cs_gap_y_80\">\n @if (items?.length) { @for (item of items; track $index) {\n <div class=\"col-xl-4 col-md-6\">\n <div class=\"cs_card cs_style_7 cs--radius overflow-hidden\">\n <a\n href=\"#\"\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg\"\n >\n @if (item.img) {\n <img [src]=\"item.img.src\" [alt]=\"item.img.alt\" />\n }\n <span\n class=\"cs_card_btn position-absolute cs_zindex_2\"\n >\n <div class=\"btns__box align--center\">\n @if(item.link) {\n <a\n [href]=\"item.link.url\"\n [linkType]=\"item.link.linkType\"\n class=\"btn btn_primary btn--light\"\n >\n <b> {{ item.link.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n } @if(item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"item.button.linkType\"\n class=\"btn btn_call btn--light\"\n >\n <b> {{ item.button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </span>\n </a>\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if(item.title){\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n } @if(item.price){\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}€\n </h3>\n } @if (item.equipment?.length) {\n <div class=\"cs_mb_20 list-equipament\">\n <ul class=\"cs_card_list cs_mp_0\">\n @for (equipment of item.equipment; track\n $index){\n <li>\n <div class=\"info--icon\">\n @if (equipment.icon) {\n <i\n class=\"icon--svg\"\n [ngClass]=\"equipment.icon\"\n ></i>\n }\n </div>\n @if (equipment.label) {\n <p class=\"text--small\">\n {{ equipment.label }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n } }\n </div>\n </div> \n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonRoomInfoI } from '../babylon-rooms-slider/babylon-room.interface';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\n\n@Component({\n selector: 'lib-babylon-rooms-grid',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-rooms-grid.component.html',\n styleUrl: './babylon-rooms-grid.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsGridComponent {\n @Input() labels?: BabylonTextInfoI;\n @Input() rooms?: BabylonRoomInfoI[];\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__rooms-grid margin-main\"> \n <div class=\"container-fluid cs_plr_100\"> \n <div class=\"intro_info align--center no-align\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n \n </div> \n <div class=\"cs_grid_style_4\">\n @if(rooms?.length) {\n @for (room of rooms; track $index) {\n <div class=\"cs_grid_item\">\n <a href=\"#\" class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\">\n @if(room?.images?.length) {\n @for (roomImage of room.images; track $index) {\n <img class=\"cs_card_thumb w-100 h-100\" [src]=\"roomImage.src\" alt=\"Room\">\n }\n }\n @if(room?.price) {\n <span class=\"cs_card_price text bg--white position-absolute cs--radius\">{{room?.price}}</span>\n }\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\" intro_info intro_info--light\"> \n @if(room?.texts?.name) {\n <h2 class=\"title--small mb--0\">{{room?.texts?.name}}</h2>\n }\n @if(room?.services?.length) {\n <ul class=\"cs_card_list cs_mp_0\">\n @for (service of room?.services; track $index) {\n <li>\n @if(service.icon) {\n <div class=\"info--icon \">\n <i class=\"icon--svg icon-nuevo_pax_ico_small \" [ngClass]=\"service.icon\"></i> \n </div> \n }\n @if (service.name) {\n <p class=\"text--small\">{{service.name}}</p>\n }\n </li>\n }\n </ul> \n }\n </div> \n </div>\n </a>\n </div>\n }\n }\n </div>\n @if(button?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" class=\"btn btn_primary\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n }\n </div>\n</section>","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonRoomsListItem } from '../babylon-rooms-cols/babylon-rooms-cols.component';\n\n@Component({\n selector: 'lib-babylon-rooms-list',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonSlidersDirective],\n templateUrl: './babylon-rooms-list.component.html',\n styleUrl: './babylon-rooms-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsListComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonRoomsListItem[];\n}\n","<section class=\"babylon__rooms-list margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if (title) {\n <h3 class=\"title\">{{ title }}</h3>\n }\n </div>\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row room-item\">\n @if (items?.length) {\n @for (item of items; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"$odd ? right : left\"\n [ngTemplateOutletContext]=\"{ item }\"\n ></ng-container>\n\n <ng-template #left let-item=\"item\">\n <div class=\"col-lg-12\">\n <div\n class=\"cs_card cs_style_7 cs_type_1 cs--radius overflow-hidden cs_card-left\"\n >\n <div\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg no-border cs--radius cs_pl_20\"\n >\n <div\n class=\"cs_slider cs_style_1 cs_slider_gap_24\"\n >\n <div\n class=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (item.img) {\n <div\n class=\"cs_slide cs--radius\"\n >\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n class=\"cs--radius\"\n />\n </div>\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3 cs_type_3--left\"\n ></div>\n </div>\n </div>\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if (item.title) {\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n }\n @if (item.price) {\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}€\n </h3>\n }\n @if (item.description) {\n <p class=\"text\">\n {{ item.description }}\n </p>\n }\n @if (item.equipment?.length) {\n <div class=\"cs_mb_20\">\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n equipment of item.equipment;\n track $index\n ) {\n <li>\n @if (\n equipment.icon\n ) {\n <div\n class=\"info--icon\"\n >\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n </div>\n }\n @if (\n equipment.label\n ) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.label\n }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"btns__box\">\n @if (item.link) {\n <a\n [href]=\"item.link.url\"\n [linkType]=\"\n item.link.linkType\n \"\n class=\"btn btn_primary\"\n >\n <b>{{ item.link.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"\n item.button.linkType\n \"\n class=\"btn btn_primary btn_call\"\n >\n <b>{{\n item.button.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template #right let-item=\"item\">\n <div class=\"col-lg-12\">\n <div\n class=\"cs_card cs_style_7 cs_type_1 cs--radius overflow-hidden cs_card-right\"\n >\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if (item.title) {\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n }\n @if (item.price) {\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}€\n </h3>\n }\n @if (item.description) {\n <p class=\"text\">\n {{ item.description }}\n </p>\n }\n @if (item.equipment?.length) {\n <div class=\"cs_mb_20\">\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n equipment of item.equipment;\n track $index\n ) {\n <li>\n @if (\n equipment.icon\n ) {\n <div\n class=\"info--icon\"\n >\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n </div>\n }\n @if (\n equipment.label\n ) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.label\n }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n <div class=\"btns__box\">\n @if (item.link) {\n <a\n [href]=\"item.link.url\"\n [linkType]=\"\n item.link.linkType\n \"\n class=\"btn btn_primary\"\n >\n <b>{{ item.link.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n @if (item.button) {\n <a\n [href]=\"item.button.url\"\n [linkType]=\"\n item.button.linkType\n \"\n class=\"btn btn_primary btn_call\"\n >\n <b>{{\n item.button.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n </div>\n </div>\n <div\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg no-border cs--radius cs_pl_20\"\n >\n <div\n class=\"cs_slider cs_style_1 cs_slider_gap_24\"\n >\n <div\n class=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"1\"\n data-lg-slides=\"1\"\n data-add-slides=\"1\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (item.img) {\n <div\n class=\"cs_slide cs--radius\"\n >\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n class=\"cs--radius\"\n />\n </div>\n }\n </div>\n </div>\n <div\n class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3 cs_type_3--left\"\n ></div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n }\n }\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonTextInfoI } from '../../../interfaces/babylon-text-info.interface';\nimport { BabylonRoomInfoI } from './babylon-room.interface';\n\n@Component({\n selector: 'lib-babylon-rooms-slider',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-rooms-slider.component.html',\n styleUrl: './babylon-rooms-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonRoomsSliderComponent {\n @Input() labels?: BabylonTextInfoI;\n @Input() set rooms(items: BabylonRoomInfoI[] | undefined) {\n this.totalRooms = items;\n }\n\n totalRooms?: BabylonRoomInfoI[] = [];\n}\n","<section class=\"babylon__rooms-slider margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center\">\n @if (labels?.pretitle) {\n <h3 class=\"pretitle\">{{ labels?.pretitle }}</h3>\n }\n @if (labels?.title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h2>\n }\n </div>\n </div>\n <div class=\"container-fluid\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_40 cs_hover_show_arrows\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (totalRooms?.length) {\n @for (room of totalRooms; track $index) {\n <div class=\"cs_slide\">\n <div \n class=\"cs_card cs_style_1\"\n >\n @if (room.images?.[0]) {\n <a\n [href]=\"room.links?.[0]?.url\"\n [linkType]=\"room.links?.[0]?.linkType\"\n class=\"cs_card_thumb d-block cs--radius overflow-hidden position-relative cs_primary_bg\"\n >\n <img\n [src]=\"room.images?.[0]?.src\"\n alt=\"Room\"\n />\n <img\n [src]=\"room.images?.[0]?.src\"\n alt=\"Room\"\n />\n </a>\n }\n <div\n class=\"cs_card_info intro_info no-align\"\n >\n @if (room?.texts?.name) {\n <h2 class=\"title--small mb--0\">\n {{ room?.texts?.name }}\n </h2>\n }\n @if (room?.texts?.additional1) {\n <h3 class=\"subtitle--small\">\n {{ room?.texts?.additional1 }}\n </h3>\n }\n @if (room?.equipments?.length) {\n <ul class=\"cs_card_list cs_mp_0\">\n @for (\n equipment of room.equipments;\n track $index\n ) {\n <li>\n @if (equipment.icon) {\n <div\n class=\"info--icon\"\n >\n <i\n class=\"icon--svg icon-nuevo_pax_ico_small\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n </div>\n }\n @if (equipment.name) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.name\n }}\n </p>\n }\n </li>\n }\n </ul>\n }\n @if (room?.buttons) {\n <div class=\"btns__box\">\n @for (\n button of room.buttons;\n track $index\n ) {\n <a\n class=\"btn\"\n [href]=\"button.url\"\n [linkType]=\"\n button.linkType\n \"\n [ngClass]=\"{\n btn__primary: $odd,\n btn__call: $even,\n }\"\n >\n <b>\n {{ button.label }}\n </b>\n </a>\n }\n </div>\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_slider_arrows cs_style_1 cs_mobile_hide\">\n <div class=\"cs_left_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow cs_center cs_primary_color\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonAdvInfoI } from '../babylon-advantages/babylon-advantages-info.interface';\n\n@Component({\n selector: 'lib-babylon-services-slider',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-services-slider.component.html',\n styleUrl: './babylon-services-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonServicesSliderComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() advantages?: BabylonAdvInfoI[];\n}\n","<section class=\"babylon__services-slider margin-main bg--white\">\n <div class=\"container\">\n\n <div class=\"intro_info align--center no-align\">\n @if(title){\n <h2 class=\"title \">{{ title }}</h2>\n }\n @if(pretitle){\n <h3 class=\"pretitle\" >{{ pretitle }}</h3>\n }\n </div>\n </div>\n @if(advantages){\n <div class=\"cs_slider cs_style_1 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container3\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\"\n data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"4\">\n <div class=\"cs_slider_wrapper\">\n @for(advantage of advantages; track $index){\n <div class=\"cs_slide\">\n <div class=\"services-item\">\n @if(advantage.title){\n <div class=\"services-item--info\">\n <div class=\"intro_info1 no-align\">\n <p class=\"text mb--0\">{{ advantage.title}}</p>\n </div>\n </div>\n }\n @if(advantage.icon){\n <div class=\"services-item--icon\">\n <div class=\"info--icon icon--medium \">\n <i class=\"icon--svg\" [ngClass]=\"advantage.icon\"></i>\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n </div>\n }\n </section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonTopSliderV2Item } from '../babylon-top-slider-v2/babylon-top-slider-v2-item.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-slider2col',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective, BabylonLinkTypeDirective],\n templateUrl: './babylon-slider2col.component.html',\n styleUrl: './babylon-slider2col.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonSlider2colComponent {\n @Input() rightSide: boolean = false;\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() button?: BabylonButtonI;\n @Input() images?: BabylonImageI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","@if (!rightSide) {\n <section class=\"babylon__slider2col margin-main cs_gray_bg cs_half_bg position-relative\" id=\"Slider2ColLeft\">\n <div class=\"cs_half_bg_right cs_primary_bg bg--dark cs--radius\"></div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n <div class=\"container-fluid p-0 position-relative\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"container position-relative\">\n <div class=\"row column-reverse\">\n <div class=\"col-lg-4\">\n <div class=\"intro_info align--center intro_info--light no-align pt--20\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n\n @if(button?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary btn--light\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n <div class=\"col-lg-8\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"2\" data-add-slides=\"2\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <a class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\"\n [linkType]=\"image?.links?.[0]?.linkType || 'nolink'\"\n [href]=\"image?.links?.[0]?.url || '#'\">\n <img [src]=\"image.src\" alt=\"Room\" class=\"cs_card_thumb w-100 h-100\">\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\"intro_info intro_info--light\">\n @if(image?.title){\n <h2 class=\"title--small mb--10\">{{image?.title}}</h2>\n }\n @if(image?.subtitle){\n <p class=\"text mb--0\">{{image?.subtitle}}</p>\n }\n </div>\n </div>\n </a>\n </div>\n }\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3\"></div>\n </div>\n\n </div>\n </div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n </section>\n}\n@if (rightSide) {\n <!-- mismo modulo pero a la inversa -->\n <section class=\"babylon__slider2col margin-main cs_gray_bg cs_half_bg position-relative\" id=\"Slider2ColRight\">\n <div class=\"cs_half_bg_left cs_primary_bg bg--dark cs--radius\"></div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n <div class=\"container-fluid p-0 position-relative\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24\">\n <div class=\"container position-relative\">\n <div class=\"row \">\n <div class=\"col-lg-8\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\"\n data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"2\" data-add-slides=\"2\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <a class=\"cs_card cs_style_4 cs_type_1 d-block position-relative cs--radius\"\n [linkType]=\"image?.links?.[0]?.linkType || 'nolink'\"\n [href]=\"image?.links?.[0]?.url || '#'\">\n <img [src]=\"image.src\" alt=\"Room\" class=\"cs_card_thumb w-100 h-100\">\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\"intro_info intro_info--light\">\n @if(image?.title){\n <h2 class=\"title--small mb--10\">{{image?.title}}</h2>\n }\n @if(image?.subtitle){\n <p class=\"text mb--0\">{{image?.subtitle}}</p>\n }\n </div>\n </div>\n </a>\n </div>\n }\n }\n\n </div>\n </div>\n </div>\n <div class=\"col-lg-4\">\n <div class=\"intro_info align--center intro_info--light no-align pt--20\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n\n @if(button?.label){\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url\" [linkType]=\"button?.linkType\" class=\"btn btn_primary btn--light\">\n <b>{{button?.label}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_3 cs_type_3--left\"></div>\n </div>\n </div>\n </div>\n <div class=\" cs_height_150 cs_height_lg_40\"></div>\n </section>\n}\n\n<ng-template #imageContent let-image>\n <img [src]=\"image.src\" alt=\"Room\" class=\"cs_card_thumb w-100 h-100\">\n <div class=\"cs_card_info position-absolute start-0 top-0 h-100 w-100\">\n <div class=\"intro_info intro_info--light\">\n @if(image?.title){\n <h2 class=\"title--small mb--10\">{{image?.title}}</h2>\n }\n @if(image?.subtitle){\n <p class=\"text mb--0\">{{image?.subtitle}}</p>\n }\n </div>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonSliderItem } from '../babylon-slider3items/babylon-slider3items.component';\n\n@Component({\n selector: 'lib-babylon-slider2items',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonSlidersDirective],\n templateUrl: './babylon-slider2items.component.html',\n styleUrl: './babylon-slider2items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSlider2itemsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonSliderItem[];\n}\n","<section class=\"babylon__slider2Items margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (pretitle) {\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if (title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ title }}\n </h2>\n }\n </div>\n </div>\n @if (items) {\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"1\"\n data-md-slides=\"2\"\n data-lg-slides=\"2\"\n data-add-slides=\"2\"\n >\n <div class=\"cs_slider_wrapper\">\n @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a\n [href]=\"item.link?.url\"\n [linkType]=\"item.link?.linkType\"\n class=\"cs_post_thumb1 post-room cs--radius overflow-hidden d-block position-relative\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n />\n }\n <div\n class=\"intro_info tit-room intro_info--light\"\n >\n @if (item.title) {\n <h4 class=\"title--small mb--10\">\n {{ item.title }}\n </h4>\n }\n @if (item.pretitle) {\n <p class=\"pretitle\">\n {{ item.pretitle }}\n </p>\n }\n </div>\n <span class=\"icon-plus cs--radius\">\n <span class=\"babylon-plus\"></span>\n </span>\n <div\n class=\"room-info intro_info no-align\"\n >\n @if (item.services) {\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n service of item.services;\n track $index\n ) {\n <li>\n <div\n class=\"info--icon\"\n >\n @if (\n service.icon\n ) {\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n service.icon\n \"\n ></i>\n }\n </div>\n @if (service.name) {\n <p\n class=\"text--small\"\n >\n {{\n service.name\n }}\n </p>\n }\n </li>\n }\n </ul>\n }\n @if (item.buttons) {\n <div\n class=\"btns__box align--center\"\n >\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"\n button.linkType\n \"\n class=\"btn btn--light1\"\n [ngClass]=\"{\n 'btn_primary ':\n !$odd,\n 'btn_call ':\n $odd,\n }\"\n >\n <b>{{\n button.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n </div>\n }\n </div>\n </a>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n }\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonTopSliderV2Item } from '../babylon-top-slider-v2/babylon-top-slider-v2-item.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\n\n@Component({\n selector: 'lib-babylon-slider3col',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-slider3col.component.html',\n styleUrl: './babylon-slider3col.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonSlider3ColComponent {\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() images?: BabylonImageI[];\n\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__slider3col margin-main\">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if (labels?.pretitle) {\n <h3 class=\"pretitle\">{{ labels?.pretitle }}</h3>\n }\n @if (labels?.title) {\n <h2\n class=\"title wow fadeInUp\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h2>\n }\n </div>\n </div>\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div\n class=\"cs_slider_container\"\n sliders=\"cs_slider_container\"\n data-autoplay=\"0\"\n data-loop=\"1\"\n data-speed=\"600\"\n data-center=\"0\"\n data-variable-width=\"0\"\n data-slides-per-view=\"responsive\"\n data-xs-slides=\"1\"\n data-sm-slides=\"2\"\n data-md-slides=\"2\"\n data-lg-slides=\"3\"\n data-add-slides=\"3\"\n >\n <div class=\"cs_slider_wrapper\">\n @if (images?.length) {\n @for (image of images; track $index) {\n <div\n class=\"cs_slide\"\n [ngClass]=\"{\n 'pointer-none': !image?.buttons?.[0],\n }\"\n >\n <div class=\"cs_post cs_style_1\">\n <a\n href=\"#\"\n class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\"\n >\n <img [src]=\"image.src\" alt=\"Feature\" />\n @if (image?.buttons?.length) {\n <span\n class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\"\n >\n <span\n class=\"babylon-arrow_btn\"\n ></span>\n </span>\n }\n </a>\n <div\n class=\"cs_post_info intro_info no-align\"\n >\n <div class=\"cs_post_meta cs_mb_24\">\n @if (image?.pretitle) {\n <span>{{\n image?.pretitle\n }}</span>\n }\n <span\n class=\"cs_post_meta_seperator\"\n ></span>\n @if (image?.links?.length) {\n <a\n [href]=\"\n image.links?.[0]?.url\n \"\n >{{\n image.links?.[0]?.label\n }}</a\n >\n }\n </div>\n <div class=\"intro_info\">\n @if (image?.title) {\n <h4 class=\"title--small mb--10\">\n {{ image?.title }}\n </h4>\n }\n @if (image?.description) {\n <p class=\"text mb--10\">\n {{ image?.description }}\n </p>\n }\n @if (image.buttons) {\n @for (\n button of image.buttons;\n track $index\n ) {\n @if (button) {\n <div class=\"btns__box\">\n <a\n [href]=\"\n button?.url\n \"\n class=\"btn-link\"\n >\n <b>{{\n button?.label\n }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n</section>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-babylon-slider3col-clear',\n standalone: true,\n imports: [],\n templateUrl: './babylon-slider3col-clear.component.html',\n styleUrl: './babylon-slider3col-clear.component.scss'\n})\nexport class BabylonSlider3colClearComponent {\n\n}\n","<section class=\"babylon__slider3col margin-main\"> \n \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n <h3 class=\"pretitle\">Slider 3Col Clear</h3>\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">Explore Our Exclusive Resort Facilities</h2> \n </div> \n </div>\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"3\">\n <div class=\"cs_slider_wrapper\">\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a href=\"#\" class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta cs_mb_24\">\n <span>Nuestra carta</span>\n <span class=\"cs_post_meta_seperator\"></span>\n <a href=\"#\">descargar</a>\n </div>\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar 1</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n \n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </div>\n </div>\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a href=\"#\" class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta cs_mb_24\">\n <span>Nuestra carta</span>\n <span class=\"cs_post_meta_seperator\"></span> \n </div>\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar 1</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n \n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </div>\n </div>\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a href=\"#\" class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </a>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"cs_post_meta cs_mb_24\">\n \n <span class=\"cs_post_meta_seperator\"></span>\n <a href=\"#\">descargar</a>\n </div>\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar 1</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </div>\n </div>\n <div class=\"cs_slide\">\n <a href=\"#\" class=\"cs_post cs_style_1\">\n <div class=\"cs_post_thumb cs--radius overflow-hidden d-block position-relative\">\n <img src=\"/assets/babylon/fotos/feature_img_1.jpeg\" alt=\"Feature\">\n \n <span class=\"cs_hover_icon cs_center position-absolute cs_white_color cs_zindex_2 cs--radius\">\n <span class=\"babylon-arrow_btn\"></span> \n </span>\n </div>\n <div class=\"cs_post_info intro_info no-align\">\n <div class=\"intro_info\">\n <h4 class=\"title--small mb--10\" >Restaurant & Bar</h4> \n <p class=\"text mb--10\">Exceptional dining awaits at our resort. Immerse yourself in exquisite flavors with view to match. Pure indulgence, effortlessly delivered</p>\n <div class=\"btns__box \">\n <a href=\"#\" class=\"btn-link \">\n <b>Ver más información</b>\n <span class=\"babylon-arrow-right-big\"></span> \n </a>\n </div> \n </div> \n </div>\n </a>\n </div>\n </div>\n </div>\n </div>\n \n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span> \n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span> \n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n \n </section>","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonGlobalIconI } from '../../../interfaces/babylon-global-icon.interface';\n\n@Component({\n selector: 'lib-babylon-slider3items',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective, BabylonSlidersDirective],\n templateUrl: './babylon-slider3items.component.html',\n styleUrl: './babylon-slider3items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSlider3itemsComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() items?: BabylonSliderItem[];\n\n}\n\nexport interface BabylonSliderItem {\n pretitle?: string;\n title?: string;\n img?: BabylonImageI;\n link?: BabylonButtonI;\n buttons?: BabylonButtonI[];\n services?: BabylonGlobalIconI[];\n}\n","<section class=\"babylon__slider3Items margin-main\">\n\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(pretitle){\n <h3 class=\"pretitle\">{{ pretitle }}</h3>\n }\n @if(title){\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{ title }}</h2>\n }\n </div>\n </div>\n @if(items){\n <div class=\"cs_slider cs_style_1 cs_slider_gap_60 cs_hover_show_arrows\">\n <div class=\"container\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\"\n data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"3\">\n <div class=\"cs_slider_wrapper\">\n @for (item of items; track $index) {\n <div class=\"cs_slide\">\n <div class=\"cs_post cs_style_1\">\n <a [href]=\"item.link?.url\" [linkType]=\"item.link?.linkType\" class=\"cs_post_thumb1 post-room cs--radius overflow-hidden d-block position-relative\">\n @if(item.img){\n <img [src]=\"item.img.src\" [alt]=\"item.img.alt\">\n }\n <div class=\"intro_info tit-room intro_info--light\">\n @if(item.pretitle){\n <p class=\"pretitle mb--10\">{{item.pretitle}}</p>\n }\n @if(item.title){\n <h3 class=\"title--small mb--10\" >{{item.title}}</h3>\n }\n </div>\n </a>\n </div>\n </div>\n }\n\n </div>\n </div>\n </div>\n\n <div class=\"cs_slider_arrows cs_style_2 cs_mobile_hide\">\n <div class=\"cs_left_arrow slick-arrow\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_right_arrow slick-arrow\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_mobile_show\"></div>\n </div>\n }\n\n </section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\n\n@Component({\n selector: 'lib-babylon-slider4col',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective],\n templateUrl: './babylon-slider4col.component.html',\n styleUrl: './babylon-slider4col.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSlider4colComponent {\n @Input() labels?: BabylonSlider4colLabels;\n @Input() images?: BabylonImageI[];\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n\nexport interface BabylonSlider4colLabels {\n title?: string;\n subtitle?: string;\n pretitle?: string;\n}\n","<section class=\"babylon__slider4col margin-main\"> \n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(labels?.pretitle) {\n <h3 class=\"pretitle\">{{labels?.pretitle}}</h3>\n }\n @if(labels?.title) {\n <h2 class=\"title wow fadeInUp\" data-wow-duration=\"0.8s\" data-wow-delay=\"0.2s\">{{labels?.title}}</h2>\n }\n </div> \n </div>\n <div class=\"container-fluid p-0\">\n <div class=\"cs_slider cs_style_1 cs_slider_gap_24 cs_hover_show_arrows\">\n <div class=\"cs_slider_container\" sliders=\"cs_slider_container\" data-autoplay=\"0\" data-loop=\"1\" data-speed=\"600\" data-center=\"0\" data-variable-width=\"0\" data-slides-per-view=\"responsive\" data-xs-slides=\"1\" data-sm-slides=\"2\" data-md-slides=\"2\" data-lg-slides=\"3\" data-add-slides=\"4\">\n <div class=\"cs_slider_wrapper\">\n @if(images?.length) {\n @for (image of images; track $index) {\n <div class=\"cs_slide\">\n <a href=\"#\" class=\"cs_feature_box cs_style_3 position-relative text-center cs_center cs_hobble cs_primary_bg cs_type_1 cs--radius\">\n <div class=\"cs_feature_box_bg cs_bg_filed cs_hover_layer_2 cs--radius\">\n <img [src]=\"image.src\" alt=\"Thumb\" class=\"cs--radius\">\n </div>\n <div class=\"cs_feature_box_text position-relative cs_zindex_3 cs_hover_layer_2\">\n <div class=\"intro_info align--center intro_info--light no-align\">\n @if(image?.title){\n <h3 class=\"title--small\">{{image?.title}}</h3> \n }\n @if(image?.description){\n <p class=\"text\">{{image?.description}}</p>\n }\n @if(image?.buttons){\n @for (button of image.buttons; track $index) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary btn--light\"\n >\n <b>{{ button?.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n }\n </div>\n </div>\n </a>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_pagination cs_style_1 cs_type_2\"></div>\n </div>\n </div>\n</section>","import { Directive, ElementRef, Renderer2, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[babylonScrollUp]',\n standalone: true\n})\nexport class BabylonScrollUpDirective {\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n this.scrollToTop();\n }\n\n private scrollToTop(): void {\n const htmlElement = document.documentElement || document.body;\n htmlElement.scrollTo({ top: 0, behavior: 'smooth' });\n }\n}","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonScrollUpDirective } from '../../../directives/scrolls/scroll-up.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonInputI } from '../../../interfaces/babylon-input.interface';\n\n@Component({\n selector: 'lib-babylon-static-footer',\n standalone: true,\n imports: [\n CommonModule,\n BabylonDataBackgroundDirective,\n BabylonScrollUpDirective,\n BabylonLinkTypeDirective,\n ],\n templateUrl: './babylon-static-footer.component.html',\n styleUrl: './babylon-static-footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonStaticFooterComponent implements AfterViewInit {\n @Input() img?: BabylonImageI;\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() rdTitle?: string;\n @Input() thTitle?: string;\n @Input() fifthTitle?: string;\n @Input() frameUrl: string = '';\n @Input() contactInfo?: BabylonButtonI[];\n @Input() contactLinks?: BabylonButtonI[];\n @Input() address?: BabylonAddressItem;\n @Input() socialMedia?: BabylonButtonI[];\n @Input() copyright?: string;\n @Input() nav?: BabylonButtonI[];\n @Input() footerLinks?: BabylonButtonI[];\n @Input() logo?: BabylonImageI;\n @Input() input?: BabylonInputI;\n @Input() legalAdvise?: string;\n @Input() additionalLinks?: BabylonButtonI[];\n\n @Output() postValue = new EventEmitter();\n\n safeUrl: SafeResourceUrl | null = null;\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n if (this.frameUrl != null) {\n const videoUrl = this.frameUrl;\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(videoUrl);\n this.cdr.detectChanges();\n }\n }\n\n sendValue(mail: string): void {\n this.postValue.emit(mail);\n }\n}\n\nexport interface BabylonAddressItem {\n id?: string;\n name?: string;\n address?: string;\n city?: string;\n province?: string;\n country?: string;\n cp?: string;\n url?: string;\n}\n","<!-- La foto es opcional -->\n<footer\n class=\"babylon__footer cs_bg_filed\"\n [attr.data-src]=\"img?.src\"\n dataBackground=\"url({{ img?.src }})\"\n>\n <div class=\"cs_footer_main\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_footer_grid_4\">\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (title) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ title }}</span>\n </h5>\n }\n @if (contactInfo?.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (contact of contactInfo; track $index) {\n @if (contact) {\n <li>\n <a\n [linkType]=\"\n contact.linkType ?? ''\n \"\n [href]=\"contact.url\"\n >{{ contact.label }}</a\n >\n </li>\n }\n }\n </ul>\n }\n @if (socialMedia?.length) {\n <ul class=\"cs_social_btns cs_style_1\">\n @for (item of socialMedia; track $index) {\n <li>\n <a\n linkType=\"external\"\n [href]=\"item.url\"\n class=\"cs_center\"\n >\n <i [ngClass]=\"item.icon\"></i>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (ndTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ ndTitle }}</span>\n </h5>\n }\n @if (address) {\n <div class=\"cs_text_widget\">\n <a\n [href]=\"address.url || '#'\"\n linkType=\"external\"\n [ngClass]=\"{\n 'pointer-none': !address.url,\n }\"\n >\n @if (address.address) {\n {{ address.address }} <br />\n }\n @if (address.cp && address.city) {\n {{ address.cp }} {{ address.city }}\n <br />\n }\n @if (address.province && address.country) {\n {{ address.province }}\n {{ address.country }}\n }\n </a>\n </div>\n }\n </div>\n </div>\n @if(footerLinks) {\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (rdTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ rdTitle }}</span>\n </h5>\n }\n @if (footerLinks.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (link of footerLinks; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType ?? ''\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n }\n @if(additionalLinks) {\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (fifthTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ fifthTitle }}</span>\n </h5>\n }\n @if (additionalLinks.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (link of additionalLinks; track $index) {\n @if (link) {\n <li>\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n }\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (thTitle) {\n <h5 class=\"cs_widget_title title--smaller\">\n <span>{{ thTitle }}</span>\n </h5>\n }\n @if(safeUrl){\n <div class=\"cs_footer_map cs_primary_bg\">\n <iframe [src]=\"safeUrl\" allowfullscreen title=\"map\"></iframe>\n </div>\n } @else {\n <div id=\"message-newsletter\"></div>\n @if(input){\n <form name=\"newsletter_form\" id=\"newsletter_form\">\n <div class=\"form-group\">\n <input\n type=\"email\"\n name=\"email_newsletter\"\n id=\"email_newsletter\"\n class=\"form-control\"\n [placeholder]=\"input?.placeholder\"\n #input\n />\n <button\n type=\"submit\"\n id=\"submit-newsletter\"\n (click)=\"sendValue(input.value)\"\n >\n <i class=\"babylon-send\"></i>\n </button>\n </div>\n <label class=\"checkbox-element\">\n <input\n class=\"checkbox-input\"\n type=\"checkbox\"\n name=\"conditions\"\n />\n <div class=\"checkbox-icon\"></div>\n @if (legalAdvise) {\n <p\n class=\"checkbox-text\"\n [innerHTML]=\"legalAdvise\"\n ></p>\n }\n </label>\n </form>\n }\n }\n </div>\n </div>\n </div>\n @if (logo) {\n <div class=\"cs_footer_logo\">\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" class=\"footer-logo-img\">\n </div>\n }\n </div>\n </div>\n <div class=\"cs_bottom_footer_wrap\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_bottom_footer position-relative\">\n @if (copyright) {\n <div class=\"cs_copyright\">\n <span class=\"cs_copyright_year\"> {{ copyright }} </span>\n </div>\n }\n <span class=\"cs_scrollup cs_center\">\n <svg\n width=\"15\"\n height=\"7\"\n viewBox=\"0 0 15 7\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15 6.18793L14.1169 7L7.93687 1.31723C7.81958 1.20941 7.66053 1.14885 7.49468 1.14885C7.32884 1.14885 7.16978 1.20941 7.0525 1.31723L0.884376 6.99022L0 6.177L6.16812 0.505163C6.51998 0.181708 6.99715 0 7.49468 0C7.99222 0 8.46938 0.181708 8.82125 0.505163L15 6.18793Z\"\n fill=\"white\"\n />\n </svg>\n <span\n babylonScrollUp\n class=\"cs_scrollup_bg_dotted cs_accent_color\"\n >\n <svg\n width=\"56\"\n height=\"56\"\n viewBox=\"0 0 56 56\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"28\"\n cy=\"28\"\n r=\"27.5\"\n stroke=\"currentColor\"\n stroke-dasharray=\"5 5\"\n />\n </svg>\n </span>\n </span>\n @if (contactLinks?.length) {\n <div class=\"cs_bottom_footer_right\">\n <ul class=\"cs_footer_links cs_mp_0\">\n @for (link of contactLinks; track $index) {\n @if (link) {\n <li>\n <a\n [linkType]=\"link.linkType ?? ''\"\n [href]=\"link.url\"\n >{{ link.label }}</a\n >\n </li>\n }\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n} from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { BabylonAddressItem } from '../babylon-static-footer/babylon-static-footer.component';\n\n@Component({\n selector: 'lib-babylon-static-footer-v2',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-static-footer-v2.component.html',\n styleUrl: './babylon-static-footer-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonStaticFooterV2Component implements AfterViewInit {\n @Input() img?: BabylonImageI;\n @Input() imgUrl?: string;\n @Input() title?: string;\n @Input() ndTitle?: string;\n @Input() rdTitle?: string;\n @Input() thTitle?: string;\n @Input() frameUrl: string = '';\n @Input() contactInfo?: BabylonButtonI[];\n @Input() contactLinks?: BabylonButtonI[];\n @Input() address?: BabylonAddressItem;\n @Input() socialMedia?: BabylonButtonI[];\n @Input() copyright?: string;\n @Input() nav?: BabylonButtonI[];\n @Input() footerLinks?: BabylonButtonI[];\n\n safeUrl: SafeResourceUrl = '';\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n private readonly cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n const videoUrl = this.frameUrl;\n this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(videoUrl);\n this.cdr.detectChanges();\n }\n}\n","<!-- La foto es opcional -->\n<footer class=\"babylon__footer_v2 cs_bg_filed\">\n <div class=\"cs_footer_main\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_footer_grid_2\">\n <!-- 1a columna -->\n <div class=\"cs_footer_column\">\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (title) {\n <h5 class=\"pretitle\">\n <span>{{ title }}</span>\n </h5>\n }\n @if (contactInfo?.length) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (\n contact of contactInfo;\n track $index\n ) {\n @if (contact) {\n <li>\n <a\n class=\"text\"\n [linkType]=\"\n contact.linkType\n \"\n [href]=\"contact.url\"\n >{{ contact.label }}</a\n >\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (ndTitle) {\n <h5 class=\"pretitle\">\n <span>{{ ndTitle }}</span>\n </h5>\n }\n @if (address) {\n <div class=\"cs_text_widget text\">\n <p>\n @if (address.address) {\n {{ address.address }} <br />\n }\n @if (address.cp && address.city) {\n {{ address.cp }} {{ address.city }}\n <br />\n }\n @if (\n address.province && address.country\n ) {\n {{ address.province }}\n {{ address.country }}\n }\n </p>\n </div>\n }\n </div>\n </div>\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (rdTitle) {\n <h5 class=\"pretitle\">\n <span>{{ rdTitle }}</span>\n </h5>\n }\n @if (socialMedia) {\n <ul class=\"cs_menu_widget cs_mp0\">\n @for (item of socialMedia; track $index) {\n <li>\n <a\n class=\"text\"\n linkType=\"external\"\n [href]=\"item.url\"\n >\n <i [ngClass]=\"item.icon\"></i>\n {{ item.label }}\n </a>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n </div>\n <!-- 2a columna -->\n <div class=\"cs_footer_column\">\n <div class=\"cs_footer_grid_item\">\n <div class=\"cs_footer_item\">\n @if (img) {\n <a\n class=\"cs_footer_map cs_primary_bg\"\n [href]=\"imgUrl || '#'\"\n [ngClass]=\"{ 'pointers-none': !imgUrl }\"\n linkType=\"external\"\n >\n <img [src]=\"img.src\" [alt]=\"img.alt\" />\n </a>\n } @else {\n @if (safeUrl) {\n <div class=\"cs_footer_map cs_primary_bg\">\n <iframe\n [src]=\"safeUrl\"\n allowfullscreen\n ></iframe>\n </div>\n }\n }\n </div>\n </div>\n <div class=\"cs_bottom_links_footer position-relative\">\n @if (footerLinks) {\n <ul class=\"cs_menu_widget_links cs_mp0\">\n @for (link of footerLinks; track $index) {\n @if (link) {\n <li>\n <a\n class=\"text\"\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n >\n {{ link.label }}\n </a>\n </li>\n }\n }\n </ul>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"cs_bottom_footer_wrap\">\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"cs_bottom_footer position-relative\">\n @if (copyright) {\n <div class=\"cs_copyright\">\n <span class=\"cs_copyright_year\"> {{ copyright }} </span>\n </div>\n }\n @if (contactLinks?.length) {\n <div class=\"cs_bottom_footer_right\">\n <ul class=\"cs_footer_links cs_mp_0\">\n @for (link of contactLinks; track $index) {\n <li>\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n >{{ link.label }}</a\n >\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </div>\n</footer>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnInit, HostListener } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces';\nimport { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';\n\n@Component({\n selector: 'lib-babylon-submenu-hotel',\n standalone: true,\n imports: [CommonModule, BabylonLinkTypeDirective],\n templateUrl: './babylon-submenu-hotel.component.html',\n styleUrl: './babylon-submenu-hotel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonSubmenuHotelComponent implements OnInit {\n @Input() items?: BabylonButtonI[];\n @Input() selected?: BabylonButtonI;\n\n headerFixed = false;\n isDropdownOpen = false;\n\n ngOnInit() {\n this.checkScroll();\n }\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n this.checkScroll();\n }\n\n private checkScroll() {\n const scrollPosition = window.scrollY;\n this.headerFixed = scrollPosition > 100;\n }\n\n toggleDropdown(): void {\n this.isDropdownOpen = !this.isDropdownOpen;\n }\n}\n","<section class=\"babylon__submenu-hotel\" [ngClass]=\"{ cs_gescout_sticky: headerFixed, 'submenu-open': isDropdownOpen }\">\n\n <!-- Trigger for tablet -->\n <div class=\"submenu-trigger\" (click)=\"toggleDropdown()\">\n <span>MENU</span>\n <span class=\"hamburger-icon\">\n <span></span>\n <span></span>\n <span></span>\n </span>\n </div>\n\n @if (items) {\n <div class=\"container\">\n <nav class=\"submenu\">\n <ul>\n @for (item of items; track $index) {\n <li>\n <a\n [href]=\"item.url\"\n [linkType]=\"item.linkType\"\n [ngClass]=\"{\n active:\n selected?.label?.toLowerCase() ===\n item?.label?.toLowerCase(),\n }\"\n >{{ item?.label }}</a\n >\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'lib-babylon-thanks',\n standalone: true,\n imports: [RouterModule],\n templateUrl: './babylon-thanks.component.html',\n styleUrl: './babylon-thanks.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonThanksComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() text?: string;\n @Input() button?: BabylonButtonI;\n\n btnClick(e: Event): void {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__thank margin-main \">\n <div class=\"container\">\n <div class=\"intro_info align--center no-align\">\n @if(pretitle){\n <h2 class=\"pretitle \">{{ pretitle }}</h2>\n }\n @if(title){\n <h3 class=\"title mb--10\" >{{ title }}</h3>\n }\n @if(text){\n <p class=\"text mb--10\">{{ text }}</p>\n }\n </div>\n @if(button){\n <div class=\"btns__box align--center\">\n <a (click)=\"btnClick($event)\" [href]=\"button.url\" [routerLink]=\"button.url\" class=\"btn btn_primary\" >\n <b>{{ button.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n</section>\n","import { AfterViewInit, ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { BabylonTopSliderItem } from './babylon-top-slider-item.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\nimport { CommonModule } from '@angular/common';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { ScreenSizerService } from '../../../services/screen-sizer';\n\ndeclare global {\n interface Window {\n parallaxSwiperSlider: () => void;\n }\n}\n\n@Component({\n selector: 'lib-babylon-top-slider',\n standalone: true,\n imports: [CommonModule, BabylonDataBackgroundDirective],\n templateUrl: './babylon-top-slider.component.html',\n styleUrl: './babylon-top-slider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonTopSliderComponent implements OnInit, AfterViewInit {\n @Input() items?: BabylonTopSliderItem[];\n @Input() buttons?: BabylonButtonI[];\n @Input() logo?: BabylonImageI;\n @Input() itemsMobile?: BabylonTopSliderItem[];\n\n @Output() btnClick = new EventEmitter<BabylonButtonI>();\n\n constructor(private readonly screenSizer: ScreenSizerService) {}\n\n scrollToSection(event: Event, sectionId: string): void {\n event.preventDefault();\n const section = document.getElementById(sectionId);\n if (section) {\n section.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n ngOnInit(): void {\n if (this.screenSizer.width < 768 && this.itemsMobile?.length) {\n this.items = [...this.itemsMobile];\n }\n}\n\n ngAfterViewInit(): void {\n if (window && window.parallaxSwiperSlider) {\n window.parallaxSwiperSlider();\n }\n }\n}\n","<section class=\"babylon__topslider margin-main-botom\">\n <div class=\"cs_parallax_slider loading overflow-hidden position-relative\">\n @if (items?.length) {\n <div class=\"swiper-wrapper\">\n @for (item of items; track $index) {\n <div class=\"swiper-slide\">\n <div class=\"cs_hero cs_style_1 cs_center text-center position-relative\">\n @if (item.img) {\n <figure class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [attr.data-src]=\"item.img.src\"\n dataBackground=\"url('{{item.img.src}}')\"></figure>\n }\n <div class=\"container position-relative cs_zindex_3\">\n <div class=\"cs_hero_text\">\n @if (item.subtitle) {\n <h2 class=\"pretitle_carrusel\">{{item.subtitle}}</h2>\n }\n @if (item.title) {\n <h1 class=\"title_carrusel\">{{item.title}}</h1>\n }\n @if (item?.buttons?.length) {\n @for (button of item?.buttons; track $index) {\n <div class=\"btns__box align--center\">\n <a [href]=\"button?.url ?? '#'\" class=\"btn btn_primary btn--light\">\n <b>{{button?.label ?? ''}}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n }\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n </div>\n @if (items) {\n @if (items.length > 1) {\n <div class=\"cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n }\n }\n @if(logo){\n <img [src]=\"logo.src\" [alt]=\"logo.alt\" class=\"top-slider-logo\"/>\n }\n <div class=\"mouse_wp\">\n <a\n href=\"#first_section\"\n aria-label=\"first_section\"\n (click)=\"scrollToSection($event, 'first_section')\"\n class=\"cs_down_btn_2\"\n\n >\n <div class=\"mouse\"></div>\n </a>\n </div>\n</section>\n<div id=\"first_section\"></div>\n\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces/babylon-image.interface';\nimport { CommonModule } from '@angular/common';\nimport { BabylonSlidersDirective } from '../../../directives/babylon-sliders/babylon-sliders.directive';\nimport { BabylonCurrencyPipe } from '../../../pipes/babylon-currency.pipe';\nimport { BabylonDataBackgroundDirective } from '../../../directives/data-background/data-background.directive';\n\n@Component({\n selector: 'lib-babylon-top-slider-thumbs',\n standalone: true,\n imports: [CommonModule, BabylonSlidersDirective, BabylonCurrencyPipe, BabylonDataBackgroundDirective],\n templateUrl: './babylon-top-slider-thumbs.component.html',\n styleUrl: './babylon-top-slider-thumbs.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonTopSliderThumbsComponent implements AfterViewInit {\n @Input() title?: string;\n @Input() from?: string;\n @Input() currency?: string;\n @Input() price?: number;\n @Input() images?: BabylonImageI[];\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.cdr.detectChanges();\n }, 100);\n }\n\n}\n","<section class=\"babylon__topslider-thumbs margin-main-botom\">\n <div class=\"position-relative cs_gallery_hover_show_nav\">\n <div\n class=\"cs_gallery_slider_thumb_2 slick-slider\"\n sliders=\"cs_gallery_slider_thumb_2\"\n >\n @if (images?.length) { @for (image of images; track $index) {\n <div class=\"cs_gallery_slider_thumb_item_2 cs_bg_filed\" [attr.data-src]=\"image?.src\" dataBackground=\"url('{{image?.src}}')\"></div>\n }}\n </div>\n <div class=\"cs_gallery_slider_nav_2_wrap\">\n <div class=\"container position-relative cs_gallery_slider_nav_2_in\">\n <div class=\" intro_info intro_info--light\">\n @if(title){\n <h1 class=\"title mb--10\">{{ title }}</h1>\n }\n <p class=\"subtitle mb--0\">\n @if(from){\n <span class=\"text\">\n {{ from }}\n </span>\n } @if(price){\n {{ price }}\n } @if(currency){\n {{currency | currencySymbol}}\n }\n </p>\n\n </div>\n <div\n class=\"cs_gallery_slider_nav_2 slick-slider\"\n sliders=\"cs_gallery_slider_nav_2\"\n >\n @if (images?.length) { @for (image of images; track $index) {\n <div class=\"cs_gallery_slider_thumb_mini_2 cs_bg_filed\" [attr.data-src]=\"image?.src\" dataBackground=\"url('{{image?.src}}')\"></div>\n }}\n </div>\n </div>\n </div>\n <div class=\"cs_left_arrow_gallery_2 cs_center cs_mobile_hide cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n </div>\n <div class=\"cs_right_arrow_gallery_2 cs_center cs_mobile_hide cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n</section>\n","import { AfterViewInit, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BabylonTopSliderItem } from '../babylon-top-slider/babylon-top-slider-item.interface';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { BabylonTopSliderV2Item } from './babylon-top-slider-v2-item.interface';\nimport { CommonModule } from '@angular/common';\n\ndeclare global {\n interface Window {\n parallaxSwiperSlider: () => void;\n }\n}\n\n@Component({\n selector: 'lib-babylon-top-slider-v2',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-top-slider-v2.component.html',\n styleUrl: './babylon-top-slider-v2.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BabylonTopSliderV2Component implements AfterViewInit {\n @Input() rightSide: boolean = false;\n @Input() labels?: BabylonTopSliderV2Item;\n @Input() items?: BabylonTopSliderItem[];\n @Input() buttons?: BabylonButtonI;\n\n @Output() btnClick = new EventEmitter<BabylonButtonI>();\n\n ngAfterViewInit(): void {\n if (window && window.parallaxSwiperSlider) {\n window.parallaxSwiperSlider();\n }\n }\n}\n","<section\n class=\"babylon__topsliderv2 cs_hero cs_style_2 position-relative margin-main-botom\"\n>\n @if (items) {\n <div\n class=\"cs_bg_filed\"\n [ngClass]=\"{\n cs_hero_left_right: rightSide,\n cs_hero_left_img: !rightSide,\n }\"\n >\n <div\n class=\"cs_parallax_slider loading overflow-hidden position-relative\"\n >\n <div class=\"swiper-wrapper\">\n @for (item of items; track $index) {\n <div class=\"swiper-slide\">\n <div\n class=\"cs_hero cs_style_1 cs_center text-center position-relative\"\n >\n <figure\n class=\"cs_swiper_parallax_bg cs_hero_bg cs_bg_filed h-100 w-100 position-absolute top-0 start-0 mb-0\"\n [style.background-image]=\"\n 'url(' + item.img + ')'\n \"\n ></figure>\n </div>\n </div>\n }\n </div>\n </div>\n <div class=\"cs_slider_navigation cs_white_color\">\n <div class=\"cs_swiper_button_prev\">\n <span class=\"babylon-arrow-left-big\"></span>\n </div>\n <div class=\"cs_swiper_button_next\">\n <span class=\"babylon-arrow-right-big\"></span>\n </div>\n </div>\n </div>\n }\n <div class=\"cs_hero_in\">\n <div class=\"cs_hero_content cs_center\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <div class=\"cs_hero_text intro_info\">\n @if (labels?.subtitle) {\n <h2\n class=\"pretitle_carrusel pretitle_carrusel--dark\"\n >\n {{ labels?.subtitle }}\n </h2>\n }\n @if (labels?.title) {\n <h1\n class=\"title_carrusel title_carrusel--dark wow fadeInRight\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n {{ labels?.title }}\n </h1>\n }\n @if (labels?.description || labels?.text) {\n <p class=\"text\">{{ labels?.description }}</p>\n <p class=\"text\">{{ labels?.text }}</p>\n }\n @if (buttons) {\n <div class=\"btns__box\">\n <a\n [href]=\"buttons.url\"\n class=\"btn btn_primary\"\n >\n <b>{{ buttons.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n Input,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { BabylonImageI } from '../../../interfaces';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { ScreenSizerService } from '../../../services/screen-sizer';\nimport { BabylonVideoSourceI } from './babylon-video-source.interface';\n\ndeclare global {\n interface Window {\n initYTPlayer: () => void;\n }\n}\n\n@Component({\n selector: 'lib-babylon-top-slider-video',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './babylon-top-slider-video.component.html',\n styleUrl: './babylon-top-slider-video.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonTopSliderVideoComponent implements AfterViewInit {\n @ViewChild('video', { read: ElementRef })\n videoElement!: ElementRef<HTMLDivElement>;\n @ViewChild('img', { read: ElementRef })\n imgElement!: ElementRef<HTMLImageElement>;\n @Input() labelInfos?: BabylonLabelInfo;\n @Input() videoData?: BabylonVideoSourceI;\n @Input() button?: BabylonButtonI;\n @Input() img?: BabylonImageI;\n\n private readonly screenSizer = inject(ScreenSizerService);\n private readonly renderer = inject(Renderer2);\n\n constructor() {\n effect(() => {\n this.manageVideoOrImage();\n });\n }\n\n ngAfterViewInit(): void {\n if (window && window.initYTPlayer) {\n window.initYTPlayer();\n this.manageVideoOrImage();\n }\n }\n\n manageVideoOrImage(): void {\n if (\n !this.screenSizer.minMediumTablet() &&\n this.img?.src &&\n document.querySelector('#wrapper_bgndVideo')\n ) {\n this.renderer.setStyle(\n document.querySelector('#wrapper_bgndVideo'),\n 'display',\n 'none'\n );\n this.renderer.setStyle(\n document.querySelector('.youtube-bg'),\n 'padding-top',\n '110px'\n );\n } else {\n this.renderer.setStyle(\n document.querySelector('.youtube-bg'),\n 'padding-top',\n '130px'\n );\n if (document.querySelector('#wrapper_bgndVideo')) {\n this.renderer.setStyle(\n document.querySelector('#wrapper_bgndVideo'),\n 'display',\n 'block'\n );\n }\n }\n }\n\n getVideoDataProperty(): string {\n return JSON.stringify({\n videoURL: this.videoData?.src,\n containment: '.youtube-bg',\n autoPlay: true,\n mute: true,\n startAt: 1,\n opacity: 1,\n showControls: false,\n loop: true,\n stopMovieOnBlur: false,\n });\n }\n}\n\nexport interface BabylonLabelInfo {\n title: string;\n pretitle: string;\n}\n","<section class=\"babylon__topslidervideo margin-main-botom\">\n <div\n class=\"cs_hero cs_style_4 cs_primary_bg cs_bg_filed text-center position-relative youtube-bg\"\n >\n @if (videoData?.src) {\n <div\n id=\"bgndVideo\"\n class=\"player\"\n [attr.data-property]=\"getVideoDataProperty()\"\n ></div>\n }\n\n @if (img && img.src) {\n <img [src]=\"img.src\" [alt]=\"img.alt\" />\n }\n <div\n class=\"cs_hero_text_wrap cs_center wow fadeIn\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n >\n <div class=\"container position-relative cs_zindex_3\">\n <div class=\"cs_hero_text\">\n @if (labelInfos?.pretitle) {\n <h1 class=\"cs_hero_subtitle pretitle_carrusel\">\n {{ labelInfos?.pretitle }}\n </h1>\n }\n @if (labelInfos?.title) {\n <h1 class=\"title_carrusel\">{{ labelInfos?.title }}</h1>\n }\n @if (button?.url) {\n <div class=\"btns__box align--center\">\n <a\n [href]=\"button?.url\"\n class=\"btn btn_primary btn--light\"\n >\n <b>{{ button?.label }}</b>\n <span class=\"babylon-arrow-right-big\"></span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BabylonButtonI } from '../../../interfaces/babylon-button.interface';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n selector: 'lib-babylon-webmap',\n standalone: true,\n imports: [RouterModule],\n templateUrl: './babylon-webmap.component.html',\n styleUrl: './babylon-webmap.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BabylonWebmapComponent {\n @Input() pretitle?: string;\n @Input() title?: string;\n @Input() image?: string;\n @Input() links?: BabylonButtonI[];\n\n linkClick(e: Event) {\n e.preventDefault();\n }\n}\n","<section class=\"babylon__webmap margin-main \">\n <div class=\"container\">\n <div class=\"row cs_gap_y_30\">\n <div class=\"col-lg-6 cs_pr_110\">\n <div class=\"intro_info no-align\">\n @if(pretitle){\n <h2 class=\"pretitle mb--10\">{{ pretitle }}</h2>\n }\n @if(title){\n <h3 class=\"title \" >{{ title }}</h3>\n }\n @if (links?.length) {\n <ul class=\"cs_list cs_style_1 cs_mp_0\">\n @for (link of links; track $index) {\n <li>\n <a\n [href]=\"link.url\"\n [routerLink]=\"link.url\"\n (click)=\"linkClick($event)\">\n <p class=\"text--small\">\n {{ link.label }}\n </p>\n </a>\n </li>\n }\n </ul>\n }\n </div>\n </div>\n @if (image) {\n <div class=\"col-lg-6\">\n <div class=\" cs_pr_1101 cs_image_layer cs_style_3 position-relative\">\n <img [src]=\"image\" alt=\"\" class=\"cs--radius\">\n </div>\n </div>\n }\n </div>\n </div>\n</section>\n","/*\n * Public API Surface of babylon\n */\n\n/* COMPONENTS */\nexport * from './lib/components/core/index';\n\n/* SERVICES */\nexport * from './lib/services';\n\n/* INTERFACES */\nexport * from './lib/interfaces/index';\n\n/* UTILS */\nexport * from './lib/utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3","i5","i1.ScreenSizerService","i2.ScreenSizerService","i4"],"mappings":"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"}