{"version":3,"file":"usePassengers.h35jjoU8.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/row/hook/usePassengersRow.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/row/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/row/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/row/views/mobile/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/row/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/content/components/info-text/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/content/components/info-text/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/content/hooks/useValidateMinAdults.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/hooks/useFormPassengers.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/footer/views/desktop/styled.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/footer/views/desktop/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/footer/views/mobile/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/components/footer/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/utils.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/passengers/hooks/usePassengers.js"],"sourcesContent":["import { getDefaultOption } from '../../../../../../helpers/select.js';\nimport { useMemo } from 'react';\n\nconst usePassengersRow = (props)=>{\n const { passenger } = props;\n const selectedOptions = useMemo(()=>{\n if (passenger.selectedOptions) {\n return passenger.selectedOptions;\n }\n if (passenger.options) {\n const defaultSelectedOption = getDefaultOption(passenger.options);\n const finalSelectedOptions = [];\n for(let i = 0; i < passenger.value; i++){\n finalSelectedOptions.push(defaultSelectedOption?.value);\n }\n return finalSelectedOptions;\n }\n return [];\n }, [\n passenger.options,\n passenger.selectedOptions,\n passenger.value\n ]);\n return {\n selectedOptions\n };\n};\n\nexport { usePassengersRow as default };\n//# sourceMappingURL=usePassengersRow.js.map\n","import styled from 'styled-components';\n\nconst Row = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Row\"\n})([\n `padding:16px 0;& + &{border-top:1px solid `,\n `;}`\n], ({ theme })=>theme.colors.grays.light);\n\nexport { Row };\n//# sourceMappingURL=styled.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport PersonCounterDesktop from '../../../../../../others/person-counter/views/desktop/index.js';\nimport { useMemo } from 'react';\nimport usePassengersRow from '../../hook/usePassengersRow.js';\nimport { Row } from './styled.js';\n\nconst PassengersRowDesktop = (props)=>{\n const { passenger, label, info, description, columns, disableIncrement, onChange, onSelectChange } = props;\n const { selectedOptions } = usePassengersRow(props);\n const select = useMemo(()=>({\n label: passenger.optionsLabel,\n columns,\n options: passenger.options,\n onChange: onSelectChange\n }), [\n columns,\n onSelectChange,\n passenger.options,\n passenger.optionsLabel\n ]);\n return /*#__PURE__*/ jsx(Row, {\n \"data-testid\": \"PassengersRow\",\n className: \"passanger-row\",\n children: /*#__PURE__*/ jsx(PersonCounterDesktop, {\n description: description || passenger.description,\n disableIncrement: disableIncrement,\n info: info,\n label: label,\n labelVariant: \"horizontal\",\n max: passenger.max,\n min: passenger.min,\n onChange: onChange,\n select: select,\n selectedOptions: selectedOptions,\n tooltip: passenger.tooltip,\n value: passenger.value,\n variant: \"horizontal\"\n })\n });\n};\n\nexport { PassengersRowDesktop as default };\n//# sourceMappingURL=index.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport PersonCounterMobile from '../../../../../../others/person-counter/views/mobile/index.js';\nimport { useMemo } from 'react';\nimport usePassengersRow from '../../hook/usePassengersRow.js';\n\nconst PassengersRowMobile = (props)=>{\n const { passenger, label = '', ageLabel = '', info, description = '', labelForEachOption = '', disableIncrement, onChange, onSelectChange } = props;\n const { selectedOptions } = usePassengersRow(props);\n const select = useMemo(()=>({\n label: passenger.optionsLabel,\n options: passenger.options,\n onChange: onSelectChange\n }), [\n onSelectChange,\n passenger.options,\n passenger.optionsLabel\n ]);\n return /*#__PURE__*/ jsx(\"div\", {\n \"data-testid\": \"PassengersRow\",\n className: \"passanger-row-mobile\",\n children: /*#__PURE__*/ jsx(PersonCounterMobile, {\n label: label,\n description: description || passenger.description,\n info: info,\n min: passenger.min,\n max: passenger.max,\n tooltip: passenger.tooltip,\n value: passenger.value,\n onChange: onChange,\n labelForEachOption: labelForEachOption,\n selectedOptions: selectedOptions,\n select: select,\n disableIncrement: disableIncrement,\n ageLabel: ageLabel\n })\n });\n};\n\nexport { PassengersRowMobile as default };\n//# sourceMappingURL=index.js.map\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport PassengersRowDesktop from './views/desktop/index.js';\nimport PassengersRowMobile from './views/mobile/index.js';\n\nconst PassengersRow = generateViewsComponent(PassengersRowDesktop, PassengersRowMobile);\n\nexport { PassengersRow as default };\n//# sourceMappingURL=index.js.map\n","import Icon from '@babylon/ui-kit-base/components/icons/icon';\nimport { FlexMixin, FontMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport { Border, Margin } from '@babylon/ui-kit-styles/common/mixins/logical.styled';\nimport { rgba } from 'polished';\nimport styled, { css } from 'styled-components';\n\nconst Info = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Info\"\n})([\n `--color:`,\n `;--border-color:`,\n `;--background-color:`,\n `;`,\n ` `,\n ` gap:12px;padding:12px;color:var(--color);`,\n ` `,\n ` background-color:var(--background-color);`,\n ``\n], ({ theme })=>theme.colors.primary.light, ({ theme })=>theme.colors.primary.lightest, ({ theme })=>rgba(theme.colors.primary.lightest, 0.56), FlexMixin(), FontMixin({\n size: 'medium',\n height: 'base',\n weight: 'light'\n}), Border({\n top: `1px solid var(--border-color)`\n}), Border({\n bottom: `1px solid var(--border-color)`\n}), ({ $variant })=>$variant === 'error' ? /*#__PURE__*/ css([\n `--color:`,\n `;--border-color:`,\n `;--background-color:`,\n `;`,\n ` `,\n ` `,\n `{`,\n `}`\n ], ({ theme })=>theme.colors.white.base, ({ theme })=>theme.colors.status.error, ({ theme })=>theme.colors.status.error, FlexMixin({\n align: 'center'\n }), Margin({\n bottom: '16px'\n }), ({ theme })=>theme.media.tabletPortrait.up, Margin({\n bottom: '0'\n })) : '');\nconst InfoIcon = /*#__PURE__*/ styled(Icon).withConfig({\n displayName: \"InfoIcon\"\n})([\n `--color:`,\n `;font-size:28px;color:var(--color);`,\n ``\n], ({ theme })=>theme.colors.primary.light, ({ $variant })=>$variant === 'error' ? /*#__PURE__*/ css([\n `--color:`,\n `;`\n ], ({ theme })=>theme.colors.white.base) : '');\n\nexport { Info, InfoIcon };\n//# sourceMappingURL=styled.js.map\n","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//# sourceMappingURL=index.js.map\n","import { useState, useEffect } from 'react';\n\nconst useValidateMinAdults = (infoValidate, value)=>{\n const [infoValidateError, setInfoValidateError] = useState();\n useEffect(()=>{\n const getInfoValidateError = async ()=>{\n if (!infoValidate) return;\n if (Array.isArray(infoValidate)) {\n for (const validate of infoValidate){\n const error = await validate(value, {});\n if (error) return error;\n }\n return;\n }\n const error = await infoValidate(value, {});\n if (error) return error;\n };\n getInfoValidateError().then((error)=>{\n if (!error || typeof error === 'string') return setInfoValidateError(error);\n setInfoValidateError('message' in error ? error.message : error);\n }).catch(console.error);\n }, [\n infoValidate,\n value\n ]);\n return {\n infoValidateError\n };\n};\n\nexport { useValidateMinAdults as default };\n//# sourceMappingURL=useValidateMinAdults.js.map\n","import { useInput } from '../../../../hooks/useInput/index.js';\n\nconst useFormPassengers = (props)=>{\n const { isHiddenRequired: _isHiddenRequired, ...rest } = props;\n const { field, label, error, hasError } = useInput(props);\n return {\n ...rest,\n ...field,\n label,\n hasError,\n error\n };\n};\n\nexport { useFormPassengers as default };\n//# sourceMappingURL=useFormPassengers.js.map\n","import { FlexMixin } from '@babylon/ui-kit-styles/common/mixins/helpers.styled';\nimport styled from 'styled-components';\n\nconst Footer = /*#__PURE__*/ styled.div.withConfig({\n displayName: \"Footer\"\n})([\n ``,\n ` gap:8px;`\n], FlexMixin({\n align: 'center',\n justify: 'space-between'\n}));\n\nexport { Footer };\n//# sourceMappingURL=styled.js.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { Button } from '@babylon/ui-kit-base/components/buttons/button';\nimport { Footer } from './styled.js';\n\nconst PassengersFooterDesktop = (props)=>{\n const { literals, onClick } = props;\n const { ageAtTravelTimeLabel = '', acceptLabel = '' } = literals ?? {};\n if (!ageAtTravelTimeLabel && !acceptLabel) return null;\n return /*#__PURE__*/ jsxs(Footer, {\n \"data-testid\": \"PassengersFooter\",\n className: \"passengers-footer\",\n children: [\n /*#__PURE__*/ jsx(\"div\", {\n className: \"passengers-footer-text\",\n children: ageAtTravelTimeLabel\n }),\n acceptLabel && /*#__PURE__*/ jsx(Button, {\n variant: \"primary\",\n size: \"small\",\n onClick: onClick,\n children: acceptLabel\n })\n ]\n });\n};\n\nexport { PassengersFooterDesktop as default };\n//# sourceMappingURL=index.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { ButtonPanel } from '@babylon/ui-kit-base/components/buttons/button';\n\nconst PassengersFooterMobile = (props)=>{\n const { literals, onClick } = props;\n const { acceptLabel = '' } = literals ?? {};\n if (!acceptLabel) return null;\n return /*#__PURE__*/ jsx(\"div\", {\n \"data-testid\": \"PassengersFooter\",\n className: \"passengers-footer\",\n children: /*#__PURE__*/ jsx(ButtonPanel, {\n onClick: onClick,\n children: acceptLabel\n })\n });\n};\n\nexport { PassengersFooterMobile as default };\n//# sourceMappingURL=index.js.map\n","import { generateViewsComponent } from '@babylon/ui-kit-helpers/views';\nimport PassengersFooterDesktop from './views/desktop/index.js';\nimport PassengersFooterMobile from './views/mobile/index.js';\n\nconst PassengersFooter = generateViewsComponent(PassengersFooterDesktop, PassengersFooterMobile);\n\nexport { PassengersFooter as default };\n//# sourceMappingURL=index.js.map\n","import { getDefaultOption } from '../../../helpers/select.js';\nimport cloneDeep from 'clone-deep';\n\nconst checkIfMustUpdateSelectedOptions = (passenger)=>!passenger?.options?.length || passenger?.selectedOptions?.length === passenger.value;\nconst updateSelectedOptions = (value)=>{\n const passengerKeys = Object.keys(value).filter((key)=>key !== 'title').map((key)=>key);\n const newValue = cloneDeep(value);\n for (const passengerKey of passengerKeys){\n if (!newValue[passengerKey]) continue;\n const passenger = newValue[passengerKey];\n if (checkIfMustUpdateSelectedOptions(passenger)) continue;\n if (!passenger.selectedOptions) passenger.selectedOptions = [];\n const defaultSelectedOption = getDefaultOption(passenger.options);\n if (!defaultSelectedOption) continue;\n if (passenger.selectedOptions.length < passenger.value) {\n for(let i = passenger.selectedOptions.length; i < passenger.value; i++){\n passenger.selectedOptions.push(defaultSelectedOption.value);\n }\n } else {\n passenger.selectedOptions = passenger.selectedOptions.slice(0, passenger.value);\n }\n }\n return newValue;\n};\n\nexport { updateSelectedOptions };\n//# sourceMappingURL=utils.js.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport { transformPassengersValueToText } from '../../../../helpers/passengers.js';\nimport isEqual from '@babylon/ui-kit-helpers/is-equal';\nimport { ClientApplication } from '@babylon/ui-kit-types/application';\nimport cloneDeep from 'clone-deep';\nimport { useContext, useEffect, useMemo, useCallback } from 'react';\nimport { updateSelectedOptions } from '../utils.js';\n\nconst MAX_PEOPLE = 9;\nconst applyVeciRestrictionsInNewValue = (newValue)=>{\n if (newValue.babies) {\n const newCombinedValue = (newValue.adults?.value ?? 0) + (newValue.children?.value ?? 0);\n newValue.babies.max = newCombinedValue;\n if (newValue.babies.value > newCombinedValue) {\n newValue.babies.value = newCombinedValue;\n }\n if (newValue.babies.selectedOptions && newValue.babies.selectedOptions.length > newCombinedValue) {\n newValue.babies.selectedOptions = newValue.babies.selectedOptions.slice(0, newCombinedValue - newValue.babies.selectedOptions.length);\n }\n }\n};\nconst usePassengers = (props)=>{\n const { value = {}, onChange, label, disabled, icon = 'user', onBlur, hasError, error, literals } = props;\n const { Application } = useContext(contextBabylon);\n // initialize selectedOptions if not defined & update selectedOptions if value changes\n useEffect(()=>{\n let newValue = updateSelectedOptions(value);\n // TODO: review Application use\n if (Application === ClientApplication.veci && !!newValue.babies) {\n newValue.babies.max = (newValue.adults?.value ?? 0) + (newValue.children?.value ?? 0);\n }\n if (!isEqual(value, newValue)) {\n onChange?.(newValue);\n }\n }, [\n Application,\n onChange,\n value\n ]);\n const inputProps = useMemo(()=>({\n label: label ?? literals?.passengersLabel ?? literals?.passengerLabel ?? '',\n value: value ? transformPassengersValueToText(value, literals) : '',\n disabled,\n icon,\n onBlur,\n hasError,\n error\n }), [\n disabled,\n error,\n hasError,\n icon,\n label,\n literals,\n onBlur,\n value\n ]);\n const handleOnChange = useCallback((valueKey)=>(newValueNumber)=>{\n const newValue = cloneDeep(value);\n if (!newValue || !newValue?.[valueKey]?.value && newValue?.[valueKey]?.value !== 0 || newValue?.[valueKey]?.value === newValueNumber) return;\n newValue[valueKey].value = newValueNumber;\n // TODO: review Application use\n if (Application === ClientApplication.veci && [\n 'adults',\n 'children'\n ].includes(valueKey)) {\n applyVeciRestrictionsInNewValue(newValue);\n }\n onChange?.(newValue);\n }, [\n Application,\n onChange,\n value\n ]);\n const handleOnSelectChange = useCallback((valueKey)=>(selectedOptionIndex, newValueObject)=>{\n const newValue = cloneDeep(value);\n if (!newValue?.[valueKey]) return;\n if (!newValue[valueKey]?.selectedOptions) newValue[valueKey].selectedOptions = [];\n newValue[valueKey].selectedOptions[selectedOptionIndex] = newValueObject.value;\n onChange?.(newValue);\n }, [\n onChange,\n value\n ]);\n const disableIncrement = useMemo(()=>{\n const values = [\n value?.adults?.value,\n value?.children?.value,\n value?.babies?.value,\n value?.majors?.value,\n value?.young?.value,\n value?.senior?.value,\n value?.umnr?.value\n ];\n return values.reduce((a = 0, b = 0)=>a + b, 0) === MAX_PEOPLE;\n }, [\n value?.adults?.value,\n value?.children?.value,\n value?.babies?.value,\n value?.majors?.value,\n value?.young?.value,\n value?.senior?.value,\n value?.umnr?.value\n ]);\n return {\n value,\n inputProps,\n disableIncrement,\n handleOnChange,\n handleOnSelectChange\n };\n};\n\nexport { usePassengers as default };\n//# sourceMappingURL=usePassengers.js.map\n"],"names":["usePassengersRow","props","passenger","useMemo","defaultSelectedOption","getDefaultOption","finalSelectedOptions","Row","styled","theme","PassengersRowDesktop","label","info","description","columns","disableIncrement","onChange","onSelectChange","selectedOptions","select","jsx","PersonCounterDesktop","PassengersRowMobile","ageLabel","labelForEachOption","PersonCounterMobile","PassengersRow","generateViewsComponent","Info","rgba","FlexMixin","FontMixin","Border","$variant","css","Margin","InfoIcon","Icon","PassengersContentDesktop","infoText","variant","icon","jsxs","useValidateMinAdults","infoValidate","value","infoValidateError","setInfoValidateError","useState","useEffect","validate","error","useFormPassengers","_isHiddenRequired","rest","field","hasError","useInput","Footer","PassengersFooterDesktop","literals","onClick","ageAtTravelTimeLabel","acceptLabel","Button","PassengersFooterMobile","ButtonPanel","PassengersFooter","checkIfMustUpdateSelectedOptions","_a","_b","updateSelectedOptions","passengerKeys","key","newValue","cloneDeep","passengerKey","i","MAX_PEOPLE","applyVeciRestrictionsInNewValue","newCombinedValue","usePassengers","disabled","onBlur","Application","useContext","contextBabylon","ClientApplication","isEqual","inputProps","transformPassengersValueToText","handleOnChange","useCallback","valueKey","newValueNumber","_c","handleOnSelectChange","selectedOptionIndex","newValueObject","_d","_e","_f","_g","a","b"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}