{"version":3,"file":"index.krByYOYe.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/context/useContextState.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/service.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/utils/utils.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/context/useSideEffects.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/context/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/button/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/hooks/useSearcherTouDefaultValues.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/date-input/useDateInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/date-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/hooks/useKeydown.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/components/agrupation-panel/views/desktop/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/components/agrupation-panel/views/desktop/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/utils.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/components/agrupation-panel/views/mobile/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/components/agrupation-panel/views/mobile/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/components/agrupation-panel/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/constants.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/services/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/hooks/useAutocompletePanel.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/views/desktop/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/views/mobile/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/autocomplete-panel/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/destination-input/useDestinationInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/destination-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/duration-input/useDurationInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/duration-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/flexibility/views/desktop/styled.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/flexibility/views/desktop/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-forms/esm/components/inputs/flexibility/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/flexibility-input/useFlexibilityInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/flexibility-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/origin-input/useOriginInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/origin-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/passengers-input/usePassengersInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/passengers-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/utils/url.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/hooks/useSearcherTouForm.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/components/searcher-form/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/views/desktop/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-tou/views/mobile/index.mjs"],"sourcesContent":["import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useLoading from '../../../../hooks/useLoading.mjs';\nimport { useState, useRef, useMemo } from 'react';\n\nconst useSearcherTouContextState = ()=>{\n const [originOptions, setOriginOptions] = useState([]);\n const [durationOptions, setDurationOptions] = useState([]);\n const [calendarData, setCalendarData] = useState([]);\n const allCallLock = useRef(false);\n const originsCallLock = useRef(false);\n const nightsCallLock = useRef(false);\n const datesCallLock = useRef(false);\n const destinationValue = useValue({\n name: 'destination'\n });\n const { isLoading, doFetchLoading } = useLoading([\n allCallLock,\n originsCallLock,\n nightsCallLock,\n datesCallLock\n ], !!destinationValue?.code);\n const { state, actions } = useMemo(()=>({\n state: {\n originOptions,\n durationOptions,\n calendarData,\n isLoading,\n callLocks: {\n allCallLock,\n originsCallLock,\n nightsCallLock,\n datesCallLock\n }\n },\n actions: {\n setOriginOptions,\n setDurationOptions,\n setCalendarData,\n doFetchLoading\n }\n }), [\n calendarData,\n doFetchLoading,\n durationOptions,\n isLoading,\n originOptions\n ]);\n return {\n state,\n actions\n };\n};\n\nexport { useSearcherTouContextState as default };\n//# sourceMappingURL=useContextState.mjs.map\n","const getOrigins = async (url = '', { destination } = {}, { BaseUrl, Language, Market } = {})=>{\n if (!url || !BaseUrl || !Language || !Market || !destination) return undefined;\n let finalUrl = url;\n if (!url.startsWith('http')) finalUrl = `${BaseUrl}${url}`;\n if (process.env.NODE_ENV !== 'production') {\n const fetchMockData = await import('./mock.mjs').then((m)=>m.getOriginsMock);\n return fetchMockData;\n }\n // not use here language and market because they comes in the model\n const response = await fetch(`${finalUrl}&destination=${destination?.code}&destinationType=${destination?.type}`);\n if (!response.ok || response.status === 204) return [];\n const data = await response.json().catch(()=>[]);\n return data;\n};\nconst getNights = async (url = '', { origin, destination } = {}, { BaseUrl, Language, Market } = {})=>{\n if (!url || !BaseUrl || !Language || !Market || !origin || !destination) return undefined;\n let finalUrl = url;\n if (!url.startsWith('http')) finalUrl = `${BaseUrl}${url}`;\n if (process.env.NODE_ENV !== 'production') {\n const fetchMockData = await import('./mock.mjs').then((m)=>m.getNightsMock);\n return fetchMockData;\n }\n const response = await fetch(`${finalUrl}&destination=${destination?.code}&destinationType=${destination?.type}&origin=${origin?.value}`);\n if (!response.ok || response.status === 204) return [];\n const data = await response.json().catch(()=>[]);\n return data;\n};\nconst getCalendar = async (url = '', { origin, destination, duration } = {}, { BaseUrl, Language, Market } = {})=>{\n if (!url || !BaseUrl || !Language || !Market || !origin || !destination || !duration) return undefined;\n const durationParsed = duration?.reduce((finalValue, currentValue)=>`${finalValue}@${currentValue.value}`, '').substring(1);\n let finalUrl = url;\n if (!url.startsWith('http')) finalUrl = `${BaseUrl}${url}`;\n if (process.env.NODE_ENV !== 'production') {\n const fetchMockData = await import('./mock.mjs').then((m)=>m.getCalendarMock);\n return fetchMockData;\n }\n const response = await fetch(`${finalUrl}&destination=${destination?.code}&destinationType=${destination.type}&origin=${origin?.value}&nights=${durationParsed}`);\n if (!response.ok || response.status === 204) return [];\n const data = await response.json().catch(()=>[]);\n return data;\n};\n\nexport { getCalendar, getNights, getOrigins };\n//# sourceMappingURL=service.mjs.map\n","function transformDataOrigins(locations) {\n let transformed = [];\n if (locations && locations.length > 0) {\n locations.forEach((e)=>transformed.push({\n label: e.name ?? '',\n name: e.name ?? '',\n value: e.code ?? ''\n }));\n }\n return transformed;\n}\nfunction getOriginDefaultValue(options) {\n if (!options?.length) return undefined;\n const checked = options.find((e)=>e.checked);\n const res = {\n label: checked?.name ?? '',\n name: checked?.name,\n value: checked?.code\n };\n return res;\n}\nfunction parseDates(options) {\n let dates = [];\n options?.map((e)=>dates.push(e.date ?? ''));\n return dates;\n}\nfunction parseDatesOffers(options, currency) {\n let dates = [];\n options?.map((e)=>dates.push({\n date: e.date ?? '',\n offer: e.offer ?? false,\n text: e.price ? e.price.toString() : '',\n currency: currency\n }));\n return dates;\n}\n\nexport { getOriginDefaultValue, parseDates, parseDatesOffers, transformDataOrigins };\n//# sourceMappingURL=utils.mjs.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { getFirstDayValid } from '@babylon/ui-kit-helpers/date';\nimport useLastValue from '@babylon/ui-kit-hooks/useLastValue';\nimport usePrevValue from '@babylon/ui-kit-hooks/usePrevValue';\nimport fastDeepEqual from 'fast-deep-equal/react.js';\nimport { useEffect, useContext, useCallback } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { getCalendar, getNights, getOrigins } from '../service.mjs';\nimport { getOriginDefaultValue } from '../utils/utils.mjs';\n\nconst useUpdateDates = (contextValue)=>{\n const { props, state, actions } = contextValue;\n const { config } = props ?? {};\n const { endpoint } = config ?? {};\n const { calendarData, callLocks } = state ?? {};\n const { originsCallLock, nightsCallLock, datesCallLock } = callLocks ?? {};\n const { doFetchLoading, setCalendarData } = actions ?? {};\n const { setValue } = useFormContext();\n const { BaseUrl, Language, Market } = useContext(contextBabylon);\n const dateValue = useValue({\n name: 'date'\n });\n const lastCalendarData = useLastValue(calendarData);\n const lastDateValue = useLastValue(dateValue);\n return useCallback(async (destination, origin, duration)=>{\n if (!originsCallLock || !nightsCallLock || !datesCallLock || !doFetchLoading || !setCalendarData || !destination || !origin || !duration || originsCallLock.current || nightsCallLock.current) return;\n const newDates = await doFetchLoading(datesCallLock, async ()=>destination?.code && origin?.value && duration && await getCalendar(endpoint?.dates, {\n origin,\n destination,\n duration\n }, {\n BaseUrl,\n Language,\n Market\n }));\n if (!fastDeepEqual(lastCalendarData.current, newDates)) {\n setCalendarData(newDates || []);\n if (newDates?.length > 0) {\n const dates = newDates.map((e)=>e.date ?? '').filter((e)=>!!e);\n const newDate = [\n getFirstDayValid(dates, new Date(Date.now() - 86400000), 0)\n ];\n if (!fastDeepEqual(lastDateValue.current?.map((date)=>date.getTime()), newDate?.map((date)=>date?.getTime()))) {\n setValue('date', newDate, {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true\n });\n }\n }\n }\n }, [\n BaseUrl,\n Language,\n Market,\n datesCallLock,\n doFetchLoading,\n endpoint?.dates,\n lastCalendarData,\n lastDateValue,\n nightsCallLock,\n originsCallLock,\n setCalendarData,\n setValue\n ]);\n};\nconst useUpdateNights = (contextValue)=>{\n const { props, state, actions } = contextValue;\n const { config, duration } = props ?? {};\n const { endpoint } = config ?? {};\n const { durationOptions, callLocks } = state ?? {};\n const { originsCallLock, nightsCallLock } = callLocks ?? {};\n const { doFetchLoading, setDurationOptions } = actions ?? {};\n const { setValue } = useFormContext();\n const { BaseUrl, Language, Market } = useContext(contextBabylon);\n const durationValue = useValue({\n name: 'duration'\n });\n const lastDurationOptions = useLastValue(durationOptions);\n const updateDates = useUpdateDates(contextValue);\n return useCallback(async (destination, origin)=>{\n if (!originsCallLock || !nightsCallLock || !doFetchLoading || !setDurationOptions || !destination || !origin || originsCallLock.current) return;\n let currentDurationValue = durationValue;\n const newDurations = await doFetchLoading(nightsCallLock, async ()=>destination?.code && origin?.value && await getNights(endpoint?.durations, {\n origin,\n destination\n }, {\n BaseUrl,\n Language,\n Market\n }));\n if (newDurations && !fastDeepEqual(lastDurationOptions.current, newDurations)) {\n if (newDurations.length === 1) newDurations[0].checked = true;\n setDurationOptions(newDurations);\n const newDuration = newDurations.filter((e)=>duration?.length ? duration.toString().includes(String(e?.value)) : !!e.checked);\n const finalDuration = newDuration.length ? newDuration : newDurations.filter((item)=>item.checked);\n if (!fastDeepEqual(currentDurationValue, finalDuration)) {\n setValue('duration', finalDuration, {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true\n });\n currentDurationValue = finalDuration;\n }\n }\n await updateDates(destination, origin, currentDurationValue);\n }, [\n originsCallLock,\n nightsCallLock,\n doFetchLoading,\n durationValue,\n lastDurationOptions,\n updateDates,\n endpoint?.durations,\n BaseUrl,\n Language,\n Market,\n setDurationOptions,\n duration,\n setValue\n ]);\n};\nconst useUpdateOrigins = (contextValue)=>{\n const { props, state, actions } = contextValue;\n const { config } = props ?? {};\n const { endpoint } = config ?? {};\n const { originOptions, callLocks } = state ?? {};\n const { originsCallLock } = callLocks ?? {};\n const { doFetchLoading, setOriginOptions } = actions ?? {};\n const { setValue } = useFormContext();\n const { BaseUrl, Language, Market } = useContext(contextBabylon);\n const originValue = useValue({\n name: 'origin'\n });\n const lastOriginOptions = useLastValue(originOptions);\n const updateNights = useUpdateNights(contextValue);\n return useCallback(async (destination)=>{\n if (!originsCallLock || !doFetchLoading || !setOriginOptions || !destination?.code) return;\n let currentOriginValue = originValue;\n const newOrigins = await doFetchLoading(originsCallLock, async ()=>destination?.code && await getOrigins(endpoint?.origins, {\n destination\n }, {\n BaseUrl,\n Language,\n Market\n }));\n if (newOrigins && !fastDeepEqual(lastOriginOptions.current, newOrigins)) {\n setOriginOptions(newOrigins);\n const defaultOriginValue = getOriginDefaultValue(newOrigins);\n if (String(currentOriginValue?.value) !== String(defaultOriginValue?.value)) {\n setValue('origin', defaultOriginValue, {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true\n });\n currentOriginValue = defaultOriginValue;\n }\n }\n await updateNights(destination, currentOriginValue);\n }, [\n originsCallLock,\n doFetchLoading,\n setOriginOptions,\n originValue,\n lastOriginOptions,\n updateNights,\n endpoint?.origins,\n BaseUrl,\n Language,\n Market,\n setValue\n ]);\n};\nconst useUpdateStateData = (contextValue)=>{\n const { state, actions } = contextValue;\n const { originOptions, durationOptions, calendarData, callLocks } = state ?? {};\n const { allCallLock } = callLocks ?? {};\n const { doFetchLoading } = actions ?? {};\n const originValue = useValue({\n name: 'origin'\n });\n const destinationValue = useValue({\n name: 'destination'\n });\n const durationValue = useValue({\n name: 'duration'\n });\n const lastOriginOptions = useLastValue(originOptions);\n const lastDurationOptions = useLastValue(durationOptions);\n const lastCalendarData = useLastValue(calendarData);\n const updateDates = useUpdateDates(contextValue);\n const updateNights = useUpdateNights(contextValue);\n const updateOrigins = useUpdateOrigins(contextValue);\n const prevDestination = usePrevValue(destinationValue);\n const prevOrigin = usePrevValue(originValue);\n const prevDuration = usePrevValue(durationValue);\n useEffect(()=>{\n if (!allCallLock || !doFetchLoading) return;\n doFetchLoading(allCallLock, async ()=>{\n if (!lastOriginOptions.current?.length || String(prevDestination?.code) !== String(destinationValue?.code)) {\n await updateOrigins(destinationValue);\n return;\n }\n if (!lastDurationOptions.current?.length || String(prevOrigin?.value) !== String(originValue?.value)) {\n await updateNights(destinationValue, originValue);\n return;\n }\n if (!lastCalendarData.current?.length || !fastDeepEqual(prevDuration, durationValue)) {\n await updateDates(destinationValue, originValue, durationValue);\n }\n }).catch(console.error);\n }, [\n doFetchLoading,\n lastCalendarData,\n lastDurationOptions,\n lastOriginOptions,\n prevDestination?.code,\n prevDuration,\n prevOrigin?.value,\n updateDates,\n updateNights,\n updateOrigins,\n destinationValue,\n durationValue,\n originValue,\n allCallLock\n ]);\n};\nconst useSearcherTouSideEffects = (contextValue)=>{\n useUpdateStateData(contextValue);\n};\n\nexport { useSearcherTouSideEffects as default };\n//# sourceMappingURL=useSideEffects.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { useMemo, createContext, useContext } from 'react';\nimport useSearcherTouContextState from './useContextState.mjs';\nimport useSearcherTouSideEffects from './useSideEffects.mjs';\n\nconst SearcherTouContext = /*#__PURE__*/ createContext({});\nconst SearcherTouProvider = (props)=>{\n const { value, children } = props;\n const contextState = useSearcherTouContextState();\n const contextValue = useMemo(()=>({\n props: value,\n ...contextState\n }), [\n contextState,\n value\n ]);\n useSearcherTouSideEffects(contextValue);\n return /*#__PURE__*/ jsx(SearcherTouContext.Provider, {\n value: contextValue,\n children: children\n });\n};\nconst useSearcherTouContext = ()=>useContext(SearcherTouContext);\nconst useSearcherTouProps = ()=>useSearcherTouContext().props;\nconst useSearcherTouState = ()=>useSearcherTouContext().state;\n\nexport { SearcherTouProvider, useSearcherTouProps, useSearcherTouState };\n//# sourceMappingURL=index.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport SearcherButton from '../../../../others/searcher/searcher-button/index.mjs';\nimport { useHandleSubmit } from '../../../../../hooks/submit/useHandleSubmit.mjs';\nimport { useHasErrors } from '../../../../../hooks/useHasErrors.mjs';\nimport { useSearcherTouProps, useSearcherTouState } from '../../context/index.mjs';\n\nconst SearcherTouButton = ()=>{\n const props = useSearcherTouProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const { search = '' } = literals ?? {};\n const state = useSearcherTouState();\n const { isLoading } = state ?? {};\n const hasErrors = useHasErrors();\n const handleSubmit = useHandleSubmit();\n return /*#__PURE__*/ jsx(SearcherButton, {\n onClick: handleSubmit,\n disabled: !!isLoading || hasErrors,\n children: search\n });\n};\n\nexport { SearcherTouButton as default };\n//# sourceMappingURL=index.mjs.map\n","import { format } from 'date-fns';\nimport { useMemo } from 'react';\n\nconst useSearcherTouDefaultValues = (props)=>{\n const { config, destination, flexibility, accomodation, calendar } = props ?? {};\n const { literals } = config ?? {};\n const { searchPlaceholderValue = '', accomodationModalTitle = '', agesDescription = '' } = literals ?? {};\n const destinationDefaultValue = useMemo(()=>{\n if (!destination) return;\n return destination;\n }, [\n destination\n ]);\n const originDefaultValue = useMemo(()=>({\n name: searchPlaceholderValue,\n label: searchPlaceholderValue,\n value: ''\n }), [\n searchPlaceholderValue\n ]);\n const dateDefaultValue = useMemo(()=>{\n const nowDate = new Date();\n const calendarDate = calendar && new Date(calendar);\n if (calendarDate && format(calendarDate, 'yyyy-MM-dd') > format(nowDate, 'yyyy-MM-dd')) {\n return [\n calendarDate\n ];\n }\n return [\n nowDate\n ];\n }, [\n calendar\n ]);\n const flexibilityDefaultValue = useMemo(()=>flexibility?.[0], [\n flexibility\n ]);\n const passengersDefaultValue = useMemo(()=>({\n title: accomodationModalTitle,\n adults: {\n description: accomodation?.adults?.personDescription,\n value: accomodation?.rooms?.[0]?.adults?.value ?? 1,\n min: accomodation?.adults?.min ?? 1,\n max: accomodation?.adults?.max ?? 9,\n options: []\n },\n children: {\n description: accomodation?.children?.personDescription,\n value: accomodation?.rooms?.[0]?.children?.value ?? 0,\n min: accomodation?.children?.min ?? 0,\n max: accomodation?.children?.max ?? 9,\n optionsLabel: agesDescription,\n options: accomodation?.children?.options,\n selectedOptions: Array(accomodation?.rooms?.[0]?.children?.value ?? 0).fill(accomodation?.children?.options?.find((e)=>!!e.selected)?.value, 0, accomodation?.rooms?.[0]?.children?.value)\n }\n }), [\n accomodation?.adults?.max,\n accomodation?.adults?.min,\n accomodation?.adults?.personDescription,\n accomodation?.children?.max,\n accomodation?.children?.min,\n accomodation?.children?.options,\n accomodation?.children?.personDescription,\n accomodation?.rooms,\n accomodationModalTitle,\n agesDescription\n ]);\n return useMemo(()=>({\n destination: destinationDefaultValue,\n origin: originDefaultValue,\n date: dateDefaultValue,\n flexibility: flexibilityDefaultValue,\n passengers: passengersDefaultValue\n }), [\n destinationDefaultValue,\n originDefaultValue,\n dateDefaultValue,\n flexibilityDefaultValue,\n passengersDefaultValue\n ]);\n};\n\nexport { useSearcherTouDefaultValues as default };\n//# sourceMappingURL=useSearcherTouDefaultValues.mjs.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { useContext, useMemo } from 'react';\nimport { useSearcherTouProps, useSearcherTouState } from '../../context/index.mjs';\nimport useSearcherTouDefaultValues from '../../hooks/useSearcherTouDefaultValues.mjs';\nimport { parseDates, parseDatesOffers } from '../../utils/utils.mjs';\n\nconst getPriceLegend = (priceLegend)=>{\n if (!priceLegend) return '';\n if (priceLegend?.indexOf('(') === -1) return priceLegend;\n return priceLegend.split('(')[1].split(')')[0];\n};\nconst useDateInput = ()=>{\n const props = useSearcherTouProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const { accept = '', calendarLabel = '', offer = '', priceLegend = '', calendarModalTitle = '' } = literals ?? {};\n const { Language } = useContext(contextBabylon);\n const state = useSearcherTouState();\n const { isLoading, calendarData } = state ?? {};\n const defaultValues = useSearcherTouDefaultValues(props);\n const destinationValue = useValue({\n name: 'destination'\n });\n const isMobile = useIsMobile();\n const calendarInput = useMemo(()=>({\n name: 'date',\n mode: 'single',\n locale: Language.toLowerCase(),\n label: calendarLabel,\n modalConfirm: accept,\n enableDates: calendarData ? parseDates(calendarData) : [],\n value: calendarData && calendarData?.length > 0 ? [\n new Date(calendarData?.[0]?.date ?? '')\n ] : [],\n checkIn: calendarData?.map((item)=>item.date ?? '').filter((item)=>!!item),\n defaultValue: defaultValues.date,\n events: [\n {\n legend: {\n text: offer,\n subtitle: priceLegend,\n class: 'flatpickr-day-footer-bargain-price'\n },\n date: {\n class: 'flatpickr-day--direct-flight',\n dates: []\n },\n offers: {\n dates: calendarData ? parseDatesOffers(calendarData, getPriceLegend(priceLegend)) : []\n }\n }\n ],\n disabled: !!isLoading || !destinationValue\n }), [\n Language,\n calendarLabel,\n accept,\n calendarData,\n defaultValues.date,\n offer,\n priceLegend,\n isLoading,\n destinationValue\n ]);\n if (isMobile) {\n return {\n ...calendarInput,\n modalTitle: calendarModalTitle\n };\n }\n return {\n ...calendarInput,\n className: 'calendar-tou'\n };\n};\n\nexport { useDateInput as default };\n//# sourceMappingURL=useDateInput.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { FormCalendar } from '@babylon/ui-kit-forms/components/inputs/calendar';\nimport useDateInput from './useDateInput.mjs';\n\nconst SearcherTouDateInput = ()=>{\n const dateInput = useDateInput();\n return /*#__PURE__*/ jsx(FormCalendar, {\n ...dateInput,\n className: \"calendar-tou\"\n });\n};\n\nexport { SearcherTouDateInput as default };\n//# sourceMappingURL=index.mjs.map\n","import { KEY_CODE } from '@babylon/ui-kit-types/key-code';\nimport { useCallback, useEffect } from 'react';\nimport { useCounter } from 'usehooks-ts';\n\nconst useKeydown = (suggestions, selectSuggestion, closePanel)=>{\n const { count, increment, decrement } = useCounter(0);\n const pressHandler = useCallback((event)=>{\n switch(event.key){\n case KEY_CODE.ARROW_UP:\n event.preventDefault();\n if (count > 0) decrement();\n break;\n case KEY_CODE.ARROW_DOWN:\n event.preventDefault();\n if (count < suggestions.length - 1) increment();\n break;\n case KEY_CODE.ENTER:\n case KEY_CODE.TAB:\n event.preventDefault();\n selectSuggestion(suggestions[count]);\n break;\n case KEY_CODE.ESC:\n closePanel();\n break;\n }\n }, [\n count,\n suggestions,\n closePanel,\n decrement,\n increment,\n selectSuggestion\n ]);\n useEffect(()=>{\n window.addEventListener('keydown', pressHandler);\n return ()=>{\n window.removeEventListener('keydown', pressHandler);\n };\n }, [\n pressHandler\n ]);\n return {\n indexSelected: count\n };\n};\n\nexport { useKeydown as default };\n//# sourceMappingURL=useKeydown.mjs.map\n","import Tooltip from '@babylon/ui-kit-base/components/others/tooltip';\nimport { TooltipArrow } from '@babylon/ui-kit-base/components/others/tooltip/components/view/styled';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { rgba } from 'polished';\nimport styled from 'styled-components';\n\nconst PanelWrapper = /*#__PURE__*/ styled(Tooltip).withConfig({\n displayName: \"PanelWrapper\"\n})([\n `--tooltip-border-radius:4px;--tooltip-background-color:`,\n `;--tooltip-min-width:600px;--tooltip-max-width:100%;--tooltip-min-height:56px;--tooltip-content-padding:0px;--tooltip-popper-bottom-padding:0px;--tooltip-popper-bottom-margin:-4px;`,\n `{display:none;}`\n], ({ theme })=>theme.colors.white.base, TooltipArrow);\nconst PanelBody = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelBody\"\n})([\n ``,\n ` display:flex;padding:0;`\n], FlexMixin());\nconst PanelAgrupations = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelAgrupations\"\n})([\n ``,\n ` background-color:`,\n `;padding:16px;width:40%;flex-shrink:0;`\n], BorderRadius({\n topLeft: '4px',\n bottomLeft: '4px'\n}), ({ theme })=>theme.colors.grays.lightest);\nconst PanelSuggestions = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelSuggestions\"\n})([\n `flex-grow:1;padding:16px 16px 16px 0;text-align:left;& > p{margin-left:32px;color:`,\n `;`,\n ` margin-bottom:8px;cursor:default;}`\n], ({ theme })=>theme.colors.grays.dark, FontMixin({\n size: 'medium',\n weight: 'light',\n height: 'small'\n}));\nconst PanelAgrupationsList = /*#__PURE__*/ styled.ul.withConfig({\n displayName: \"PanelAgrupationsList\"\n})([\n `text-align:left;`\n]);\nconst PanelAgrupationsItem = /*#__PURE__*/ styled.li.withConfig({\n displayName: \"PanelAgrupationsItem\"\n})([\n ``,\n ` color:`,\n `;cursor:pointer;padding:8px 0;&:hover{color:`,\n `;}&.is-active{`,\n `}&.is-disabled{color:`,\n `!important;}`\n], FontMixin({\n size: 'base',\n weight: 'light',\n height: 'base'\n}), ({ theme })=>theme.colors.grays.darker, ({ theme })=>theme.colors.primary.light, FontMixin({\n weight: 'medium'\n}), ({ theme })=>rgba(theme.colors.grays.darker, 0.56));\nconst PanelSuggestionList = /*#__PURE__*/ styled.ul.withConfig({\n displayName: \"PanelSuggestionList\"\n})([\n `max-height:300px;overflow-y:auto;&::-webkit-scrollbar-track{background:`,\n `;}&::-webkit-scrollbar-thumb{background:`,\n `;border-radius:8px;}&::-webkit-scrollbar{width:6px;}`\n], ({ theme })=>theme.colors.grays.light, ({ theme })=>theme.colors.grays.base);\nconst PanelSuggestionItem = /*#__PURE__*/ styled.li.withConfig({\n displayName: \"PanelSuggestionItem\"\n})([\n ``,\n ` margin-bottom:4px;padding:8px 8px 8px 32px;cursor:pointer;&:hover{color:`,\n `;}&.is-highlighted{`,\n `}&.is-selected{background-color:`,\n `;}&.is-disabled{color:`,\n `!important;}`\n], FontMixin({\n size: 'base',\n weight: 'light',\n height: 'base'\n}), ({ theme })=>theme.colors.primary.light, FontMixin({\n size: 'base',\n weight: 'regular',\n height: 'base'\n}), ({ theme })=>theme.colors.grays.lighter, ({ theme })=>rgba(theme.colors.grays.darker, 0.56));\n\nexport { PanelAgrupations, PanelAgrupationsItem, PanelAgrupationsList, PanelBody, PanelSuggestionItem, PanelSuggestionList, PanelSuggestions, PanelWrapper };\n//# sourceMappingURL=styled.mjs.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport ScrollIntoView from '@babylon/ui-kit-structures/components/others/scroll-into-view';\nimport classNames from 'classnames';\nimport { useState, useMemo, useCallback, Children } from 'react';\nimport useKeydown from '../../../../hooks/useKeydown.mjs';\nimport { PanelWrapper, PanelBody, PanelAgrupations, PanelAgrupationsList, PanelAgrupationsItem, PanelSuggestions, PanelSuggestionList, PanelSuggestionItem } from './styled.mjs';\n\nconst AgrupationPanelDesktop = (props)=>{\n const { agrupationPanelValue, referenceElement, literals, onSelectAgrupation, onSelectSuggestion, closePanel, disabled } = props;\n const { agrupations = [], filtered } = agrupationPanelValue ?? {};\n const { labelSuggestions = '' } = literals ?? {};\n const [suggestions, setSuggestions] = useState([]);\n const suggestionItems = useMemo(()=>filtered ?? suggestions, [\n filtered,\n suggestions\n ]);\n const { indexSelected } = useKeydown(suggestionItems, onSelectSuggestion, closePanel);\n const handleAgrupation = useCallback((item)=>()=>{\n if (disabled) return;\n onSelectAgrupation(item);\n if (item.children) setSuggestions(item.children);\n }, [\n disabled,\n onSelectAgrupation\n ]);\n const handleSuggestion = useCallback((item)=>()=>{\n if (disabled) return;\n onSelectSuggestion(item);\n }, [\n disabled,\n onSelectSuggestion\n ]);\n return /*#__PURE__*/ jsx(PanelWrapper, {\n \"data-testid\": \"AgrupationPanel\",\n referenceElement: referenceElement,\n isNegative: false,\n placement: \"bottom-start\",\n children: /*#__PURE__*/ jsxs(PanelBody, {\n children: [\n /*#__PURE__*/ jsx(PanelAgrupations, {\n children: /*#__PURE__*/ jsx(PanelAgrupationsList, {\n children: Children.toArray(agrupations.map((item)=>/*#__PURE__*/ jsx(PanelAgrupationsItem, {\n \"data-testid\": \"PanelAgrupationsItem\",\n onClick: handleAgrupation(item),\n className: classNames({\n ['is-active']: item.marked,\n ['is-disabled']: !!disabled\n }),\n children: item.name\n })))\n })\n }),\n /*#__PURE__*/ jsxs(PanelSuggestions, {\n children: [\n /*#__PURE__*/ jsx(\"p\", {\n children: labelSuggestions\n }),\n /*#__PURE__*/ jsx(PanelSuggestionList, {\n children: Children.toArray(suggestionItems.map((item, index)=>/*#__PURE__*/ jsx(ScrollIntoView, {\n scrollToView: index === indexSelected,\n children: /*#__PURE__*/ jsx(PanelSuggestionItem, {\n onClick: handleSuggestion(item),\n className: classNames({\n 'is-highlighted': item.priority === 1,\n 'is-selected': index === indexSelected,\n ['is-disabled']: !!disabled\n }),\n children: /*#__PURE__*/ jsx(InnerMarkdownHTML, {\n content: item.name\n })\n })\n })))\n })\n ]\n })\n ]\n })\n });\n};\n\nexport { AgrupationPanelDesktop as default };\n//# sourceMappingURL=index.mjs.map\n","import cloneDeep from 'clone-deep';\n\nconst MIN_LENGTH_TO_SEARCH = 3;\nconst agrupationSortByPriority = (agrupation)=>{\n const sortByPriority = (a, b)=>a.priority - b.priority;\n const agrupationSorting = cloneDeep(agrupation);\n return agrupationSorting.sort(sortByPriority);\n};\nconst childrenSortByPriority = (agrupation)=>{\n const sortByPriority = (a, b)=>b.priority - a.priority;\n const agrupationSorting = cloneDeep(agrupation);\n return agrupationSorting.sort(sortByPriority);\n};\nconst autocompletePanelTreeSortByPriority = (autocomplete)=>{\n const agrupations = agrupationSortByPriority(autocomplete.agrupations);\n const featured = autocomplete.featured && agrupationSortByPriority(autocomplete.featured);\n const filtered = autocomplete.filtered && agrupationSortByPriority(autocomplete.filtered);\n return {\n agrupations,\n featured,\n filtered\n };\n};\n\nexport { MIN_LENGTH_TO_SEARCH, agrupationSortByPriority, autocompletePanelTreeSortByPriority, childrenSortByPriority };\n//# sourceMappingURL=utils.mjs.map\n","import Input from '../../../../../input/index.mjs';\nimport Modal from '@babylon/ui-kit-structures/components/others/modal';\nimport { ModalHeader, ModalHeaderText, ModalContent } from '@babylon/ui-kit-structures/components/others/modal/styled';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nconst PanelWrapper = /*#__PURE__*/ styled(Modal).withConfig({\n displayName: \"PanelWrapper\"\n})([\n ``,\n `{background-color:`,\n `;}`,\n `{color:`,\n `;}`,\n `{background:`,\n `;}`\n], ModalHeader, ({ theme })=>theme.colors.primary.base, ModalHeaderText, ({ theme })=>theme.colors.white.base, ModalContent, ({ theme })=>theme.bodyBgColor);\nconst InputWrapper = /*#__PURE__*/ styled(Input).withConfig({\n displayName: \"InputWrapper\"\n})([\n `position:sticky;top:0px;`\n]);\nconst PanelAgrupationHeader = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelAgrupationHeader\"\n})([\n `background-color:`,\n `;color:`,\n `;padding:16px;`,\n ``\n], ({ theme })=>theme.colors.grays.lighter, ({ theme })=>theme.colors.grays.dark, FontMixin({\n size: 'base',\n weight: 'light',\n height: 'base'\n}));\nconst PanelAgrupationList = /*#__PURE__*/ styled.ul.withConfig({\n displayName: \"PanelAgrupationList\"\n})([\n `background-color:transparent;`\n]);\nconst PanelAgrupationItem = /*#__PURE__*/ styled.li.withConfig({\n displayName: \"PanelAgrupationItem\"\n})([\n `background-color:transparent;color:`,\n `;`,\n ` padding:16px;&:not(:last-child){border-bottom:solid 1px `,\n `;}`\n], ({ theme })=>theme.colors.grays.darker, FontMixin({\n size: 'base',\n weight: 'light',\n height: 'base'\n}), ({ theme })=>theme.colors.grays.light);\n\nexport { InputWrapper, PanelAgrupationHeader, PanelAgrupationItem, PanelAgrupationList, PanelWrapper };\n//# sourceMappingURL=styled.mjs.map\n","import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport InnerMarkdownHTML from '@babylon/ui-kit-base/components/text/inner-markdown-HTML';\nimport classNames from 'classnames';\nimport { useState, useCallback, Children } from 'react';\nimport { childrenSortByPriority } from '../../../../utils.mjs';\nimport { PanelWrapper, InputWrapper, PanelAgrupationHeader, PanelAgrupationList, PanelAgrupationItem } from './styled.mjs';\n\nconst AgrupationPanelMobile = (props)=>{\n const { agrupationPanelValue, literals, isPanelVisible, closePanel, onSelectSuggestion, filterDestination } = props;\n const { agrupations = [], filtered } = agrupationPanelValue ?? {};\n const suggestionItems = filtered ?? agrupations;\n const [search, setSearch] = useState('');\n const onSearch = useCallback((event)=>{\n event.preventDefault();\n setSearch(event.target.value);\n filterDestination(event.target.value);\n }, [\n filterDestination\n ]);\n const handleSuggestion = useCallback((item)=>()=>{\n setSearch('');\n onSelectSuggestion(item);\n }, [\n onSelectSuggestion\n ]);\n return /*#__PURE__*/ jsx(PanelWrapper, {\n variant: \"fullScreen\",\n header: literals?.modalTitle,\n visible: isPanelVisible,\n hide: closePanel,\n color: \"primary\",\n content: /*#__PURE__*/ jsxs(\"div\", {\n \"data-testid\": \"AgrupationPanel\",\n children: [\n /*#__PURE__*/ jsx(InputWrapper, {\n placeholder: literals?.placeHolderAutocomplete,\n value: search,\n onChange: onSearch\n }),\n /*#__PURE__*/ jsxs(\"div\", {\n children: [\n Children.toArray(suggestionItems.map((item)=>{\n if (!item.children?.length) return null;\n return /*#__PURE__*/ jsxs(Fragment, {\n children: [\n /*#__PURE__*/ jsx(PanelAgrupationHeader, {\n children: item.name\n }),\n /*#__PURE__*/ jsx(PanelAgrupationList, {\n children: Children.toArray(childrenSortByPriority(item.children).map((suggestion)=>/*#__PURE__*/ jsx(PanelAgrupationItem, {\n \"data-testid\": \"PanelAgrupationItem\",\n onClick: handleSuggestion(suggestion),\n className: classNames({\n 'is-highlighted': item.priority === 1,\n 'is-active': suggestion.marked\n }),\n children: /*#__PURE__*/ jsx(InnerMarkdownHTML, {\n content: suggestion.name ?? ''\n })\n })))\n })\n ]\n });\n })),\n !suggestionItems.length && /*#__PURE__*/ jsx(PanelAgrupationItem, {\n children: literals?.noResults\n })\n ]\n })\n ]\n })\n });\n};\n\nexport { AgrupationPanelMobile as default };\n//# sourceMappingURL=index.mjs.map\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport AgrupationPanelDesktop from './views/desktop/index.mjs';\nimport AgrupationPanelMobile from './views/mobile/index.mjs';\n\nconst AgrupationPanel = generateViewsComponent(AgrupationPanelDesktop, AgrupationPanelMobile);\n\nexport { AgrupationPanel as default };\n//# sourceMappingURL=index.mjs.map\n","const DEFAULT_ENDPOINTS = {\n TREE: '/ttoo-saleprocess/operative/get-destination-tree',\n FILTER: '/ttoo-saleprocess/operative/filter-destination-tree'\n};\n\nexport { DEFAULT_ENDPOINTS };\n//# sourceMappingURL=constants.mjs.map\n","import { DEFAULT_ENDPOINTS } from '../constants.mjs';\n\nconst getDestinationTree = async (endpoint = DEFAULT_ENDPOINTS.TREE, queryParams = {})=>{\n const { language = '', market = '', BaseUrl = '' } = queryParams;\n let finalUrl = endpoint;\n if (!endpoint.startsWith('http')) finalUrl = `${BaseUrl}${endpoint}`;\n const url = new URL(finalUrl);\n url.searchParams.set('language', language);\n url.searchParams.set('market', market);\n const response = await fetch(url.toString());\n if (!response.ok || response.status !== 200 && response.status !== 204) throw new Error(response.statusText);\n return response.json();\n};\nconst filterDestinationTree = async (endpoint = DEFAULT_ENDPOINTS.FILTER, queryParams = {})=>{\n const { language = '', market = '', text = '', BaseUrl = '' } = queryParams;\n let finalUrl = endpoint;\n if (!endpoint.startsWith('http')) finalUrl = `${BaseUrl}${endpoint}`;\n const url = new URL(finalUrl);\n url.searchParams.set('language', language);\n url.searchParams.set('market', market);\n url.searchParams.set('text', text);\n const response = await fetch(url.toString());\n if (!response.ok || response.status !== 200 && response.status !== 204) throw new Error(response.statusText);\n return response.json();\n};\n\nexport { filterDestinationTree, getDestinationTree };\n//# sourceMappingURL=index.mjs.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport { useState, useContext, useCallback, useEffect } from 'react';\nimport { useToggle } from 'usehooks-ts';\nimport { getDestinationTree, filterDestinationTree } from '../services/index.mjs';\nimport { autocompletePanelTreeSortByPriority } from '../utils.mjs';\n\nconst useAutocompletePanel = (config, disabled = false)=>{\n const { endpoint } = config ?? {};\n const { tree, filter } = endpoint ?? {};\n const initialPanelTree = {\n agrupations: []\n };\n const [autocompletePanelTree, setAutocompletePanelTree] = useState(initialPanelTree);\n const [isPanelVisible, _, setVisible] = useToggle();\n const context = useContext(contextBabylon);\n const language = context?.LanguageValue?.toLocaleLowerCase() ?? 'es';\n const market = context?.Market?.toLocaleLowerCase() ?? 'es';\n const BaseUrl = context?.BaseUrl ? context?.BaseUrl : '';\n const getInitialData = useCallback(()=>{\n getDestinationTree(tree, {\n language,\n market,\n BaseUrl\n }).then(autocompletePanelTreeSortByPriority).then((response)=>{\n setAutocompletePanelTree(response);\n });\n }, [\n BaseUrl,\n tree,\n language,\n market\n ]);\n const getFilterDestinationTree = useCallback((text)=>{\n filterDestinationTree(filter, {\n language,\n market,\n text,\n BaseUrl\n }).then((response)=>{\n const agrupations = autocompletePanelTree.agrupations?.map((agrupation)=>{\n const newAgrupation = response.agrupations?.find((res)=>res.code !== null && res.code === agrupation.code);\n if (newAgrupation) {\n const { name, priority, marked } = newAgrupation;\n return {\n ...agrupation,\n name,\n priority,\n marked\n };\n }\n return agrupation;\n });\n setAutocompletePanelTree({\n ...response,\n agrupations\n });\n });\n }, [\n BaseUrl,\n autocompletePanelTree.agrupations,\n filter,\n language,\n market\n ]);\n const getFilterDestinationTreeMobile = useCallback((text)=>{\n filterDestinationTree(tree, {\n language,\n market,\n text,\n BaseUrl\n }).then((response)=>{\n setAutocompletePanelTree((prev)=>({\n ...prev,\n filtered: response.agrupations\n }));\n });\n }, [\n BaseUrl,\n tree,\n language,\n market\n ]);\n useEffect(()=>{\n getInitialData();\n }, [\n getInitialData\n ]);\n const openPanel = useCallback(()=>{\n if (!disabled) setVisible(true);\n }, [\n disabled,\n setVisible\n ]);\n const closePanel = useCallback(()=>{\n setVisible(false);\n }, [\n setVisible\n ]);\n return {\n autocompletePanelTree,\n isPanelVisible,\n setAutocompletePanelTree,\n openPanel,\n closePanel,\n getFilterDestinationTree,\n getFilterDestinationTreeMobile\n };\n};\n\nexport { useAutocompletePanel as default, useAutocompletePanel };\n//# sourceMappingURL=useAutocompletePanel.mjs.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport Input from '../../../input/index.mjs';\nimport { KEY_CODE } from '@babylon/ui-kit-types/key-code';\nimport { forwardRef, useRef, useImperativeHandle, useState, useCallback } from 'react';\nimport { useOnClickOutside } from 'usehooks-ts';\nimport AgrupationPanel from '../../components/agrupation-panel/index.mjs';\nimport { useAutocompletePanel } from '../../hooks/useAutocompletePanel.mjs';\nimport { MIN_LENGTH_TO_SEARCH } from '../../utils.mjs';\n\nconst AutocompletePanelDesktop = /*#__PURE__*/ forwardRef((props, ref)=>{\n const { config, label, value, name, placeholder, icon = 'angle-down', disabled = false, hasError = false, onChange } = props;\n const inputRef = useRef(null);\n useImperativeHandle(ref, ()=>inputRef.current);\n const panelRef = useRef(null);\n const [inputValue, setInputValue] = useState(value?.name ?? '');\n const { autocompletePanelTree, isPanelVisible, setAutocompletePanelTree, openPanel, closePanel, getFilterDestinationTree } = useAutocompletePanel(config, disabled);\n const handleOnClosePanel = useCallback(()=>{\n setInputValue(value?.name?.replaceAll('*', '') ?? '');\n closePanel();\n }, [\n value,\n closePanel\n ]);\n useOnClickOutside(panelRef, handleOnClosePanel);\n const handleOnChange = useCallback((event)=>{\n event.preventDefault();\n const { value } = event.target;\n setInputValue(value);\n if (value.length >= MIN_LENGTH_TO_SEARCH) {\n getFilterDestinationTree(value);\n }\n }, [\n getFilterDestinationTree\n ]);\n const selectAgrupation = useCallback((agrupation)=>{\n setInputValue(agrupation.name?.replaceAll('*', '') ?? '');\n setAutocompletePanelTree((prev)=>({\n ...prev,\n filtered: undefined\n }));\n onChange?.(agrupation);\n }, [\n onChange,\n setAutocompletePanelTree\n ]);\n const selectSuggestion = useCallback((agrupation)=>{\n setInputValue(agrupation.name?.replaceAll('*', '') ?? '');\n onChange?.(agrupation);\n closePanel();\n }, [\n closePanel,\n onChange\n ]);\n const pressHandler = useCallback((event)=>{\n switch(event.key){\n case KEY_CODE.ENTER:\n handleOnClosePanel();\n event.preventDefault();\n break;\n case KEY_CODE.ESC:\n break;\n }\n }, [\n handleOnClosePanel\n ]);\n return /*#__PURE__*/ jsxs(\"div\", {\n ref: panelRef,\n \"data-testid\": \"AutocompletePanel\",\n onKeyDown: (e)=>pressHandler(e),\n children: [\n /*#__PURE__*/ jsx(Input, {\n ref: inputRef,\n onChange: handleOnChange,\n label: label,\n disabled: disabled,\n icon: icon,\n onClick: openPanel,\n value: inputValue,\n name: name,\n placeholder: placeholder,\n hasError: hasError,\n autoComplete: \"off\"\n }),\n isPanelVisible && /*#__PURE__*/ jsx(AgrupationPanel, {\n referenceElement: inputRef.current,\n literals: config?.literals,\n agrupationPanelValue: autocompletePanelTree,\n closePanel: handleOnClosePanel,\n onSelectAgrupation: selectAgrupation,\n onSelectSuggestion: selectSuggestion,\n disabled: disabled\n })\n ]\n });\n});\nAutocompletePanelDesktop.displayName = 'AutocompletePanelDesktop';\n\nexport { AutocompletePanelDesktop as default };\n//# sourceMappingURL=index.mjs.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport Input from '../../../input/index.mjs';\nimport { nullFunction } from '@babylon/ui-kit-helpers/null';\nimport { forwardRef, useRef, useImperativeHandle, useState, useCallback } from 'react';\nimport AgrupationPanel from '../../components/agrupation-panel/index.mjs';\nimport { useAutocompletePanel } from '../../hooks/useAutocompletePanel.mjs';\nimport { MIN_LENGTH_TO_SEARCH } from '../../utils.mjs';\n\nconst AutocompletePanelMobile = /*#__PURE__*/ forwardRef((props, ref)=>{\n const { config, label, value, name, placeholder, icon = 'angle-down', disabled = false, hasError = false, onChange } = props ?? {};\n const { literals } = config ?? {};\n const inputRef = useRef(null);\n useImperativeHandle(ref, ()=>inputRef.current);\n const [inputValue, setInputValue] = useState(value?.name ?? '');\n const { autocompletePanelTree, isPanelVisible, openPanel, closePanel, getFilterDestinationTreeMobile, setAutocompletePanelTree } = useAutocompletePanel(config, disabled);\n const selectSuggestion = useCallback((agrupation)=>{\n setInputValue(agrupation.name?.replaceAll('*', '') ?? '');\n setAutocompletePanelTree((prev)=>({\n ...prev,\n filtered: undefined\n }));\n onChange?.(agrupation);\n closePanel();\n }, [\n closePanel,\n onChange,\n setAutocompletePanelTree\n ]);\n const handleFilterDestination = useCallback((query)=>{\n if (query.length >= MIN_LENGTH_TO_SEARCH) getFilterDestinationTreeMobile(query);\n else setAutocompletePanelTree((prev)=>({\n ...prev,\n filtered: undefined\n }));\n }, [\n getFilterDestinationTreeMobile,\n setAutocompletePanelTree\n ]);\n return /*#__PURE__*/ jsxs(\"div\", {\n \"data-testid\": \"AutocompletePanelMobile\",\n children: [\n /*#__PURE__*/ jsx(Input, {\n ref: inputRef,\n type: \"button\",\n onChange: nullFunction,\n label: label,\n disabled: disabled,\n icon: icon,\n onClick: openPanel,\n value: inputValue,\n name: name,\n placeholder: placeholder,\n hasError: hasError\n }),\n /*#__PURE__*/ jsx(AgrupationPanel, {\n literals: literals,\n agrupationPanelValue: autocompletePanelTree,\n onSelectSuggestion: selectSuggestion,\n isPanelVisible: isPanelVisible,\n closePanel: closePanel,\n filterDestination: handleFilterDestination\n })\n ]\n });\n});\nAutocompletePanelMobile.displayName = 'AutocompletePanelMobile';\n\nexport { AutocompletePanelMobile as default };\n//# sourceMappingURL=index.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { useInput } from '../../../hooks/useInput/index.mjs';\nimport { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport AutocompletePanelDesktop from './views/desktop/index.mjs';\nimport AutocompletePanelMobile from './views/mobile/index.mjs';\n\nconst AutocompletePanel = generateViewsComponent(AutocompletePanelDesktop, AutocompletePanelMobile);\nconst FormAutocompletePanel = (props)=>{\n const { isHiddenRequired: _isHiddenRequired, ...rest } = props;\n const { field, error, hasError, label } = useInput(props);\n return /*#__PURE__*/ jsx(AutocompletePanel, {\n ...rest,\n ...field,\n hasError: hasError,\n label: label,\n error: error\n });\n};\n\nexport { FormAutocompletePanel, AutocompletePanel as default };\n//# sourceMappingURL=index.mjs.map\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport { useMemo } from 'react';\nimport { useSearcherTouProps, useSearcherTouState } from '../../context/index.mjs';\nimport useSearcherTouDefaultValues from '../../hooks/useSearcherTouDefaultValues.mjs';\n\nconst useDestinationInput = ()=>{\n const props = useSearcherTouProps();\n const { config } = props ?? {};\n const { literals, endpoint } = config ?? {};\n const { labelFeatured = '', labelSuggestions = '', destinationModalTitle = '', searchPlaceholderValue = '', noResultsText = '', destinationLabel = '' } = literals ?? {};\n const state = useSearcherTouState();\n const { isLoading } = state ?? {};\n const defaultValues = useSearcherTouDefaultValues(props);\n const requiredValidate = useMemo(()=>[\n required()\n ], []);\n return useMemo(()=>({\n name: 'destination',\n config: {\n literals: {\n labelFeatured: labelFeatured,\n labelSuggestions: labelSuggestions,\n modalTitle: destinationModalTitle,\n placeHolderAutocomplete: searchPlaceholderValue,\n noResults: noResultsText\n },\n endpoint: {\n tree: endpoint?.tree,\n filter: endpoint?.filter\n },\n threshold: 3\n },\n placeholder: '',\n label: destinationLabel,\n isHiddenRequired: true,\n defaultValue: defaultValues.destination,\n disabled: isLoading,\n validate: requiredValidate\n }), [\n defaultValues.destination,\n isLoading,\n destinationModalTitle,\n labelFeatured,\n labelSuggestions,\n noResultsText,\n searchPlaceholderValue,\n endpoint?.filter,\n endpoint?.tree,\n destinationLabel,\n requiredValidate\n ]);\n};\n\nexport { useDestinationInput as default };\n//# sourceMappingURL=useDestinationInput.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { FormAutocompletePanel } from '@babylon/ui-kit-forms/components/inputs/autocomplete-panel';\nimport useDestinationInput from './useDestinationInput.mjs';\n\nconst SearcherTouDestinationInput = ()=>{\n const destinationInput = useDestinationInput();\n return /*#__PURE__*/ jsx(FormAutocompletePanel, {\n ...destinationInput\n });\n};\n\nexport { SearcherTouDestinationInput as default };\n//# sourceMappingURL=index.mjs.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useMemo } from 'react';\nimport { useSearcherTouProps, useSearcherTouState } from '../../context/index.mjs';\n\nconst useDurationInput = ()=>{\n const props = useSearcherTouProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const { durationLabel = '', accept = '' } = literals ?? {};\n const state = useSearcherTouState();\n const { isLoading, durationOptions } = state ?? {};\n const destinationValue = useValue({\n name: 'destination'\n });\n return useMemo(()=>({\n name: 'duration',\n label: durationLabel,\n options: durationOptions ?? [],\n modalHeader: durationLabel,\n accept: accept,\n disabled: !!isLoading || !destinationValue\n }), [\n durationOptions,\n isLoading,\n accept,\n durationLabel,\n destinationValue\n ]);\n};\n\nexport { useDurationInput as default };\n//# sourceMappingURL=useDurationInput.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { FormCheckboxGroup } from '@babylon/ui-kit-forms/components/inputs/checkbox-group';\nimport useDurationInput from './useDurationInput.mjs';\n\nconst SearcherTouDurationInput = ()=>{\n const durationInput = useDurationInput();\n return /*#__PURE__*/ jsx(FormCheckboxGroup, {\n ...durationInput\n });\n};\n\nexport { SearcherTouDurationInput as default };\n//# sourceMappingURL=index.mjs.map\n","import { TooltipContent } from '@babylon/ui-kit-base/components/others/tooltip/components/view/styled';\nimport { InputComponentWrapper, InputWrapper } from '../../../input/styled.mjs';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nconst RadioButtonWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"RadioButtonWrapper\"\n})([\n `&:not(:last-child){margin-bottom:12px;}`\n]);\nconst InputContainer = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"InputContainer\"\n})([\n `&&{width:100%;padding-top:5px;`,\n `{overflow-y:auto;padding:16px;}input{background-color:transparent;border:0;text-overflow:unset;--input-height:auto;}.input-without-label{padding:0px 42px 0px 16px;}span .input-without-label{min-height:24px;}.icon-without-label{color:`,\n `;`,\n ` right:24px;}`,\n `{width:auto;}`,\n `{--outline-width:0px;}}`\n], TooltipContent, ({ theme })=>theme.colors.black.base, FontMixin({\n size: 'small',\n height: 'medium'\n}), InputComponentWrapper, InputWrapper);\n\nexport { InputContainer, RadioButtonWrapper };\n//# sourceMappingURL=styled.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport InputPanel from '../../../../others/input-panel/index.mjs';\nimport { forwardRef, useCallback, useMemo, Children } from 'react';\nimport RadioButton from '../../../radio-button-group/components/radio-button/index.mjs';\nimport { RadioButtonWrapper, InputContainer } from './styled.mjs';\n\nconst FlexibilityDesktop = /*#__PURE__*/ forwardRef((props, ref)=>{\n const { disabled = false, value, options = [], onChange, onBlur } = props;\n const handleRadioButton = useCallback((e)=>{\n const value = options.find((i)=>i.value == e.target.value);\n if (onChange) onChange(value);\n }, [\n onChange,\n options\n ]);\n const inputProps = useMemo(()=>({\n label: '',\n value: value?.label,\n hasError: props.hasError,\n disabled: disabled,\n icon: 'angle-down',\n onBlur: onBlur\n }), [\n disabled,\n onBlur,\n props.hasError,\n value?.label\n ]);\n const panel = useMemo(()=>({\n content: Children.toArray(options?.map((item)=>/*#__PURE__*/ jsx(RadioButtonWrapper, {\n children: /*#__PURE__*/ jsx(RadioButton, {\n \"data-testid\": \"FlexibilityRadioButton\",\n label: item.label,\n name: item.label,\n value: item.value,\n checked: item.value == value?.value ? true : false,\n onChange: handleRadioButton\n })\n })))\n }), [\n handleRadioButton,\n options,\n value?.value\n ]);\n return /*#__PURE__*/ jsx(InputContainer, {\n \"data-testid\": \"Flexibility\",\n children: /*#__PURE__*/ jsx(InputPanel, {\n ref: ref,\n inputProps: inputProps,\n panel: panel\n })\n });\n});\nFlexibilityDesktop.displayName = 'FlexibilityDesktop';\n\nexport { FlexibilityDesktop as default };\n//# sourceMappingURL=index.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { useInput } from '../../../hooks/useInput/index.mjs';\nimport { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport FlexibilityDesktop from './views/desktop/index.mjs';\n\nconst Flexibility = generateViewsComponent(FlexibilityDesktop);\nconst FormFlexibility = (props)=>{\n const { isHiddenRequired: _isHiddenRequired, ...rest } = props;\n const { field, hasError } = useInput(props);\n return /*#__PURE__*/ jsx(Flexibility, {\n ...rest,\n ...field,\n hasError: hasError\n });\n};\n\nexport { FormFlexibility, Flexibility as default };\n//# sourceMappingURL=index.mjs.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { useSearcherTouProps, useSearcherTouState } from '../../context/index.mjs';\nimport useSearcherTouDefaultValues from '../../hooks/useSearcherTouDefaultValues.mjs';\n\nconst useFlexibilityInput = ()=>{\n const props = useSearcherTouProps();\n const { config, flexibility } = props ?? {};\n const { literals } = config ?? {};\n const { flexibilityLabel = '' } = literals ?? {};\n const state = useSearcherTouState();\n const { isLoading } = state ?? {};\n const defaultValues = useSearcherTouDefaultValues(props);\n const destinationValue = useValue({\n name: 'destination'\n });\n const isMobile = useIsMobile();\n const commonProps = {\n name: 'flexibility',\n options: flexibility ?? [],\n defaultValue: defaultValues.flexibility,\n disabled: !!isLoading || !destinationValue\n };\n if (isMobile) return {\n ...commonProps,\n menuVariant: 'floating',\n enableSearch: false,\n label: flexibilityLabel\n };\n return commonProps;\n};\n\nexport { useFlexibilityInput as default };\n//# sourceMappingURL=useFlexibilityInput.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { FormFlexibility } from '@babylon/ui-kit-forms/components/inputs/flexibility';\nimport { FormSelect } from '@babylon/ui-kit-forms/components/inputs/select';\nimport useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport useFlexibilityInput from './useFlexibilityInput.mjs';\n\nconst SearcherTouFlexibilityInput = ()=>{\n const flexibilityInput = useFlexibilityInput();\n const isMobile = useIsMobile();\n if (isMobile) return /*#__PURE__*/ jsx(FormSelect, {\n ...flexibilityInput\n });\n return /*#__PURE__*/ jsx(FormFlexibility, {\n ...flexibilityInput\n });\n};\n\nexport { SearcherTouFlexibilityInput as default };\n//# sourceMappingURL=index.mjs.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { useMemo } from 'react';\nimport { useSearcherTouProps, useSearcherTouState } from '../../context/index.mjs';\nimport useSearcherTouDefaultValues from '../../hooks/useSearcherTouDefaultValues.mjs';\nimport { transformDataOrigins } from '../../utils/utils.mjs';\n\nconst useOriginInput = ()=>{\n const props = useSearcherTouProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const { searchPlaceholderValue = '', originLabel = '', noResults = '' } = literals ?? {};\n const state = useSearcherTouState();\n const { isLoading, originOptions } = state ?? {};\n const defaultValues = useSearcherTouDefaultValues(props);\n const destinationValue = useValue({\n name: 'destination'\n });\n const isMobile = useIsMobile();\n return useMemo(()=>({\n name: 'origin',\n selectName: originLabel,\n noResultsText: noResults,\n searchText: searchPlaceholderValue,\n placeholder: originLabel,\n options: originOptions ? transformDataOrigins(originOptions) : [],\n defaultValue: defaultValues.origin,\n isHiddenRequired: true,\n isDisabled: !!isLoading || !destinationValue,\n enableSearch: !isMobile\n }), [\n originLabel,\n noResults,\n searchPlaceholderValue,\n originOptions,\n defaultValues.origin,\n isLoading,\n destinationValue,\n isMobile\n ]);\n};\n\nexport { useOriginInput as default };\n//# sourceMappingURL=useOriginInput.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { FormSelect } from '@babylon/ui-kit-forms/components/inputs/select';\nimport useOriginInput from './useOriginInput.mjs';\n\nconst SearcherTouOriginInput = ()=>{\n const originInput = useOriginInput();\n return /*#__PURE__*/ jsx(FormSelect, {\n ...originInput\n });\n};\n\nexport { SearcherTouOriginInput as default };\n//# sourceMappingURL=index.mjs.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { useSearcherTouProps, useSearcherTouState } from '../../context/index.mjs';\nimport useSearcherTouDefaultValues from '../../hooks/useSearcherTouDefaultValues.mjs';\n\nconst usePassengersInput = ()=>{\n const props = useSearcherTouProps();\n const { config, accomodation } = props ?? {};\n const { literals } = config ?? {};\n const { accept = '', accomodationLabel = '', accomodationModalTitle = '' } = literals ?? {};\n const state = useSearcherTouState();\n const { isLoading } = state ?? {};\n const defaultValues = useSearcherTouDefaultValues(props);\n const destinationValue = useValue({\n name: 'destination'\n });\n const isMobile = useIsMobile();\n if (isMobile) return {\n name: 'passengers',\n label: accomodationLabel,\n defaultValue: defaultValues.passengers,\n literals: {\n passengersLabel: accomodationLabel,\n adultLabel: accomodation?.adults?.personLabel,\n adultsLabel: accomodation?.adults?.personsLabel,\n childLabel: accomodation?.children?.personLabel,\n childrenLabel: accomodation?.children?.personsLabel,\n passengersTitle: accomodationModalTitle,\n acceptLabel: accept\n },\n disabled: !!isLoading || !destinationValue\n };\n return {\n name: 'passengers',\n label: accomodationLabel,\n literals: {\n passengerLabel: accomodationLabel,\n adultLabel: accomodation?.adults?.personLabel,\n adultsLabel: accomodation?.adults?.personsLabel,\n childLabel: accomodation?.children?.personLabel,\n childrenLabel: accomodation?.children?.personsLabel,\n passengerTitleLabel: accomodationModalTitle\n },\n defaultValue: defaultValues.passengers,\n disabled: !!isLoading || !destinationValue\n };\n};\n\nexport { usePassengersInput as default };\n//# sourceMappingURL=usePassengersInput.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport { FormPassengers } from '@babylon/ui-kit-forms/components/inputs/passengers/variants/simple';\nimport usePassengersInput from './usePassengersInput.mjs';\n\nconst SearcherTouPassengersInput = ()=>{\n const passengersInput = usePassengersInput();\n return /*#__PURE__*/ jsx(FormPassengers, {\n ...passengersInput\n });\n};\n\nexport { SearcherTouPassengersInput as default };\n//# sourceMappingURL=index.mjs.map\n","import { addDays } from '@babylon/ui-kit-helpers/date';\nimport { parseFilters } from '@babylon/ui-kit-helpers/url';\nimport { format } from 'date-fns';\n\nfunction getPassengersParam(a) {\n if (!a) return '';\n let value = '';\n const numberAdutls = a.adults?.value;\n for(let n = 0; n < numberAdutls; ++n){\n value += '30-';\n }\n if (value.length > 0) value = value.slice(0, -1);\n if (a.children?.selectedOptions && a.children?.selectedOptions.length > 0) {\n for(let n = 0; n < a.children?.selectedOptions?.length; ++n){\n value += '-' + a.children?.selectedOptions[n];\n }\n }\n return value;\n}\n/* Build url */ async function buildUrl(fieldValues, baseUrl, urlSubmit = '') {\n const { passengers, date = [], duration = [], destination, origin, flexibility } = fieldValues;\n let finalUrl = urlSubmit;\n if (!finalUrl.startsWith('http')) finalUrl = `${baseUrl}${urlSubmit}`;\n const filters = {\n Origin: origin?.value,\n OriginType: 'Airport',\n Destination: destination?.code,\n DestinationType: destination?.type,\n MinDepartureDate: format(date[0], 'yyyy-MM-dd'),\n MaxDepartureDate: format(addDays(date[0], duration.reduce((max, item)=>item.value > max ? item.value : max, 0)), 'yyyy-MM-dd'),\n Accommodation: getPassengersParam(passengers),\n Duration: duration.map((item)=>String(item.value)).join('@'),\n flexibility: flexibility?.value\n };\n return `${finalUrl}?${parseFilters(filters)}`;\n}\n\nexport { buildUrl };\n//# sourceMappingURL=url.mjs.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport addGa4Event from '@babylon/ui-kit-helpers/ga4Event';\nimport { useContext, useCallback } from 'react';\nimport { buildUrl } from '../utils/url.mjs';\nimport useSearcherTouDefaultValues from './useSearcherTouDefaultValues.mjs';\n\nconst useSearcherTouForm = (props)=>{\n const { config } = props ?? {};\n const { urlSubmit = '' } = config ?? {};\n const { BaseUrl } = useContext(contextBabylon);\n const defaultValues = useSearcherTouDefaultValues(props);\n // Form\n const handleOnSubmit = useCallback(async (values)=>{\n addGa4Event({\n event: 'search',\n event_type: 'availability',\n event_detail: 'packages/traditional'\n });\n const url = await buildUrl(values, BaseUrl, urlSubmit);\n window.location.assign(url);\n }, [\n BaseUrl,\n urlSubmit\n ]);\n return {\n onSubmit: handleOnSubmit,\n defaultValues\n };\n};\n\nexport { useSearcherTouForm as default };\n//# sourceMappingURL=useSearcherTouForm.mjs.map\n","import { jsx } from 'react/jsx-runtime';\nimport Form from '@babylon/ui-kit-forms/components/others/form';\nimport { SearcherTouProvider } from '../../context/index.mjs';\nimport useSearcherTouForm from '../../hooks/useSearcherTouForm.mjs';\n\nconst SearcherTouForm = ({ children, ...rootProps })=>{\n const props = 'data' in rootProps ? rootProps.data : rootProps.props;\n const { defaultValues, onSubmit } = useSearcherTouForm(props);\n return /*#__PURE__*/ jsx(Form, {\n onSubmit: onSubmit,\n defaultValues: defaultValues,\n children: /*#__PURE__*/ jsx(SearcherTouProvider, {\n value: props,\n children: children\n })\n });\n};\n\nexport { SearcherTouForm as default };\n//# sourceMappingURL=index.mjs.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport Searcher from '../../../../others/searcher/index.mjs';\nimport { SearcherItem, SearcherItemWithMaxWidth } from '../../../../others/searcher/styled.mjs';\nimport SearcherTouButton from '../../components/button/index.mjs';\nimport SearcherTouDateInput from '../../components/date-input/index.mjs';\nimport SearcherTouDestinationInput from '../../components/destination-input/index.mjs';\nimport SearcherTouDurationInput from '../../components/duration-input/index.mjs';\nimport SearcherTouFlexibilityInput from '../../components/flexibility-input/index.mjs';\nimport SearcherTouOriginInput from '../../components/origin-input/index.mjs';\nimport SearcherTouPassengersInput from '../../components/passengers-input/index.mjs';\nimport SearcherTouForm from '../../components/searcher-form/index.mjs';\n\nconst SearcherTouDesktopView = ()=>/*#__PURE__*/ jsxs(Searcher, {\n \"data-testid\": \"SearcherTou\",\n children: [\n /*#__PURE__*/ jsx(SearcherItem, {\n $variant: \"medium\",\n children: /*#__PURE__*/ jsx(SearcherTouDestinationInput, {})\n }),\n /*#__PURE__*/ jsx(SearcherItem, {\n $variant: \"medium\",\n children: /*#__PURE__*/ jsx(SearcherTouOriginInput, {})\n }),\n /*#__PURE__*/ jsx(SearcherItemWithMaxWidth, {\n $variant: \"medium\",\n children: /*#__PURE__*/ jsx(SearcherTouDurationInput, {})\n }),\n /*#__PURE__*/ jsxs(SearcherItem, {\n $variant: \"medium\",\n $grow: true,\n children: [\n /*#__PURE__*/ jsx(SearcherTouDateInput, {}),\n /*#__PURE__*/ jsx(SearcherTouFlexibilityInput, {})\n ]\n }),\n /*#__PURE__*/ jsx(SearcherItemWithMaxWidth, {\n $variant: \"medium\",\n children: /*#__PURE__*/ jsx(SearcherTouPassengersInput, {})\n }),\n /*#__PURE__*/ jsx(SearcherTouButton, {})\n ]\n });\nconst SearcherTouDesktop = (props)=>/*#__PURE__*/ jsx(SearcherTouForm, {\n ...props,\n children: /*#__PURE__*/ jsx(SearcherTouDesktopView, {})\n });\n\nexport { SearcherTouDesktop as default };\n//# sourceMappingURL=index.mjs.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport { Inputs } from '@babylon/ui-kit-forms/components/others/inputs/styled';\nimport Searcher from '../../../../others/searcher/index.mjs';\nimport { SearcherItem } from '../../../../others/searcher/styled.mjs';\nimport SearcherTouButton from '../../components/button/index.mjs';\nimport SearcherTouDateInput from '../../components/date-input/index.mjs';\nimport SearcherTouDestinationInput from '../../components/destination-input/index.mjs';\nimport SearcherTouDurationInput from '../../components/duration-input/index.mjs';\nimport SearcherTouFlexibilityInput from '../../components/flexibility-input/index.mjs';\nimport SearcherTouOriginInput from '../../components/origin-input/index.mjs';\nimport SearcherTouPassengersInput from '../../components/passengers-input/index.mjs';\nimport SearcherTouForm from '../../components/searcher-form/index.mjs';\n\nconst SearcherTouMobileView = ()=>/*#__PURE__*/ jsxs(Searcher, {\n \"data-testid\": \"SearcherTouMobile\",\n children: [\n /*#__PURE__*/ jsx(SearcherItem, {\n children: /*#__PURE__*/ jsxs(Inputs, {\n children: [\n /*#__PURE__*/ jsx(SearcherTouDestinationInput, {}),\n /*#__PURE__*/ jsx(SearcherTouOriginInput, {})\n ]\n })\n }),\n /*#__PURE__*/ jsx(SearcherItem, {\n children: /*#__PURE__*/ jsx(SearcherTouDurationInput, {})\n }),\n /*#__PURE__*/ jsx(SearcherItem, {\n children: /*#__PURE__*/ jsxs(Inputs, {\n children: [\n /*#__PURE__*/ jsx(SearcherTouDateInput, {}),\n /*#__PURE__*/ jsx(SearcherTouFlexibilityInput, {})\n ]\n })\n }),\n /*#__PURE__*/ jsx(SearcherItem, {\n children: /*#__PURE__*/ jsx(SearcherTouPassengersInput, {})\n }),\n /*#__PURE__*/ jsx(SearcherTouButton, {})\n ]\n });\nconst SearcherTouMobile = (props)=>/*#__PURE__*/ jsx(SearcherTouForm, {\n ...props,\n children: /*#__PURE__*/ jsx(SearcherTouMobileView, {})\n });\n\nexport { SearcherTouMobile as default };\n//# sourceMappingURL=index.mjs.map\n"],"names":["useSearcherTouContextState","originOptions","setOriginOptions","useState","durationOptions","setDurationOptions","calendarData","setCalendarData","allCallLock","useRef","originsCallLock","nightsCallLock","datesCallLock","destinationValue","useValue","isLoading","doFetchLoading","useLoading","state","actions","useMemo","getOrigins","url","destination","BaseUrl","Language","Market","finalUrl","response","getNights","origin","getCalendar","duration","durationParsed","finalValue","currentValue","transformDataOrigins","locations","transformed","e","getOriginDefaultValue","options","checked","parseDates","dates","parseDatesOffers","currency","useUpdateDates","contextValue","props","config","endpoint","callLocks","setValue","useFormContext","useContext","contextBabylon","dateValue","lastCalendarData","useLastValue","lastDateValue","useCallback","newDates","fastDeepEqual","newDate","getFirstDayValid","_a","date","useUpdateNights","durationValue","lastDurationOptions","updateDates","currentDurationValue","newDurations","newDuration","finalDuration","item","useUpdateOrigins","originValue","lastOriginOptions","updateNights","currentOriginValue","newOrigins","defaultOriginValue","useUpdateStateData","updateOrigins","prevDestination","usePrevValue","prevOrigin","prevDuration","useEffect","_b","_c","useSearcherTouSideEffects","SearcherTouContext","createContext","SearcherTouProvider","value","children","contextState","jsx","useSearcherTouContext","useSearcherTouProps","useSearcherTouState","SearcherTouButton","literals","search","hasErrors","useHasErrors","handleSubmit","useHandleSubmit","SearcherButton","useSearcherTouDefaultValues","flexibility","accomodation","calendar","searchPlaceholderValue","accomodationModalTitle","agesDescription","destinationDefaultValue","originDefaultValue","dateDefaultValue","nowDate","calendarDate","format","flexibilityDefaultValue","passengersDefaultValue","_d","_e","_f","_g","_j","_i","_h","_k","_l","_m","_p","_o","_n","_s","_r","_q","_v","_u","_t","getPriceLegend","priceLegend","useDateInput","accept","calendarLabel","offer","calendarModalTitle","defaultValues","isMobile","useIsMobile","calendarInput","SearcherTouDateInput","dateInput","FormCalendar","useKeydown","suggestions","selectSuggestion","closePanel","count","increment","decrement","useCounter","pressHandler","event","KEY_CODE","PanelWrapper","styled","Tooltip","theme","TooltipArrow","PanelBody","FlexMixin","PanelAgrupations","BorderRadius","PanelSuggestions","FontMixin","PanelAgrupationsList","PanelAgrupationsItem","rgba","PanelSuggestionList","PanelSuggestionItem","AgrupationPanelDesktop","agrupationPanelValue","referenceElement","onSelectAgrupation","onSelectSuggestion","disabled","agrupations","filtered","labelSuggestions","setSuggestions","suggestionItems","indexSelected","handleAgrupation","handleSuggestion","jsxs","Children","classNames","index","ScrollIntoView","InnerMarkdownHTML","MIN_LENGTH_TO_SEARCH","agrupationSortByPriority","agrupation","sortByPriority","b","cloneDeep","childrenSortByPriority","autocompletePanelTreeSortByPriority","autocomplete","featured","Modal","ModalHeader","ModalHeaderText","ModalContent","InputWrapper","Input","PanelAgrupationHeader","PanelAgrupationList","PanelAgrupationItem","AgrupationPanelMobile","isPanelVisible","filterDestination","setSearch","onSearch","Fragment","suggestion","AgrupationPanel","generateViewsComponent","DEFAULT_ENDPOINTS","getDestinationTree","queryParams","language","market","filterDestinationTree","text","useAutocompletePanel","tree","filter","initialPanelTree","autocompletePanelTree","setAutocompletePanelTree","_","setVisible","useToggle","context","getInitialData","getFilterDestinationTree","newAgrupation","res","name","priority","marked","getFilterDestinationTreeMobile","prev","openPanel","AutocompletePanelDesktop","forwardRef","ref","label","placeholder","icon","hasError","onChange","inputRef","useImperativeHandle","panelRef","inputValue","setInputValue","handleOnClosePanel","useOnClickOutside","handleOnChange","selectAgrupation","AutocompletePanelMobile","handleFilterDestination","query","nullFunction","AutocompletePanel","FormAutocompletePanel","_isHiddenRequired","rest","field","error","useInput","useDestinationInput","labelFeatured","destinationModalTitle","noResultsText","destinationLabel","requiredValidate","required","SearcherTouDestinationInput","destinationInput","useDurationInput","durationLabel","SearcherTouDurationInput","durationInput","FormCheckboxGroup","RadioButtonWrapper","InputContainer","TooltipContent","InputComponentWrapper","FlexibilityDesktop","onBlur","handleRadioButton","i","inputProps","panel","RadioButton","InputPanel","Flexibility","FormFlexibility","useFlexibilityInput","flexibilityLabel","commonProps","SearcherTouFlexibilityInput","flexibilityInput","FormSelect","useOriginInput","originLabel","noResults","SearcherTouOriginInput","originInput","usePassengersInput","accomodationLabel","SearcherTouPassengersInput","passengersInput","FormPassengers","getPassengersParam","a","numberAdutls","n","buildUrl","fieldValues","baseUrl","urlSubmit","passengers","filters","addDays","max","parseFilters","useSearcherTouForm","values","addGa4Event","SearcherTouForm","rootProps","onSubmit","Form","SearcherTouDesktopView","Searcher","SearcherItem","SearcherItemWithMaxWidth","SearcherTouDesktop","SearcherTouMobileView","Inputs","SearcherTouMobile"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]}