{"version":3,"file":"accommodation.7fb62301.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-forms/esm/helpers/accommodation.mjs"],"sourcesContent":["const transformAccommodationValueToText = (value, literals) => {\n if (!value || !literals)\n return \"\";\n const {\n adultAmountInfo = \"\",\n adultsAmountInfo = \"\",\n childAmountInfo = \"\",\n childrenAmountInfo = \"\",\n roomInfo = \"\",\n roomsInfo = \"\",\n passengerAmountInfo = \"\",\n passengersAmountInfo = \"\"\n } = literals || {};\n let totalAdults = 0;\n let totalChildren = 0;\n let totalRooms = value.rooms.length;\n for (const room of value.rooms) {\n totalAdults += room.adults;\n totalChildren += room.children;\n }\n const roomsTemplate = totalRooms === 1 ? roomInfo : roomsInfo;\n const adultsTemplate = totalAdults === 1 ? adultAmountInfo : adultsAmountInfo;\n const childrenTemplate = totalChildren === 1 ? childAmountInfo : childrenAmountInfo;\n const passengersTemplate = totalAdults + totalChildren === 1 ? passengerAmountInfo : passengersAmountInfo;\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(\"#adults#\", adultsString).replace(\"#children#\", totalChildren > 0 ? childrenString : \"\").replace(\"#number#\", totalRooms.toString()).replace(\"#passengers#\", passengersString).replace(/ +(?= )/g, \"\");\n return roomsString;\n};\nconst accommodationToRooms = (rooms = []) => rooms.map((person) => ({\n people: [\n {\n value: person.adults\n },\n {\n value: person.children,\n selectedOptions: person.childrenAges ?? []\n }\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({ length: range + 1 }, (_, i) => convertNumberToSelectOption(i, defaultValue));\nconst roomsToAccommodation = (rooms) => rooms.map(({ people: [adults, children] }) => ({\n adults: adults.value,\n adultsAges: adults.selectedOptions?.map((x) => Number(x)),\n children: children.value,\n childrenAges: children.selectedOptions?.map((x) => Number(x))\n}));\nconst subtractToZero = (value, subtract) => {\n if (value > 0 && subtract > 0) {\n return subtractToZero(value - 1, subtract - 1);\n }\n return { value, subtract };\n};\nconst createAccommodationRoom = (maxPeople, totalPeople, defaultAccommodationRoom) => {\n const totalPeopleNewRoom = defaultAccommodationRoom.adults + defaultAccommodationRoom.children;\n const accommodation = { adults: 0, children: 0 };\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\nexport { accommodationToRooms, convertNumberToSelectOption, createAccommodationRoom, initialOptions, roomsToAccommodation, transformAccommodationValueToText };\n"],"names":["transformAccommodationValueToText","value","literals","adultAmountInfo","adultsAmountInfo","childAmountInfo","childrenAmountInfo","roomInfo","roomsInfo","passengerAmountInfo","passengersAmountInfo","totalAdults","totalChildren","totalRooms","room","roomsTemplate","adultsTemplate","childrenTemplate","passengersTemplate","adultsString","childrenString","passengersString","accommodationToRooms","rooms","person","convertNumberToSelectOption","number","defaultValue","initialOptions","range","_","i","roomsToAccommodation","adults","children","_a","_b","x","subtractToZero","subtract","createAccommodationRoom","maxPeople","totalPeople","defaultAccommodationRoom","totalPeopleNewRoom","accommodation","peopleSubtract","key","itemValue"],"mappings":"AAAK,MAACA,EAAoC,CAACC,EAAOC,IAAa,CAC7D,GAAI,CAACD,GAAS,CAACC,EACb,MAAO,GACT,KAAM,CACJ,gBAAAC,EAAkB,GAClB,iBAAAC,EAAmB,GACnB,gBAAAC,EAAkB,GAClB,mBAAAC,EAAqB,GACrB,SAAAC,EAAW,GACX,UAAAC,EAAY,GACZ,oBAAAC,EAAsB,GACtB,qBAAAC,EAAuB,EAC3B,EAAMR,GAAY,CAAA,EAChB,IAAIS,EAAc,EACdC,EAAgB,EAChBC,EAAaZ,EAAM,MAAM,OAC7B,UAAWa,KAAQb,EAAM,MACvBU,GAAeG,EAAK,OACpBF,GAAiBE,EAAK,SAExB,MAAMC,EAAgBF,IAAe,EAAIN,EAAWC,EAC9CQ,EAAiBL,IAAgB,EAAIR,EAAkBC,EACvDa,EAAmBL,IAAkB,EAAIP,EAAkBC,EAC3DY,EAAqBP,EAAcC,IAAkB,EAAIH,EAAsBC,EAC/ES,EAAeH,EAAe,QAAQ,WAAYL,EAAY,SAAQ,CAAE,EACxES,EAAiBH,EAAiB,QAAQ,WAAYL,EAAc,SAAQ,CAAE,EAC9ES,EAAmBH,EAAmB,QAAQ,YAAaP,EAAcC,GAAe,SAAQ,CAAE,EAExG,OADoBG,EAAc,QAAQ,WAAYI,CAAY,EAAE,QAAQ,aAAcP,EAAgB,EAAIQ,EAAiB,EAAE,EAAE,QAAQ,WAAYP,EAAW,SAAQ,CAAE,EAAE,QAAQ,eAAgBQ,CAAgB,EAAE,QAAQ,WAAY,EAAE,CAEhP,EACMC,EAAuB,CAACC,EAAQ,CAAA,IAAOA,EAAM,IAAKC,IAAY,CAClE,OAAQ,CACN,CACE,MAAOA,EAAO,MACf,EACD,CACE,MAAOA,EAAO,SACd,gBAAiBA,EAAO,cAAgB,CAAE,CAC3C,CACF,CACH,EAAE,EACIC,EAA8B,CAACC,EAAQC,KAAkB,CAC7D,MAAO,OAAOD,CAAM,EACpB,MAAO,OAAOA,CAAM,EACpB,SAAUA,IAAWC,CACvB,GACMC,EAAiB,CAACC,EAAOF,EAAe,IAAM,MAAM,KAAK,CAAE,OAAQE,EAAQ,CAAC,EAAI,CAACC,EAAGC,IAAMN,EAA4BM,EAAGJ,CAAY,CAAC,EACtIK,EAAwBT,GAAUA,EAAM,IAAI,CAAC,CAAE,OAAQ,CAACU,EAAQC,CAAQ,KAAS,CA/ClF,IAAAC,EAAAC,EA+CkF,OACrF,OAAQH,EAAO,MACf,YAAYE,EAAAF,EAAO,kBAAP,YAAAE,EAAwB,IAAKE,GAAM,OAAOA,CAAC,GACvD,SAAUH,EAAS,MACnB,cAAcE,EAAAF,EAAS,kBAAT,YAAAE,EAA0B,IAAKC,GAAM,OAAOA,CAAC,EAC7D,EAAE,EACIC,EAAiB,CAACrC,EAAOsC,IACzBtC,EAAQ,GAAKsC,EAAW,EACnBD,EAAerC,EAAQ,EAAGsC,EAAW,CAAC,EAExC,CAAE,MAAAtC,EAAO,SAAAsC,GAEZC,EAA0B,CAACC,EAAWC,EAAaC,IAA6B,CACpF,MAAMC,EAAqBD,EAAyB,OAASA,EAAyB,SAChFE,EAAgB,CAAE,OAAQ,EAAG,SAAU,CAAC,EAC9C,IAAIC,EAAiBJ,EAAcE,EAAqBH,EAExD,OAD0B,OAAO,QAAQE,CAAwB,EAAE,QAAO,EACxD,QAAQ,CAAC,CAACI,EAAKC,CAAS,IAAM,CAC9C,GAAI,OAAO,UAAUA,CAAS,GAAKD,KAAOF,EAAe,CACvD,KAAM,CAAE,MAAA5C,EAAO,SAAAsC,CAAQ,EAAKD,EAAeU,EAAWF,CAAc,EACpED,EAAcE,CAAG,EAAI9C,EACrB6C,EAAiBP,CAClB,CACL,CAAG,EACMM,CACT","x_google_ignoreList":[0]}