{"version":3,"mappings":"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","names":["useSearcherTrainHotelSideEffects","contextValue","props","config","destination","hideDestination","setValue","useFormContext","useEffect","SearcherTrainHotelContext","createContext","SearcherTrainHotelProvider","value","children","useMemo","jsx","useSearcherTrainHotelContext","useContext","useSearcherTrainHotelProps","useSearcherTrainHotelDefaultValues","origin","dates","accommodation","originDefaultValue","useOriginDefaultValue","destinationDefaultValue","useDestinationDefaultValue","datesDefaultValue","useDatesDefaultValue","accommodationDefaultValue","useAccommodationDefaultValue","useAccommodationInput","literals","defaultValues","useAccommodationInput$1","useButton","submit","handleSubmit","useHandleSubmit","hasErrors","useHasErrors","useDatesInput","originValue","useValue","destinationValue","required","_a","_b","useDestinationInput","useDestinationInput$1","useOriginInput","useOriginInput$1","getAccommodationParam","adults","childrenAges","adultsValues","acc","val","childrenParam","c","getTypeValue","type","buildUrl","fieldValues","baseUrl","url","params","finalUrl","filters","formatDate","parseFilters","useSearcherTrainHotelForm","urlSubmit","BaseUrl","contextBabylon","handleOnSubmit","useCallback","values","addGa4Event","onSubmit","isRedirecting","setRedirecting","useSubmitWithRedirect","oldTypeToNewType","getConfig","oldModel","accommodationLiterals","getAccommodationLiteralsFromOldData","_get","getOrigin","originTypes","getDestination","destinationTypes","getDates","defaultDates","transformOldModelToNewModel","getAccommodation","transformOldModelToNewModelDesktop","transformOldModelToNewModelMobile","getTransformedPropsIfNeeded","getTransformedPropsIfNeededMobile","useSearcherTrainHotelTransformedProps","rootProps","useIsMobile","SearcherTrainHotelRedirectingModal","lazy","__vitePreload","SearcherTrainHotelForm","Form","jsxs","Suspense"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12],"sources":["../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/context/useSideEffects.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/context/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelDefaultValues.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/accommodation-input/hooks/useAccommodationInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/button/hooks/useButton.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/dates-input/hooks/useDatesInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/destination-input/hooks/useDestinationInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/origin-input/hooks/useOriginInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/utils/url.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelForm.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/utils/model.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelTransformedProps.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/searcher-form/index.mjs"],"sourcesContent":["import { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nconst useSearcherTrainHotelSideEffects = (contextValue)=>{\n const { props } = contextValue;\n const { config, destination } = props ?? {};\n const { hideDestination = false } = config ?? {};\n const { setValue } = useFormContext();\n useEffect(()=>{\n if (hideDestination && destination) {\n setValue('destination', destination);\n }\n }, [\n destination,\n hideDestination,\n setValue\n ]);\n};\n\nexport { useSearcherTrainHotelSideEffects as default };\n","import { jsx } from 'react/jsx-runtime';\nimport { useMemo, createContext, useContext } from 'react';\nimport useSearcherTrainHotelSideEffects from './useSideEffects.mjs';\n\nconst SearcherTrainHotelContext = /*#__PURE__*/ createContext({});\nconst SearcherTrainHotelProvider = (props)=>{\n const { value, children } = props;\n const contextValue = useMemo(()=>({\n props: value\n }), [\n value\n ]);\n useSearcherTrainHotelSideEffects(contextValue);\n return /*#__PURE__*/ jsx(SearcherTrainHotelContext.Provider, {\n value: contextValue,\n children: children\n });\n};\nconst useSearcherTrainHotelContext = ()=>useContext(SearcherTrainHotelContext);\nconst useSearcherTrainHotelProps = ()=>useSearcherTrainHotelContext().props;\n\nexport { SearcherTrainHotelProvider, useSearcherTrainHotelProps };\n","import { useAccommodationDefaultValue } from '../../../../hooks/defaultValues/useAccommodationDefaultValue.mjs';\nimport { useDatesDefaultValue } from '../../../../hooks/defaultValues/useDatesDefaultValue.mjs';\nimport { useDestinationDefaultValue } from '../../../../hooks/defaultValues/useDestinationDefaultValue.mjs';\nimport { useOriginDefaultValue } from '../../../../hooks/defaultValues/useOriginDefaultValue.mjs';\nimport { useMemo } from 'react';\n\nconst useSearcherTrainHotelDefaultValues = (props)=>{\n const { origin, destination, dates, accommodation } = props ?? {};\n const originDefaultValue = useOriginDefaultValue(origin);\n const destinationDefaultValue = useDestinationDefaultValue(destination);\n const datesDefaultValue = useDatesDefaultValue(dates);\n const accommodationDefaultValue = useAccommodationDefaultValue(accommodation);\n return useMemo(()=>({\n origin: originDefaultValue,\n destination: destinationDefaultValue,\n dates: datesDefaultValue,\n accommodation: accommodationDefaultValue\n }), [\n accommodationDefaultValue,\n datesDefaultValue,\n destinationDefaultValue,\n originDefaultValue\n ]);\n};\n\nexport { useSearcherTrainHotelDefaultValues as default };\n","import { useAccommodationInput as useAccommodationInput$1 } from '../../../../../../hooks/inputs/useAccommodationInput.mjs';\nimport { useSearcherTrainHotelProps } from '../../../context/index.mjs';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.mjs';\n\nconst useAccommodationInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const defaultValues = useSearcherTrainHotelDefaultValues(props);\n return useAccommodationInput$1({\n name: 'accommodation',\n label: literals?.accommodationLabel ?? '',\n defaultValue: defaultValues.accommodation,\n literals\n });\n};\n\nexport { useAccommodationInput as default };\n","import { useHandleSubmit } from '../../../../../../hooks/submit/useHandleSubmit.mjs';\nimport { useHasErrors } from '../../../../../../hooks/useHasErrors.mjs';\nimport { useSearcherTrainHotelProps } from '../../../context/index.mjs';\n\nconst useButton = ()=>{\n const props = useSearcherTrainHotelProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const { submit = '' } = literals ?? {};\n const handleSubmit = useHandleSubmit();\n const hasErrors = useHasErrors();\n return {\n onClick: handleSubmit,\n disabled: hasErrors,\n children: submit\n };\n};\n\nexport { useButton as default };\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useSearcherTrainHotelProps } from '../../../context/index.mjs';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.mjs';\n\nconst useDatesInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { dates } = props ?? {};\n const defaultValues = useSearcherTrainHotelDefaultValues(props);\n const originValue = useValue({\n name: 'origin'\n });\n const destinationValue = useValue({\n name: 'destination'\n });\n return {\n validate: required(),\n disabled: !originValue || !destinationValue,\n defaultValue: defaultValues.dates,\n minDate: props?.dates?.minDate ?? 'today',\n maxDate: props?.dates?.maxDate,\n enableAllDays: true,\n releaseDays: dates?.releaseDays\n };\n};\n\nexport { useDatesInput as default };\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport { useDestinationInput as useDestinationInput$1 } from '../../../../../../hooks/inputs/useDestinationInput.mjs';\nimport { useSearcherTrainHotelProps } from '../../../context/index.mjs';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.mjs';\n\nconst useDestinationInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const defaultValues = useSearcherTrainHotelDefaultValues(props);\n return useDestinationInput$1({\n validate: required(),\n label: literals?.destinationLabel ?? '',\n defaultValue: defaultValues.destination,\n types: [\n 'CIU',\n 'ZON'\n ],\n queryParams: {\n o: 'EST',\n p: 'or'\n }\n });\n};\n\nexport { useDestinationInput as default };\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport { useOriginInput as useOriginInput$1 } from '../../../../../../hooks/inputs/useOriginInput.mjs';\nimport { useSearcherTrainHotelProps } from '../../../context/index.mjs';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.mjs';\n\nconst useOriginInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { config } = props ?? {};\n const { literals } = config ?? {};\n const defaultValues = useSearcherTrainHotelDefaultValues(props);\n return useOriginInput$1({\n validate: required(),\n types: [\n 'EST'\n ],\n label: literals?.originLabel ?? '',\n defaultValue: defaultValues.origin\n });\n};\n\nexport { useOriginInput as default };\n","import { formatDate } from '@babylon/ui-kit-helpers/date';\nimport { parseFilters } from '@babylon/ui-kit-helpers/url';\n\nconst getAccommodationParam = (accommodation)=>{\n if (!accommodation?.rooms) return [\n ''\n ];\n return accommodation.rooms.map(({ adults, childrenAges })=>{\n const adultsValues = [\n ...Array(adults)\n ].fill('30A').reduce((acc, val)=>acc + val);\n const childrenParam = childrenAges ? childrenAges.map((c)=>`${c}${'C'}`).join('') : '';\n return `${adultsValues}${childrenParam}`;\n });\n};\nfunction getTypeValue(destination) {\n const { value, type } = destination ?? {};\n /* Type zone when is ZONE */ if (type === 'ISL' && value) {\n return {\n value: value.slice(4),\n type: 'ZON'\n };\n }\n return {\n value,\n type\n };\n}\n/* Build url */ async function buildUrl(fieldValues, baseUrl, url = '/packagesasyncstepssp/AvailabilityMaterial', params = {}) {\n const { accommodation, dates, destination, origin } = fieldValues;\n let finalUrl = url;\n if (!finalUrl.startsWith('http')) finalUrl = `${baseUrl}${url}`;\n const filters = {\n departureDateStr: dates?.[0] ? await formatDate(dates?.[0], 'yyyy-LL-dd') : '',\n destinationCode: getTypeValue(destination).value,\n destinationType: getTypeValue(destination).type,\n FamilyDiscount: 0,\n hashRooms: getAccommodationParam(accommodation).join('%2C'),\n LineOfBusiness: 'Packages',\n originAirportCode: origin?.value,\n productType: 'TrainHotel',\n returnDateStr: dates?.[1] ? await formatDate(dates?.[1], 'yyyy-LL-dd') : '',\n ...params\n };\n return `${finalUrl}?${parseFilters(filters)}`;\n}\n\nexport { buildUrl };\n","import contextBabylon from '@babylon/ui-kit-context';\nimport addGa4Event from '@babylon/ui-kit-helpers/ga4Event';\nimport { useSubmitWithRedirect } from '../../../../hooks/submit/useSubmitWithRedirect.mjs';\nimport { useContext, useCallback } from 'react';\nimport { buildUrl } from '../utils/url.mjs';\nimport useSearcherTrainHotelDefaultValues from './useSearcherTrainHotelDefaultValues.mjs';\n\nconst useSearcherTrainHotelForm = (props)=>{\n const { config } = props ?? {};\n const { params, urlSubmit } = config ?? {};\n const { BaseUrl } = useContext(contextBabylon);\n const defaultValues = useSearcherTrainHotelDefaultValues(props);\n // Form\n const handleOnSubmit = useCallback(async (values)=>{\n addGa4Event({\n event: 'search',\n event_type: 'availability',\n event_detail: 'packages/dynamic/train-hotel'\n });\n const url = await buildUrl(values, BaseUrl, urlSubmit, params);\n window.location.assign(url);\n }, [\n BaseUrl,\n params,\n urlSubmit\n ]);\n const { onSubmit, isRedirecting, setRedirecting } = useSubmitWithRedirect(handleOnSubmit);\n return {\n onSubmit,\n isRedirecting,\n defaultValues,\n setRedirecting\n };\n};\n\nexport { useSearcherTrainHotelForm as default };\n","import { getAccommodation, getAccommodationLiteralsFromOldData } from '../../../../helpers/index.mjs';\nimport _get from 'lodash/get.js';\n\nconst oldTypeToNewType = {\n airport: 'AER',\n station: 'EST',\n island: 'ISL',\n city: 'CIU',\n zone: 'ZON',\n hotel: 'HOT'\n};\nconst getConfig = (oldModel)=>{\n const accommodationLiterals = getAccommodationLiteralsFromOldData(oldModel);\n const config = {\n literals: {\n ...accommodationLiterals,\n EST: '',\n CIU: '',\n ZON: '',\n originLabel: _get(oldModel, 'location.items[0].input.label.content', ''),\n destinationLabel: _get(oldModel, 'location.items[1].input.label.content', ''),\n calendarLabel: _get(oldModel, 'calendar.input.label.content', ''),\n loadingTitle: _get(oldModel, 'loading.Body.Loading.title.content', ''),\n loadingMessage: _get(oldModel, 'loading.Body.Loading.message.content', ''),\n submit: _get(oldModel, 'submit.content', ''),\n noResultsText: '',\n accept: _get(oldModel, 'calendar.Footer.action.items[0].content', _get(oldModel, 'location.literals.modalFooterSubmit', accommodationLiterals.accept)),\n AER: '',\n calendarTitle: _get(oldModel, 'calendar.literals.modalHeaderTitle', ''),\n checkIn: _get(oldModel, 'calendar.literals.origin', ''),\n checkInLabel: _get(oldModel, 'calendar.literals.modalHeaderTitle', ''),\n checkOut: _get(oldModel, 'calendar.literals.destination', ''),\n HOT: '',\n ISL: '',\n labelDiscountsByDefault: _get(oldModel, 'discount.config.data.items[0].label', _get(oldModel, 'discounts.data.config.data.items[0].label', '')),\n legent: _get(oldModel, 'config.data.literal.legentDirectFlight', _get(oldModel, 'calendar.Footer.directFlight', '')),\n locationTitle: _get(oldModel, 'location.literals.modalHeaderTitle', ''),\n PUE: '',\n tabContentOrigin: _get(oldModel, 'location.literals.placeholderOrigin', ''),\n tabContentDestination: _get(oldModel, 'location.literals.placeholderDestination', ''),\n yearLabel: '',\n yearsLabel: ''\n },\n releaseDays: 2,\n hasDiscounts: true,\n disableDates: true,\n endpoints: {},\n onModal: _get(oldModel, 'config.onModal', false),\n hideDestination: _get(oldModel, 'config.hideDestination', false),\n params: {\n productType: 'TrainHotel',\n LineOfBusiness: 'Packages'\n }\n };\n return config;\n};\nconst getOrigin = (oldModel)=>{\n const originTypes = _get(oldModel, 'location.items[0].config.provider.types', [\n 'airport'\n ]);\n const origin = {\n value: _get(oldModel, 'location.items[0].value.value'),\n text: _get(oldModel, 'location.items[0].value.content'),\n type: originTypes ? oldTypeToNewType[originTypes[0]] : 'EST',\n types: originTypes ? originTypes.map((type)=>oldTypeToNewType[type]) : [\n 'EST'\n ],\n limit: _get(oldModel, 'location.items[0].config.provider.limit', 20)\n };\n return origin;\n};\nconst getDestination = (oldModel)=>{\n const destinationTypes = _get(oldModel, 'location.items[1].config.provider.types', [\n 'city',\n 'zone'\n ]);\n const destination = {\n value: _get(oldModel, 'location.items[1].value.value'),\n text: _get(oldModel, 'location.items[1].value.content'),\n type: destinationTypes && oldTypeToNewType[destinationTypes[0]],\n types: destinationTypes ? destinationTypes.map((type)=>oldTypeToNewType[type]) : [\n 'CIU',\n 'ZON'\n ],\n limit: _get(oldModel, 'location.items[1].config.provider.limit', 20)\n };\n return destination;\n};\nconst getDates = (oldModel)=>{\n const defaultDates = _get(oldModel, 'calendar.config.data.defaultDates', []);\n const dates = {\n startDate: defaultDates[0],\n endDate: defaultDates[1],\n minDate: 'today',\n sameDay: true,\n releaseDays: _get(oldModel, 'calendar.config.data.releaseDays', 1)\n };\n return dates;\n};\nconst transformOldModelToNewModel = (oldModel)=>({\n config: getConfig(oldModel),\n origin: getOrigin(oldModel),\n destination: getDestination(oldModel),\n dates: getDates(oldModel),\n accommodation: getAccommodation(oldModel)\n });\nconst transformOldModelToNewModelDesktop = (oldModel)=>transformOldModelToNewModel(oldModel);\nconst transformOldModelToNewModelMobile = (oldModel)=>transformOldModelToNewModel(oldModel);\nconst getTransformedPropsIfNeeded = (props)=>{\n if (!props) return props;\n if ('config' in props && props.config && 'literals' in props.config) return props;\n return transformOldModelToNewModelDesktop(props);\n};\nconst getTransformedPropsIfNeededMobile = (props)=>{\n if (!props) return props;\n if ('config' in props && props.config && 'literals' in props.config) return props;\n return transformOldModelToNewModelMobile(props);\n};\n\nexport { getTransformedPropsIfNeeded, getTransformedPropsIfNeededMobile, transformOldModelToNewModel, transformOldModelToNewModelDesktop, transformOldModelToNewModelMobile };\n","import useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { getTransformedPropsIfNeededMobile, getTransformedPropsIfNeeded } from '../utils/model.mjs';\n\nconst useSearcherTrainHotelTransformedProps = (rootProps)=>{\n const props = 'data' in rootProps ? rootProps.data : rootProps.props;\n const isMobile = useIsMobile();\n if (isMobile) return getTransformedPropsIfNeededMobile(props);\n return getTransformedPropsIfNeeded(props);\n};\n\nexport { useSearcherTrainHotelTransformedProps as default };\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport Form from '@babylon/ui-kit-forms/components/others/form';\nimport { Suspense, lazy } from 'react';\nimport { SearcherTrainHotelProvider } from '../../context/index.mjs';\nimport useSearcherTrainHotelForm from '../../hooks/useSearcherTrainHotelForm.mjs';\nimport useSearcherTrainHotelTransformedProps from '../../hooks/useSearcherTrainHotelTransformedProps.mjs';\n\nconst SearcherTrainHotelRedirectingModal = /*#__PURE__*/ lazy(()=>import('../redirecting-modal/index.mjs'));\nconst SearcherTrainHotelForm = ({ children, ...rootProps })=>{\n const props = useSearcherTrainHotelTransformedProps(rootProps);\n const { isRedirecting, defaultValues, onSubmit } = useSearcherTrainHotelForm(props);\n return /*#__PURE__*/ jsx(Form, {\n onSubmit: onSubmit,\n defaultValues: defaultValues,\n children: /*#__PURE__*/ jsxs(SearcherTrainHotelProvider, {\n value: props,\n children: [\n children,\n /*#__PURE__*/ jsx(Suspense, {\n fallback: null,\n children: isRedirecting && /*#__PURE__*/ jsx(SearcherTrainHotelRedirectingModal, {})\n })\n ]\n })\n });\n};\n\nexport { SearcherTrainHotelForm as default };\n"],"file":"cdn-placeholder/babylon/packages/logitravel/client/chunks/index.7WZuCULS.js"}