{"version":3,"file":"js/90889-651d4ce85dfbd1c1de46.js","mappings":"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","sources":["webpack://cms-web/./app/frontend/src/blocks/introduction_module_packed/introduction_module.analytics.js","webpack://cms-web/./app/frontend/src/blocks/introduction_module_packed/introduction_module.js","webpack://cms-web/./app/frontend/src/utils/generatePaxConfig.js","webpack://cms-web/./app/frontend/src/shared/fastbooking/ibh_fastbooking.js"],"sourcesContent":["import { sendUtagEvent } from '../../core/analytics/utag_events'\nimport on from '../../utils/events_delegation'\nimport { getCleanedString } from '../../utils/utilities'\n\nexport function initializeUtagEvents() {\n on({\n eventName: 'click',\n selector: '.introduction-module .apply-code',\n handler() {\n const element = this\n const event_lbl = element.parentElement.querySelector('.offer-code .code-number .code').innerHTML\n sendUtagEvent({\n data: {\n event_name: 'offers_apply',\n event_cat: 'offers',\n event_act: 'apply offer',\n event_lbl: getCleanedString(event_lbl),\n event_purpose: 'booking',\n event_structure: 'body',\n },\n })\n },\n })\n\n on({\n eventName: 'click',\n selector: '.introduction-module-layer .utag-see-more-link',\n handler() {\n const element = this\n const parentElement = element.closest('.introduction-module-layer')?.querySelector('[data-utag-block-title]')\n ?.dataset?.utagBlockTitle\n const event_cat = 'introduction module'\n const event_act = 'see more'\n const event_lbl = parentElement\n\n sendUtagEvent({\n data: {\n event_name: 'introduction_module',\n event_cat,\n event_act,\n event_lbl: getCleanedString(event_lbl || ''),\n event_purpose: 'information',\n event_structure: 'body',\n },\n })\n },\n })\n}\n","import '../../vendors/swiper/swiper.scss'\n\nimport Swiper from 'swiper'\nimport { Navigation, Pagination } from 'swiper/modules'\n\nimport { currentDevice } from '../../core/utils/currentDevice'\nimport { FASTBOOKING_EVENTS } from '../../shared/fastbooking/constants'\nimport fastbooking from '../../shared/fastbooking/ibh_fastbooking'\n\nimport { initializeUtagEvents } from './introduction_module.analytics'\n\nconst block_name = '.introduction-module'\n\nfunction addedMarginMobileLegalNotice() {\n if (\n IB.currentPageType.get() === 'page' &&\n currentDevice.isMobile &&\n !document.body.classList.contains('inspiration-guide')\n ) {\n const introModule = document.querySelector('.introduction-module')\n introModule.classList.add('added-margin-top-mobile')\n }\n}\n\nfunction initIntroductionModule(block_id) {\n addedMarginMobileLegalNotice()\n const $blocks = block_id === undefined ? $(block_name) : $(`${block_name}[data-block-id=${block_id}]`)\n\n $blocks.each(function () {\n const $block = $(this)\n const $trigger = currentDevice.isDesktop ? $block.find('.offer-code') : $block.find('.secondary-btn')\n const $desc = $block.find('.textual-content .desc')\n let timeout\n\n const $view_more_link = $block.find('.l-external')\n\n $block\n .on('click', $trigger.selector, function (e) {\n if (!currentDevice.isDesktop) e.preventDefault()\n let $this_offer\n if (currentDevice.isDesktop) {\n $this_offer = this.parentElement.querySelector('.offer-code')\n } else {\n $this_offer = this.parentElement.querySelector('.block .offer-code')\n }\n\n $this_offer = $($this_offer)\n const code = $this_offer.find('.code').html()\n const $copied_msg = $this_offer.parent().find('.code-applied')\n\n $this_offer.closest(block_name).find('.visible').removeClass('visible')\n\n if ($this_offer.hasClass('copied')) return\n if (typeof timeout === 'number') clearTimeout(timeout)\n\n // remove copied state from any other offer because we are changing activated code very quickly\n $('.offer-code.copied').removeClass('copied')\n\n copyToClipboard($this_offer.find('.code'))\n addCodeParamToHotelLinks(code)\n fastbooking.setPromocode(code)\n document.addEventListener(FASTBOOKING_EVENTS.RESET_PROMOCODE, () => {\n $('.offer-code.copied').removeClass('copied')\n })\n\n $copied_msg.addClass('visible')\n timeout = setTimeout(function () {\n $copied_msg.removeClass('visible')\n $this_offer.addClass('copied')\n }, 3000)\n\n if (currentDevice.isMobile) {\n const $f_mobile = $('#fastbooking-mobile')\n $('#mobile-input-promo').show()\n $f_mobile.find('.link-promo').addClass('active')\n $f_mobile.find('.clear-promo')?.classList?.remove('is-hidden')\n }\n })\n .on('click', $view_more_link.selector, function () {\n $block.toggleClass('opened')\n // We add focus tu desc block to a better accessibility\n if ($desc.length) {\n if ($block.hasClass('opened')) {\n $desc.trigger('focus')\n } else {\n $desc.trigger('blur')\n }\n }\n })\n\n // We add id's on desc block, role=\"region\" and aria-controls to a better accessibility\n if ($desc.length && $block.attr('data-block-id') != undefined) {\n $desc.attr({\n id: `desc-${$block.attr('data-block-id')}`,\n })\n $view_more_link.attr('aria-controls', `desc-${$block.attr('data-block-id')}`)\n }\n\n loadGif($block)\n attachImageEvent($block)\n handleInspirationGuideImages()\n const convertedBlock = $block.get(0)\n const elementTruncableBlock = Array.from(convertedBlock.querySelectorAll('.js-is-truncable'))\n\n // Throwing \"truncable\" duplicates the js-link-see-more click event.\n // The element is cloned, as cloning does not clone events.\n const linksMoreContent = Array.from(convertedBlock.querySelectorAll('.js-link-see-more'))\n\n linksMoreContent.forEach(element => {\n const elementClone = element.cloneNode(true)\n element.parentNode.replaceChild(elementClone, element)\n })\n\n if (Array.isArray(elementTruncableBlock) && elementTruncableBlock.length > 0) {\n if (typeof IB.truncable !== 'undefined' && typeof IB.truncable.init === 'function') {\n IB.truncable.init(elementTruncableBlock)\n }\n }\n\n initSwiper(convertedBlock)\n })\n initializeUtagEvents()\n}\n\nfunction initSwiper(convertedBlock) {\n Swiper.use([Pagination, Navigation])\n\n const block = convertedBlock\n const swiperDefault = block.querySelector('.js-swiper-default')\n\n if (!swiperDefault) return\n\n const swiperDefaultPagination = swiperDefault.querySelector(':scope > .js-swiper-pagination')\n const swiperDefaultNavigationNext = swiperDefault.querySelector(':scope > .js-swiper-button-next')\n const swiperDefaultNavigationPrev = swiperDefault.querySelector(':scope > .js-swiper-button-prev')\n\n new Swiper(swiperDefault, {\n slidesPerView: 1,\n spaceBetween: 0,\n loop: false,\n pagination: {\n el: swiperDefaultPagination,\n clickable: false,\n },\n navigation: {\n nextEl: swiperDefaultNavigationNext,\n prevEl: swiperDefaultNavigationPrev,\n },\n lazyPreloadPrevNext: 1,\n })\n}\n\nfunction addCodeParamToHotelLinks(code) {\n if (code !== '') {\n // Concat from code to hotel card-container and comparator card container\n $('.card-container a.title-link').each(function (index, link) {\n const href = $(link).attr('href')\n let url = $(link).attr('href')\n if (href.indexOf('promo_code=') >= 0) {\n url = href.replace(/(promo_code=)[a-z0-9]+/gi, `$1${code}`) /* Replace promocode if inserted before */\n } else if (href.indexOf('?') >= 0) {\n url = `${href}&promo_code=${code}` /* Concat parameter if others introduced previously */\n } else {\n url = `${href}?promo_code=${code}` /* Insert as first parameter */\n }\n\n $(link).attr('href', url)\n })\n }\n}\n\nfunction copyToClipboard(element) {\n const $temp = $(\"\")\n $('body').append($temp)\n $temp.val($(element).text()).trigger('select')\n document.execCommand('copy')\n $temp.remove()\n}\n\nfunction attachImageEvent($block) {\n const $img = $block.find('.image')\n\n if (!$img.length) return\n if (typeof $img.data('video-id') === 'undefined' || $img.data('video-id') === null || !$img.data('video-id').length)\n return\n\n $block.on('click', $img.selector, function () {\n const $that = $(this)\n const id = $that.data('video-id')\n\n if ($that.find('iframe').length) return\n\n if (!$that.find('iframe').length) {\n $that.append(\n ``\n )\n $that.find('picture').hide()\n $that.find('.play-icon').remove()\n }\n })\n}\n\nfunction loadGif($block) {\n const $img = $block.find('.image')\n\n if (!$img.length) return\n if (typeof $img.data('gif') === 'undefined' || $img.data('gif') === null || !$img.data('gif').length) return\n $block.find('source').attr('srcset', $img.data('gif'))\n}\nfunction handleInspirationGuideImages() {\n if (document.body.classList.contains('inspiration-guide')) {\n $('.image picture:not(.loaded)').each(function (index, pictureElement) {\n const $picture = $(pictureElement)\n\n $picture.find('source').each(function (sourceIndex, sourceElement) {\n const $source = $(sourceElement)\n\n const srcset = $source.data('srcset')\n\n if (srcset) {\n $source.attr('srcset', srcset)\n }\n })\n $picture.addClass('loaded')\n })\n }\n}\ninitIntroductionModule()\n","/**\n * Generates a pax configuration string based on room data.\n *\n * @param {Object} rooms An object representing room data, where keys are room numbers and values are room objects.\n * Example:\n * ```\n * {\n * \"0\": {\n * \"adults_count\": 2,\n * \"children_count\": 1,\n * \"ages\": [5]\n * },\n * \"1\": {\n * \"adults_count\": 1,\n * \"children_count\": 2,\n * \"ages\": [3, 10]\n * }\n * }\n * ```\n * @param {number} rooms.adults_count The number of adults in the room.\n * @param {number} rooms.children_count The number of children in the room.\n * @param {number[]} rooms.ages An array of children's ages.\n * @returns {string} The pax configuration string in the format \"adultspchildren-ages\" separated by underscores for each room.\n */\nconst generatePaxConfig = rooms => {\n return Object.values(rooms)\n .map(room => {\n const adults = room.adults_count\n const children = room.children_count\n const ages = room.ages && Array.isArray(room.ages) ? room.ages.join('.') : ''\n\n return `${adults}p${children}${ages ? `-${ages}` : ''}`\n })\n .join('_')\n}\n\nexport default generatePaxConfig\n","import dayjs from 'dayjs'\n\nimport { currentDevice } from '../../core/utils/currentDevice'\nimport generatePaxConfig from '../../utils/generatePaxConfig'\nimport { loadDataLastSearches } from '../last_searches/last_searches'\n\nimport { FASTBOOKING_EVENTS, IBH_FASTBOOKING_EVENTS, STANDARD_DATE_FORMAT } from './constants'\n\nclass Fastbooking {\n constructor() {\n this.fastbooking = document.querySelector('#ibh-fastbooking')\n this.isInitialized = false\n this.isSticky = false\n this.state = {}\n this.stateUpdatedEvent = new Event(FASTBOOKING_EVENTS.STATE_UPDATED)\n this.dateFormat = document.documentElement.dataset?.dateFormat || 'DD/MM/YYYY'\n this.tab = 'hotel'\n }\n\n setAsInitialized() {\n this.isInitialized = true\n\n const setInitializedEvent = new CustomEvent(FASTBOOKING_EVENTS.FASTBOOKING_READY)\n document.dispatchEvent(setInitializedEvent)\n }\n\n /**\n * SETTERS\n */\n\n // Sets room code in fastbooking form input hidden to be sent to CRS on submit\n setRoomCode(roomCode) {\n this.fastbooking.querySelector('.js-fastbooking-room-code').value = roomCode\n }\n\n setDestination(destinationId, options) {\n if (!destinationId) return\n\n const setHotelEvent = new CustomEvent(FASTBOOKING_EVENTS.SET_DESTINATION, {\n detail: {\n destinationId,\n options,\n },\n })\n\n document.dispatchEvent(setHotelEvent)\n }\n\n setDates(checkIn, checkOut) {\n if (!checkIn || !checkOut) return\n\n const setDatesEvent = new CustomEvent(FASTBOOKING_EVENTS.SET_DATES, {\n detail: {\n dates: {\n checkIn,\n checkOut,\n },\n },\n })\n\n document.dispatchEvent(setDatesEvent)\n }\n\n setOccupancy(paxConfig) {\n if (!paxConfig) return\n\n const setOccupancyEvent = new CustomEvent(FASTBOOKING_EVENTS.SET_OCCUPANCY, {\n detail: {\n paxConfig,\n },\n })\n\n document.dispatchEvent(setOccupancyEvent)\n }\n\n setPromocode(code) {\n if (!code) return\n\n const setPromocodeEvent = new CustomEvent(FASTBOOKING_EVENTS.SET_PROMOCODE, {\n detail: {\n code,\n },\n })\n\n document.dispatchEvent(setPromocodeEvent)\n\n document.addEventListener(\n FASTBOOKING_EVENTS.PROMOCODE_IS_VALID,\n () => {\n const showBannerEvent = new CustomEvent(IBH_FASTBOOKING_EVENTS.SHOW_BANNER)\n\n document.dispatchEvent(showBannerEvent)\n },\n { once: true }\n )\n }\n\n /**\n * PANELS\n */\n\n openDates(startDate) {\n const openDatesEvent = new CustomEvent(FASTBOOKING_EVENTS.OPEN_DATES, {\n detail: startDate,\n })\n document.dispatchEvent(openDatesEvent)\n }\n\n openOccupancy() {\n const openOccupancyEvent = new CustomEvent(FASTBOOKING_EVENTS.OPEN_OCCUPANCY)\n document.dispatchEvent(openOccupancyEvent)\n }\n\n openPromocode() {\n const openPromocodeEvent = new CustomEvent(FASTBOOKING_EVENTS.OPEN_PROMOCODE)\n document.dispatchEvent(openPromocodeEvent)\n }\n\n closePanels() {\n const event = new CustomEvent(FASTBOOKING_EVENTS.CLOSE_PANELS)\n document.dispatchEvent(event)\n }\n\n /**\n * STICKY\n */\n\n setFastbookingSticky() {\n const event = new CustomEvent(IBH_FASTBOOKING_EVENTS.STICKY_FASTBOOKING)\n document.dispatchEvent(event)\n this.isSticky = true\n }\n\n unsetFastbookingSticky() {\n const event = new CustomEvent(IBH_FASTBOOKING_EVENTS.NO_STICKY_FASTBOOKING)\n document.dispatchEvent(event)\n this.hideOverlay()\n this.isSticky = false\n }\n\n openStickyFastbooking() {\n const event = new CustomEvent(IBH_FASTBOOKING_EVENTS.OPEN_STICKY_FASTBOOKING)\n document.dispatchEvent(event)\n this.showOverlay()\n this.isSticky = true\n }\n\n closeStickyFastbooking() {\n const event = new CustomEvent(IBH_FASTBOOKING_EVENTS.CLOSE_STICKY_FASTBOOKING)\n document.dispatchEvent(event)\n this.hideOverlay()\n this.isSticky = true\n }\n\n /**\n * OVERLAY\n */\n\n showOverlay() {\n if (currentDevice.isMobile) {\n const overlayEvent = new CustomEvent(FASTBOOKING_EVENTS.FASTBOOKING_ACTIVE, { detail: { isSticky: true } })\n document.dispatchEvent(overlayEvent)\n }\n }\n\n hideOverlay() {\n if (currentDevice.isMobile) {\n const overlayEvent = new CustomEvent(FASTBOOKING_EVENTS.FASTBOOKING_INACTIVE, { detail: { isSticky: true } })\n document.dispatchEvent(overlayEvent)\n }\n }\n\n /**\n * FASTBOOKING STATE\n */\n\n getFastbookingStateFromStorage() {\n const isValidDateFormat = dateString => /^\\d{4}-\\d{2}-\\d{2}$/.test(dateString)\n\n const item = localStorage.getItem('fastbooking_state')\n\n if (!item) return\n\n const state = JSON.parse(item)\n\n if (state.dates?.check_in && !isValidDateFormat(state.dates.check_in)) {\n state.dates = null\n }\n\n return state\n }\n\n // Gets fastbooking state and applies it in fastbooking selectors\n applyFastbookingState(source = 'state') {\n const state = source === 'storage' ? this.getFastbookingStateFromStorage() : this.state\n\n if (!state) return\n\n if (state.place_to_go?.id_and_type) {\n this.setDestination(state.place_to_go.id_and_type, { prevent_show_dates: true })\n }\n\n this.applyFastbookingStateDates(source)\n\n if (state.rooms_info) {\n const paxConfig = generatePaxConfig(state.rooms_info)\n this.setOccupancy(paxConfig)\n }\n\n if (state.promocode?.code) this.setPromocode(state.promocode.code)\n }\n\n // Given an id gets the matching last search and applies it in fastbooking selectors\n applyFastbookingStateFromLastSearch(destinationId) {\n if (!destinationId) return\n\n const search = this.getLastSearchById(destinationId, { prevent_show_dates: true })\n\n if (!search) return\n\n this.setDestination(search.id)\n\n if (search.check_in_date && search.check_out_date) {\n this.setDates(search.check_in_date, search.check_out_date)\n }\n\n if (search.pax_config) {\n this.setOccupancy(search.pax_config)\n }\n }\n\n // Gets fastbooking state dates and applies them in fastbooking date selector\n applyFastbookingStateDates(source = 'state') {\n const state = source === 'storage' ? this.getFastbookingStateFromStorage() : this.state\n\n if (!state) return\n\n if (state.dates?.check_in && state.dates?.check_out) {\n this.setDates(state.dates.check_in, state.dates.check_out)\n }\n }\n\n // Stores data in fastbooking state\n setFastbookingState(data) {\n if (!data) return\n\n this.state = { ...this.state, ...data }\n\n document.dispatchEvent(this.stateUpdatedEvent)\n }\n\n // Stores fastbooking state in local storage\n storeFastbookingStateInLocalStorage() {\n localStorage.setItem('fastbooking_state', JSON.stringify(this.state))\n\n document.dispatchEvent(this.stateUpdatedEvent)\n }\n\n /**\n * LAST SEARCHES\n */\n areSearchesDifferent(search1, search2) {\n const relevantFields = ['check_in_date', 'check_out_date', 'rooms', 'pc']\n for (const field of relevantFields) {\n if (search1[field] !== search2[field]) {\n return true\n }\n }\n return false\n }\n\n getLastSearchById(destinationId) {\n const lastSearches = JSON.parse(localStorage.getItem('last_searches')) || []\n\n return lastSearches.find(search => search.id === destinationId)\n }\n\n getDestinationFromFastbookingData(id, data) {\n const sections = ['destinations', 'hotels', 'specialties']\n\n for (const section of sections) {\n const items = data[section][1] // Accede al array correspondiente\n\n for (const item of items) {\n if (item.id === id) {\n return { item }\n }\n }\n }\n\n return {} // ID no encontrado\n }\n\n storeLastSearchInLocalStorage(search, fastbookingData) {\n const maxSearches = 3 //guardar las últimas 3 búsquedas\n\n const lastSearches = JSON.parse(localStorage.getItem('last_searches')) || []\n const item = this.getDestinationFromFastbookingData(search.destination, fastbookingData).item\n\n const lastSearch = {\n category: item.data.hotel_category,\n check_in_date: search.checkIn ? dayjs(search.checkIn, this.dateFormat).format(STANDARD_DATE_FORMAT) : null,\n check_out_date: search.checkOut ? dayjs(search.checkOut, this.dateFormat).format(STANDARD_DATE_FORMAT) : null,\n datesInfoKey: null,\n day: '',\n description: '',\n image_alt: '',\n image_desktop: '',\n image_mobile: '',\n image_tablet: '',\n image: '',\n locale: document.documentElement.getAttribute('data-js-lang'),\n next_opening: item.data.next_opening,\n path: '',\n pax_config: '',\n pc: search.promocode,\n place_title: '',\n place_to_go: item.id,\n rooms: search.occupancy,\n search_url: '',\n segmentations: item.data.segmentations,\n summary: '',\n title_normalize: item.title_normalize,\n title: item.title,\n title_en: item.title_en,\n type: item.type,\n }\n\n if (lastSearch) {\n const dataLastSearches = loadDataLastSearches(lastSearch)\n lastSearch.pax_config = dataLastSearches.pax_config\n lastSearch.search_url = dataLastSearches.search_url\n\n const existingItem = lastSearches.find(item => item.id === lastSearch.place_to_go)\n const existingItemIndex = lastSearches.findIndex(item => item.id === lastSearch.place_to_go)\n\n if (existingItem) {\n if (this.areSearchesDifferent(existingItem, lastSearch)) {\n lastSearches[existingItemIndex] = { ...lastSearch } // Reemplazar con la nueva búsqueda\n }\n } else {\n lastSearches.push({ ...lastSearch })\n }\n if (lastSearches.length > maxSearches) {\n lastSearches.shift() // Eliminar la búsqueda más antigua\n }\n }\n\n localStorage.setItem('last_searches', JSON.stringify(lastSearches))\n }\n\n getLastSearches(fastbookingData) {\n if (!fastbookingData) return\n const localStorageLastSearches = localStorage.getItem('last_searches')\n\n const ibhLastSearches = []\n\n if (localStorageLastSearches) {\n const lastSearches = JSON.parse(localStorageLastSearches)\n\n lastSearches.forEach(lastSearch => {\n const item = this.getDestinationFromFastbookingData(lastSearch.place_to_go, fastbookingData).item\n const checkIn = lastSearch.check_in_date ?? null\n const checkOut = lastSearch.check_out_date ?? null\n\n const ibhLastSearch = {\n destination: {\n id: item.id,\n label: item.title,\n },\n id: item.id,\n checkInDate: checkIn,\n checkOutDate: checkOut,\n data: {\n adults_only: item.data.adults_only,\n max_occupancy: item.data.max_occupancy,\n max_adults: item.data.max_adults,\n max_children: item.data.max_children,\n next_opening: item.data.next_opening,\n },\n promocode: lastSearch.pc,\n pax_config: lastSearch.pax_config ?? '',\n type: item.type,\n title: item.title,\n title_en: item.title_en,\n title_normalize: item.title_normalize,\n }\n ibhLastSearches.push(ibhLastSearch)\n })\n }\n return ibhLastSearches\n }\n\n /**\n * TABS\n */\n\n setTab(tab) {\n this.tab = tab\n }\n\n getTab() {\n return this.tab\n }\n}\n\nconst fastbooking = new Fastbooking()\nwindow.fb = fastbooking\n\nexport default fastbooking\n"],"names":["initializeUtagEvents","on","eventName","selector","handler","event_lbl","this","parentElement","querySelector","innerHTML","sendUtagEvent","data","event_name","event_cat","event_act","getCleanedString","event_purpose","event_structure","closest","dataset","utagBlockTitle","block_name","block_id","IB","currentPageType","get","currentDevice","isMobile","document","body","classList","contains","add","$","undefined","each","$block","$trigger","isDesktop","find","$desc","timeout","$view_more_link","e","$this_offer","preventDefault","code","html","$copied_msg","parent","removeClass","hasClass","clearTimeout","element","$temp","append","val","text","trigger","execCommand","remove","copyToClipboard","index","link","href","attr","url","indexOf","replace","addCodeParamToHotelLinks","fastbooking","setPromocode","addEventListener","FASTBOOKING_EVENTS","RESET_PROMOCODE","addClass","setTimeout","$f_mobile","show","toggleClass","length","id","$img","loadGif","$that","width","height","hide","attachImageEvent","pictureElement","$picture","sourceIndex","sourceElement","$source","srcset","convertedBlock","elementTruncableBlock","Array","from","querySelectorAll","forEach","elementClone","cloneNode","parentNode","replaceChild","isArray","truncable","init","Swiper","use","Pagination","Navigation","block","swiperDefault","swiperDefaultPagination","swiperDefaultNavigationNext","swiperDefaultNavigationPrev","slidesPerView","spaceBetween","loop","pagination","el","clickable","navigation","nextEl","prevEl","lazyPreloadPrevNext","initSwiper","rooms","Object","values","map","room","adults","adults_count","children","children_count","ages","join","constructor","isInitialized","isSticky","state","stateUpdatedEvent","Event","STATE_UPDATED","dateFormat","documentElement","tab","setAsInitialized","setInitializedEvent","CustomEvent","FASTBOOKING_READY","dispatchEvent","setRoomCode","roomCode","value","setDestination","destinationId","options","setHotelEvent","SET_DESTINATION","detail","setDates","checkIn","checkOut","setDatesEvent","SET_DATES","dates","setOccupancy","paxConfig","setOccupancyEvent","SET_OCCUPANCY","setPromocodeEvent","SET_PROMOCODE","PROMOCODE_IS_VALID","showBannerEvent","IBH_FASTBOOKING_EVENTS","SHOW_BANNER","once","openDates","startDate","openDatesEvent","OPEN_DATES","openOccupancy","openOccupancyEvent","OPEN_OCCUPANCY","openPromocode","openPromocodeEvent","OPEN_PROMOCODE","closePanels","event","CLOSE_PANELS","setFastbookingSticky","STICKY_FASTBOOKING","unsetFastbookingSticky","NO_STICKY_FASTBOOKING","hideOverlay","openStickyFastbooking","OPEN_STICKY_FASTBOOKING","showOverlay","closeStickyFastbooking","CLOSE_STICKY_FASTBOOKING","overlayEvent","FASTBOOKING_ACTIVE","FASTBOOKING_INACTIVE","getFastbookingStateFromStorage","item","localStorage","getItem","JSON","parse","dateString","check_in","test","applyFastbookingState","source","arguments","place_to_go","id_and_type","prevent_show_dates","applyFastbookingStateDates","rooms_info","generatePaxConfig","promocode","applyFastbookingStateFromLastSearch","search","getLastSearchById","check_in_date","check_out_date","pax_config","check_out","setFastbookingState","storeFastbookingStateInLocalStorage","setItem","stringify","areSearchesDifferent","search1","search2","relevantFields","field","getDestinationFromFastbookingData","sections","section","items","storeLastSearchInLocalStorage","fastbookingData","lastSearches","destination","lastSearch","category","hotel_category","dayjs","format","STANDARD_DATE_FORMAT","datesInfoKey","day","description","image_alt","image_desktop","image_mobile","image_tablet","image","locale","getAttribute","next_opening","path","pc","place_title","occupancy","search_url","segmentations","summary","title_normalize","title","title_en","type","dataLastSearches","loadDataLastSearches","existingItem","existingItemIndex","findIndex","push","shift","getLastSearches","localStorageLastSearches","ibhLastSearches","ibhLastSearch","label","checkInDate","checkOutDate","adults_only","max_occupancy","max_adults","max_children","setTab","getTab","window","fb"],"sourceRoot":""}