{"version":3,"file":"accommodation.cZVal_WE.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-forms/helpers/accommodation.js"],"sourcesContent":["import { PersonRoomType } from '../components/inputs/accommodation/components/panel-accommodation/types.js';\n\nconst transformAccommodationValueToText = (value, literals)=>{\n if (!value || !literals) return '';\n const { seniorAmountInfo = '', seniorsAmountInfo = '', adultAmountInfo = '', adultsAmountInfo = '', childAmountInfo = '', childrenAmountInfo = '', roomInfo = '', roomsInfo = '', passengerAmountInfo = '', passengersAmountInfo = '' } = literals || {};\n let totalSeniors = 0;\n let totalAdults = 0;\n let totalChildren = 0;\n let totalRooms = value.rooms?.length ?? 0;\n for (const room of value.rooms ?? []){\n totalSeniors += room.seniors ?? 0;\n totalAdults += room.adults ?? 0;\n totalChildren += room.children ?? 0;\n }\n const roomsTemplate = totalRooms === 1 ? roomInfo : roomsInfo;\n const seniorsTemplate = totalSeniors === 1 ? seniorAmountInfo : seniorsAmountInfo;\n const adultsTemplate = totalAdults === 1 ? adultAmountInfo : adultsAmountInfo;\n const childrenTemplate = totalChildren === 1 ? childAmountInfo : childrenAmountInfo;\n const passengersTemplate = totalAdults + totalChildren === 1 ? passengerAmountInfo : passengersAmountInfo;\n const seniorsStringPartial = totalAdults !== 0 ? seniorsTemplate.toString().concat(',') : seniorsTemplate;\n const seniorsString = seniorsStringPartial.replace('#number#', totalSeniors.toString());\n const adultsString = adultsTemplate.replace('#number#', totalAdults.toString());\n const childrenString = childrenTemplate.replace('#number#', totalChildren.toString());\n const passengersString = passengersTemplate.replace('#number#', (totalAdults + totalChildren).toString());\n const roomsString = roomsTemplate.replace('#seniors#', totalSeniors > 0 ? seniorsString : '').replace('#adults#', totalAdults > 0 ? adultsString : '').replace('#children#', totalChildren > 0 ? childrenString : '').replace('#number#', totalRooms.toString()).replace('#passengers#', passengersString).replace(/ +(?= )/g, '');\n return roomsString;\n};\nconst accommodationToRooms = (rooms = [])=>rooms.map((room)=>{\n const people = [];\n if (typeof room.seniors !== 'undefined') people.push({\n value: room.seniors,\n type: PersonRoomType.Senior\n });\n if (typeof room.adults !== 'undefined') people.push({\n value: room.adults,\n type: PersonRoomType.Adult\n });\n if (typeof room.children !== 'undefined') people.push({\n value: room.children,\n selectedOptions: room.childrenAges ?? [],\n type: PersonRoomType.Child\n });\n return {\n people\n };\n });\nconst convertNumberToSelectOption = (number, defaultValue)=>({\n label: String(number),\n value: String(number),\n selected: number === defaultValue\n });\nconst initialOptions = (range, defaultValue = 0)=>Array.from({\n length: range + 1\n }, (_, i)=>convertNumberToSelectOption(i, defaultValue));\nconst roomsToAccommodation = (rooms)=>rooms.map((room)=>{\n const seniors = room.people.find((person)=>person.type === PersonRoomType.Senior);\n const adults = room.people.find((person)=>person.type === PersonRoomType.Adult);\n const children = room.people.find((person)=>person.type === PersonRoomType.Child);\n const finalRoom = {\n adults: adults?.value ?? 0,\n adultsAges: adults?.selectedOptions?.map((x)=>Number(x)),\n children: children?.value ?? 0,\n childrenAges: children?.selectedOptions?.map((x)=>Number(x))\n };\n if (seniors) finalRoom.seniors = seniors.value ?? 0;\n return finalRoom;\n });\nconst subtractToZero = (value, subtract)=>{\n if (value > 0 && subtract > 0) {\n return subtractToZero(value - 1, subtract - 1);\n }\n return {\n value,\n subtract: subtract\n };\n};\nconst createAccommodationRoom = (maxPeople, totalPeople, defaultAccommodationRoom)=>{\n const totalPeopleNewRoom = (defaultAccommodationRoom.adults ?? 0) + (defaultAccommodationRoom.children ?? 0);\n const accommodation = {\n seniors: 0,\n adults: 0,\n children: 0\n };\n let peopleSubtract = totalPeople + totalPeopleNewRoom - maxPeople;\n const accommodationRoom = Object.entries(defaultAccommodationRoom).reverse();\n accommodationRoom.forEach(([key, itemValue])=>{\n if (Number.isInteger(itemValue) && key in accommodation) {\n const { value, subtract } = subtractToZero(itemValue, peopleSubtract);\n accommodation[key] = value;\n peopleSubtract = subtract;\n }\n });\n return accommodation;\n};\n// eslint-disable-next-line sonarjs/cognitive-complexity\nconst getValidAccommodation = (accommodation)=>{\n if (accommodation?.rooms?.length) {\n if (accommodation.rooms.some((room)=>'adults' in room) && !accommodation.adults) {\n accommodation.adults = {\n max: 9,\n min: 1,\n value: 2\n };\n }\n if (accommodation.rooms.some((room)=>'children' in room) && !accommodation.children) {\n accommodation.children = {\n max: 9,\n min: 0,\n value: 0\n };\n }\n if (accommodation.rooms.some((room)=>'seniors' in room) && !accommodation.seniors) {\n accommodation.seniors = {\n max: 9,\n min: 0,\n value: 0\n };\n if (accommodation.adults) accommodation.adults.min = 0;\n }\n return accommodation;\n }\n if (accommodation?.adults && accommodation?.children) {\n const { seniors, adults, children } = accommodation;\n let childrenAges = [];\n if (children.value && children.defaultAge && children.value > 0) {\n for(let i = 0; i < children.value; i++){\n childrenAges.push(children.defaultAge);\n }\n }\n return {\n ...accommodation,\n rooms: [\n {\n seniors: seniors?.value ?? 0,\n adults: adults.value ?? 1,\n children: children.value ?? 0,\n childrenAges\n }\n ]\n };\n }\n return {\n adults: {\n max: 9,\n min: 1,\n value: 2\n },\n children: {\n max: 9,\n min: 0,\n value: 0\n },\n rooms: [\n {\n seniors: 0,\n adults: 2,\n children: 0,\n childrenAges: []\n }\n ]\n };\n};\nconst getValidFormAccommodationProps = (accommodationProps)=>{\n const { literals } = accommodationProps ?? {};\n const { accommodationTitle = '', accommodationLabel = '', childLabel = '' } = literals ?? {};\n const finalProps = {\n name: 'accommodation',\n ...accommodationProps\n };\n if (accommodationProps?.residents) {\n finalProps.resident = {\n name: 'resident',\n value: accommodationProps?.residents?.items?.[0]\n };\n }\n if (accommodationProps?.discounts) {\n finalProps.discount = {\n name: 'discount',\n value: accommodationProps.discounts.items?.[0]\n };\n }\n return {\n ...finalProps,\n literals: {\n accommodationTitle: accommodationTitle || accommodationLabel,\n agePersonLabel: `${childLabel} #number#`,\n ...literals\n }\n };\n};\n\nexport { accommodationToRooms, convertNumberToSelectOption, createAccommodationRoom, getValidAccommodation, getValidFormAccommodationProps, initialOptions, roomsToAccommodation, transformAccommodationValueToText };\n//# sourceMappingURL=accommodation.js.map\n"],"names":["transformAccommodationValueToText","value","literals","seniorAmountInfo","seniorsAmountInfo","adultAmountInfo","adultsAmountInfo","childAmountInfo","childrenAmountInfo","roomInfo","roomsInfo","passengerAmountInfo","passengersAmountInfo","totalSeniors","totalAdults","totalChildren","totalRooms","_a","room","roomsTemplate","seniorsTemplate","adultsTemplate","childrenTemplate","passengersTemplate","seniorsString","adultsString","childrenString","passengersString","accommodationToRooms","rooms","people","PersonRoomType","convertNumberToSelectOption","number","defaultValue","initialOptions","range","_","i","roomsToAccommodation","seniors","person","adults","children","finalRoom","x","_b","subtractToZero","subtract","createAccommodationRoom","maxPeople","totalPeople","defaultAccommodationRoom","totalPeopleNewRoom","accommodation","peopleSubtract","key","itemValue","getValidAccommodation","childrenAges","getValidFormAccommodationProps","accommodationProps","accommodationTitle","accommodationLabel","childLabel","finalProps","_c"],"mappings":"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","x_google_ignoreList":[0]}