{"version":3,"mappings":"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","names":["useSearcherTrainHotelContextState","discounts","setDiscounts","useState","originValue","useValue","destinationValue","isLoading","doFetchLoading","useLoading","getApplicableDiscounts","url","origin","destination","BaseUrl","Language","Application","finalUrl","filters","getTypeValue","response","parseFilters","discountConverter","data","item","useSearcherTrainHotelSideEffects","contextValue","config","hideDestination","endpoints","setValue","getValues","useFormContext","useContext","contextBabylon","originChanged","useValueChanged","destinationChanged","useEffect","updatedDiscounts","isEqual","SearcherTrainHotelProvider","useSearcherTrainHotelProps","useSearcherTrainHotelState","useSearcherTrainHotelActions","createFullProvider","useSearcherTrainHotelDefaultValues","props","dates","accommodation","Market","originDefaultValue","getValidAutocomplete","destinationDefaultValue","datesDefaultValue","getValidDates","addDays","_a","accommodationDefaultValue","getValidAccommodation","discountsDefaultValue","getValidOption","useMemo","useAccommodationInput","literals","useSearcherAccommodation","useButton","useDatesInput","required","_b","useDestinationInput","useSearcherAutocompleteDestination","useOriginInput","useSearcherAutocompleteOrigin","getAccommodationParam","adults","childrenAges","adultsValues","acc","val","childrenParam","c","buildUrl","fieldValues","baseUrl","params","discount","formatDate","useSearcherTrainHotelForm","urlSubmit","onSubmit","isRedirecting","setRedirecting","useSubmitWithRedirect","values","addGa4Event","getConfig","oldModel","accommodationLiterals","getAccommodationLiteralsFromOldData","_get","getOrigin","originTypes","getNewTypeFromOldData","type","getDestination","destinationTypes","getDates","defaultDates","transformOldModelToNewModel","getAccommodation","transformOldModelToNewModelDesktop","transformOldModelToNewModelMobile","getTransformedPropsIfNeeded","getTransformedPropsIfNeededMobile","useSearcherTrainHotelTransformedProps","rootProps","useIsMobile","SearcherTrainHotelRedirectingModal","lazy","__vitePreload","SearcherTrainHotelForm","children","defaultValues","jsx","Form","jsxs","Suspense"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],"sources":["../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/context/useContextState.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/service.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/utils/discountConverter.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/context/useSideEffects.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/context/index.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelDefaultValues.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/accommodation-input/hooks/useAccommodationInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/button/hooks/useButton.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/dates-input/hooks/useDatesInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/destination-input/hooks/useDestinationInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/origin-input/hooks/useOriginInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/utils/url.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelForm.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/utils/model.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelTransformedProps.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-train-hotel/components/searcher-form/index.js"],"sourcesContent":["import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useLoading from '../../../../hooks/useLoading.js';\nimport { useState } from 'react';\n\nconst useSearcherTrainHotelContextState = ()=>{\n const [discounts, setDiscounts] = useState();\n const originValue = useValue({\n name: 'origin'\n });\n const destinationValue = useValue({\n name: 'destination'\n });\n const { isLoading, doFetchLoading } = useLoading(!!originValue?.id && !!destinationValue?.id);\n return {\n state: {\n isLoading,\n discounts\n },\n actions: {\n setDiscounts,\n doFetchLoading\n }\n };\n};\n\nexport { useSearcherTrainHotelContextState as default };\n//# sourceMappingURL=useContextState.js.map\n","import { parseFilters } from '@babylon/ui-kit-helpers/url';\nimport { getTypeValue } from '../../../helpers/model/autocomplete.js';\n\nconst getApplicableDiscounts = async (url = '/packagesalexswc/AjaxServices/ApplicableDiscounts/', { origin, destination } = {}, { BaseUrl, Language, Application } = {})=>{\n if (!origin?.value || !destination?.value || !BaseUrl || !Language || !Application) return;\n let finalUrl = url;\n if (!url.startsWith('http')) finalUrl = `${BaseUrl}${url}`;\n const filters = {\n ori: origin.value,\n dest: getTypeValue(destination).value,\n type: getTypeValue(destination).type,\n lang: Language.toLowerCase(),\n app: Application,\n productType: 'train'\n };\n const response = await fetch(`${finalUrl}?${parseFilters(filters)}`);\n if (!response.ok) throw new Error('Error getting applicable discounts');\n const data = await response.json().catch(()=>{\n throw new Error('Error parsing applicable discounts');\n });\n return data;\n};\n\nexport { getApplicableDiscounts };\n//# sourceMappingURL=service.js.map\n","const discountConverter = (data)=>data.map((item)=>({\n label: item.name,\n value: item.type\n }));\n\nexport { discountConverter as default, discountConverter };\n//# sourceMappingURL=discountConverter.js.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport useValueChanged from '@babylon/ui-kit-forms/hooks/useValueChanged';\nimport isEqual from '@babylon/ui-kit-helpers/is-equal';\nimport { useContext, useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { getApplicableDiscounts } from '../service.js';\nimport { discountConverter } from '../utils/discountConverter.js';\n\nconst useSearcherTrainHotelSideEffects = (contextValue)=>{\n const { props: { config, destination }, state: { discounts }, actions: { setDiscounts, doFetchLoading } } = contextValue;\n const { hideDestination = false, endpoints } = config ?? {};\n const { setValue, getValues } = useFormContext();\n const { BaseUrl, Language, Application } = useContext(contextBabylon);\n const originChanged = useValueChanged('origin.value');\n const destinationChanged = useValueChanged('destination.value');\n useEffect(()=>{\n if (hideDestination && destination) setValue('destination', destination);\n }, [\n destination,\n hideDestination,\n setValue\n ]);\n useEffect(()=>{\n if (!originChanged && !destinationChanged && !!discounts) return;\n const { origin, destination } = getValues();\n const updateDiscounts = async ()=>{\n if (!origin?.value || !destination?.value || !destination?.type) return;\n const updatedDiscounts = await doFetchLoading(async ()=>await getApplicableDiscounts(endpoints?.discounts ?? '/packagesalexswc/AjaxServices/ApplicableDiscounts', {\n origin: origin,\n destination: destination\n }, {\n BaseUrl,\n Language,\n Application\n })).then((discounts)=>discountConverter(discounts));\n if (updatedDiscounts && !isEqual(discounts, updatedDiscounts)) setDiscounts(updatedDiscounts);\n };\n updateDiscounts().catch(console.error);\n }, [\n Application,\n BaseUrl,\n Language,\n destinationChanged,\n discounts,\n doFetchLoading,\n endpoints?.discounts,\n getValues,\n originChanged,\n setDiscounts\n ]);\n};\n\nexport { useSearcherTrainHotelSideEffects as default };\n//# sourceMappingURL=useSideEffects.js.map\n","import { createFullProvider } from '@babylon/ui-kit-helpers/context';\nimport useSearcherTrainHotelContextState from './useContextState.js';\nimport useSearcherTrainHotelSideEffects from './useSideEffects.js';\n\nconst { Provider: SearcherTrainHotelProvider, useContextProps: useSearcherTrainHotelProps, useContextState: useSearcherTrainHotelState, useContextActions: useSearcherTrainHotelActions } = createFullProvider({\n useState: useSearcherTrainHotelContextState,\n useSideEffects: useSearcherTrainHotelSideEffects\n});\n\nexport { SearcherTrainHotelProvider, useSearcherTrainHotelActions, useSearcherTrainHotelProps, useSearcherTrainHotelState };\n//# sourceMappingURL=index.js.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport { getValidAccommodation } from '@babylon/ui-kit-forms/helpers/accommodation';\nimport { getValidAutocomplete } from '@babylon/ui-kit-forms/helpers/autocomplete';\nimport { getValidOption } from '@babylon/ui-kit-forms/helpers/select';\nimport { getValidDates, addDays } from '@babylon/ui-kit-helpers/date';\nimport { useContext, useMemo } from 'react';\n\nconst useSearcherTrainHotelDefaultValues = (props)=>{\n const { origin, destination, dates, accommodation } = props ?? {};\n const { Market } = useContext(contextBabylon);\n const originDefaultValue = getValidAutocomplete(Market, origin);\n const destinationDefaultValue = getValidAutocomplete(Market, destination);\n const datesDefaultValue = getValidDates(new Date(), addDays(new Date(), props?.dates?.releaseDays ?? 7), dates);\n const accommodationDefaultValue = getValidAccommodation(accommodation);\n const discountsDefaultValue = getValidOption();\n return useMemo(()=>({\n origin: originDefaultValue,\n destination: destinationDefaultValue,\n dates: datesDefaultValue,\n accommodation: accommodationDefaultValue,\n discounts: discountsDefaultValue\n }), [\n accommodationDefaultValue,\n datesDefaultValue,\n destinationDefaultValue,\n discountsDefaultValue,\n originDefaultValue\n ]);\n};\n\nexport { useSearcherTrainHotelDefaultValues as default };\n//# sourceMappingURL=useSearcherTrainHotelDefaultValues.js.map\n","import useSearcherAccommodation from '../../../../../../hooks/inputs/useSearcherAccommodation.js';\nimport { useSearcherTrainHotelProps, useSearcherTrainHotelState } from '../../../context/index.js';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.js';\n\nconst useAccommodationInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { config, accommodation } = props;\n const { literals } = config ?? {};\n const { discounts = [] } = useSearcherTrainHotelState();\n return useSearcherAccommodation({\n name: 'accommodation',\n label: literals?.accommodationLabel ?? '',\n defaultValue: useSearcherTrainHotelDefaultValues(props).accommodation,\n discounts: {\n label: literals?.discountsLabel ?? '',\n items: discounts\n },\n literals\n }, accommodation);\n};\n\nexport { useAccommodationInput as default };\n//# sourceMappingURL=useAccommodationInput.js.map\n","import { useSearcherTrainHotelProps } from '../../../context/index.js';\n\nconst useButton = ()=>{\n const { config } = useSearcherTrainHotelProps();\n const { literals } = config ?? {};\n return {\n literals\n };\n};\n\nexport { useButton as default };\n//# sourceMappingURL=useButton.js.map\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useSearcherTrainHotelProps } from '../../../context/index.js';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.js';\n\nconst useDatesInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { dates } = props;\n const originValue = useValue({\n name: 'origin'\n });\n const destinationValue = useValue({\n name: 'destination'\n });\n return {\n name: 'dates',\n validate: required(),\n disabled: !originValue || !destinationValue,\n defaultValue: useSearcherTrainHotelDefaultValues(props).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//# sourceMappingURL=useDatesInput.js.map\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport { useSearcherAutocompleteDestination } from '../../../../../../hooks/inputs/useSearcherAutocomplete.js';\nimport { useSearcherTrainHotelProps, useSearcherTrainHotelState } from '../../../context/index.js';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.js';\n\nconst useDestinationInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { config, destination } = props;\n const { literals } = config ?? {};\n const { isLoading = false } = useSearcherTrainHotelState();\n return useSearcherAutocompleteDestination({\n validate: required(),\n label: literals?.destinationLabel ?? '',\n defaultValue: useSearcherTrainHotelDefaultValues(props).destination,\n queryParams: {\n o: 'EST',\n p: 'or',\n ...destination?.queryParams\n },\n disabled: isLoading,\n literals\n }, {\n types: [\n 'CIU',\n 'ZON'\n ],\n ...destination\n });\n};\n\nexport { useDestinationInput as default };\n//# sourceMappingURL=useDestinationInput.js.map\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport { useSearcherAutocompleteOrigin } from '../../../../../../hooks/inputs/useSearcherAutocomplete.js';\nimport { useSearcherTrainHotelProps, useSearcherTrainHotelState } from '../../../context/index.js';\nimport useSearcherTrainHotelDefaultValues from '../../../hooks/useSearcherTrainHotelDefaultValues.js';\n\nconst useOriginInput = ()=>{\n const props = useSearcherTrainHotelProps();\n const { config, origin } = props;\n const { literals } = config ?? {};\n const { isLoading = false } = useSearcherTrainHotelState();\n return useSearcherAutocompleteOrigin({\n validate: required(),\n label: literals?.originLabel ?? '',\n defaultValue: useSearcherTrainHotelDefaultValues(props).origin,\n disabled: isLoading,\n literals,\n queryParams: origin?.queryParams\n }, {\n types: [\n 'EST'\n ],\n ...origin\n });\n};\n\nexport { useOriginInput as default };\n//# sourceMappingURL=useOriginInput.js.map\n","import { formatDate } from '@babylon/ui-kit-helpers/date';\nimport { parseFilters } from '@babylon/ui-kit-helpers/url';\nimport { getTypeValue } from '../../../../helpers/model/autocomplete.js';\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};\n/* Build url */ async function buildUrl(fieldValues, baseUrl, url = '/packagesasyncstepssp/AvailabilityMaterial', params = {}) {\n const { accommodation, dates, destination, origin, discount } = 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-MM-DD') : '',\n destinationCode: getTypeValue(destination).value,\n destinationType: getTypeValue(destination).type,\n FamilyDiscount: discount?.value ?? 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-MM-DD') : '',\n ...params\n };\n return `${finalUrl}?${parseFilters(filters)}`;\n}\n\nexport { buildUrl };\n//# sourceMappingURL=url.js.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport addGa4Event from '@babylon/ui-kit-helpers/ga4Event';\nimport useSubmitWithRedirect from '../../../../hooks/submit/useSubmitWithRedirect.js';\nimport { useContext } from 'react';\nimport { buildUrl } from '../utils/url.js';\nimport useSearcherTrainHotelDefaultValues from './useSearcherTrainHotelDefaultValues.js';\n\nconst useSearcherTrainHotelForm = (props)=>{\n const { config } = props ?? {};\n const { params, urlSubmit } = config ?? {};\n const { BaseUrl } = useContext(contextBabylon);\n const { onSubmit, isRedirecting, setRedirecting } = useSubmitWithRedirect(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 return {\n onSubmit,\n isRedirecting,\n defaultValues: useSearcherTrainHotelDefaultValues(props),\n setRedirecting\n };\n};\n\nexport { useSearcherTrainHotelForm as default };\n//# sourceMappingURL=useSearcherTrainHotelForm.js.map\n","import { getAccommodation, getAccommodationLiteralsFromOldData } from '../../../../helpers/model/accommodation.js';\nimport { getNewTypeFromOldData } from '../../../../helpers/model/autocomplete.js';\nimport _get from 'lodash/get.js';\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 ? getNewTypeFromOldData(originTypes[0]) : 'EST',\n types: originTypes ? originTypes.map((type)=>getNewTypeFromOldData(type) ?? 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 && getNewTypeFromOldData(destinationTypes[0]),\n types: destinationTypes ? destinationTypes.map((type)=>getNewTypeFromOldData(type) ?? 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//# sourceMappingURL=model.js.map\n","import useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { getTransformedPropsIfNeededMobile, getTransformedPropsIfNeeded } from '../utils/model.js';\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//# sourceMappingURL=useSearcherTrainHotelTransformedProps.js.map\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.js';\nimport useSearcherTrainHotelForm from '../../hooks/useSearcherTrainHotelForm.js';\nimport useSearcherTrainHotelTransformedProps from '../../hooks/useSearcherTrainHotelTransformedProps.js';\n\nconst SearcherTrainHotelRedirectingModal = /*#__PURE__*/ lazy(()=>import('../redirecting-modal/index.js'));\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//# sourceMappingURL=index.js.map\n"],"file":"cdn-placeholder/babylon/packages/logitravel/client/chunks/index.Bm3FPPXS.js"}