{"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","onModal","defaultValues","accommodationInput","useAccommodationInput$1","accommodationTooltipOptions","useIsMobile","SearcherTrainHotelAccommodationInput","FormAccommodation","SearcherTrainHotelButton","submit","handleSubmit","useHandleSubmit","hasErrors","useHasErrors","SearcherButton","useDatesInput","isMobile","originValue","useValue","destinationValue","requiredValidation","required","datesInputProps","commonProps","checkIn","checkOut","checkInLabel","accept","datesInput","useDatesInput$1","SearcherTrainHotelDatesInput","FormCalendar","useDestinationInput","destinationTypes","useDestinationInput$1","SearcherTrainHotelDestinationInput","destinationInput","FormAutocomplete","useOriginInput","originTypes","useOriginInput$1","SearcherTrainHotelOriginInput","originInput","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","getDestination","getDates","defaultDates","transformOldModelToNewModel","getAccommodation","transformOldModelToNewModelDesktop","transformOldModelToNewModelMobile","getTransformedPropsIfNeeded","getTransformedPropsIfNeededMobile","useSearcherTrainHotelTransformedProps","rootProps","SearcherTrainHotelRedirectingModal","lazy","__vitePreload","SearcherTrainHotelForm","Form","jsxs","Suspense","SearcherTrainHotelDesktopView","Searcher","SearcherItem","SearcherTrainHotelDesktop"],"sources":["../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/context/useSideEffects.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/context/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelDefaultValues.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/accommodation-input/useAccommodationInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/accommodation-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/button/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/dates-input/useDatesInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/dates-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/destination-input/useDestinationInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/destination-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/origin-input/useOriginInput.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/origin-input/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/utils/url.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelForm.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/utils/model.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/hooks/useSearcherTrainHotelTransformedProps.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/components/searcher-form/index.mjs","../../../../../../../node_modules/@babylon/ui-kit-searchers/esm/components/searchers/searcher-train-hotel/views/desktop/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 }, [destination, hideDestination, setValue]);\n};\n\nexport { useSearcherTrainHotelSideEffects as default };\n","import { jsx } from 'react/jsx-runtime';\nimport { createContext, useMemo, useContext } from 'react';\nimport useSearcherTrainHotelSideEffects from './useSideEffects.mjs';\n\nconst SearcherTrainHotelContext = createContext({});\nconst SearcherTrainHotelProvider = (props) => {\n const { value, children } = props;\n const contextValue = useMemo(\n () => ({\n props: value\n }),\n [value]\n );\n useSearcherTrainHotelSideEffects(contextValue);\n return /* @__PURE__ */ jsx(SearcherTrainHotelContext.Provider, { value: contextValue, children });\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 () => ({\n origin: originDefaultValue,\n destination: destinationDefaultValue,\n dates: datesDefaultValue,\n accommodation: accommodationDefaultValue\n }),\n [accommodationDefaultValue, datesDefaultValue, destinationDefaultValue, originDefaultValue]\n );\n};\n\nexport { useSearcherTrainHotelDefaultValues as default };\n","import useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { useAccommodationInput as useAccommodationInput$1 } from '../../../../../hooks/inputs/useAccommodationInput.mjs';\nimport { useMemo } from 'react';\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, onModal = false } = config ?? {};\n const defaultValues = useSearcherTrainHotelDefaultValues(props);\n const accommodationInput = useAccommodationInput$1({\n name: \"accommodation\",\n label: literals?.accommodationLabel ?? \"\",\n defaultValue: defaultValues.accommodation,\n literals\n });\n const accommodationTooltipOptions = useMemo(\n () => ({ strategy: onModal ? \"fixed\" : void 0 }),\n [onModal]\n );\n const isMobile = useIsMobile();\n if (isMobile)\n return accommodationInput;\n return {\n ...accommodationInput,\n tooltipOptions: accommodationTooltipOptions\n };\n};\n\nexport { useAccommodationInput as default };\n","import { jsx } from 'react/jsx-runtime';\nimport { FormAccommodation } from '@babylon/ui-kit-forms/components/inputs/accommodation/variants/simple';\nimport useAccommodationInput from './useAccommodationInput.mjs';\n\nconst SearcherTrainHotelAccommodationInput = () => {\n const accommodationInput = useAccommodationInput();\n return /* @__PURE__ */ jsx(FormAccommodation, { ...accommodationInput });\n};\n\nexport { SearcherTrainHotelAccommodationInput as default };\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 { useSearcherTrainHotelProps } from '../../context/index.mjs';\n\nconst SearcherTrainHotelButton = () => {\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 /* @__PURE__ */ jsx(SearcherButton, { onClick: handleSubmit, disabled: hasErrors, children: submit });\n};\n\nexport { SearcherTrainHotelButton as default };\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\nimport { useDatesInput as useDatesInput$1 } from '../../../../../hooks/inputs/useDatesInput.mjs';\nimport { useMemo } from 'react';\nimport { useSearcherTrainHotelProps } from '../../context/index.mjs';\nimport useSearcherTrainHotelDefaultValues from '../../hooks/useSearcherTrainHotelDefaultValues.mjs';\n\nconst useDatesInput = () => {\n const props = useSearcherTrainHotelProps();\n const { config, dates } = props ?? {};\n const { literals, onModal = false } = config ?? {};\n const isMobile = useIsMobile();\n const defaultValues = useSearcherTrainHotelDefaultValues(props);\n const originValue = useValue({ name: \"origin\" });\n const destinationValue = useValue({ name: \"destination\" });\n const requiredValidation = useMemo(() => [required()], []);\n const datesInputProps = useMemo(() => {\n const commonProps = {\n validate: requiredValidation,\n disabled: !originValue || !destinationValue,\n defaultValue: defaultValues.dates,\n minDate: \"today\",\n enableAllDays: true,\n releaseDays: dates?.releaseDays\n };\n if (isMobile) {\n const {\n checkIn = \"\",\n checkOut = \"\",\n checkInLabel = \"\",\n accept = \"\"\n } = literals ?? {};\n return {\n ...commonProps,\n startDateLabel: checkIn,\n endDateLabel: checkOut,\n modalTitle: checkInLabel,\n modalConfirm: accept\n };\n }\n return {\n ...commonProps,\n label: literals?.calendarLabel\n };\n }, [\n dates?.releaseDays,\n defaultValues.dates,\n destinationValue,\n isMobile,\n literals,\n originValue,\n requiredValidation\n ]);\n const datesInput = useDatesInput$1(datesInputProps);\n if (isMobile)\n return datesInput;\n return {\n ...datesInput,\n showMonths: onModal ? 1 : 2,\n options: { static: onModal }\n };\n};\n\nexport { useDatesInput as default };\n","import { jsx } from 'react/jsx-runtime';\nimport { FormCalendar } from '@babylon/ui-kit-forms/components/inputs/calendar';\nimport useDatesInput from './useDatesInput.mjs';\n\nconst SearcherTrainHotelDatesInput = () => {\n const datesInput = useDatesInput();\n return /* @__PURE__ */ jsx(FormCalendar, { ...datesInput });\n};\n\nexport { SearcherTrainHotelDatesInput as default };\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport { useDestinationInput as useDestinationInput$1 } from '../../../../../hooks/inputs/useDestinationInput.mjs';\nimport { useMemo } from 'react';\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 const requiredValidation = useMemo(() => [required()], []);\n const destinationTypes = useMemo(() => [\"CIU\", \"ZON\"], []);\n return useDestinationInput$1({\n validate: requiredValidation,\n label: literals?.destinationLabel ?? \"\",\n defaultValue: defaultValues.destination,\n types: destinationTypes,\n queryParams: {\n o: \"EST\",\n p: \"or\"\n }\n });\n};\n\nexport { useDestinationInput as default };\n","import { jsx } from 'react/jsx-runtime';\nimport { FormAutocomplete } from '@babylon/ui-kit-forms/components/inputs/autocomplete';\nimport useDestinationInput from './useDestinationInput.mjs';\n\nconst SearcherTrainHotelDestinationInput = () => {\n const destinationInput = useDestinationInput();\n return /* @__PURE__ */ jsx(FormAutocomplete, { ...destinationInput });\n};\n\nexport { SearcherTrainHotelDestinationInput as default };\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport { useOriginInput as useOriginInput$1 } from '../../../../../hooks/inputs/useOriginInput.mjs';\nimport { useMemo } from 'react';\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 const requiredValidation = useMemo(() => [required()], []);\n const originTypes = useMemo(() => [\"EST\"], []);\n return useOriginInput$1({\n validate: requiredValidation,\n types: originTypes,\n label: literals?.originLabel ?? \"\",\n defaultValue: defaultValues.origin\n });\n};\n\nexport { useOriginInput as default };\n","import { jsx } from 'react/jsx-runtime';\nimport { FormAutocomplete } from '@babylon/ui-kit-forms/components/inputs/autocomplete';\nimport useOriginInput from './useOriginInput.mjs';\n\nconst SearcherTrainHotelOriginInput = () => {\n const originInput = useOriginInput();\n return /* @__PURE__ */ jsx(FormAutocomplete, { ...originInput });\n};\n\nexport { SearcherTrainHotelOriginInput 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)\n return [\"\"];\n return accommodation.rooms.map(({ adults, childrenAges }) => {\n const adultsValues = [...Array(adults)].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 if (type === \"ISL\" && value) {\n return {\n value: value.slice(4),\n type: \"ZON\"\n };\n }\n return {\n value,\n type\n };\n}\nasync function buildUrl(fieldValues, baseUrl, url = \"/packagesasyncstepssp/AvailabilityMaterial\", params = {}) {\n const { accommodation, dates, destination, origin } = fieldValues;\n let finalUrl = url;\n if (!finalUrl.startsWith(\"http\"))\n finalUrl = `${baseUrl}${url}`;\n const filters = {\n productType: \"TrainHotel\",\n LineOfBusiness: \"Packages\",\n originAirportCode: origin?.value,\n hashRooms: getAccommodationParam(accommodation).join(\"%2C\"),\n destinationType: getTypeValue(destination).type,\n destinationCode: getTypeValue(destination).value,\n departureDateStr: dates?.[0] ? await formatDate(dates?.[0], \"yyyy-LL-dd\") : \"\",\n returnDateStr: dates?.[1] ? await formatDate(dates?.[1], \"yyyy-LL-dd\") : \"\",\n FamilyDiscount: 0,\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 const handleOnSubmit = useCallback(\n async (values) => {\n addGa4Event({ event: \"search\", event_type: \"availability\", event_detail: \"packages/dynamic/train-hotel\" });\n const url = await buildUrl(values, BaseUrl, urlSubmit, params);\n window.location.assign(url);\n },\n [BaseUrl, params, 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(\n oldModel,\n \"calendar.Footer.action.items[0].content\",\n _get(oldModel, \"location.literals.modalFooterSubmit\", accommodationLiterals.accept)\n ),\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(\n oldModel,\n \"discount.config.data.items[0].label\",\n _get(oldModel, \"discounts.data.config.data.items[0].label\", \"\")\n ),\n legent: _get(\n oldModel,\n \"config.data.literal.legentDirectFlight\",\n _get(oldModel, \"calendar.Footer.directFlight\", \"\")\n ),\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\", [\"airport\"]);\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]) : [\"EST\"],\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\", [\"city\", \"zone\"]);\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]) : [\"CIU\", \"ZON\"],\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)\n return props;\n if (\"config\" in props && props.config && \"literals\" in props.config)\n return props;\n return transformOldModelToNewModelDesktop(props);\n};\nconst getTransformedPropsIfNeededMobile = (props) => {\n if (!props)\n return props;\n if (\"config\" in props && props.config && \"literals\" in props.config)\n 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)\n 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 { lazy, Suspense } from 'react';\nimport { SearcherTrainHotelProvider } from '../../context/index.mjs';\nimport useSearcherTrainHotelForm from '../../hooks/useSearcherTrainHotelForm.mjs';\nimport useSearcherTrainHotelTransformedProps from '../../hooks/useSearcherTrainHotelTransformedProps.mjs';\n\nconst SearcherTrainHotelRedirectingModal = 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, { onSubmit, defaultValues, children: /* @__PURE__ */ jsxs(SearcherTrainHotelProvider, { value: props, children: [\n children,\n /* @__PURE__ */ jsx(Suspense, { fallback: null, children: isRedirecting && /* @__PURE__ */ jsx(SearcherTrainHotelRedirectingModal, {}) })\n ] }) });\n};\n\nexport { SearcherTrainHotelForm as default };\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport { Searcher } from '../../../../others/searcher/index.mjs';\nimport { SearcherItem } from '../../../../others/searcher/styled.mjs';\nimport SearcherTrainHotelAccommodationInput from '../../components/accommodation-input/index.mjs';\nimport SearcherTrainHotelButton from '../../components/button/index.mjs';\nimport SearcherTrainHotelDatesInput from '../../components/dates-input/index.mjs';\nimport SearcherTrainHotelDestinationInput from '../../components/destination-input/index.mjs';\nimport SearcherTrainHotelOriginInput from '../../components/origin-input/index.mjs';\nimport SearcherTrainHotelForm from '../../components/searcher-form/index.mjs';\nimport { useSearcherTrainHotelProps } from '../../context/index.mjs';\n\nconst SearcherTrainHotelDesktopView = () => {\n const props = useSearcherTrainHotelProps();\n const { config, destination } = props ?? {};\n const { hideDestination = false, onModal = false } = config ?? {};\n return /* @__PURE__ */ jsxs(Searcher, { \"data-testid\": \"SearcherTrainHotel\", middleProps: { $isModal: onModal }, children: [\n /* @__PURE__ */ jsx(SearcherItem, { $variant: \"larger\", children: /* @__PURE__ */ jsx(SearcherTrainHotelOriginInput, {}) }),\n (!hideDestination || !destination) && /* @__PURE__ */ jsx(SearcherItem, { $variant: \"larger\", children: /* @__PURE__ */ jsx(SearcherTrainHotelDestinationInput, {}) }),\n /* @__PURE__ */ jsx(SearcherItem, { $variant: \"larger\", $grow: true, children: /* @__PURE__ */ jsx(SearcherTrainHotelDatesInput, {}) }),\n /* @__PURE__ */ jsx(SearcherItem, { $variant: \"larger\", children: /* @__PURE__ */ jsx(SearcherTrainHotelAccommodationInput, {}) }),\n /* @__PURE__ */ jsx(SearcherTrainHotelButton, {})\n ] });\n};\nconst SearcherTrainHotelDesktop = (props) => /* @__PURE__ */ jsx(SearcherTrainHotelForm, { ...props, children: /* @__PURE__ */ jsx(SearcherTrainHotelDesktopView, {}) });\n\nexport { SearcherTrainHotelDesktop as default };\n"],"file":"cdn-placeholder/babylon/packages/logitravel/client/chunks/index.50fe6b77.js"}