{"version":3,"file":"useSearcherAccommodation.DWZ2n72X.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/info-text/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/utils.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/context/useContextState.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/context/useSideEffects.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/context/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-accommodation-person/hooks/usePanelAccommodationPerson.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-accommodation-person/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/hooks/usePanelAccomodation.js","../../../../../../../node_modules/@babylon/ui-kit-styles/common/mixins/scroll.styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/views/desktop/themes/styles/liverpool.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/views/desktop/themes/styles/veci.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/views/desktop/themes/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/add-room/themes/styles/veci.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/add-room/themes/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/add-room/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/add-room/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-error/views/desktop/themes/styles/logitravel.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-error/views/desktop/themes/styles/partnerships.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-error/views/desktop/themes/styles/smy.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-error/views/desktop/themes/styles/veci.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-error/views/desktop/themes/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-error/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/components/panel-accommodation/components/panel-error/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/constants.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/components/discount/views/desktop/themes/styles/liverpool.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/components/discount/views/desktop/themes/styles/veci.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/components/discount/views/desktop/themes/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/components/discount/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/views/desktop/themes/styles/logitravel.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/views/desktop/themes/styles/partnerships.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/views/desktop/themes/styles/smy.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/views/desktop/themes/styles/veci.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/views/desktop/themes/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/variants/with-discounts/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/accommodation/hooks/useAccommodation.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/hooks/inputs/useSearcherAccommodation.js"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport { Info, InfoIcon } from './styled.js';\n\nconst PassengersContentDesktop = ({ infoText, variant = 'info', icon = 'info' })=>/*#__PURE__*/ jsxs(Info, {\n $variant: variant,\n \"data-testid\": \"InfoText\",\n children: [\n /*#__PURE__*/ jsx(InfoIcon, {\n className: `nico-${icon}`,\n $variant: variant\n }),\n infoText\n ]\n });\n\nexport { PassengersContentDesktop as default };\n","import { getDefaultOption } from '../../../../../helpers/select.js';\nimport cloneDeep from 'clone-deep';\n\nconst checkSelectedOptions = (people, roomPerson)=>{\n const newRoomPerson = cloneDeep(roomPerson);\n if (!newRoomPerson.selectedOptions) newRoomPerson.selectedOptions = [];\n const selectedOption = getDefaultOption(people.options);\n if (!selectedOption) return newRoomPerson.selectedOptions;\n for(let i = newRoomPerson.selectedOptions.length, length = newRoomPerson.value; i < length; i++){\n newRoomPerson.selectedOptions.push(selectedOption.value);\n }\n if (newRoomPerson.selectedOptions.length > newRoomPerson.value) {\n newRoomPerson.selectedOptions = newRoomPerson.selectedOptions.slice(0, newRoomPerson.value);\n }\n return newRoomPerson.selectedOptions;\n};\nconst transformInitialRooms = (rooms, people)=>{\n for (const [roomIndex, room] of rooms.entries()){\n for (const [personIndex, person] of room.people.entries()){\n const personConfig = people.find((config)=>config.type === person.type);\n if (!personConfig) {\n rooms[roomIndex].people = rooms[roomIndex].people.toSpliced(personIndex, 1);\n continue;\n }\n if (personConfig.options?.length) {\n if (!person.selectedOptions) person.selectedOptions = [];\n person.selectedOptions = checkSelectedOptions(personConfig, person);\n }\n }\n }\n return rooms;\n};\n\nexport { checkSelectedOptions, transformInitialRooms };\n","import { useMemo } from 'react';\nimport { transformInitialRooms } from '../utils.js';\n\nconst usePanelAccommodationContextState = ({ rooms: propsRooms, people })=>({\n state: {\n rooms: useMemo(()=>transformInitialRooms(propsRooms, people), [\n people,\n propsRooms\n ])\n },\n actions: {}\n });\n\nexport { usePanelAccommodationContextState as default };\n","import isEqual from '@babylon/ui-kit-helpers/is-equal';\nimport { useEffect } from 'react';\n\nconst usePanelAccommodationContextSideEffects = (contextValue)=>{\n const { props: { rooms: propsRooms, onChange }, state: { rooms } } = contextValue;\n useEffect(()=>{\n if (!isEqual(rooms, propsRooms)) {\n onChange(rooms);\n }\n }, [\n rooms,\n propsRooms,\n onChange\n ]);\n};\n\nexport { usePanelAccommodationContextSideEffects as default };\n","import { createFullProvider } from '@babylon/ui-kit-helpers/context';\nimport usePanelAccommodationContextState from './useContextState.js';\nimport usePanelAccommodationContextSideEffects from './useSideEffects.js';\n\nconst { Provider: PanelAccommodationProvider, useContextProps: usePanelAccommodationProps, useContextState: usePanelAccommodationState, useContextActions: usePanelAccommodationActions } = createFullProvider({\n useState: usePanelAccommodationContextState,\n useSideEffects: usePanelAccommodationContextSideEffects\n});\n\nexport { PanelAccommodationProvider, usePanelAccommodationActions, usePanelAccommodationProps, usePanelAccommodationState };\n","import cloneDeep from 'clone-deep';\nimport { useCallback } from 'react';\nimport { usePanelAccommodationProps, usePanelAccommodationState } from '../../../context/index.js';\nimport { checkSelectedOptions } from '../../../utils.js';\n\nconst usePanelAccommodationPerson = (roomIndex, personIndex)=>{\n const { people, onChange } = usePanelAccommodationProps();\n const { rooms } = usePanelAccommodationState();\n const onValueChange = useCallback((newValue)=>{\n const newRooms = cloneDeep(rooms);\n newRooms[roomIndex].people[personIndex].value = newValue;\n newRooms[roomIndex].people[personIndex].selectedOptions = checkSelectedOptions(people[personIndex], newRooms[roomIndex].people[personIndex]);\n onChange(newRooms);\n }, [\n rooms,\n people,\n personIndex,\n roomIndex,\n onChange\n ]);\n const onSelectOption = useCallback((selectedOptionIndex, newValue)=>{\n const newRooms = cloneDeep(rooms);\n newRooms[roomIndex].people[personIndex].selectedOptions[selectedOptionIndex] = newValue.value;\n onChange(newRooms);\n }, [\n onChange,\n personIndex,\n roomIndex,\n rooms\n ]);\n return {\n people,\n onValueChange,\n onSelectOption\n };\n};\n\nexport { usePanelAccommodationPerson as default };\n","import { jsx } from 'react/jsx-runtime';\nimport PersonCounterDesktop from '../../../../../../../../others/person-counter/views/desktop/index.js';\nimport { useMemo } from 'react';\nimport usePanelAccommodationPerson from '../../hooks/usePanelAccommodationPerson.js';\n\nconst PanelAccommodationPersonDesktop = ({ roomIndex, personIndex, person, disableIncrement = false, columns, disableAges = false })=>{\n const { people, onValueChange, onSelectOption } = usePanelAccommodationPerson(roomIndex, personIndex);\n const { personsLabel, optionsPersonLabel, options, personDescription, min, max } = people[personIndex];\n const select = useMemo(()=>{\n if (disableAges) return;\n return {\n label: optionsPersonLabel,\n options,\n onChange: onSelectOption,\n columns\n };\n }, [\n columns,\n disableAges,\n onSelectOption,\n options,\n optionsPersonLabel\n ]);\n return /*#__PURE__*/ jsx(PersonCounterDesktop, {\n label: personsLabel,\n description: personDescription,\n value: person.value,\n min: min,\n max: max,\n onChange: onValueChange,\n selectedOptions: !disableAges ? person.selectedOptions : undefined,\n select: select,\n disableIncrement: disableIncrement\n });\n};\n\nexport { PanelAccommodationPersonDesktop as default };\n","import cloneDeep from 'clone-deep';\nimport { useCallback, useMemo } from 'react';\nimport { usePanelAccommodationProps, usePanelAccommodationState } from '../context/index.js';\n\nconst usePanelAccommodation = (maxPeople)=>{\n const { onChange } = usePanelAccommodationProps();\n const { rooms } = usePanelAccommodationState();\n const deleteRoom = useCallback((roomIndex)=>()=>{\n const newRooms = cloneDeep(rooms);\n newRooms.splice(roomIndex, 1);\n onChange(newRooms);\n }, [\n rooms,\n onChange\n ]);\n const totalPeople = useMemo(()=>rooms.flatMap((room)=>room.people).reduce((acc, person)=>acc + person.value, 0), [\n rooms\n ]);\n const disableIncrement = !!maxPeople && maxPeople <= totalPeople;\n return {\n disableIncrement,\n rooms,\n deleteRoom\n };\n};\n\nexport { usePanelAccommodation as default };\n","import { css } from 'styled-components';\nimport { BorderRadius } from './logical.styled.js';\n\nconst VerticalScroll = /*#__PURE__*/ css([\n `&::-webkit-scrollbar{width:6px;}&::-webkit-scrollbar-thumb{background:`,\n `;`,\n `}&::-webkit-scrollbar-track{background:`,\n `;}`\n], ({ theme })=>theme.colors.grays.base, BorderRadius({\n all: '8px'\n}), ({ theme })=>theme.colors.grays.light);\n\nexport { VerticalScroll };\n","import { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius, Border, Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { css } from 'styled-components';\n\nconst liverpoolPanelAccommodationStyles = {\n PanelAccomodationContainer: ()=>/*#__PURE__*/ css([\n `&::-webkit-scrollbar{width:7px !important;}&::-webkit-scrollbar-thumb{background:`,\n ` !important;`,\n `}&::-webkit-scrollbar-track{background:`,\n ` !important;}`\n ], ({ theme })=>theme.colors.grays.lightestXL, BorderRadius({\n all: '3px !important'\n }), ({ theme })=>theme.colors.grays.lightest),\n PanelAccommodationRoomHeader: ()=>/*#__PURE__*/ css([\n `background-color:unset;`,\n ` `,\n ` p{text-transform:capitalize;`,\n ` color:`,\n `}`\n ], Border({\n y: 'unset'\n }), Padding({\n top: '16px',\n bottom: 'unset'\n }), FontMixin({\n size: 'base',\n height: 'medium',\n weight: 'semiBold'\n }), ({ theme })=>theme.colors.grays.darker),\n PanelAccommodationPanelBody: ()=>/*#__PURE__*/ css([\n ``,\n ` `,\n ``\n ], Padding({\n top: '8px',\n bottom: '16px'\n }), ({ $isLastRoom })=>!$isLastRoom && /*#__PURE__*/ css([\n `> ::before{content:'';position:absolute;bottom:0;left:16px;width:calc(100% - 32px);height:1px;background-color:`,\n `;}`\n ], ({ theme })=>theme.colors.grays.lighter))\n};\n\nexport { liverpoolPanelAccommodationStyles as default };\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { rgba } from 'polished';\nimport { css } from 'styled-components';\n\nconst veciPanelAccommodationStyles = {\n PanelAccommodationRoomHeader: ()=>/*#__PURE__*/ css([\n `background-color:`,\n `;border-color:`,\n `;&:first-of-type{border-top:0;}& > p{text-transform:capitalize;color:`,\n `;`,\n `;}`\n ], ({ theme })=>rgba(theme.colors.grays.lightest ?? theme.colors.grays.base, 0.56), ({ theme })=>theme.colors.grays.lightest, ({ theme })=>theme.colors.text.dark, FontMixin({\n weight: 'semiBold',\n height: 'base'\n })),\n PanelAccommodationRoomHeaderIcon: ()=>/*#__PURE__*/ css([\n ``,\n `{color:`,\n `;}`\n ], Icon, ({ theme })=>theme.colors.primary.base)\n};\n\nexport { veciPanelAccommodationStyles as default };\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport { ThemeId } from '@babylon/ui-kit-styles/types/theme';\nimport liverpoolPanelAccommodationStyles from './styles/liverpool.js';\nimport veciPanelAccommodationStyles from './styles/veci.js';\n\nconst panelAccommodationThemes = createThemes({\n [ThemeId.veci]: veciPanelAccommodationStyles,\n [ThemeId.partnershipsLiverpool]: liverpoolPanelAccommodationStyles\n});\n\nexport { panelAccommodationThemes as default };\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { VerticalScroll } from '@babylon/ui-kit-styles/common/mixins/scroll.styled';\nimport styled from 'styled-components';\nimport panelAccommodationThemes from './themes/index.js';\n\nconst PanelAccomodationContainer = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelAccomodationContainer\"\n})([\n `max-height:400px;overflow-y:auto;`,\n ` `,\n ``\n], VerticalScroll, panelAccommodationThemes('PanelAccomodationContainer'));\nconst PanelAccommodationPanelBody = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelAccommodationPanelBody\"\n})([\n `padding:20px 16px;`,\n ` gap:16px;overflow-y:auto;position:relative;`,\n ``\n], FlexMixin({\n direction: 'column'\n}), panelAccommodationThemes('PanelAccommodationPanelBody'));\nconst PanelAccommodationRoomHeader = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelAccommodationRoomHeader\"\n})([\n ``,\n ` padding:12px 16px;background-color:`,\n `;border-top:1px solid;border-bottom:1px solid;border-color:`,\n `;color:`,\n `;& > p{`,\n ` text-transform:uppercase;}`,\n ``\n], FlexMixin({\n justify: 'space-between',\n align: 'center'\n}), ({ theme })=>theme.colors.grays.lighter, ({ theme })=>theme.colors.grays.light, ({ theme })=>theme.colors.grays.dark, FontMixin({\n size: 'medium',\n weight: 'regular'\n}), panelAccommodationThemes('PanelAccommodationRoomHeader'));\nconst PanelAccommodationRoomHeaderIcon = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelAccommodationRoomHeaderIcon\"\n})([\n ``,\n ` `,\n ` background-color:transparent;color:`,\n `;cursor:pointer;height:22px;outline:0;width:22px;`,\n `{`,\n `}`,\n ``\n], BorderRadius({\n all: '50%'\n}), FlexMixin({\n align: 'center',\n justify: 'center'\n}), ({ theme })=>theme.colors.grays.base, Icon, FontMixin({\n size: 'base'\n}), panelAccommodationThemes('PanelAccommodationRoomHeaderIcon'));\nconst PanelAccommodationPortals = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelAccommodationPortals\"\n})([\n `position:absolute;top:0;left:0;z-index:`,\n `;`\n], ({ theme })=>theme.zIndex.highest);\n\nexport { PanelAccommodationPanelBody, PanelAccommodationPortals, PanelAccommodationRoomHeader, PanelAccommodationRoomHeaderIcon, PanelAccomodationContainer };\n","import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport ScrollIntoView from '@babylon/ui-kit-structures/components/others/scroll-into-view';\nimport { Children } from 'react';\nimport { checkAdultsPerRoom } from '../../../../../../../helpers/validate.js';\nimport PassengersContentDesktop from '../../components/info-text/index.js';\nimport PanelAccommodationPersonDesktop from '../../components/panel-accommodation-person/views/desktop/index.js';\nimport { PanelAccommodationProvider } from '../../context/index.js';\nimport usePanelAccommodation from '../../hooks/usePanelAccomodation.js';\nimport { PanelAccomodationContainer, PanelAccommodationRoomHeader, PanelAccommodationRoomHeaderIcon, PanelAccommodationPanelBody, PanelAccommodationPortals } from './styled.js';\n\nconst PanelAccommodationDesktopView = ({ config: { literals, maxPeople, columns }, goToLast = false, disableAges = false })=>{\n const { roomLabel = '', errorMinAdults = '' } = literals ?? {};\n const { disableIncrement, rooms, deleteRoom } = usePanelAccommodation(maxPeople);\n return /*#__PURE__*/ jsxs(PanelAccomodationContainer, {\n \"data-testid\": \"PanelAccommodation\",\n children: [\n Children.toArray(rooms.map((room, roomIndex)=>{\n const totalAdults = checkAdultsPerRoom(room);\n return /*#__PURE__*/ jsxs(Fragment, {\n children: [\n /*#__PURE__*/ jsxs(PanelAccommodationRoomHeader, {\n children: [\n /*#__PURE__*/ jsx(\"p\", {\n children: roomLabel?.replace('#number#', (roomIndex + 1).toString())\n }),\n rooms.length > 1 && /*#__PURE__*/ jsx(PanelAccommodationRoomHeaderIcon, {\n onClick: deleteRoom(roomIndex),\n children: /*#__PURE__*/ jsx(Icon, {\n className: \"nico-cancel\"\n })\n })\n ]\n }),\n totalAdults < 1 && /*#__PURE__*/ jsx(PassengersContentDesktop, {\n variant: \"error\",\n icon: \"exclamation\",\n infoText: errorMinAdults\n }),\n /*#__PURE__*/ jsx(PanelAccommodationPanelBody, {\n $isLastRoom: rooms.length - 1 === roomIndex,\n children: room.people.map((person, personIndex)=>/*#__PURE__*/ jsx(ScrollIntoView, {\n behavior: \"smooth\",\n block: \"nearest\",\n scrollToView: goToLast && personIndex === room.people.length - 1,\n children: /*#__PURE__*/ jsx(PanelAccommodationPersonDesktop, {\n roomIndex: roomIndex,\n personIndex: personIndex,\n person: person,\n disableIncrement: disableIncrement,\n columns: columns,\n disableAges: disableAges\n })\n }, genKey(person)))\n })\n ]\n });\n })),\n /*#__PURE__*/ jsx(PanelAccommodationPortals, {\n id: \"panel-accommodation-portals\",\n \"data-testid\": \"PanelAccommodationPortal\"\n })\n ]\n });\n};\nconst PanelAccommodationDesktop = (props)=>/*#__PURE__*/ jsx(PanelAccommodationProvider, {\n value: props,\n children: /*#__PURE__*/ jsx(PanelAccommodationDesktopView, {\n ...props\n })\n });\n\nexport { PanelAccommodationDesktop as default };\n","import { FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Padding, BorderRadius } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { css } from 'styled-components';\n\nconst veciAddRoomStyles = {\n AddRoomButton: ()=>/*#__PURE__*/ css([\n ``,\n `;min-height:auto;height:auto;text-decoration:underline;`,\n `;`,\n ``\n ], Padding({\n x: '0'\n }), BorderRadius({\n all: '0'\n }), FontMixin({\n height: 'base'\n }))\n};\n\nexport { veciAddRoomStyles as default };\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport { ThemeId } from '@babylon/ui-kit-styles/types/theme';\nimport veciAddRoomStyles from './styles/veci.js';\n\nconst addRoomThemes = createThemes({\n [ThemeId.veci]: veciAddRoomStyles\n});\n\nexport { addRoomThemes as default };\n","import { Button } from '@babylon/ui-kit-base/components/buttons/button';\nimport { FontMixin, FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\nimport addRoomThemes from './themes/index.js';\n\nconst AddRoomButton = /*#__PURE__*/ styled(Button).withConfig({\n displayName: \"AddRoomButton\"\n})([\n `color:`,\n `;`,\n ` `,\n ` text-transform:initial;&.has-error{opacity:0.5;}`,\n ``\n], ({ theme })=>theme.colors.primary.base, FontMixin({\n size: 'medium',\n weight: 'regular'\n}), FlexMixin({\n align: 'center'\n}), addRoomThemes('AddRoomButton'));\n\nexport { AddRoomButton };\n","import { jsx } from 'react/jsx-runtime';\nimport classNames from 'classnames';\nimport { AddRoomButton } from './styled.js';\n\nconst AddRoom = ({ addRoom, hasError = false, onAddRoom, height = '32px' })=>/*#__PURE__*/ jsx(AddRoomButton, {\n \"data-testid\": \"AddRoom\",\n className: classNames({\n 'has-error': hasError\n }),\n onClick: onAddRoom,\n p: \"0\",\n size: \"small\",\n height: height,\n children: addRoom\n });\n\nexport { AddRoom as default };\n","import { css } from 'styled-components';\n\nconst logitravelPanelErrorDesktopStyles = {\n PanelError: ()=>/*#__PURE__*/ css([\n `background-color:`,\n `;`\n ], ({ theme })=>theme.colors.primary.lightest)\n};\n\nexport { logitravelPanelErrorDesktopStyles as default };\n","import { css } from 'styled-components';\n\nconst partnershipsPanelErrorDesktopStyles = {\n PanelError: ()=>/*#__PURE__*/ css([\n `background-color:`,\n `;`\n ], ({ theme })=>theme.colors.secondary.light)\n};\n\nexport { partnershipsPanelErrorDesktopStyles as default };\n","import { css } from 'styled-components';\n\nconst smyPanelErrorDesktopStyles = {\n PanelError: ()=>/*#__PURE__*/ css([\n `background-color:`,\n `;`\n ], ({ theme })=>theme.colors.primary.lightest)\n};\n\nexport { smyPanelErrorDesktopStyles as default };\n","import { css } from 'styled-components';\n\nconst veciPanelErrorDesktopStyles = {\n PanelError: ()=>/*#__PURE__*/ css([\n `background-color:`,\n `;`\n ], ({ theme })=>theme.colors.primary.lightest)\n};\n\nexport { veciPanelErrorDesktopStyles as default };\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport logitravelPanelErrorDesktopStyles from './styles/logitravel.js';\nimport partnershipsPanelErrorDesktopStyles from './styles/partnerships.js';\nimport smyPanelErrorDesktopStyles from './styles/smy.js';\nimport veciPanelErrorDesktopStyles from './styles/veci.js';\n\nconst panelErrorDesktopThemes = createThemes({\n logitravel: logitravelPanelErrorDesktopStyles,\n partnerships: partnershipsPanelErrorDesktopStyles,\n smy: smyPanelErrorDesktopStyles,\n veci: veciPanelErrorDesktopStyles\n});\n\nexport { panelErrorDesktopThemes as default };\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\nimport panelErrorDesktopThemes from './themes/index.js';\n\nconst PanelError = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"PanelError\"\n})([\n ``,\n ` background-color:`,\n `;gap:8px;`,\n `{margin-right:8px;color:`,\n `;}`,\n ``\n], FlexMixin({\n align: 'center',\n justify: 'space-between'\n}), ({ theme })=>theme.colors.primary.lightest, Icon, ({ theme })=>theme.colors.primary.light, panelErrorDesktopThemes('PanelError'));\n\nexport { PanelError };\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { PanelError } from './styled.js';\n\nconst PanelErrorDesktop = ({ error })=>/*#__PURE__*/ jsx(PanelError, {\n \"data-testid\": \"PanelErrorDesktop\",\n className: \"panel-error\",\n children: /*#__PURE__*/ jsxs(\"p\", {\n children: [\n /*#__PURE__*/ jsx(Icon, {\n className: \"nico-info\"\n }),\n error\n ]\n })\n });\n\nexport { PanelErrorDesktop as default };\n","const defaultAccommodationRoom = {\n seniors: 0,\n adults: 2,\n children: 0,\n childrenAges: []\n};\nconst defaultAccommodation = {\n rooms: [\n defaultAccommodationRoom\n ]\n};\nconst defaultRestrictions = {\n seniors: {\n min: 0,\n max: 9,\n value: 0\n },\n adults: {\n min: 0,\n max: 9,\n value: 1\n },\n children: {\n min: 0,\n max: 9,\n value: 1,\n maxAge: 17\n }\n};\n\nexport { defaultAccommodation, defaultAccommodationRoom, defaultRestrictions };\n","import { InputLabel } from '../../../../../../../../../input/styled.js';\nimport { Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { css } from 'styled-components';\n\nconst liverpoolDiscountStyles = {\n DiscountSelect: ()=>/*#__PURE__*/ css([\n ``,\n `{`,\n `}`\n ], InputLabel, Padding({\n left: '44px'\n }))\n};\n\nexport { liverpoolDiscountStyles as default };\n","import { css } from 'styled-components';\n\nconst veciDiscountStyles = {\n DiscountSelect: ()=>/*#__PURE__*/ css([\n ``\n ])\n};\n\nexport { veciDiscountStyles as default };\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport { ThemeId } from '@babylon/ui-kit-styles/types/theme';\nimport liverpoolDiscountStyles from './styles/liverpool.js';\nimport veciDiscountStyles from './styles/veci.js';\n\nconst discountThemes = createThemes({\n [ThemeId.veci]: veciDiscountStyles,\n [ThemeId.partnershipsLiverpool]: liverpoolDiscountStyles\n});\n\nexport { discountThemes as default };\n","import { InputWrapper } from '../../../../../../../input/styled.js';\nimport SelectDesktop from '../../../../../../../select/views/desktop/index.js';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { BorderRadius } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\nimport discountThemes from './themes/index.js';\n\nconst DiscountWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"DiscountWrapper\"\n})([\n ``,\n ` & > p{`,\n ` color:`,\n `;flex-basis:100%;font-weight:700;margin-bottom:8px;}`\n], FlexMixin({\n wrap: true\n}), FontMixin({\n size: 'base',\n weight: 'bold',\n height: 'medium'\n}), ({ theme })=>theme.colors.grays.darker);\nconst DiscountSelect = /*#__PURE__*/ styled(SelectDesktop).withConfig({\n displayName: \"DiscountSelect\"\n})([\n ``,\n ` border:1px solid `,\n `;`,\n `{--outline-width:1px;--outline-color-default:#e2e2e2;}`,\n ``\n], BorderRadius({\n all: '4px'\n}), ({ theme })=>theme.colors.grays.light, InputWrapper, discountThemes('DiscountSelect'));\nconst ContainerSelect = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ContainerSelect\"\n})([\n `flex-basis:calc(50% - 8px);&:nth-child(1):nth-last-child(1){flex-basis:100%;}`\n]);\nconst DiscountBody = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"DiscountBody\"\n})([\n `flex-basis:100%;`,\n ``\n], FlexMixin({\n justify: 'space-between'\n}));\n\nexport { ContainerSelect, DiscountBody, DiscountSelect, DiscountWrapper };\n","import { css } from 'styled-components';\n\nconst logitravelAccommodationWithDiscountsDesktopStyles = {\n InputPanelFooter: ()=>/*#__PURE__*/ css([\n `& > .panel-error{background-color:`,\n `;}`\n ], ({ theme })=>theme.colors.primary.lightest)\n};\n\nexport { logitravelAccommodationWithDiscountsDesktopStyles as default };\n","import { css } from 'styled-components';\n\nconst partnershipsAccommodationWithDiscountsDesktopStyles = {\n InputPanelFooter: ()=>/*#__PURE__*/ css([\n `& > .panel-error{background-color:`,\n `;}`\n ], ({ theme })=>theme.colors.secondary.light)\n};\n\nexport { partnershipsAccommodationWithDiscountsDesktopStyles as default };\n","import { css } from 'styled-components';\n\nconst smyAccommodationWithDiscountsDesktopStyles = {\n InputPanelFooter: ()=>/*#__PURE__*/ css([\n `& > .panel-error{background-color:`,\n `;}`\n ], ({ theme })=>theme.colors.primary.lightest)\n};\n\nexport { smyAccommodationWithDiscountsDesktopStyles as default };\n","import { css } from 'styled-components';\n\nconst veciAccommodationWithDiscountsDesktopStyles = {\n InputPanelFooter: ()=>/*#__PURE__*/ css([\n `border-top-color:`,\n `;& > .panel-error{background-color:`,\n `;}`\n ], ({ theme })=>theme.colors.grays.lightest, ({ theme })=>theme.colors.primary.lightest)\n};\n\nexport { veciAccommodationWithDiscountsDesktopStyles as default };\n","import { createThemes } from '@babylon/ui-kit-styles/common/themes';\nimport logitravelAccommodationWithDiscountsDesktopStyles from './styles/logitravel.js';\nimport partnershipsAccommodationWithDiscountsDesktopStyles from './styles/partnerships.js';\nimport smyAccommodationWithDiscountsDesktopStyles from './styles/smy.js';\nimport veciAccommodationWithDiscountsDesktopStyles from './styles/veci.js';\n\nconst accommodationWithDiscountsDesktopThemes = createThemes({\n logitravel: logitravelAccommodationWithDiscountsDesktopStyles,\n partnerships: partnershipsAccommodationWithDiscountsDesktopStyles,\n smy: smyAccommodationWithDiscountsDesktopStyles,\n veci: veciAccommodationWithDiscountsDesktopStyles\n});\n\nexport { accommodationWithDiscountsDesktopThemes as default };\n","import { PanelFooter } from '../../../../../../others/input-panel/views/desktop/styled.js';\nimport { FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Padding } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport styled from 'styled-components';\nimport { DiscountWrapper } from '../../components/discount/views/desktop/styled.js';\nimport accommodationWithDiscountsDesktopThemes from './themes/index.js';\n\nconst Header = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Header\"\n})([\n ``,\n ` display:flex;& > p{margin-right:15px;}& > button{margin-left:auto;white-space:nowrap;}`\n], FlexMixin({\n align: 'center',\n justify: 'space-between'\n}));\nconst AccomodationWithDiscounts = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"AccomodationWithDiscounts\"\n})([\n ``,\n `{`,\n ` --primary-background:`,\n `;}`\n], PanelFooter, FlexMixin({\n direction: 'column'\n}), ({ theme })=>theme.colors.white.base);\nconst ButtonWrapper = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"ButtonWrapper\"\n})([\n ``,\n ` `,\n ` button{`,\n `}`\n], Padding({\n all: '16px'\n}), FlexMixin({\n justify: 'flex-end'\n}), FlexMixin({\n align: 'center'\n}));\nconst InputPanelFooter = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"InputPanelFooter\"\n})([\n `border-top:1px solid `,\n `;& > .panel-error{padding:16px;background-color:`,\n `;}`,\n `{padding:16px;}`,\n ``\n], ({ theme })=>theme.colors.grays.light, ({ theme })=>theme.colors.primary.lightest, DiscountWrapper, accommodationWithDiscountsDesktopThemes('InputPanelFooter'));\n\nexport { AccomodationWithDiscounts, ButtonWrapper, Header, InputPanelFooter };\n","import { jsx } from 'react/jsx-runtime';\nimport { Button } from '@babylon/ui-kit-base/components/buttons/button';\nimport { accommodationToRooms, createAccommodationRoom, roomsToAccommodation, initialOptions, transformAccommodationValueToText } from '../../../../helpers/accommodation.js';\nimport cloneDeep from 'clone-deep';\nimport { useMemo, useState, useCallback } from 'react';\nimport { PersonRoomType } from '../components/panel-accommodation/types.js';\nimport { defaultAccommodationRoom, defaultRestrictions } from '../constants.js';\nimport { ButtonWrapper } from '../variants/with-discounts/views/desktop/styled.js';\n\nconst useAccommodation = (props)=>{\n const { value, onChange, label, disabled, icon, onBlur, literals, columns, error, hasError } = props;\n const { seniorLabel = '', seniorsLabel = '', seniorsDescription = '', adultLabel = '', adultsLabel = '', adultsDescription = '', childLabel = '', childrenLabel = '', childrenDescription = '', agePersonLabel = '', agesDescription = '', errorMaxPeople = '', errorMaxRooms = '' } = literals ?? {};\n const panelRooms = useMemo(()=>accommodationToRooms(value?.rooms), [\n value?.rooms\n ]);\n const [goToLast, setGoToLast] = useState(false);\n const getTotalPeople = useCallback(()=>value?.rooms?.map((room)=>(room.adults ?? 0) + (room.children ?? 0)).reduce((acc, value)=>acc + value, 0) ?? 0, [\n value?.rooms\n ]);\n const getErrors = useCallback(()=>{\n if (value?.maxPeople && value.maxPeople <= getTotalPeople()) {\n const error = errorMaxPeople.replace('#number#', value.maxPeople.toString());\n return {\n hasError: true,\n error\n };\n }\n if (value?.maxRooms && value.maxRooms <= (value?.rooms?.length ?? 0)) {\n const error = errorMaxRooms.replace('#number#', value.maxRooms.toString());\n return {\n hasError: true,\n error\n };\n }\n if (!!props.error || props.hasError) {\n return {\n hasError: props.hasError,\n error: props.error\n };\n }\n return {\n hasError: false,\n error: undefined\n };\n }, [\n errorMaxRooms,\n errorMaxPeople,\n value?.maxRooms,\n value?.maxPeople,\n value?.rooms,\n props.hasError,\n props.error,\n getTotalPeople\n ]);\n const onAddRoom = useCallback((e)=>{\n e.preventDefault();\n const { hasError } = getErrors();\n if (hasError) return;\n const newValue = cloneDeep(value ?? {\n rooms: []\n });\n const { adults, children } = createAccommodationRoom(value?.maxPeople, getTotalPeople(), defaultAccommodationRoom);\n newValue.rooms?.push({\n ...defaultAccommodationRoom,\n adults,\n children\n });\n onChange?.(newValue);\n setGoToLast(true);\n setTimeout(()=>setGoToLast(false), 200);\n }, [\n value,\n onChange,\n getTotalPeople,\n getErrors\n ]);\n const onChangeRooms = useCallback((rooms)=>{\n const accommodationRoom = roomsToAccommodation(rooms);\n const newValue = cloneDeep(value ?? {\n rooms: []\n });\n newValue.rooms = accommodationRoom;\n onChange?.(newValue);\n }, [\n value,\n onChange\n ]);\n const renderFooter = useCallback(({ close })=>/*#__PURE__*/ jsx(ButtonWrapper, {\n children: /*#__PURE__*/ jsx(Button, {\n variant: \"primary\",\n height: \"40px\",\n onClick: close,\n children: literals?.accept\n })\n }), [\n literals?.accept\n ]);\n const config = useMemo(()=>({\n literals,\n maxPeople: value?.maxPeople,\n maxRooms: value?.maxRooms,\n columns\n }), [\n value?.maxPeople,\n value?.maxRooms,\n literals,\n columns\n ]);\n const checkValueKey = useCallback((key)=>value?.[key] && value?.rooms?.every((room)=>typeof room[key] !== 'undefined'), [\n value\n ]);\n const people = useMemo(()=>{\n const finalPeople = [];\n if (checkValueKey('seniors')) finalPeople.push({\n personLabel: seniorLabel,\n personsLabel: seniorsLabel,\n personDescription: seniorsDescription,\n min: value?.seniors?.min ?? defaultRestrictions.adults.min,\n max: value?.seniors?.max ?? defaultRestrictions.adults.max,\n value: value?.seniors?.value ?? defaultRestrictions.adults.value,\n type: PersonRoomType.Senior\n });\n if (checkValueKey('adults')) finalPeople.push({\n personLabel: adultLabel,\n personsLabel: adultsLabel,\n personDescription: adultsDescription,\n min: value?.adults?.min ?? defaultRestrictions.adults.min,\n max: value?.adults?.max ?? defaultRestrictions.adults.max,\n value: value?.adults?.value ?? defaultRestrictions.adults.value,\n type: PersonRoomType.Adult\n });\n if (checkValueKey('children')) finalPeople.push({\n personLabel: childLabel,\n personsLabel: childrenLabel,\n personDescription: childrenDescription,\n labelForEachOption: agePersonLabel,\n min: value?.children?.min ?? defaultRestrictions.children.min,\n max: value?.children?.max ?? defaultRestrictions.children.max,\n value: value?.children?.value ?? defaultRestrictions.children.value,\n optionsPersonLabel: agesDescription,\n options: initialOptions(value?.children?.maxAge ?? defaultRestrictions.children.maxAge, value?.children?.defaultAge),\n type: PersonRoomType.Child\n });\n return finalPeople;\n }, [\n adultLabel,\n adultsDescription,\n adultsLabel,\n agePersonLabel,\n agesDescription,\n checkValueKey,\n childLabel,\n childrenDescription,\n childrenLabel,\n seniorLabel,\n seniorsDescription,\n seniorsLabel,\n value?.adults?.max,\n value?.adults?.min,\n value?.adults?.value,\n value?.children?.defaultAge,\n value?.children?.max,\n value?.children?.maxAge,\n value?.children?.min,\n value?.children?.value,\n value?.seniors?.max,\n value?.seniors?.min,\n value?.seniors?.value\n ]);\n const inputProps = useMemo(()=>({\n label,\n value: value ? transformAccommodationValueToText(value, literals) : '',\n disabled,\n icon,\n onBlur,\n error,\n hasError\n }), [\n label,\n value,\n literals,\n disabled,\n icon,\n onBlur,\n error,\n hasError\n ]);\n return {\n panelRooms,\n config,\n people,\n goToLast,\n inputProps,\n ...getErrors(),\n onAddRoom,\n onChangeRooms,\n renderFooter\n };\n};\n\nexport { useAccommodation as default };\n","import { getValidFormAccommodationProps } from '@babylon/ui-kit-forms/helpers/accommodation';\nimport useIsMobile from '@babylon/ui-kit-hooks/device/useIsMobile';\n\nconst useSearcherAccommodation = (config, searcherAccommodation = {})=>{\n const isMobile = useIsMobile();\n const icon = isMobile ? '' : 'user';\n return getValidFormAccommodationProps({\n ...config,\n ...searcherAccommodation,\n icon\n });\n};\n\nexport { useSearcherAccommodation as default };\n"],"names":["PassengersContentDesktop","infoText","variant","icon","jsxs","Info","jsx","InfoIcon","checkSelectedOptions","people","roomPerson","newRoomPerson","cloneDeep","selectedOption","getDefaultOption","length","transformInitialRooms","rooms","roomIndex","room","personIndex","person","personConfig","config","_a","usePanelAccommodationContextState","propsRooms","useMemo","usePanelAccommodationContextSideEffects","contextValue","onChange","useEffect","isEqual","PanelAccommodationProvider","usePanelAccommodationProps","usePanelAccommodationState","usePanelAccommodationActions","createFullProvider","usePanelAccommodationPerson","onValueChange","useCallback","newValue","newRooms","onSelectOption","selectedOptionIndex","PanelAccommodationPersonDesktop","disableIncrement","columns","disableAges","personsLabel","optionsPersonLabel","options","personDescription","min","max","select","PersonCounterDesktop","usePanelAccommodation","maxPeople","deleteRoom","totalPeople","acc","VerticalScroll","css","theme","BorderRadius","liverpoolPanelAccommodationStyles","Border","Padding","FontMixin","$isLastRoom","veciPanelAccommodationStyles","rgba","Icon","panelAccommodationThemes","createThemes","ThemeId","PanelAccomodationContainer","styled","PanelAccommodationPanelBody","FlexMixin","PanelAccommodationRoomHeader","PanelAccommodationRoomHeaderIcon","PanelAccommodationPortals","PanelAccommodationDesktopView","literals","goToLast","roomLabel","errorMinAdults","Children","totalAdults","checkAdultsPerRoom","Fragment","ScrollIntoView","genKey","PanelAccommodationDesktop","props","veciAddRoomStyles","addRoomThemes","AddRoomButton","Button","AddRoom","addRoom","hasError","onAddRoom","height","classNames","logitravelPanelErrorDesktopStyles","partnershipsPanelErrorDesktopStyles","smyPanelErrorDesktopStyles","veciPanelErrorDesktopStyles","panelErrorDesktopThemes","PanelError","PanelErrorDesktop","error","defaultAccommodationRoom","defaultRestrictions","liverpoolDiscountStyles","InputLabel","veciDiscountStyles","discountThemes","DiscountWrapper","DiscountSelect","SelectDesktop","InputWrapper","ContainerSelect","DiscountBody","logitravelAccommodationWithDiscountsDesktopStyles","partnershipsAccommodationWithDiscountsDesktopStyles","smyAccommodationWithDiscountsDesktopStyles","veciAccommodationWithDiscountsDesktopStyles","accommodationWithDiscountsDesktopThemes","Header","AccomodationWithDiscounts","PanelFooter","ButtonWrapper","InputPanelFooter","useAccommodation","value","label","disabled","onBlur","seniorLabel","seniorsLabel","seniorsDescription","adultLabel","adultsLabel","adultsDescription","childLabel","childrenLabel","childrenDescription","agePersonLabel","agesDescription","errorMaxPeople","errorMaxRooms","panelRooms","accommodationToRooms","setGoToLast","useState","getTotalPeople","getErrors","e","adults","children","createAccommodationRoom","onChangeRooms","accommodationRoom","roomsToAccommodation","renderFooter","close","checkValueKey","key","finalPeople","_b","_c","PersonRoomType","_d","_e","_f","_g","_h","_i","initialOptions","_j","_k","inputProps","transformAccommodationValueToText","useSearcherAccommodation","searcherAccommodation","useIsMobile","getValidFormAccommodationProps"],"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]}