1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,710022,445345,178663,905947,223496,657799,854819,e=>{"use strict";e.s(["default",()=>ae],905947);var n=e.i(843476),a=e.i(500932),d=e.i(533940),t=e.i(58840),o=e.i(775911),i=e.i(225111),r=e.i(48512),l=e.i(692156),s=e.i(825438),c=e.i(736382),m=e.i(415550),u=e.i(990717),b=e.i(271645),g=e.i(344306),v=e.i(811488),p=e.i(676572),f=e.i(869829),I=e.i(672464),k=e.i(148471),x=e.i(579808),A=e.i(298533),O=e.i(725955);let h=e=>Math.ceil(100*e)/100,P=e=>"addOnChargeUnit"in e?e.addOnChargeUnit===A.OptionalAddOnChargeUnit.OptionalNumberOfUnits:"optionalAddOnChargeUnit"in e&&e.optionalAddOnChargeUnit===A.OptionalAddOnChargeUnit.OptionalNumberOfUnits,y=e=>(0,x.isAddonPackage)(e)?e.chargeUnit===A.OptionalAddOnChargeUnit.OptionalNumberOfUnits:e.optionalChargeUnit===A.OptionalAddOnChargeUnit.OptionalNumberOfUnits,C=e=>(0,x.isAddon)(e)&&(!0===e.hasTimeSlots||!!e.timeSlotManagementInfo),w=e=>e?.length?e.map(e=>({bvGuestId:e.guestId,firstName:e.firstName,lastName:e.lastName})):void 0,S=({hasPendingChanges:e,hasTimeslotInBasket:n})=>e&&!n,j=e=>(0,x.isAddon)(e)&&e.addOnPriceTimeUnit===A.AddOnPriceTimeUnit.PricePerDay,N=e=>(0,x.isAddon)(e)&&!1===e.isUnitPrice,B=e=>(0,x.isAddonPackage)(e)&&e.chargeUnit===A.OptionalAddOnChargeUnit.OnePerRoom,T=e=>(0,x.isAddonPackage)(e)&&e.chargeUnit===A.OptionalAddOnChargeUnit.OnePerGuestAndDay,D=e=>{switch(e){case A.OptionalAddOnChargeUnit.OnePerGuest:case A.OptionalAddOnChargeUnit.OnePerGuestAndDay:case A.OptionalAddOnChargeUnit.OnePerRoomAndDay:return!0;case A.OptionalAddOnChargeUnit.OptionalOnePerRoom:case A.OptionalAddOnChargeUnit.OptionalNumberOfUnits:case A.OptionalAddOnChargeUnit.OnePerBooking:case A.OptionalAddOnChargeUnit.OnePerRoom:default:return!1}},G=e=>!!e&&("optionalAddOnChargeUnit"in e?e.optionalAddOnChargeUnit===A.OptionalAddOnChargeUnit.OptionalOnePerRoom||!0===e.isOptionalPerRoomChargeUnit&&D(e.optionalAddOnChargeUnit):(0,x.isAddon)(e)?e.addOnChargeUnit===A.OptionalAddOnChargeUnit.OptionalOnePerRoom||!0===e.isOptionalPerRoomChargeUnit&&D(e.addOnChargeUnit):!!(0,x.isAddonPackage)(e)&&(e.chargeUnit===A.OptionalAddOnChargeUnit.OptionalOnePerRoom||!0===e.isOptionalPerRoomChargeUnit&&D(e.chargeUnit))),_=e=>(0,x.isAddonPackage)(e)&&G(e),R=e=>{let n=(0,x.isAddon)(e)?e.addOnPriceInfo:e.connectedAddOns?.[0]?.addOnPriceInfo;return Array.from(new Set(n?.map(e=>e.internalBookingRoomId).filter(e=>null!=e)??[]))},U=(e,n)=>{let a=e.addOnPriceInfo?.filter(e=>e.internalBookingRoomId===n.internalBookingId)??[];return a.length?a.reduce((e,n)=>{let a;return e+((a=n.priceBreakdown?.reduce((e,n)=>e+(n?.price??0),0))&&a>0?a:n.price??0)},0):e.price??0},E=(e,n)=>G(e)?(0,x.isAddon)(e)?U(e,n):(e.connectedAddOns??[]).reduce((e,a)=>e+U(a,n),0):0,F=e=>!!e&&(G(e)||(0,x.isAddon)(e)&&e.addOnChargeUnit===A.OptionalAddOnChargeUnit.OptionalNumberOfUnits||(0,x.isAddon)(e)&&e.addOnChargeUnit===A.OptionalAddOnChargeUnit.OnePerGuest&&!e.isUnitPrice&&e.addOnPriceTimeUnit!==A.AddOnPriceTimeUnit.FixedPrice||(0,x.isAddonPackage)(e)&&e.chargeUnit===A.OptionalAddOnChargeUnit.OptionalNumberOfUnits||(0,x.isAddonPackage)(e)&&e.dynamic||(0,x.isAddonPackage)(e)&&e.priceTimeunit!==A.AddOnPriceTimeUnit.FixedPrice),M=(e,n)=>{if(G(e)&&((0,x.isAddon)(e)||(0,x.isFixedAddonPackage)(e))&&n?.length){let a=R(e),d=(a.length?n.filter(e=>a.includes(e.internalBookingId)):n).map(n=>E(e,n)).filter(e=>e>0);if(d.length)return Math.min(...d)}if((0,x.isAddon)(e)){let n=e.price??0;return n<0?0:n}if((0,x.isFixedAddonPackage)(e)){let n=L(e);return n<0?0:n}if((0,x.isAddonPackage)(e)){let n=e.cheapestPrice??0;return n<0?0:n}return 0},H=(e,n,a,d)=>{if(y(e)){let t=a?.ChooseHowManyData.filter(t=>t.addOnPackageId===e.addOnPackageId&&t.internalRoomId==a.internalBookingId&&t.addonId===n.addOnId&&(!t.date||(0,O.isSameDayStrict)(t.date,d))),o=0;return t.forEach(e=>{o+=e.newAmount}),o}{let t=a?.OnePerRoomPackageData.find(t=>t.addOnPackageId===e.addOnPackageId&&t.addonId===n.addOnId&&t.internalRoomId==a.internalBookingId&&(!t.date||(0,O.isSameDayStrict)(t.date,d)));return t?.newAmount}},$=(e,n,a,d)=>
1{if(y(e)){let t=a?.ChooseHowManyData.filter(t=>t.addOnPackageId===e.addOnPackageId&&t.internalRoomId==a.internalBookingId&&t.addonId===n.addOnId&&(!t.date||(0,O.isSameDayStrict)(t.date,d))),o=0;return t.forEach(n=>{let a=e.connectedAddOns?.find(e=>e.addOnId===n.addonId),t=a?.price??0,i=a?.addOnPriceInfo?.find(e=>e.ageGroupId==n.ageGroupId&&(0,O.isSameDayStrict)(e.date,d))??a?.addOnPriceInfo?.find(e=>e.ageGroupId==n.ageGroupId&&!e.date);i?.price!==void 0?t=i.price*n.newAmount:t*=n.newAmount,o+=t}),o}{let t=a?.OnePerRoomPackageData.find(t=>t.addOnPackageId===e.addOnPackageId&&t.internalRoomId==a.internalBookingId&&t.addonId===n.addOnId&&(!t.date||(0,O.isSameDayStrict)(t.date,d)));return(t?.newAmount??0)*(n.price??0)}},L=e=>(e.connectedAddOns?.map(e=>e.price??0)??[0]).reduce((e,n)=>e+n,0),V=(e,n)=>{if(y(e)){let a=n.ChooseHowManyData.filter(a=>a.addOnPackageId===e.addOnPackageId&&a.internalRoomId==n.internalBookingId),d=0;return a.forEach(n=>{let a=e.connectedAddOns?.find(e=>e.addOnId===n.addonId),t=a?.addOnPriceInfo?.find(e=>e.ageGroupId==n.ageGroupId&&(0,O.isSameDayStrict)(e.date,n.date))??a?.addOnPriceInfo?.find(e=>e.ageGroupId==n.ageGroupId&&!e.date),o=a?.price??0;t?.price!==void 0?o=t.price*n.newAmount:o*=n.newAmount,d+=o}),d}return T(e)?n.OnePerRoomPackageData.filter(e=>1===e.newAmount).reduce((e,n)=>e+(n.price??0),0):n.OnePerRoomPackageData.filter(e=>1===e.newAmount).reduce((e,n)=>e+(n.price??0),0)},q=(e,n,a,d)=>{let t=n.filter(n=>n.addonId===e.addOnId&&!n.addOnPackageId&&n.internalRoomId==a),o=0;return t.forEach(n=>{if("vatAmount"in e){let a=d?e?.price:e.price-(e.vatAmount??0);a*=n.newAmount,o+=a}else if("addOnPriceInfo"in e){let a=e?.addOnPriceInfo?.find(e=>e.ageGroupId==n.ageGroupId&&e.date===n.date),d=e?.price??0;a?.price!==void 0?d=a.price*n.newAmount:d*=n.newAmount,o+=d}}),o},W=(e,n,a)=>[...e.flatMap(e=>e.addonId===n.addonId&&e.addOnPackageId===n.addOnPackageId&&e.internalRoomId==n.internalRoomId&&(!e.date&&!n.date||e.date&&n.date&&(0,O.isSameDayStrict)(e.date,n.date))?null!=n.timeString&&e.timeString===n.timeString&&(null==e.timeSlotEndTime||null==n.timeSlotEndTime||new Date(e.timeSlotEndTime).getTime()===new Date(n.timeSlotEndTime).getTime())?[]:[{...e,newAmount:0}]:[e]),...a];e.s(["ceilToCents",0,h,"getAvailableRoomIds",0,R,"getFromPrice",0,M,"getNewAmount",0,H,"getNewTotalPrice",0,$,"getPerRoomAddonTotal",0,U,"getPerRoomTotal",0,E,"getPriceForFixedAddonPackage",0,L,"getTotalPriceForAddon",0,q,"getTotalPriceForAddonPackage",0,V,"isModalConfig",0,F,"isOnePerGuestAndDayPackage",0,T,"isOnePerRoomPackage",0,B,"isOptionalNumberOfUnitsAddon",0,P,"isOptionalNumberOfUnitsPackage",0,y,"isPerGuestPriceType",0,N,"isPerRoomPackage",0,_,"isPerRoomSelectable",0,G,"isPricePerDay",0,j,"isTimeslotAddon",0,C,"mapTimeSlotGuestInfos",0,w,"replaceTimeslotSelection",0,W,"shouldBlockTimeslotClose",0,S],445345);var z=e.i(178126);let K=(0,b.createContext)({}),Q=e=>{let d,t,i=(0,a.c)(15),{DateFormatter:r,Addon:l,children:s,internalBookingId:c,bookingData:m}=e,{data:u}=(0,o.useBasket)(),g=(0,I.useAtomValue)(k.bookingContextAtom),v=u?.booking?.bookingData,p=g?.originalBooking?.bookingData,f=m??v??p,[A,O]=(0,b.useState)(function(){if(!(0,x.isAddon)(l)||!G(l))return[];let e=[],n=g?.activeBooking?.bookingData,a=new Set(R(l)),d=e=>0===a.size||a.has(e);return f?.rooms?.length&&f?.rooms?.forEach(n=>{if(!d(n.internalBookingId))return;let a=f?.optionalAddOns?.find(e=>e.internalRoomBookingId===n.internalBookingId&&e.addOnId===l.addOnId)!==void 0;e.push({internalRoomId:n.internalBookingId,originalValue:a,newValue:a})}),n&&n?.rooms?.length&&!e.length&&n?.rooms?.forEach(a=>{if(!d(a.internalBookingId))return;let t=n?.optionalAddOns?.find(e=>e.internalRoomBookingId===a.internalBookingId&&e.addOnId===l.addOnId)!==void 0;e.push({internalRoomId:a.internalBookingId,originalValue:t,newValue:t})}),p?.rooms?.length&&!e.length&&p?.rooms?.forEach(n=>{if(!d(n.internalBookingId))return;let a=p?.optionalAddOns?.find(e=>e.internalRoomBookingId===n.internalBookingId&&e.addOnId===l.addOnId)!==void 0;e.push({internalRoomId:n.internalBookingId,originalValue:a,newValue:a})}),e}),[h,P]=(0,b.useState)(function(){let e=[];return f?.optionalAddOns?.forEach(n=>{e.push({date:n.date??null,ageGroupId:n.ageGroupId??null,addonId:n.addOnId,originalAmount:n.numberOfUnits,newAmount:n.numberOfUnits,internalRoomId:n.internalRoomBookingId,timeString:n.timeSlot?.startHour!==void 0&&void 0!==n.timeSlot.startMinute?`${(0,z.padTo2Digits)(n.timeSlot.startHour)}:${(0,z.padTo2Digits)(n.timeSlot.startMinute)}`:void 0,timeSlotEndTime:n?.timeSlot?.endTime,guestNames:n?.externalGuestInfo?.map(J)})}),f?.optionalAddOnPackages?.forEach(n=>{if(n.dynamic){let a=n.basketAddOnPriceInfos?.[0];
1e.push({addonId:a?.addOnId,originalAmount:a?.numberOfUnits,newAmount:a?.numberOfUnits??0,addOnPackageId:n.addOnPackageId,date:a?.timeSlotInfo?a.timeSlotInfo:a?.date?a.date:null,ageGroupId:a?.ageGroupId??null,internalRoomId:a?.internalRoomBookingId,timeString:a?.timeSlot?.startHour!==void 0&&void 0!==a.timeSlot.startMinute?`${(0,z.padTo2Digits)(a.timeSlot.startHour)}:${(0,z.padTo2Digits)(a.timeSlot.startMinute)}`:void 0,timeSlotEndTime:a?.timeSlot?.endTime,guestNames:a?.externalGuestInfo?.map(Y)})}else{let a=n.basketAddOnPriceInfos?.[0];e.push({originalAmount:a?.numberOfUnits,newAmount:a?.numberOfUnits??0,addOnPackageId:n.addOnPackageId,date:a?.timeSlotInfo?a.timeSlotInfo:a?.date?a.date:null,ageGroupId:a?.ageGroupId??null,internalRoomId:a?.internalRoomBookingId,timeString:a?.timeSlot?.startHour!==void 0&&void 0!==a.timeSlot.startMinute?`${(0,z.padTo2Digits)(a.timeSlot.startHour)}:${(0,z.padTo2Digits)(a.timeSlot.startMinute)}`:void 0,timeSlotEndTime:a?.timeSlot?.endTime,guestNames:a?.externalGuestInfo?.map(X)})}}),!g?.isEditMode&&p&&(p?.optionalAddOns?.forEach(n=>{e.push({date:n.date??null,ageGroupId:n.ageGroupId??null,addonId:n.addOnId,originalAmount:n.numberOfUnits,newAmount:n.numberOfUnits,internalRoomId:n.internalRoomBookingId})}),p?.optionalAddOnPackages?.forEach(n=>{if(n.dynamic){let a=n.basketAddOnPriceInfos?.[0];e.push({addonId:a?.addOnId,originalAmount:a?.numberOfUnits,newAmount:a?.numberOfUnits??0,addOnPackageId:n.addOnPackageId,date:a?.date,ageGroupId:a?.ageGroupId??null,internalRoomId:a?.internalRoomBookingId})}else{let a=n.basketAddOnPriceInfos?.[0];e.push({originalAmount:a?.numberOfUnits,newAmount:a?.numberOfUnits??0,addOnPackageId:n.addOnPackageId,date:a?.date,ageGroupId:a?.ageGroupId??null,internalRoomId:a?.internalRoomBookingId})}})),e}),[y,C]=(0,b.useState)(function(){let e=[];
1if(!(0,x.isAddonPackage)(l))return[];let n=f?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===l.addOnPackageId).flatMap(Z)??[],a=p?p?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===l.addOnPackageId).flatMap(ee):[];if(G(l)){let n=g?.activeBooking?.bookingData,a=l.connectedAddOns??[];if(!a.length)return e;let d=new Set(R(l)),t=e=>0===d.size||d.has(e),o=(0,x.isFixedAddonPackage)(l)?(n,a)=>{n.forEach(n=>{if(!t(n.internalBookingId)||e.find(e=>e.internalRoomId===n.internalBookingId&&e.addOnPackageId===l.addOnPackageId))return;let d=+!!a?.some(e=>e.addOnPackageId===l.addOnPackageId&&e.internalRoomId===n.internalBookingId);e.push({internalRoomId:n.internalBookingId,addOnPackageId:l.addOnPackageId,originalAmount:d,newAmount:d,price:E(l,n)})})}:(n,d)=>{n.forEach(n=>{t(n.internalBookingId)&&a.forEach(a=>{if(!a.addOnId||e.find(e=>e.internalRoomId===n.internalBookingId&&e.addonId===a.addOnId&&e.addOnPackageId===l.addOnPackageId))return;let t=+!!d?.some(e=>e.addOnPackageId===l.addOnPackageId&&e.internalRoomId===n.internalBookingId&&(e.basketAddOnPriceInfos?.some(e=>e.addOnId===a.addOnId)??!1));e.push({internalRoomId:n.internalBookingId,addonId:a.addOnId,addOnPackageId:l.addOnPackageId,originalAmount:t,newAmount:t,price:U(a,n)})})})};f?.rooms?.length&&o(f.rooms,f.optionalAddOnPackages),n?.rooms?.length&&!e.length&&o(n.rooms,n.optionalAddOnPackages),p?.rooms?.length&&!e.length&&o(p.rooms,p.optionalAddOnPackages)}else T(l)?(n.forEach(n=>{e.push({internalRoomId:n.internalRoomBookingId,originalAmount:n.numberOfUnits,newAmount:n.numberOfUnits,addonId:n.addOnId,addOnPackageId:l.addOnPackageId,price:n.price})}),a&&a.forEach(n=>{e.push({internalRoomId:n.internalRoomBookingId,originalAmount:n.numberOfUnits,newAmount:n.numberOfUnits,addonId:n.addOnId,addOnPackageId:l.addOnPackageId,price:n.price})})):(n.forEach(n=>{e.find(e=>e.addonId===n.addOnId&&e.guestId===n.guestId)||e.push({internalRoomId:n.internalRoomBookingId,originalAmount:n.numberOfUnits,newAmount:n.numberOfUnits,addonId:n.addOnId,addOnPackageId:l.addOnPackageId,price:n.price})}),a&&a.forEach(n=>{e.find(e=>e.addonId===n.addOnId&&e.guestId===n.guestId)||e.push({internalRoomId:n.internalRoomBookingId,originalAmount:n.numberOfUnits,newAmount:n.numberOfUnits,addonId:n.addOnId,addOnPackageId:l.addOnPackageId,price:n.price})}));return e}),w=f?.rooms??p?.rooms;return i[0]!==l||i[1]!==r||i[2]!==f||i[3]!==h||i[4]!==c||i[5]!==A||i[6]!==y||i[7]!==w||i[8]!==P||i[9]!==O||i[10]!==C?(d={Addon:l,OnePerRoomData:A,ChooseHowManyData:h,SetChooseHowManyData:P,SetOnePerRoomData:O,DateFormatter:r,SetOnePerRoomPackageData:C,OnePerRoomPackageData:y,internalBookingId:c,rooms:w,bookingData:f},i[0]=l,i[1]=r,i[2]=f,i[3]=h,i[4]=c,i[5]=A,i[6]=y,i[7]=w,i[8]=P,i[9]=O,i[10]=C,i[11]=d):d=i[11],i[12]!==s||i[13]!==d?(t=(0,n.jsx)(K.Provider,{value:d,children:s}),i[12]=s,i[13]=d,i[14]=t):t=i[14],t};function J(e){return{guestId:e.bvGuestId,firstName:e.firstName??"",lastName:e.lastName??""}}function Y(e){return{guestId:e.bvGuestId,firstName:e.firstName??"",lastName:e.lastName??""}}function X(e){return{guestId:e.bvGuestId,firstName:e.firstName??"",lastName:e.lastName??""}}function Z(e){return e.basketAddOnPriceInfos??[]}function ee(e){return e.basketAddOnPriceInfos??[]}var en=e.i(375737),ea=e.i(833322),ed=e.i(339506),et=e.i(605458),eo=e.i(482582);let ei=e=>{let d,o,i,r,l,c,m,u,I,k,O,h,P,y,C,w,S,j,N,B,T,D,G,_,R,U,E,F=(0,a.c)(127),{IsInPackage:M,topBorder:H,Label:$,AgeGroup:V,Addon:q,Date:W,onChange:z,maxValue:Q,addOnDescription:J,selectorOnly:Y}=e,X=(0,b.useId)(),Z=(0,b.useId)(),ee=(0,b.useContext)(K),ei=(0,g.useCurrencyFormatter)(),er=(0,t.useAccommodationTranslations)(),{isVerySmallScreen:el}=(0,s.useScreenSizes)();F[0]!==q?(d=(0,x.isAddon)(q)&&q.addOnPriceInfo?.length===1?q.addOnPriceInfo?.[0]?.date:void 0,F[0]=q,F[1]=d):d=F[1];let es=d??W;F[2]!==q||F[3]!==es?(o=(0,x.isAddon)(q)?q.addOnPriceInfo?.find(e=>e.date===es)?.availability:null,F[2]=q,F[3]=es,F[4]=o):o=F[4];let ec=o;F[5]!==q||F[6]!==V||F[7]!==W||F[8]!==M||F[9]!==ee?(i=ee?.ChooseHowManyData?.filter(e=>M?e.addOnPackageId===M.addOnPackageId:(0,x.isAddonPackage)(q)?q.addOnPackageId===e.addOnPackageId:void 0===e.addOnPackageId).filter(e=>e.internalRoomId==ee.internalBookingId).find(e=>(void 0===W||e.date===W)&&(void 0===V||e.ageGroupId===V?.ageGroupId)&&e.addonId===(q.addOnId??void 0)),F[5]=q,F[6]=V,F[7]=W,F[8]=M,F[9]=ee,F[10]=i):i=F[10];let em=i;F[11]!==q||F[12]!==V||F[13]!==M?.addOnPackageId||F[14]!==ec||F[15]!==em?.newAmount||F[16]!==em?.originalAmount||F[17]!==ee||F[18]!==z||F[19]!==es?(r=e=>{if(!((0,ed.isNotNullOrUndefined)(ec)&&"increase"===e&&(em?.newAmount??0)+1>ec)){if("error"===e)return void z?.(!0);z?.(),(0,x.isAddon)(q)?ee?.SetChooseHowManyData(n=>[...n.filter(e=>e.addonId!==q.addOnId||void 0!==V&&e.ageGroupId!==V?.ageGroupId||void 0!==es&&e.date!==es||e.internalRoomId!=ee?.internalBookingId||e.addOnPackageId!==M?.addOnPackageId),{addonId:q.addOnId,newAmount:"increase"===e?(em?.newAmount??0)+1:(em?.newAmount??0)<1?0:(em?.newAmount??0)-1,ageGroupId:V?.ageGroupId,date:es,addOnPackageId:M?.addOnPackageId,originalAmount:em?.originalAmount??0,internalRoomId:ee?.internalBookingId}]):(0,x.isFixedAddonPackage)(q)&&ee?.SetChooseHowManyData(n=>[...n.filter(e=>e.addOnPackageId!==q.addOnPackageId||e.ageGroupId!==(V?.ageGroupId??null)||e.date!==es||e.internalRoomId!=ee?.internalBookingId),{newAmount:"increase"===e?(em?.newAmount??0)+1:(em?.newAmount??0)<1?0:(em?.newAmount??0)-1,ageGroupId:V?.ageGroupId??null,date:es,addOnPackageId:q?.addOnPackageId,originalAmount:em?.originalAmount??0,internalRoomId:ee.internalBookingId}])}},F[11]=q,F[12]=V,F[13]=M?.addOnPackageId,F[14]=ec,F[15]=em?.newAmount,F[16]=em?.originalAmount,F[17]=ee,F[18]=z,F[19]=es,F[20]=r):r=F[20];let eu=r;F[21]!==q||F[22]!==V||F[23]!==M||F[24]!==es?(l=()=>{if((0,x.isAddon)(q)){if(q.isUnitPrice&&q.addOnPriceTimeUnit===A.AddOnPriceTimeUnit.FixedPrice)return q.price??0;else if(q.addOnPriceTimeUnit===A.AddOnPriceTimeUnit.FixedPrice&&!q.isUnitPrice)return q.addOnPriceInfo?.find(e=>e.ageGroupId===V?.ageGroupId)?.price??0;else if((q.isUnitPrice||void 0!==M)&&q.addOnPriceTimeUnit===A.AddOnPriceTimeUnit.PricePerDay)return V?q.addOnPriceInfo?.find(e=>e.date===es&&e.ageGroupId===V?.ageGroupId)?.price??0:q.addOnPriceInfo?.find(e=>e.date===es&&null===e.ageGroupId)?.price??0;else if(!q.isUnitPrice&&q.addOnPriceTimeUnit===A.AddOnPriceTimeUnit.PricePerDay)return q.addOnPriceInfo?.find(e=>e.ageGroupId===(V?.ageGroupId??null)&&e.date===es)?.price??0}return(0,x.isFixedAddonPackage)(q)?L(q):0},F[21]=q,F[22]=V,F[23]=M,F[24]=es,F[25]=l):l=F[25];let eb=l,eg=eb()>0;F[26]!==em?.newAmount||F[27]!==Q||F[28]!==eu?(c=()=>void 0===Q||em?.newAmount===void 0&&0!==Q?eu("increase"):em?.newAmount!==void 0&&em?.newAmount<Q+em?.newAmount?void eu("increase"):void eu("error"),F[26]=em?.newAmount,F[27]=Q,F[28]=eu,F[29]=c):c=F[29];let ev=c,ep=!V&&!M;F[30]!==ev||F[31]!==eu?(m=e=>{"ArrowUp"===e.key?(ev(),e.preventDefault()):"ArrowDown"===e.key&&(eu("decrease"),e.preventDefault())},F[30]=ev,F[31]=eu,F[32]=m):m=F[32];let ef=m,eI=(em?.newAmount??0)>
10?"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor bv:border-bv_darkSelectedColor":"bv:bg-bv_inputBackground bv:text-bv_inputColor bv:border-bv_inputBorderColor";F[33]!==eI?(u=(0,et.cn)("bv:m-0 bv:grid bv:grid-cols-[40px_1fr_40px] bv:items-center bv:transition-all bv:duration-150","bv:w-full bv:min-w-[60vw] bv:sm:min-w-[175px] bv:bv_medium:w-max bv:bv_medium:min-w-[210px]","bv:border bv:border-solid",eI),F[33]=eI,F[34]=u):u=F[34];let ek=em?.newAmount??0,ex=`${em?.newAmount??0} ${er("EA4H.General.TotalAmount")}`,eA=(em?.newAmount??0)>0&&"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor";F[35]!==eA?(I=(0,et.cn)("bv:relative bv:flex bv:h-[40px] bv:w-[40px] bv:cursor-pointer bv:items-center bv:justify-center bv:bv_hover",eA),F[35]=eA,F[36]=I):I=F[36],F[37]!==eu?(k=()=>eu("decrease"),F[37]=eu,F[38]=k):k=F[38],F[39]===Symbol.for("react.memo_cache_sentinel")?(O=(0,n.jsx)(v.FontAwesomeIcon,{icon:p.faMinus}),F[39]=O):O=F[39],F[40]!==I||F[41]!==k?(h=(0,n.jsx)("div",{className:I,onClick:k,tabIndex:-1,"aria-hidden":"true",children:O}),F[40]=I,F[41]=k,F[42]=h):h=F[42];let eO=(em?.newAmount??0)>0?"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor bv:border-bv_darkSelectedColor":"bv:border-bv_inputBorderColor";F[43]!==eO?(P=(0,et.cn)("bv:flex bv:gap-2 bv:h-[40px] bv:min-w-[150px] bv:items-center bv:justify-center bv:border-0 bv:border-l bv:border-r bv:border-solid bv:font-bv_bodyFontFamily",eO),F[43]=eO,F[44]=P):P=F[44],F[45]!==em?.newAmount?(y=(em?.newAmount??0)>0&&(0,n.jsxs)(eo.default,{className:"bv:text-inherit",children:["x",em?.newAmount]}),F[45]=em?.newAmount,F[46]=y):y=F[46],F[47]!==ei||F[48]!==em?.newAmount||F[49]!==eb||F[50]!==eg?(C=eg&&(0,n.jsxs)(eo.default,{bold:!0,className:(0,et.cn)("bv:inline-block",(em?.newAmount??0)>0?"bv:text-bv_selectedDarkFontColor":"bv:text-bv_inputColor"),children:[ei.formatCurrency(eb()*(em?.newAmount??0))," ",ei.currencyCode]}),F[47]=ei,F[48]=em?.newAmount,F[49]=eb,F[50]=eg,F[51]=C):C=F[51],F[52]!==P||F[53]!==y||F[54]!==C?(w=(0,n.jsxs)("div",{className:P,children:[y,C]}),F[52]=P,F[53]=y,F[54]=C,F[55]=w):w=F[55];let eh=(em?.newAmount??0)>0&&"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor";F[56]!==eh?(S=(0,et.cn)("bv:relative bv:flex bv:h-[40px] bv:w-[40px] bv:cursor-pointer bv:items-center bv:justify-center bv:bv_hover",eh),F[56]=eh,F[57]=S):S=F[57],F[58]===Symbol.for("react.memo_cache_sentinel")?(j=(0,n.jsx)(v.FontAwesomeIcon,{icon:f.faPlus}),F[58]=j):j=F[58],F[59]!==ev||F[60]!==S?(N=(0,n.jsx)("div",{className:S,onClick:ev,tabIndex:-1,"aria-hidden":"true",children:j}),F[59]=ev,F[60]=S,F[61]=N):N=F[61],F[62]!==ef||F[63]!==ek||F[64]!==ex||F[65]!==h||F[66]!==w||F[67]!==N||F[68]!==u?(B=(0,n.jsxs)("div",{className:u,role:"spinbutton","aria-valuenow":ek,"aria-valuetext":ex,tabIndex:0,onKeyDown:ef,children:[h,w,N]}),F[62]=ef,F[63]=ek,F[64]=ex,F[65]=h,F[66]=w,F[67]=N,F[68]=u,F[69]=B):B=F[69];let eP=B;if(Y){let e;return F[70]!==eP?(e=(0,n.jsx)(n.Fragment,{children:eP}),F[70]=eP,F[71]=e):e=F[71],e}if(el){let e,a,d,t,o,i,r,l=void 0!==M;return F[72]!==J?(e=J&&(0,n.jsx)(eo.default,{className:"bv:pb-[10px]",children:J}),F[72]=J,F[73]=e):e=F[73],F[74]!==$||F[75]!==er?(a=$??er("EA4H.General.ChooseHowMany"),F[74]=$,F[75]=er,F[76]=a):a=F[76],F[77]!==X||F[78]!==a?(d=(0,n.jsx)(eo.default,{id:X,children:a}),F[77]=X,F[78]=a,F[79]=d):d=F[79],F[80]!==ei||F[81]!==eb||F[82]!==eg||F[83]!==Z||F[84]!==er?(t=eg&&(0,n.jsxs)(eo.default,{id:Z,children:[er("EA4H.General.For")," ",ei?.formatCurrency(eb())," ",ei.currencyCode]}),F[80]=ei,F[81]=eb,F[82]=eg,F[83]=Z,F[84]=er,F[85]=t):t=F[85],F[86]!==d||F[87]!==t?(o=(0,n.jsxs)("div",{className:"bv:flex bv:justify-between bv:gap-[10px]",children:[d,t]}),F[86]=d,F[87]=t,F[88]=o):o=F[88],F[89]!==eP||F[90]!==X||F[91]!==Z||F[92]!==e||F[93]!==o?(i=(0,n.jsxs)(ea.Inner,{className:"bv:flex-col bv:items-stretch bv:gap-[10px]",role:"group","aria-labelledby":X,"aria-describedby":Z,children:[e,o,eP]}),F[89]=eP,F[90]=X,F[91]=Z,F[92]=e,F[93]=o,F[94]=i):i=F[94],F[95]!==ep||F[96]!==l||F[97]!==i?(r=(0,n.jsx)(en.Outer,{asCard:ep,thinBorder:!0,lightBorder:l,className:"bv:px-[20px] bv:py-[15px]",children:i}),F[95]=ep,F[96]=l,F[97]=i,F[98]=r):r=F[98],r}let ey=void 0!==M;return F[99]!==J?(T=J&&(0,n.jsx)(eo.default,{className:"bv:pt-[15px]",children:J}),F[99]=J,F[100]=T):T=F[100],F[101]!==$||F[102]!==er?(D=$??er("EA4H.General.ChooseHowMany"),F[101]=$,F[102]=er,F[103]=D):D=F[103],F[104]!==X||F[105]!==D?(G=(0,n.jsx)(eo.default,{bold:!0,id:X,children:D}),F[104]=X,F[105]=D,F[106]=G):G=F[106],F[107]!==ei||F[108]!==eb||F[109]!==eg||F[110]!==Z||F[111]!==er?(_=eg&&(0,n.jsxs)(eo.default,{id:Z,children:[er("EA4H.General.For")," ",ei?.formatCurrency(eb())," ",ei.currencyCode]}),F[107]=ei,F[108]=eb,F[109]=eg,F[110]=Z,F[111]=er,F[112]=_):_=F[112],F[113]!==eP||F[114]!==_?(R=(0,n.jsxs)("div",{className:"bv:flex bv:items-center bv:gap-[8px]",children:[_,eP]}),F[113]=eP,F[114]=_,F[115]=R):R=F[115],F[116]!==X||F[117]!==Z||F[118]!==G||F[119]!==R||F[120]!==H?(U=(0,n.jsxs)(ea.Inner,{topBorder:H,className:"bv:px-0 bv:py-[15px]",role:"group","aria-labelledby":X,"aria-describedby":Z,children:[G,R]}),F[116]=X,F[117]=Z,F[118]=G,F[119]=R,F[120]=H,F[121]=U):U=F[121],F[122]!==ep||F[123]!==ey||F[124]!==T||F[125]!==U?(E=(0,n.jsxs)(en.Outer,{asCard:ep,lightBorder:ey,className:"bv:px-[20px] bv:py-0",children:[T,U]}),F[122]=ep,F[123]=ey,F[124]=T,F[125]=U,F[126]=E):E=F[126],E};var er=e.i(18803),el=e.i(66768),es=e.i(257359),ec=e.i(581876),em=e.i(800190);let eu=e=>{let d,o,i,r,l,s,c,m,u,b,v,p,f,I,k,x,A,O,h,P=(0,a.c)(77),{isAdded:y,toggleRoom:C,topBorder:w,Room:S,Addon:j}=e,N=(0,t.useAccommodationTranslations)(),{data:B}=(0,er.useGuestRooms)();P[0]!==S.roomId||P[1]!==B?.rooms?(d=B?.rooms?.find(e=>e.id===S.roomId),P[0]=S.roomId,P[1]=B?.rooms,P[2]=d):d=P[2];let T=d,{formatCurrency:D,currencyCode:G}=(0,g.useCurrencyFormatter)(),_=(0,el.useTheme)(),{registerEnterKeyAsClick:R}=(0,ec.useAccessibilityHandlers)();if(P[3]!==j||P[4]!==S||P[5]!==G||P[6]!==D||P[7]!==T?.name||P[8]!==y||P[9]!==R||P[10]!==_?.css.darkSelectedColor||P[11]!==_?.css.inputBackgroun
1d||P[12]!==_?.css.inputBorderColor||P[13]!==_?.css.selectedDarkFontColor||P[14]!==C||P[15]!==w||P[16]!==N){let e,a,d,t,g,A=E(j,S);i=en.Outer,m="bv:px-[20px] bv:py-[15px]",o=ea.Inner,r=w,l="group",s=T?.name;let O=T?.name;P[32]!==O?(e=(0,n.jsx)(eo.default,{bold:!0,children:O}),P[32]=O,P[33]=e):e=P[33],P[34]!==S||P[35]!==N?(a=(0,es.getGuestsText)(S,N),P[34]=S,P[35]=N,P[36]=a):a=P[36],P[37]!==a?(d=(0,n.jsxs)(eo.default,{size:"small",children:["(",a,")"]}),P[37]=a,P[38]=d):d=P[38],P[39]!==e||P[40]!==d?(c=(0,n.jsxs)("div",{className:"bv:flex bv:flex-col",children:[e,d]}),P[39]=e,P[40]=d,P[41]=c):c=P[41];let h=y?"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor bv:border-bv_darkSelectedColor":"bv:bg-bv_cardBackground bv:text-bv_cardColor bv:border-bv_inputBorderColor";P[42]!==h?(u=(0,et.cn)("bv:flex bv:h-[40px] bv:min-w-[210px] bv:cursor-pointer bv:items-center bv:gap-[10px] bv:pl-[10px] bv:transition-all bv:duration-150","bv:border bv:border-solid",h),P[42]=h,P[43]=u):u=P[43],b=C,P[44]!==R||P[45]!==C?(v=R(C),P[44]=R,P[45]=C,P[46]=v):v=P[46],p=0,f="checkbox",I=y;let B=`room-add-btn-${S.roomId}`,U=y?"dark":"input",F=y?_?.css.selectedDarkFontColor:_?.css.inputBorderColor,M=y?_?.css.darkSelectedColor:_?.css.inputBackground;P[47]!==F||P[48]!==M?(t={borderColor:F,backgroundColor:M},P[47]=F,P[48]=M,P[49]=t):t=P[49],P[50]!==y||P[51]!==U||P[52]!==t?(g={checked:y,color:U,style:t},P[50]=y,P[51]=U,P[52]=t,P[53]=g):g=P[53],P[54]!==B||P[55]!==g?(k=(0,n.jsx)(em.Checkbox,{id:B,inputProps:g}),P[54]=B,P[55]=g,P[56]=k):k=P[56],x=(A??0)>0&&(0,n.jsxs)(eo.default,{bold:!0,className:"bv:text-inherit",children:["+",D(A)," ",G]}),P[3]=j,P[4]=S,P[5]=G,P[6]=D,P[7]=T?.name,P[8]=y,P[9]=R,P[10]=_?.css.darkSelectedColor,P[11]=_?.css.inputBackground,P[12]=_?.css.inputBorderColor,P[13]=_?.css.selectedDarkFontColor,P[14]=C,P[15]=w,P[16]=N,P[17]=o,P[18]=i,P[19]=r,P[20]=l,P[21]=s,P[22]=c,P[23]=m,P[24]=u,P[25]=b,P[26]=v,P[27]=p,P[28]=f,P[29]=I,P[30]=k,P[31]=x}else o=P[17],i=P[18],r=P[19],l=P[20],s=P[21],c=P[22],m=P[23],u=P[24],b=P[25],v=P[26],p=P[27],f=P[28],I=P[29],k=P[30],x=P[31];return P[57]!==u||P[58]!==b||P[59]!==v||P[60]!==p||P[61]!==f||P[62]!==I||P[63]!==k||P[64]!==x?(A=(0,n.jsxs)("div",{className:u,onClick:b,onKeyDown:v,tabIndex:p,role:f,"aria-checked":I,children:[k,x]}),P[57]=u,P[58]=b,P[59]=v,P[60]=p,P[61]=f,P[62]=I,P[63]=k,P[64]=x,P[65]=A):A=P[65],P[66]!==o||P[67]!==r||P[68]!==l||P[69]!==s||P[70]!==c||P[71]!==A?(O=(0,n.jsxs)(o,{topBorder:r,role:l,"aria-label":s,children:[c,A]}),P[66]=o,P[67]=r,P[68]=l,P[69]=s,P[70]=c,P[71]=A,P[72]=O):O=P[72],P[73]!==i||P[74]!==m||P[75]!==O?(h=(0,n.jsx)(i,{className:m,children:O}),P[73]=i,P[74]=m,P[75]=O,P[76]=h):h=P[76],h};var eb=e.i(865376);let eg=e=>{let d,t,o,i=(0,a.c)(12),{disabled:r,onClick:l,children:s,expanded:c,amount:m}=e,u=m>0?"bv:text-bv_selectedDarkFontColor":"bv:text-bv_accentDarkFontColor";i[0]!==u?(d=(0,et.cn)("bv:relative bv:h-[16px] bv:w-[16px]",u),i[0]=u,i[1]=d):d=i[1];let b=c?p.faMinus:f.faPlus;return i[2]!==d||i[3]!==b?(t=(0,n.jsx)("div",{className:"bv:w-[50px] bv:h-[50px] bv:grid bv:place-content-center bv:text-white",children:(0,n.jsx)(v.FontAwesomeIcon,{className:d,icon:b})}),i[2]=d,i[3]=b,i[4]=t):t=i[4],i[5]!==m||i[6]!==s||i[7]!==r||i[8]!==c||i[9]!==l||i[10]!==t?(o=(0,n.jsxs)(eb.ExpanderContainer,{isExpanded:c,disabled:r,amount:m,onClick:l,role:"button",tabIndex:0,"aria-expanded":c,"aria-disabled":r,children:[t,s]}),i[5]=m,i[6]=s,i[7]=r,i[8]=c,i[9]=l,i[10]=t,i[11]=o):o=i[11],o};var ev=e.i(931118);let ep=e=>{let d,t,o,i,r,l,c,m,u,b,v=(0,a.c)(38),{id:p,label:f,price:I,isAdded:k,onToggle:x,topBorder:A}=e,{formatCurrency:O,currencyCode:h}=(0,g.useCurrencyFormatter)(),P=(0,el.useTheme)(),{registerEnterKeyAsClick:y}=(0,ec.useAccessibilityHandlers)(),{isSmallScreen:C}
1=(0,s.useScreenSizes)(),w=A?"bv:pt-[10px]":"";v[0]!==f?(d=(0,n.jsx)(eo.default,{bold:!0,children:f}),v[0]=f,v[1]=d):d=v[1];let S=k?"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor bv:border-bv_darkSelectedColor":"bv:bg-bv_cardBackground bv:text-bv_cardColor bv:border-bv_inputBorderColor";v[2]!==S?(t=(0,et.cn)("bv:flex bv:h-[40px] bv:min-w-[210px] bv:cursor-pointer bv:items-center bv:gap-[10px] bv:pl-[10px] bv:transition-all bv:duration-150","bv:border bv:border-solid",S),v[2]=S,v[3]=t):t=v[3],v[4]!==x||v[5]!==y?(o=y(x),v[4]=x,v[5]=y,v[6]=o):o=v[6];let j=k?"dark":"input",N=k?P?.css.selectedDarkFontColor:P?.css.inputBorderColor,B=k?P?.css.darkSelectedColor:P?.css.inputBackground;v[7]!==N||v[8]!==B?(i={borderColor:N,backgroundColor:B},v[7]=N,v[8]=B,v[9]=i):i=v[9],v[10]!==k||v[11]!==j||v[12]!==i?(r={checked:k,color:j,style:i},v[10]=k,v[11]=j,v[12]=i,v[13]=r):r=v[13],v[14]!==p||v[15]!==r?(l=(0,n.jsx)(em.Checkbox,{id:p,inputProps:r}),v[14]=p,v[15]=r,v[16]=l):l=v[16],v[17]!==h||v[18]!==O||v[19]!==I?(c=I>0&&(0,n.jsxs)(eo.default,{bold:!0,className:"bv:text-inherit",children:["+",O(I)," ",h]}),v[17]=h,v[18]=O,v[19]=I,v[20]=c):c=v[20],v[21]!==k||v[22]!==x||v[23]!==l||v[24]!==c||v[25]!==t||v[26]!==o?(m=(0,n.jsxs)("div",{className:t,onClick:x,onKeyDown:o,tabIndex:0,role:"checkbox","aria-checked":k,children:[l,c]}),v[21]=k,v[22]=x,v[23]=l,v[24]=c,v[25]=t,v[26]=o,v[27]=m):m=v[27],v[28]!==f||v[29]!==w||v[30]!==m||v[31]!==d||v[32]!==A?(u=(0,n.jsxs)(ea.Inner,{topBorder:A,role:"group","aria-label":f,className:w,children:[d,m]}),v[28]=f,v[29]=w,v[30]=m,v[31]=d,v[32]=A,v[33]=u):u=v[33];let T=u;if(C){let e;return v[34]!==T?(e=(0,n.jsx)(en.Outer,{thinBorder:!0,className:"bv:px-[20px] bv:py-[15px]",children:T}),v[34]=T,v[35]=e):e=v[35],e}return v[36]!==T?(b=(0,n.jsx)(en.Outer,{className:"bv:px-[20px] bv:py-[15px]",children:T}),v[36]=T,v[37]=b):b=v[37],b},ef=e=>{let d,o,i,r,l,s,c,m,u=(0,a.c)(50),{room:v,addOnPackageId:p,connectedAddOns:f,packageData:I,onToggle:k,initiallyExpanded:x}=e,A=(0,t.useAccommodationTranslations)(),{data:O}=(0,er.useGuestRooms)(),{formatCurrency:h,currencyCode:P}=(0,g.useCurrencyFormatter)(),[y,C]=(0,b.useState)(void 0===x||x);u[0]!==O?.rooms||u[1]!==v?(d=O?.rooms?.find(e=>e.id===v.roomId),u[0]=O?.rooms,u[1]=v,u[2]=d):d=u[2];let w=d;if(u[3]!==p||u[4]!==f||u[5]!==P||u[6]!==y||u[7]!==h||u[8]!==w?.name||u[9]!==k||u[10]!==I||u[11]!==v||u[12]!==A){let e,a,d,t,c,m,b,g;u[18]!==p||u[19]!==v?(e=e=>e.internalRoomId===v.internalBookingId&&e.addOnPackageId===p,u[18]=p,u[19]=v,u[20]=e):e=u[20];let x=I.filter(e),O=x.find(eI),S=x.map(ek).filter(ex),j=S.length?Math.min(...S):0,N=j>0;l="bv:text-bv_cardColor";let B=+!!O;u[21]===Symbol.for("react.memo_cache_sentinel")?(a=()=>C(eA),u[21]=a):a=u[21];let T=w?.name;u[22]!==T?(d=(0,n.jsx)(eo.default,{bold:!0,className:"bv:text-inherit",children:T}),u[22]=T,u[23]=d):d=u[23],u[24]!==v||u[25]!==A?(t=(0,es.getGuestsText)(v,A),u[24]=v,u[25]=A,u[26]=t):t=u[26],u[27]!==t?(c=(0,n.jsxs)(eo.default,{size:"small",className:"bv:text-inherit",children:["(",t,")"]}),u[27]=t,u[28]=c):c=u[28],u[29]!==d||u[30]!==c?(m=(0,n.jsxs)("div",{className:"bv:ml-[20px] bv:px-[10px] bv:py-[10px]",children:[d,c]}),u[29]=d,u[30]=c,u[31]=m):m=u[31];let D=O?(0,n.jsxs)(eo.default,{bold:!0,className:"bv:text-inherit",children:[A("EA4H.General.Selected")," +",h(O.price??0)," ",P]}):N?(0,n.jsxs)(eo.default,{className:"bv:text-inherit",children:[A("EA4H.General.From")," ",(0,n.jsxs)("span",{className:"bv:font-bold",children:[h(j)," ",P]})]}):null;u[32]!==D?(b=(0,n.jsx)("span",{className:"bv:hidden bv:bv_medium:grid bv:mr-[20px] bv:justify-self-end bv:text-right",children:D}),u[32]=D,u[33]=b):b=u[33],u[34]!==y||u[35]!==m||u[36]!==b||u[37]!==B?(s=(0,n.jsxs)(eg,{amount:B,expanded:y,onClick:a,children:[m,b]}),u[34]=y,u[35]=m,u[36]=b,u[37]=B,u[38]=s):s=u[38],o=ev.Collapse,i=y,u[39]!==k||u[40]!==v?(g=(e,a)=>{let{ca:d,entry:t}=e;return(0,n.jsx)(ep,{id:`pkg-addon-${v.internalBookingId}-${d.addOnId}`,topBorder:a>0,label:d.name??"",price:t.price??0,isAdded:(t.newAmount??0)>0,onToggle:()=>k(v.internalBookingId,d.addOnId)},d.addOnId)},u[39]=k,u[40]=v,u[41]=g):g=u[41],r=f.map(e=>({ca:e,entry:e.addOnId?x.find(n=>n.addonId===e.addOnId):void 0})).filter(eO).map(g),u[3]=p,u[4]=f,u[5]=P,u[6]=y,u[7]=h,u[8]=w?.name,u[9]=k,u[10]=I,u[11]=v,u[12]=A,u[13]=o,u[14]=i,u[15]=r,u[16]=l,u[17]=s}else o=u[13],i=u[14],r=u[15],l=u[16],s=u[17];return u[42]!==o||u[43]!==i||u[44]!==r?(c=(0,n.jsx)(o,{open:i,children:r}),u[42]=o,u[43]=i,u[44]=r,u[45]=c):c=u[45],u[46]!==l||u[47]!==s||u[48]!==c?(m=(0,n.jsxs)("div",{className:l,children:[s,c]}),u[46]=l,u[47]=s,u[48]=c,u[49]=m):m=u[49],m};function eI(e){return(e.newAmount??0)>0}function ek(e){return e.price??0}function ex(e){return e>0}function eA(e){return!e}
1function eO(e){return!!(e.ca.addOnId&&e.entry)}let eh=e=>{let d,t,o,i=(0,a.c)(34),{Addon:r}=e,l=(0,b.useContext)(K),s=l?.rooms;i[0]!==l?(d=e=>{l?.SetOnePerRoomData(n=>n.map(n=>n.internalRoomId===e?{...n,newValue:!n.newValue}:n))},i[0]=l,i[1]=d):d=i[1];let c=d;i[2]!==l?(t=(e,n)=>{l?.SetOnePerRoomPackageData(a=>{let d=a.filter(a=>a.internalRoomId===e&&a.addOnPackageId===n),t=+!(d.length>0&&d.every(eP));return a.map(a=>a.internalRoomId===e&&a.addOnPackageId===n?{...a,newAmount:t}:a)})},i[2]=l,i[3]=t):t=i[3];let m=t;i[4]!==l?(o=(e,n)=>{l?.SetOnePerRoomPackageData(a=>a.map(a=>{if(a.internalRoomId!==e)return a;if(a.addonId===n){let e=(a.newAmount??0)>0?0:1;return{...a,newAmount:e}}return(a.newAmount??0)>0?{...a,newAmount:0}:a}))},i[4]=l,i[5]=o):o=i[5];let u=o;if((0,x.isAddon)(r)){let e,a,d=l?.OnePerRoomData;if(!d?.length)return null;if(i[6]!==r||i[7]!==d||i[8]!==c||i[9]!==s){let a;i[11]!==r||i[12]!==c||i[13]!==s?(a=e=>{let a=s?.find(n=>n.internalBookingId===e.internalRoomId);return a?(0,n.jsx)(eu,{isAdded:e.newValue,toggleRoom:()=>c(e.internalRoomId),Addon:r,Room:a},e.internalRoomId):null},i[11]=r,i[12]=c,i[13]=s,i[14]=a):a=i[14],e=d.map(a),i[6]=r,i[7]=d,i[8]=c,i[9]=s,i[10]=e}else e=i[10];return i[15]!==e?(a=(0,n.jsx)("div",{className:"bv:flex bv:flex-col bv:overflow-hidden bv:rounded-bv_cardBorderRadius bv:border-solid bv:border-bv_cardBorderWidth bv:border-bv_cardBorderColor bv:bg-bv_cardBackground",children:e}),i[15]=e,i[16]=a):a=i[16],a}if(_(r)){let e,a,d,t=l?.OnePerRoomPackageData;if(!t?.length)return null;i[17]!==r.connectedAddOns?(e=r.connectedAddOns??[],i[17]=r.connectedAddOns,i[18]=e):e=i[18];let o=e;if(i[19]!==t?(a=[],t.forEach(e=>{e.internalRoomId&&!a.includes(e.internalRoomId)&&a.push(e.internalRoomId)}),i[19]=t,i[20]=a):a=i[20],!a.length)return null;if((0,x.isFixedAddonPackage)(r)){let e;return i[21]!==m||i[22]!==t||i[23]!==r||i[24]!==a||i[25]!==s?(e=(0,n.jsx)("div",{className:"bv:flex bv:flex-col bv:overflow-hidden bv:rounded-bv_cardBorderRadius bv:border-solid bv:border-bv_cardBorderWidth bv:border-bv_cardBorderColor bv:bg-bv_cardBackground",children:a.map(e=>{let a=s?.find(n=>n.internalBookingId===e);if(!a)return null;let d=t.filter(n=>n.internalRoomId===e&&n.addOnPackageId===r.addOnPackageId),o=d.length>0&&d.every(ey);return(0,n.jsx)(eu,{isAdded:o,toggleRoom:()=>m(e,r.addOnPackageId),Addon:r,Room:a},e)})}),i[21]=m,i[22]=t,i[23]=r,i[24]=a,i[25]=s,i[26]=e):e=i[26],e}return i[27]!==o||i[28]!==u||i[29]!==t||i[30]!==r.addOnPackageId||i[31]!==a||i[32]!==s?(d=(0,n.jsx)("div",{className:"bv:flex bv:flex-col bv:gap-[10px]",children:a.map(e=>{let a=s?.find(n=>n.internalBookingId===e);return a?(0,n.jsx)(ef,{room:a,addOnPackageId:r.addOnPackageId,connectedAddOns:o,packageData:t,onToggle:u},e):null})}),i[27]=o,i[28]=u,i[29]=t,i[30]=r.addOnPackageId,i[31]=a,i[32]=s,i[33]=d):d=i[33],d}return null};function eP(e){return(e.newAmount??0)>0}function ey(e){return(e.newAmount??0)>0}var eC=e.i(316510);let ew=e=>{let o=(0,a.c)(40),{Addon:i,Date:r,IsInPackage:l,addOnDescription:c}=e,m=(0,t.useAccommodationTranslations)(),{isVerySmallScreen:u}=(0,s.useScreenSizes)();if((0,x.isAddon)(i)){let e,a,t,s,b,g,v;o[0]!==i.addOnPriceInfo?(e=new Set(i.addOnPriceInfo?.filter(eS).map(ej)),o[0]=i.addOnPriceInfo,o[1]=e):e=o[1],o[2]!==e?(a=[...e],o[2]=e,o[3]=a):a=o[3];let p=a;if(o[4]!==i||o[5]!==r||o[6]!==l||o[7]!==c||o[8]!==p||o[9]!==u||o[10]!==m){let e,a,v=p.map(e=>i.addOnPriceInfo?.find(n=>n.ageGroupId===e)?.ageGroup);v=(0,d.default)(v,eN),o[15]!==i.addOnPriceInfo?(e=i.addOnPriceInfo?.find(eB),o[15]=i.addOnPriceInfo,o[16]=e):e=o[16];let f=e,I=!l&&"bv:overflow-hidden bv:rounded-bv_cardBorderRadius bv:border-solid bv:border-bv_cardBorderWidth bv:border-bv_cardBorderColor";o[17]!==I?(t=(0,et.cn)("bv:bg-bv_cardBackground",I),o[17]=I,o[18]=t):t=o[18],o[19]!==l||o[20]!==c||o[21]!==u?(s=c&&(0,n.jsx)(en.Outer,{lightBorder:void 0!==l,thinBorder:u,className:"bv:px-[20px] bv:py-[10px]",children:(0,n.jsx)(eo.default,{children:c})}),o[19]=l,o[20]=c,o[21]=u,o[22]=s):s=o[22],o[23]!==i||o[24]!==r||o[25]!==l||o[26]!==f||o[27]!==m?(b=f&&(0,n.jsx)(ei,{IsInPackage:l,Date:r,AgeGroup:f,Label:m("EA4H.General.Adult"),Addon:i},"adult_agegroup"),o[23]=i,o[24]=r,o[25]=l,o[26]=f,o[27]=m,o[28]=b):b=o[28],o[29]!==i||o[30]!==r||o[31]!==l||o[32]!==f||o[33]!==m?(a=(e,a)=>{let d=0===a&&!f,t=e?.typeOfAgeGroup===A.TypeOfAgeGroup.OwnDefined?e.name:m.dynamic(`EA4H.General.${e?.typeOfAgeGroup}`);return(0,n.jsx)(ei,{IsInPackage:l,Date:r,topBorder:!d,AgeGroup:e,Addon:i,Label:`${t} ${(0,ed.isNotNullOrUndefined)(e?.minAge)&&(0,ed.isNotNullOrUndefined)(e?.maxAge)?`(${e?.minAge}-${e?.maxAge} ${m("EA4H.General.YearsLOWER")})`:""}`},e?.ageGroupId)},o[29]=i,o[30]=r,o[31]=l,o[32]=f,o[33]=m,o[34]=a):a=o[34],g=v.map(a),o[4]=i,o[5]=r,o[6]=l,o[7]=c,o[8]=p,o[9]=u,o[10]=m,o[11]=t,o[12]=s,o[13]=b,o[14]=g}else t=o[11],s=o[12],b=o[13],g=o[14];return o[35]!==t||o[36]!==s||o[37]!==b||o[38]!==g?(v=(0,n.jsxs)("div",{className:t,children:[s,b,g]}),o[35]=t,o[36]=s,o[37]=b,o[38]=g,o[39]=v):v=o[39],v}return null};function eS(e){return!!e.ageGroupId}function ej(e){return e.ageGroupId}function eN(e){return e?.minAge??0}function eB(e){return null===e.ageGroupId}var eT=e.i(747710);let eD=e=>{let d,o,i,r,l,c,m,u,v,p,f,I,k,x=(0,a.c)(56),{AddonPackage:A,Addon:O,addOnDescription:h}=e,P=(0,t.useAccommodationTranslations)(),{currencyCode:y}=(0,g.useCurrencyFormatter)(),C=(0,b.useContext)(K),{isSmallScreen:w}
1=(0,s.useScreenSizes)(),S=(0,el.useTheme)(),j=C?.OnePerRoomPackageData?.find(e=>e.addOnPackageId===A.addOnPackageId&&e.addonId===O.addOnId);x[0]!==O.price||x[1]!==A?(d=()=>(B(A)||T(A),O.price),x[0]=O.price,x[1]=A,x[2]=d):d=x[2];let N=d;x[3]!==O.addOnId||x[4]!==A.addOnPackageId||x[5]!==N||x[6]!==C?(o=()=>{C?.SetOnePerRoomPackageData(e=>{let n=e.find(e=>e.addOnPackageId===A.addOnPackageId&&e.addonId===O.addOnId);return[...e.filter(e=>e.addOnPackageId!==A.addOnPackageId||e.addonId!==O.addOnId),{addonId:O.addOnId,addOnPackageId:A.addOnPackageId,newAmount:+(void 0===n||n?.newAmount===0),price:N(),originalAmount:n?.originalAmount??0}]})},x[3]=O.addOnId,x[4]=A.addOnPackageId,x[5]=N,x[6]=C,x[7]=o):o=x[7];let D=o,G=void 0!==j&&(j.newAmount??0)>0,_=(N()??0)>0,R=G?"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor bv:border-bv_darkSelectedColor":"bv:bg-bv_cardBackground bv:text-bv_cardColor bv:border-bv_inputBorderColor",U=_?"bv:min-w-[210px] bv:pl-[10px]":"bv:min-w-[40px] bv:place-content-center";x[8]!==R||x[9]!==U?(i=(0,et.cn)("bv:gap-[10px] bv:h-[40px] bv:transition-all bv:duration-150 bv:items-center bv:flex bv:cursor-pointer","bv:border bv:border-solid",R,U),x[8]=R,x[9]=U,x[10]=i):i=x[10];let E=`addon-${A.addOnPackageId}-${O.addOnId}-checkbox`,F=G?"dark":"input",M=G?S?.css.selectedDarkFontColor:S?.css.inputBorderColor,H=G?S?.css.darkSelectedColor:S?.css.inputBackground;x[11]!==M||x[12]!==H?(r={borderColor:M,backgroundColor:H},x[11]=M,x[12]=H,x[13]=r):r=x[13],x[14]!==G||x[15]!==r||x[16]!==F?(l={checked:G,color:F,style:r},x[14]=G,x[15]=r,x[16]=F,x[17]=l):l=x[17],x[18]!==l||x[19]!==E?(c=(0,n.jsx)(em.Checkbox,{id:E,inputProps:l}),x[18]=l,x[19]=E,x[20]=c):c=x[20],x[21]!==y||x[22]!==N||x[23]!==_?(m=_&&(0,n.jsxs)(eo.default,{bold:!0,className:"bv:text-inherit",children:["+",N()," ",y]}),x[21]=y,x[22]=N,x[23]=_,x[24]=m):m=x[24],x[25]!==D||x[26]!==c||x[27]!==m||x[28]!==i?(u=(0,n.jsxs)("div",{className:i,onClick:D,children:[c,m]}),x[25]=D,x[26]=c,x[27]=m,x[28]=i,x[29]=u):u=x[29];let $=u;if(w){let e,a,d,t,o;x[30]!==h?(e=h&&(0,n.jsx)(eo.default,{className:"bv:pt-[10px]",children:h}),x[30]=h,x[31]=e):e=x[31],x[32]!==P?(a=P("EA4H.General.AddToBooking"),x[32]=P,x[33]=a):a=x[33];let i=A.chargeUnit?`(${(0,z.getAddOnChargeUnitTranslation)(A.chargeUnit,P)})`:"";return x[34]!==a||x[35]!==i?(d=(0,n.jsx)("div",{className:"bv:w-full bv:flex bv:justify-between bv:gap-[10px]",children:(0,n.jsxs)(eo.default,{children:[a," ",i]})}),x[34]=a,x[35]=i,x[36]=d):d=x[36],x[37]!==$||x[38]!==d?(t=(0,n.jsxs)(ea.Inner,{className:"bv:flex-col bv:items-center bv:gap-[10px]",children:[d,$]}),x[37]=$,x[38]=d,x[39]=t):t=x[39],x[40]!==e||x[41]!==t?(o=(0,n.jsxs)(en.Outer,{thinBorder:!0,className:"bv:px-[20px] bv:py-[15px]",children:[e,t]}),x[40]=e,x[41]=t,x[42]=o):o=x[42],o}x[43]!==h?(v=h&&(0,n.jsx)(eo.default,{className:"bv:pt-[15px]",children:h}),x[43]=h,x[44]=v):v=x[44],x[45]!==P?(p=P("EA4H.General.AddToBooking"),x[45]=P,x[46]=p):p=x[46];let L=A.chargeUnit?`(${(0,z.getAddOnChargeUnitTranslation)(A.chargeUnit,P)})`:"";return x[47]!==p||x[48]!==L?(f=(0,n.jsx)("div",{className:"bv:flex bv:flex-col",children:(0,n.jsxs)(eo.default,{bold:!0,children:[p," ",L]})}),x[47]=p,x[48]=L,x[49]=f):f=x[49],x[50]!==$||x[51]!==f?(I=(0,n.jsxs)(ea.Inner,{children:[f,$]}),x[50]=$,x[51]=f,x[52]=I):I=x[52],x[53]!==v||x[54]!==I?(k=(0,n.jsxs)(en.Outer,{className:"bv:px-[20px] bv:py-[15px]",children:[v,I]}),x[53]=v,x[54]=I,x[55]=k):k=x[55],k};var eG=e.i(906554),e_=e.i(266027),eR=e.i(194739);let eU=({addonId:e,selectedDate:a,addonPackage:d,isExpanded:t})=>{let{data:i}=(0,o.useBasket)(),r=(0,b.useContext)(K),s=r?.ChooseHowManyData?.filter(e=>e.addOnPackageId===d.addOnPackageId),c={getNote:(e,n)=>{let a=s?.find(a=>(0,O.isSameDayStrict)(a.date,e)&&a.timeString===n);return a?.note},getGuestNames:(e,n)=>{let a=s?.find(a=>(0,O.isSameDayStrict)(a.date,e)&&a.timeString===n);return a?.guestNames},getGuestIds:n=>(i?.booking?.bookingData?.optionalAddOns?.filter(a=>a.addOnId===e&&(n?.date===void 0||a.timeSlot?.startTime===n.date))??[]).at(0)?.externalGuestInfo?.map(e=>e.bvGuestId)??[],getAmountOfGuests:()=>1/0,addToBasket:async({timeSlot:n,newAmount:a,note:t,guestNames:o})=>(r?.SetChooseHowManyData(i=>{let l=s?.find(e=>
1(0,O.isSameDayStrict)(e.date,n.timeSlot)&&e.timeString===n.presentTime);return[...i.filter(e=>!(e.addOnPackageId===d.addOnPackageId&&(0,O.isSameDayStrict)(e.date,n.timeSlot)&&e.timeString===n.presentTime)),{addonId:e,newAmount:a,date:n.timeSlot,addOnPackageId:d.addOnPackageId,originalAmount:l?.originalAmount??0,internalRoomId:r?.internalBookingId,guestNames:o,note:t,timeString:n.presentTime}]}),!0),getTimeslotsInBasket:e=>{let n=s?.find(n=>(0,O.isSameDayStrict)(n.date,e?.date)&&n.timeString===e?.timeString);return[{numberOfUnits:n?.newAmount}]},useExternalGuestInfo:!0},{APIClient:m}=(0,l.useGlobalContext)(),{channelId:u}=(0,eG.useSinglePropertyContext)(),g=d?.connectedAddOns?.find(n=>n.addOnId===e),v=(0,b.useMemo)(()=>void 0!==a?[(0,z.toUTCDate)(a)]:g?.addOnPriceInfo?.filter(e=>e.date).map(e=>(0,z.toUTCDate)(new Date(e.date)))??[],[a,g?.addOnPriceInfo]),{data:p,isPending:f}=(0,e_.useQuery)({queryKey:["optional_addons_available_timeslots",e,1,JSON.stringify(v)],queryFn:()=>m.basketsOptionalAddonTimeslotsV1(e,1,v,u),enabled:t&&!!e&&v.length>0}),I=p?.optionalAddOnTimeSlotsPerDays??[];return(0,n.jsxs)("div",{className:"bv:flex bv:flex-col bv:border-0",children:[f&&(0,n.jsx)(eR.default,{borderRadius:"0px",onSuccessfulBasketUpdate:()=>{},noHeader:!0,isLoading:!0,operations:c,addOnDetail:{addOnId:e,name:g?.name},perDayInfo:{addOnTimeSlots:[]},footer:null}),!f&&I.map(a=>(0,n.jsx)(eR.default,{borderRadius:"0px",onSuccessfulBasketUpdate:()=>{},noHeader:1===I.length,guestNamesMandatory:p?.guestNamesMandatoryForBooking,isLoading:!1,operations:c,addOnDetail:{addOnId:e,name:g?.name},perDayInfo:a,footer:null},"object"==typeof a.dateTime?a.dateTime.getTime():String(a.dateTime))),!f&&0===I.length&&(0,n.jsx)(eR.default,{borderRadius:"0px",onSuccessfulBasketUpdate:()=>{},noHeader:!0,guestNamesMandatory:p?.guestNamesMandatoryForBooking,isLoading:!1,operations:c,addOnDetail:{addOnId:e,name:g?.name},perDayInfo:{addOnTimeSlots:[]},footer:null})]})},eE=({basket:e,addonId:n,addonPackageId:a,date:d})=>e?.booking?.bookingData?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===a&&e.basketAddOnPriceInfos?.every(e=>e.addOnId===n&&(void 0===d||d===e.timeSlot?.startTime))).flatMap(e=>e.basketAddOnPriceInfos??[])??[];eU.GetAddonPriceInfosInBasket=eE,eU.GetAmountInBasket=({basket:e,addonId:n,addonPackageId:a})=>eE({basket:e,addonId:n,addonPackageId:a}).length,eU.GetCostInBasket=({basket:e,addonId:n,addonPackageId:a})=>(e?.booking?.bookingData?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===a&&e.basketAddOnPriceInfos?.every(e=>e.addOnId===n)).flatMap(e=>e.basketAddOnPriceInfos??[])??[]).reduce((e,n)=>e+n.price,0);var eF=e.i(623857),eM=e.i(156306),eH=e.i(628574),e$=e.i(638065),eL=e.i(212203),eV=e.i(859951),eq=e.i(803685),eW=e.i(843221);let ez=({addon:e,addonPackage:a,selectedDate:i})=>{let r=(0,g.useCurrencyFormatter)(),l=(0,b.useContext)(K),[s,c]=(0,b.useState)(),[m,u]=(0,b.useState)(new Map),v=e.tableManagementInfo?.maxNumberOfPersons??e.timeSlotManagementInfo?.maxNumberOfPersons;(0,b.useEffect)(()=>{let e=new Map;P?.length&&(P.forEach(n=>{e.set(n.ageGroupId?n.ageGroupId:null,n.newAmount)}),c(Array.from(e.values()).reduce((e,n)=>e+n,0)),u(e))},[]);let p=Array.from(m.values()).reduce((e,n)=>e+n,0),{data:f,isFetching:I}=(0,eF.useGetAddOnTimeslots)(e.addOnId,p,i,s!==p),k=(0,t.useAccommodationTranslations)(),x=f?.optionalAddOnTimeSlotsPerDays?.[0]?.addOnTimeSlots,{data:h}=(0,o.useBasket)(),P=l?.ChooseHowManyData?.filter(n=>n.addOnPackageId===a.addOnPackageId&&n.addonId===e.addOnId&&n.internalRoomId==l?.internalBookingId&&(0,O.isSameDayStrict)(n.date,i)),y=()=>{l?.SetChooseHowManyData(n=>W(n??[],{addonId:e.addOnId,addOnPackageId:a.addOnPackageId,date:i,internalRoomId:l?.internalBookingId},[]))},C=[...new Set(e.addOnPriceInfo?.filter(e=>!!e.ageGroupId).map(e=>e.ageGroupId))].map(n=>e.addOnPriceInfo?.find(e=>e.ageGroupId===n));C=(0,d.default)(C,e=>e?.ageGroup?.minAge??0);let w=e.addOnPriceInfo?.find(e=>null===e.ageGroupId);return(0,n.jsxs)("div",{className:"bv:flex bv:flex-col bv:border-b-0 bv:border-l-[3px] bv:border-r-0 bv:border-t-0 bv:border-solid bv:border-bv_darkAccentColor/30 bv:bg-bv_cardBackgroun
1d bv:bv_medium:border-l-50",children:[(0,n.jsx)("div",{children:(0,n.jsxs)("div",{className:"bv:flex bv:flex-col",children:[w&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"bv:px-[20px] bv:bv_medium:hidden",children:(0,n.jsxs)("div",{className:"bv:flex bv:w-full bv:flex-col bv:items-center bv:justify-between bv:gap-[10px] bv:py-[15px]",children:[(0,n.jsxs)("div",{className:"bv:flex bv:w-full bv:items-center bv:justify-between bv:gap-[8px]",children:[(0,n.jsx)("p",{children:k("EA4H.General.Adult")}),(w.price??0)>0&&(0,n.jsxs)("p",{children:[w.price," ",r.currencyCode," ",k("EA4H.General.Each").toLowerCase()]})]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:m.get(w.ageGroupId)??0,isIncreaseDisabled:void 0!==v&&p>=v,handleDecrease:()=>{y(),u(e=>{let n=new Map(e);return n.set(w.ageGroupId,(n.get(w.ageGroupId)??0)-1),(n.get(w.ageGroupId)??0)<0&&n.set(w.ageGroupId,0),n})},handleIncrease:()=>{y(),u(e=>{let n=new Map(e);return n.set(w.ageGroupId,(n.get(w.ageGroupId)??0)+1),n})}})]})}),(0,n.jsx)("div",{className:"bv:hidden bv:px-[20px] bv:bv_medium:block",children:(0,n.jsxs)("div",{className:"bv:flex bv:w-full bv:items-center bv:justify-between bv:py-[15px]",children:[(0,n.jsx)("p",{className:"bv:font-bv_bodyBoldFontWeight",children:k("EA4H.General.Adult")}),(0,n.jsxs)("div",{className:"bv:flex bv:items-center bv:gap-[8px]",children:[(w.price??0)>0&&(0,n.jsxs)("p",{children:[w.price," ",r.currencyCode," ",k("EA4H.General.Each").toLowerCase()]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:m.get(w.ageGroupId)??0,isIncreaseDisabled:void 0!==v&&p>=v,handleDecrease:()=>{y(),u(e=>{let n=new Map(e);return n.set(w.ageGroupId,(n.get(w.ageGroupId)??0)-1),(n.get(w.ageGroupId)??0)<0&&n.set(w.ageGroupId,0),n})},handleIncrease:()=>{y(),u(e=>{let n=new Map(e);return n.set(w.ageGroupId,(n.get(w.ageGroupId)??0)+1),n})}})]})]})})]}),C.map(e=>{let a=e?.ageGroup?.typeOfAgeGroup===A.TypeOfAgeGroup.OwnDefined?e.ageGroup.name:k.dynamic(`EA4H.General.${e?.ageGroup?.typeOfAgeGroup}`);return(0,n.jsxs)(b.default.Fragment,{children:[(0,n.jsx)("div",{className:"bv:px-[20px] bv:bv_medium:hidden",children:(0,n.jsxs)("div",{className:"bv:flex bv:w-full bv:flex-col bv:items-center bv:justify-between bv:gap-[10px] bv:py-[15px]",children:[(0,n.jsxs)("div",{className:"bv:flex bv:w-full bv:items-center bv:justify-between bv:gap-[8px]",children:[(0,n.jsx)("p",{children:`${a} ${(0,ed.isNotNullOrUndefined)(e?.ageGroup?.minAge)&&(0,ed.isNotNullOrUndefined)(e?.ageGroup?.maxAge)?`(${e?.ageGroup?.minAge}-${e?.ageGroup?.maxAge} ${k("EA4H.General.YearsLOWER")})`:""}`}),(e?.price??0)>0&&(0,n.jsxs)("p",{children:[e?.price," ",r.currencyCode," ",k("EA4H.General.Each").toLowerCase()]})]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:m.get(e?.ageGroupId)??0,isIncreaseDisabled:void 0!==v&&p>=v,handleDecrease:()=>{y(),u(n=>{let a=new Map(n);return a.set(e?.ageGroupId,(a.get(e?.ageGroupId)??0)-1),(a.get(e?.ageGroupId)??0)<0&&a.set(e?.ageGroupId,0),a})},handleIncrease:()=>{y(),u(n=>{let a=new Map(n);return a.set(e?.ageGroupId,(a.get(e?.ageGroupId)??0)+1),a})}})]})}),(0,n.jsx)("div",{className:"bv:hidden bv:px-[20px] bv:bv_medium:block",children:(0,n.jsxs)("div",{className:"bv:flex bv:w-full bv:items-center bv:justify-between bv:py-[15px]",children:[(0,n.jsx)("p",{className:"bv:font-bv_bodyBoldFontWeight",children:`${a} ${(0,ed.isNotNullOrUndefined)(e?.ageGroup?.minAge)&&(0,ed.isNotNullOrUndefined)(e?.ageGroup?.maxAge)?`(${e?.ageGroup?.minAge}-${e?.ageGroup?.maxAge} ${k("EA4H.General.YearsLOWER")})`:""}`}),(0,n.jsxs)("div",{className:"bv:flex bv:items-center bv:gap-[8px]",children:[(e?.price??0)>0&&(0,n.jsxs)("p",{children:[e?.price," ",r.currencyCode," ",k("EA4H.General.Each").toLowerCase()]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:m.get(e?.ageGroupId)??0,isIncreaseDisabled:void 0!==v&&p>=v,handleDecrease:()=>{y(),u(n=>{let a=new Map(n);return a.set(e?.ageGroupId,(a.get(e?.ageGroupId)??0)-1),(a.get(e?.ageGroupId)??0)<0&&a.set(e?.ageGroupId,0),a})},handleIncrease:()=>{y(),u(n=>{let a=new Map(n);return a.set(e?.ageGroupId,(a.get(e?.ageGroupId)??0)+1),a})}})]})]})})]},e?.ageGroupId)})]})}),p!==s&&(0,n.jsx)(eV.Button,{className:"bv:m-[10px_0px] bv:mr-[20px] bv:w-auto bv:self-end",onClick:()=>c(p),children:k("EA4H.General.SearchTimeSlot")}),s===p&&(0,n.jsx)("div",{className:"bv:px-[20px]",children:(0,n.jsx)("div",{className:"bv:grid bv:grid-cols-2 bv:gap-[10px] bv:pb-[40px] bv:pt-0 bv:sm:gr
1id-cols-4",children:I?(0,n.jsx)(eM.TimeslotsSkeleton,{}):(0,n.jsx)(n.Fragment,{children:p>0&&x&&x?.length>0?x?.map(d=>{let t,o=!!P?.find(e=>(0,O.isSameDayStrict)(e.date,i)&&e.timeString===d.presentTime&&(null==e.timeSlotEndTime||null==d.endTimeSlot||new Date(e.timeSlotEndTime).getTime()===new Date(d.endTimeSlot).getTime())&&e.newAmount>0);return(0,n.jsx)(eH.default,{style:{background:"transparent",width:"100%"},children:(0,n.jsx)(eq.TimeslotButtonPicker,{selected:o,onClick:(t=!!o,()=>{h?.booking?.bookingCode&&l?.SetChooseHowManyData(n=>{let o=Array.from(m.entries());if(0===o.length)return n;let r=P?.find(e=>e.timeString===d?.presentTime&&(0,O.isSameDayStrict)(e.date,i)&&(null==e.timeSlotEndTime||d?.endTimeSlot==null||new Date(e.timeSlotEndTime).getTime()===new Date(d.endTimeSlot).getTime())),s=o.map(([n,o])=>({addonId:e.addOnId,newAmount:t?0:o,date:d.timeSlot,addOnPackageId:a.addOnPackageId,originalAmount:r?.originalAmount??0,internalRoomId:l?.internalBookingId,timeString:d.presentTime,timeSlotEndTime:d.endTimeSlot,ageGroupId:n}));return W(n??[],{addonId:e.addOnId,addOnPackageId:a.addOnPackageId,date:i,timeString:d.presentTime,timeSlotEndTime:d.endTimeSlot,internalRoomId:l?.internalBookingId},s)})}),booked:o,disabled:!d.available,strikeThrough:!d.available,style:{border:"1px solid orange"},children:(0,e$.getTimeslotButtonString)(d)})},(0,eW.getAddOnTimeSlotKey)(d))}):(0,n.jsx)("div",{style:{gridColumn:"1/-1"},children:(0,n.jsx)(eo.default,{bold:!0,children:k("EA4H.General.NoTimeslotsAvailable")})})})})})]})};var eK=e.i(507234),eQ=e.i(885147),eJ=e.i(550118);let eY=e=>{let d,i,r,l,s,c,m,u,g,v,p,f,I,k,x,A=(0,a.c)(54),{addonId:h,addonPackage:P,selectedDate:y,tableManagementInfo:C}=e,w=(0,t.useAccommodationTranslations)(),[S,j]=(0,b.useState)(0),N=C?.maxNumberOfPersons;A[0]===Symbol.for("react.memo_cache_sentinel")?(d=["single_agegroup_tablebooking_package"],A[0]=d):d=A[0];let{data:B,isFetching:T}=(0,eF.useGetAddOnTimeslots)(h,S,y,!1,d),D=B?.optionalAddOnTimeSlotsPerDays?.[0]?.addOnTimeSlots,{data:G}=(0,o.useBasket)(),_=(0,b.useContext)(K);A[1]!==h||A[2]!==P||A[3]!==_?.ChooseHowManyData||A[4]!==_?.internalBookingId||A[5]!==y?(i=_?.ChooseHowManyData?.filter(e=>e.addOnPackageId===P.addOnPackageId&&e.addonId===h&&e.internalRoomId==_?.internalBookingId&&(0,O.isSameDayStrict)(e.date,y)),A[1]=h,A[2]=P,A[3]=_?.ChooseHowManyData,A[4]=_?.internalBookingId,A[5]=y,A[6]=i):i=A[6];let R=i;A[7]!==R?(r=()=>{R?.length&&j(R.at(0)?.originalAmount||0)},A[7]=R,A[8]=r):r=A[8],A[9]===Symbol.for("react.memo_cache_sentinel")?(l=[],A[9]=l):l=A[9],(0,b.useEffect)(r,l),A[10]!==h||A[11]!==P||A[12]!==_||A[13]!==y?(s=()=>{_?.SetChooseHowManyData(e=>W(e??[],{addonId:h,addOnPackageId:P.addOnPackageId,date:y,internalRoomId:_?.internalBookingId},[]))},A[10]=h,A[11]=P,A[12]=_,A[13]=y,A[14]=s):s=A[14];let U=s;A[15]!==h||A[16]!==P||A[17]!==G?.booking?.bookingCode||A[18]!==R||A[19]!==_||A[20]!==y||A[21]!==S?(c=(e,n)=>()=>{G?.booking?.bookingCode&&_?.SetChooseHowManyData(a=>{let d=R?.find(n=>n.timeString===e?.presentTime&&(0,O.isSameDayStrict)(n.date,y)&&(null==n.timeSlotEndTime||e?.endTimeSlot==null||new Date(n.timeSlotEndTime).getTime()===new Date(e.endTimeSlot).getTime())),t={addonId:h,newAmount:n?0:S,date:e.timeSlot,addOnPackageId:P.addOnPackageId,originalAmount:d?.originalAmount??0,internalRoomId:_?.internalBookingId,timeString:e.presentTime,timeSlotEndTime:e.endTimeSlot};return W(a??[],{addonId:h,addOnPackageId:P.addOnPackageId,date:y,timeString:e.presentTime,timeSlotEndTime:e.endTimeSlot,internalRoomId:_?.internalBookingId},[t])})},A[15]=h,A[16]=P,A[17]=G?.booking?.bookingCode,A[18]=R,A[19]=_,A[20]=y,A[21]=S,A[22]=c):c=A[22];let E=c;A[23]!==w?(m=w("EA4H.General.HowManyPersons"),A[23]=w,A[24]=m):m=A[24],A[25]!==m?(u=(0,n.jsx)("p",{className:"bv:whitespace-nowrap",children:m}),A[25]=m,A[26]=u):u=A[26],A[27]===Symbol.for("react.memo_cache_sentinel")?(g=(0,n.jsx)("hr",{className:"bv:m-0 bv:h-bv_dividerBorderWidth bv:w-full bv:border-0 bv:bg-current bv:opacity-[0.2]"}),A[27]=g):g=A[27],A[28]!==u?(v=(0,n.jsxs)("div",{className:"bv:mb-[15px] bv:flex bv:items-center bv:gap-[8px]",children:[u,g]}),A[28]=u,A[29]=v):v=A[29];let F=Math.min(N??8,8);if(A[30]!==U||A[31]!==S||A[32]!==F){let e;A[34]!==U||A[35]!==S?(e=(e,a)=>{let d=a+1;return(0,n.jsx)(eQ.GuestAmountButton,{amount:d,selectedAmount:S,onSelect:()=>{j(d),U()},tone:"body"},a)}
1,A[34]=U,A[35]=S,A[36]=e):e=A[36],p=Array((0,eK.getSafeArrayLength)(F)).fill(null).map(e),A[30]=U,A[31]=S,A[32]=F,A[33]=p}else p=A[33];return A[37]!==N?(f=(0,n.jsx)(eJ.default,{maxPersons:N}),A[37]=N,A[38]=f):f=A[38],A[39]!==p||A[40]!==f?(I=(0,n.jsxs)("div",{className:"bv:mb-[20px] bv:grid bv:grid-cols-4 bv:gap-[6px] bv:bv_medium:grid-cols-9",children:[p,f]}),A[39]=p,A[40]=f,A[41]=I):I=A[41],A[42]!==E||A[43]!==R||A[44]!==T||A[45]!==y||A[46]!==S||A[47]!==D||A[48]!==w?(k=(0,n.jsx)("div",{className:"bv:grid bv:grid-cols-2 bv:gap-[10px] bv:pt-0 bv:sm:grid-cols-4",children:T?(0,n.jsx)(eM.TimeslotsSkeleton,{}):(0,n.jsx)(n.Fragment,{children:S>0&&D&&D?.length>0?D?.map(e=>{let a=!!R?.find(n=>(0,O.isSameDayStrict)(n.date,y)&&n.timeString===e.presentTime&&(null==n.timeSlotEndTime||null==e.endTimeSlot||new Date(n.timeSlotEndTime).getTime()===new Date(e.endTimeSlot).getTime())&&n.newAmount>0);return(0,n.jsx)(eH.default,{style:{background:"transparent",width:"100%"},children:(0,n.jsx)(eq.TimeslotButtonPicker,{"data-testid":e.available?"timeslot_button_available":"timeslot_button_unavailable",onClick:E(e,a),selected:a,booked:a,disabled:!e.available,strikeThrough:!e.available,style:{border:"1px solid orange"},children:(0,e$.getTimeslotButtonString)(e)})},(0,eW.getAddOnTimeSlotKey)(e))}):S>0?(0,n.jsx)("div",{style:{gridColumn:"1/-1"},children:(0,n.jsx)(eo.default,{bold:!0,children:w("EA4H.General.NoTimeslotsAvailable")})}):null})}),A[42]=E,A[43]=R,A[44]=T,A[45]=y,A[46]=S,A[47]=D,A[48]=w,A[49]=k):k=A[49],A[50]!==v||A[51]!==I||A[52]!==k?(x=(0,n.jsxs)("div",{className:"bv:flex bv:flex-col bv:bg-bv_cardBackground bv:border-b-0 bv:border-l-[3px] bv:border-r-0 bv:border-t-0 bv:border-solid bv:bv_medium:border-l-50 bv:border-bv_darkAccentColor/30 bv:p-[20px]",children:[v,I,k]}),A[50]=v,A[51]=I,A[52]=k,A[53]=x):x=A[53],x};var eX=e.i(463862);let eZ=e=>{let o,i,r,l,s,c=(0,a.c)(18),{AddonPackage:m,date:u}=e,[p,f]=(0,b.useState)(),I=(0,b.useContext)(K),k=(0,t.useAccommodationTranslations)(),{formatCurrency:x,currencyCode:A}=(0,g.useCurrencyFormatter)();if(c[0]!==m||c[1]!==A||c[2]!==u||c[3]!==p||c[4]!==x||c[5]!==I||c[6]!==k){let e=(0,d.default)(m.connectedAddOns,e0);o="bv:flex bv:select-none bv:flex-col bv:gap-[3px]",i="list",c[11]!==u?(r=u?(0,z.toUTCDate)(u).toDateString?.():"",c[11]=u,c[12]=r):r=c[12],l=e.map(e=>{let a,d,t=p===e.addOnId,o=H(m,e,I,u),i=$(m,e,I,u),r=e.addOnPriceInfo?.find(e=>e?.date===u)??e?.addOnPriceInfo?.[0],l=e.description,s=e.addOnPriceInfo?.find(e1)?.date,c=u?new Date(u):s?new Date(s):void 0,b=1/0;if(0===(e.addOnPriceInfo??[]).length||r?.availability===0?b=0:(r?.availability??0)>0&&(b=r?.availability),void 0!==u&&(void 0===r&&(b=0),r?.date!==u&&(b=0)),0===o||void 0===o&&b>1?(a=k("EA4H.General.From"),d=`${x(r?.price??0)} ${A}`):(a=k("EA4H.General.Selected"),d=`+${x(i)} ${A}`),0!==b||m.displayFullyBooked)return(0,n.jsxs)("div",{className:"bv:text-bv_cardColor",children:[(0,n.jsxs)(eg,{disabled:0===b,amount:o??0,expanded:t,onClick:()=>{b>0&&f(n=>n===e.addOnId?void 0:e.addOnId)},children:[(o??0)>0&&(0,n.jsx)("div",{className:"bv:absolute bv:bottom-[10px] bv:left-[49px] bv:top-[10px] bv:w-px bv:bg-current bv:opacity-50"}),(0,n.jsxs)("div",{className:"bv:ml-[20px] bv:px-[10px]",children:[(0,n.jsx)(eo.default,{bold:!0,className:"bv:text-inherit",children:e.name}),(0,n.jsxs)("div",{className:"bv:bv_medium:hidden",children:[(0,n.jsxs)(eo.default,{className:"bv:text-inherit",children:[a," ",(0,n.jsx)("span",{className:"bv:font-bold",children:d})]}),0===b&&(0,n.jsx)(eo.default,{className:"bv:text-bv_offerColorDark",children:k("EA4H.General.NothingAvailable")})]})]}),(0,n.jsx)("span",{className:"bv:hidden bv:bv_medium:grid bv:mr-[20px] bv:justify-self-end bv:text-right",children:0===b?(0,n.jsx)(eo.default,{className:"bv:text-bv_offerColorDark",children:k("EA4H.General.NothingAvailable")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(eb.SlideContainer,{$slideDirection:0===o||void 0===o&&b>1?"in":"out",children:[(0,n.jsx)(eo.default,{className:"bv:text-inherit bv:inline-block",children:k("EA4H.General.From")})," ",(0,n.jsx)(eo.default,{bold:!0,className:"bv:text-inherit bv:inline-block",children:d})]}),(0,n.jsx)(eb.SlideContainer,{$slideDirection:(o??0)>0?"in":"out",children:(0,n.jsxs)("div",{className:"bv:flex bv:items-end",children:[(0,n.jsx)(v.FontAwesomeIcon,{className:"bv:self-ce
1nter bv:mr-[10px] bv:h-5",icon:eT.faCheck}),(0,n.jsxs)(eo.default,{bold:!0,className:"bv:text-inherit bv:inline-block",children:[k("EA4H.General.Selected")," +",x(i)," ",A]})]})})]})})]}),(0,n.jsx)(ev.Collapse,{open:p===e.addOnId,children:(0,n.jsx)("div",{className:"bv:rounded-b-bv_cardBorderRadius bv:overflow-hidden bv:border-bv_cardBorderWidth bv:border-solid bv:border-bv_cardBorderColor bv:border-t-0",children:e.spaManagementInfo?(0,n.jsx)("div",{className:"bv:flex bv:flex-col bv:border-b-0 bv:bv_medium:border-l-50 bv:border-r-0 bv:border-t-0 bv:border-solid bv:border-bv_darkAccentColor/30 bv:border-l-[3px]",children:(0,n.jsx)(eU,{isExpanded:!0,addonPackage:m,addonId:e?.addOnId,selectedDate:u})}):(0,eX.isSharedTimeslotAddon)(e)?N(e)?(0,n.jsx)(ez,{addon:e,selectedDate:c,addonPackage:m}):(0,n.jsx)(eY,{addonId:e.addOnId,selectedDate:c,addonPackage:m,tableManagementInfo:e.tableManagementInfo??e.timeSlotManagementInfo}):y(m)&&N(e)?(0,n.jsx)(ew,{Date:u,Addon:e,IsInPackage:m,addOnDescription:l}):y(m)?(0,n.jsx)(ei,{Date:u,Addon:e,IsInPackage:m,addOnDescription:l}):(0,n.jsx)(eD,{Addon:e,AddonPackage:m,addOnDescription:l})})})]},e.addOnId)}),c[0]=m,c[1]=A,c[2]=u,c[3]=p,c[4]=x,c[5]=I,c[6]=k,c[7]=o,c[8]=i,c[9]=r,c[10]=l}else o=c[7],i=c[8],r=c[9],l=c[10];return c[13]!==o||c[14]!==i||c[15]!==r||c[16]!==l?(s=(0,n.jsx)("div",{className:o,role:i,"aria-label":r,children:l}),c[13]=o,c[14]=i,c[15]=r,c[16]=l,c[17]=s):s=c[17],s};function e0(e){return e.rank}function e1(e){return e.date}var e2=e.i(736613);let e4=e=>{let d,t,o,i,r=(0,a.c)(30),{Addon:l}=e,s=(0,b.useContext)(K);if((0,x.isAddon)(l)){let e;if(r[0]!==l||r[1]!==s?.DateFormatter){let a=[...new Set(l.addOnPriceInfo?.map(e3)??[])];e=(0,n.jsx)(e2.Stack,{className:"bv:gap-[40px]",children:a.map(e=>{let a=JSON.stringify(e);return(0,n.jsxs)("div",{role:"group","aria-labelledby":a,children:[(0,n.jsxs)("div",{className:"bv:mb-[15px] bv:flex bv:items-center bv:gap-[15px]",children:[(0,n.jsx)(v.FontAwesomeIcon,{className:"bv:h-[20px] bv:opacity-bv_bodyMutedOpacity",icon:eC.faCalendar}),(0,n.jsx)(eo.default,{id:a,bold:!0,className:"bv:whitespace-nowrap",muted:!0,children:s?.DateFormatter?.format((0,z.toUTCDate)(e))}),(0,n.jsx)("hr",{className:"bv:m-0 bv:h-bv_dividerBorderWidth bv:w-full bv:border-0 bv:bg-bv_dividerBorderColor"})]}),l.isUnitPrice?(0,n.jsx)(ei,{Date:e,Addon:l}):(0,n.jsx)(ew,{Date:e,Addon:l})]},JSON.stringify(e))})}),r[0]=l,r[1]=s?.DateFormatter,r[2]=e}else e=r[2];return e}if((0,x.isFixedAddonPackage)(l)){let e,a,d,t;if((l.connectedAddOns?.flatMap(e5)??[]).every(e6)){let e,a,d;return r[3]!==l.addOnPackageId?(e=JSON.stringify(l.addOnPackageId),r[3]=l.addOnPackageId,r[4]=e):e=r[4],r[5]!==l?(a=(0,n.jsx)(ei,{Date:null,Addon:l}),r[5]=l,r[6]=a):a=r[6],r[7]!==e||r[8]!==a?(d=(0,n.jsx)("div",{className:"bv:flex bv:flex-col bv:gap-[40px]",children:(0,n.jsx)("div",{children:a},e)}),r[7]=e,r[8]=a,r[9]=d):d=r[9],d}if(r[10]!==l||r[11]!==s?.DateFormatter){let t=[...new Set(l.connectedAddOns?.flatMap(e8).map(e7)??[])].sort(e9);e=e2.Stack,a="bv:gap-[40px]",d=t.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"bv:mb-[15px] bv:flex bv:items-center bv:gap-[8px]",children:[(0,n.jsx)(v.FontAwesomeIcon,{className:"bv:h-[20px] bv:opacity-bv_bodyMutedOpacity",icon:eC.faCalendar}),(0,n.jsx)(eo.default,{bold:!0,muted:!0,className:"bv:whitespace-nowrap",children:s?.DateFormatter?.format((0,z.toUTCDate)(e))}),(0,n.jsx)("hr",{className:"bv:m-0 bv:h-bv_dividerBorderWidth bv:w-full bv:border-0 bv:bg-bv_dividerBorderColor"})]}),(0,n.jsx)(ei,{Date:e,Addon:l})]},JSON.stringify(e))),r[10]=l,r[11]=s?.DateFormatter,r[12]=e,r[13]=a,r[14]=d}else e=r[12],a=r[13],d=r[14];return r[15]!==e||r[16]!==a||r[17]!==d?(t=(0,n.jsx)(e,{className:a,children:d}),r[15]=e,r[16]=a,r[17]=d,r[18]=t):t=r[18],t}if((l.connectedAddOns?.flatMap(ne)??[]).every(nn)){let e;return r[19]!==l?(e=(0,n.jsx)(eZ,{AddonPackage:l}),r[19]=l,r[20]=e):e=r[20],e}if(r[21]!==l||r[22]!==s?.DateFormatter){let e=[...new Set(l.connectedAddOns?.flatMap(na).map(nd)??[])].sort(nt);d=e2.Stack,t="bv:gap-[40px]",o=e.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{className:"bv:mb-[15px] bv:flex bv:items-center bv:gap-[8px]",children:[(0,n.jsx)(v.FontAwesomeIcon,{className:"bv:h-[20px] bv:opacity-bv_bodyMutedOpacity",icon:eC.faCalendar}),(0,n.jsx)(eo.default,{bold:!0,muted:!0,className:"bv:whitespace-nowrap",children:s?.DateFormatter?.format((0,z.toUTCDate)(e))}),(0,n.jsx)("hr",{className:"bv:m-0 bv:h-bv_dividerBorderWidth bv:w-full bv:border-0 bv:bg
1-bv_dividerBorderColor"})]}),(0,n.jsx)(eZ,{date:e,AddonPackage:l})]},JSON.stringify(e))),r[21]=l,r[22]=s?.DateFormatter,r[23]=d,r[24]=t,r[25]=o}else d=r[23],t=r[24],o=r[25];return r[26]!==d||r[27]!==t||r[28]!==o?(i=(0,n.jsx)(d,{className:t,children:o}),r[26]=d,r[27]=t,r[28]=o,r[29]=i):i=r[29],i};function e3(e){return e.date}function e5(e){return e.addOnPriceInfo??[]}function e6(e){return!e.date}function e8(e){return e.addOnPriceInfo??[]}function e7(e){return e.date}function e9(e,n){return new Date(e).getTime()-new Date(n).getTime()}function ne(e){return e.addOnPriceInfo??[]}function nn(e){return!e.date}function na(e){return e.addOnPriceInfo??[]}function nd(e){return e.date}function nt(e,n){return new Date(e).getTime()-new Date(n).getTime()}var no=e.i(912598);let ni=e=>{let[n,a]=(0,b.useState)(!1),d=(0,I.useAtomValue)(k.bookingContextAtom),{APIClient:t}=(0,l.useGlobalContext)(),{channelId:i}=(0,eG.useSinglePropertyContext)(),{data:r}=(0,o.useBasket)(),s=(0,no.useQueryClient)(),c=d?.originalBooking?.bookingData??e?.bookingData,m=!!d?.originalBooking||!!e?.bookingData?.bookingCode,u=d?.isEditMode??!!r?.booking?.bookingCode,g=c?.canBeEditedOnline??!1,v=d?.originalBooking?.canUpgradeBooking??!1,p=g||v;return{ensureEditMode:(0,b.useCallback)(async()=>{if(!m||u)return{success:!0,basket:r??void 0};if(!p)return{success:!1};let e=c?.bookingCode;if(!e)return{success:!1};try{a(!0),await t.basketsEditV1Post({bookingCode:e,channelId:i});let n=await t.basketsBasketV1(!0,i);return s.setQueryData(["basket",i],n),{success:!0,basket:n}}catch(e){return console.error("[useEnsureEditMode] Failed to enter edit mode:",e),{success:!1}}finally{a(!1)}},[m,u,p,c?.bookingCode,t,i,s,r,c,d?.originalBooking,e?.bookingData]),isEnsuringEditMode:n,isEditReservationFlow:m,isEditMode:u,canEditOnline:g}};var nr=e.i(977293),nl=e.i(304003),ns=e.i(331378),nc=e.i(589121),nm=e.i(935095);let nu=b.default.forwardRef(function(e,d){let t,o,i,r,l,s,c=(0,a.c)(20);c[0]!==e?(t=n=>{n.stopPropagation(),e.disabled||e.$isLoading||e.onClick?.(n)},c[0]=e,c[1]=t):t=c[1];let m=t,u=e?.$noHoverStyle;c[2]!==e.className?(o=(0,et.cn)("bv:relative bv:flex bv:items-center bv:justify-center bv:w-max bv:max-w-[unset] bv:px-[20px]",e.className),c[2]=e.className,c[3]=o):o=c[3];let b=e.$isLoading?"bv:invisible":"";return c[4]!==b?(i=(0,et.cn)("bv:flex bv:items-center bv:justify-center bv:h-full",b),c[4]=b,c[5]=i):i=c[5],c[6]!==e.children||c[7]!==i?(r=(0,n.jsx)("span",{className:i,children:e.children}),c[6]=e.children,c[7]=i,c[8]=r):r=c[8],c[9]!==e.$inverted||c[10]!==e.$isLoading?(l=e.$isLoading&&(0,n.jsx)("div",{className:"bv:absolute bv:top-1/2 bv:left-1/2 bv:transform bv:-translate-x-1/2 bv:-translate-y-1/2",children:(0,n.jsx)(nm.default,{inverted:e.$inverted,center:!1})}),c[9]=e.$inverted,c[10]=e.$isLoading,c[11]=l):l=c[11],c[12]!==m||c[13]!==e||c[14]!==d||c[15]!==u||c[16]!==o||c[17]!==r||c[18]!==l?(s=(0,n.jsxs)(eb.AddonFooterButtonStyle,{ref:d,...e,onClick:m,$noHoverStyle:u,className:o,children:[r,l]}),c[12]=m,c[13]=e,c[14]=d,c[15]=u,c[16]=o,c[17]=r,c[18]=l,c[19]=s):s=c[19],s});var nb=e.i(402872);let ng=e=>{let d,i,l,s,m,u,g,v,p,f,A,O,P,j,N,B,T,D,R,F=(0,a.c)(57),{showOnlyInfo:M}=e;F[0]===Symbol.for("react.memo_cache_sentinel")?(d={show:!1,msg:""},F[0]=d):d=F[0];let[H,$]=(0,b.useState)(d),L=ae(),W=(0,b.useContext)(K),z=(0,I.useAtomValue)(k.bookingContextAtom),{data:Q}=(0,o.useBasket)(),{updateBasketMulti:J}=(0,r.useBasketOperations)(),Y=(0,t.useAccommodationTranslations)(),X=W?.bookingData;F[1]!==X?(i={bookingData:X},F[1]=X,F[2]=i):i=F[2];let{ensureEditMode:Z,isEnsuringEditMode:ee}=ni(i);F[3]===Symbol.for("react.memo_cache_sentinel")?(l={mutationKey:["removingAddonsFromBasket"]},F[3]=l):l=F[3];let en=(0,c.useIsMutating)(l)>0;F[4]===Symbol.for("react.memo_cache_sentinel")?(s={mutationKey:["updateBasket"]},F[4]=s):s=F[4];let ea=(0,c.useIsMutating)(s)>0;F[5]===Symbol.for("react.memo_cache_sentinel")?(m={queryKey:["basket"]},F[5]=m):m=F[5];let ed=(0,ns.useIsFetching)(m)>0,ei=en||ea||ed||ee;if(F[6]!==W||F[7]!==L||F[8]!==Q?.booking?.bookingData||F[9]!==z?.activeBooking?.bookingCode||F[10]!==z?.originalBooking||F[11]!==Z||F[12]!==M||F[13]!==Y||F[14]!==J){let e,n;u=async()=>
1{if(M)return void L.close();if(C(W?.Addon)){let e=Q?.booking?.bookingData?.optionalAddOns?.some(e=>e.addOnId===(W?.Addon).addOnId&&!!e.timeSlotInfo&&e.internalRoomBookingId==W?.internalBookingId),n=a();if(S({hasPendingChanges:n.addRequests.length>0||n.removeRequests.length>0||n.updateRequests.length>0,hasTimeslotInBasket:!!e}))return;L.close();return}let e=a();if([e.addRequests,e.removeRequests,e.updateRequests].every(nv))return void L.close();let n=await Z();if(!n.success)return void $({show:!0,msg:Y("EA4H.EditReservation.UnableToModifyBooking")});let d=n.basket?.booking?.bookingCode??z?.activeBooking?.bookingCode??"N/A",t=W?.internalBookingId?n.basket?.booking?.bookingData?.rooms?.[0]?.internalBookingId??W.internalBookingId:void 0,{addRequests:o,removeRequests:i,updateRequests:r}=z?.originalBooking?a(t):a(),l=[];o.forEach(e=>{l.push({productId:e.addonId??"N/A",productName:W?.Addon.name??"N/A"})}),i.forEach(e=>{l.push({productId:e.addOnId??"N/A",productName:W?.Addon.name??"N/A"})}),r.forEach(e=>{l.push({productId:e.addonId??"N/A",productName:W?.Addon.name??"N/A"})}),await J.mutateAsync({addRequests:o,removeRequests:i,updateRequests:r,bookingCode:d,waitForNewBasket:!0,gtmInfo:l,bookingData:n.basket?.booking?.bookingData??Q?.booking?.bookingData},{onSuccess:()=>L.close(),onError:e=>{$({show:!0,msg:"Message"in e?Y.dynamic(`${e.Message}`):"message"in e?Y.dynamic(`${e.message}`):Y("EA4H.General.Error.UnKnownError")})}})};let a=e=>{let n,a=[],d=[],t=e??W?.internalBookingId;if(G(W?.Addon)&&(0,x.isAddon)(W?.Addon)){let e=W?.OnePerRoomData,d=W?.Addon,t=W?.rooms??[];a=e?.filter(np).map(e=>{let n=t.find(n=>n.internalBookingId===e.internalRoomId),a=h(n?E(d,n):d.price??0);return{addonId:d.addOnId,nrOfUnits:1,price:a,internalRoomBookingId:e.internalRoomId}})??[],n=e?.filter(nf).map(e=>({addOnId:d.addOnId,internalRoomBookingId:e.internalRoomId}))??[]}else if(!(0,x.isAddonPackage)(W?.Addon)||(0,x.isFixedAddonPackage)(W?.Addon)&&!G(W?.Addon)||y(W?.Addon)){let e=W?.ChooseHowManyData;d=e.filter(nx).map(n=>{let a=0;(0,x.isAddon)(W?.Addon)&&(a=q(W?.Addon,e,t,Q?.booking?.bookingData?.pricesIncludeVAT)),(0,x.isAddonPackage)(W?.Addon)&&(a=V(W?.Addon,W)),(0,x.isAddonPackage)(W?.Addon)&&(0,x.isFixedAddonPackage)(W?.Addon)&&(a=(W?.Addon?.connectedAddOns?.map(nA)??[0]).reduce(nO,0)*n.newAmount),a=h(a);let d={addonId:n.addonId,nrOfUnits:n.newAmount,ageGroupId:n.ageGroupId??void 0,date:n.date??void 0,price:a,addonPackageId:n.addOnPackageId,internalRoomBookingId:t};return n.timeString&&(d.timeSlot=n.timeString,d.timeSlotEndTime=n.timeSlotEndTime,d.timeSlotGuestInfos=w(n.guestNames)),d}),n=e.filter(nh).map(e=>({addOnId:e.addonId,date:e.date??void 0,ageGroupId:e.ageGroupId??void 0,addOnPackageId:e.addOnPackageId,internalRoomBookingId:t}))}else{let a=W?.OnePerRoomPackageData,o=W?.rooms??[],i=W?.Addon,r=void 0!==i&&_(i),l=o.length>1&&!e&&!r,s=e=>r?e.internalRoomId??t:t;d=a.filter(nI).flatMap(e=>{let n=(()=>{if(!r||!i)return e.price;let n=o.find(n=>n.internalBookingId===e.internalRoomId);if(!n)return e.price;let a=i.connectedAddOns?.find(n=>n.addOnId===e.addonId);return a?U(a,n):e.price})(),a=void 0===n?void 0:h(n),d={addonId:e.addonId,nrOfUnits:e.newAmount,ageGroupId:e.ageGroupId??void 0,date:e.date??void 0,price:a,addonPackageId:e.addOnPackageId};return l?o.map(e=>({...d,internalRoomBookingId:e.internalBookingId})):[{...d,internalRoomBookingId:s(e)}]}),n=a.filter(nk).flatMap(e=>{let n={addOnId:e.addonId,date:e.date??void 0,ageGroupId:e.ageGroupId??void 0,addOnPackageId:e.addOnPackageId};return l?o.map(e=>({...n,internalRoomBookingId:e.internalBookingId})):[{...n,internalRoomBookingId:s(e)}]})}return{addRequests:a,removeRequests:n,updateRequests:d}},d=a();g=(0,nb.arrayHasItems)([...d.addRequests,...d.removeRequests,...d.updateRequests]);let t=W?.Addon;F[20]!==t?(e=C(t),F[20]=t,F[21]=e):e=F[21],p=e,F[22]!==W?.Addon||F[23]!==W?.internalBookingId||F[24]!==Q?.booking?.bookingData?.optionalAddOns||F[25]!==p?(n=p&&Q?.booking?.bookingData?.optionalAddOns?.some(e=>e.addOnId===(W?.Addon).addOnId&&!!e.timeSlotInfo&&e.internalRoomBookingId==W?.internalBookingId),F[22]=W?.Addon,F[23]=W?.internalBookingId,F[24]=Q?.booking?.bookingData?.optionalAddOns,F[25]=p,F[26]=n):n=F[26],v=n,f=p&&S({hasPendingChanges:g,hasTimeslotInBasket:!!v}),F[6]=W,F[7]=L,F[8]=Q?.booking?.bookingData,F[9]=z?.activeBooking?.bookingCode,F[10]=z?.originalBooking,F[11]=Z,F[12]=M,F[13]=Y,F[14]=J,F[15]=u,F[16]=g,F[17]=v,F[18]=p,F[19]=f}else u=F[15],g=F[16],v=F[17],p=F[18],f=F[19];let er=f;F[27]!==g||F[28]!==v||F[29]!==p||F[30]!==Y?(A=p?g||v?Y("EA4H.General.Continue"):Y("EA4H.General.Close"):g?Y("EA4H.General.Upd
1ate"):Y("EA4H.General.Close"),F[27]=g,F[28]=v,F[29]=p,F[30]=Y,F[31]=A):A=F[31];let el=A,es=(0,b.useId)();F[32]!==er||F[33]!==Y?(O=er?Y("EA4H.General.PleaseSelectATimeSlot"):void 0,F[32]=er,F[33]=Y,F[34]=O):O=F[34];let ec=H.show;F[35]===Symbol.for("react.memo_cache_sentinel")?(P=e=>!e&&$(nP),F[35]=P):P=F[35];let em=g?"add-addon-to-basket":"close-addon-modal";F[36]!==el||F[37]!==u||F[38]!==ei||F[39]!==em||F[40]!==er||F[41]!==es?(j=(0,n.jsx)(nr.PopoverTrigger,{asChild:!0,children:(0,n.jsx)(nu,{$isLoading:ei,disabled:er,onClick:u,"aria-describedby":es,"data-action":em,children:el})}),F[36]=el,F[37]=u,F[38]=ei,F[39]=em,F[40]=er,F[41]=es,F[42]=j):j=F[42];let eu=ei?"bv:opacity-50":"bv:opacity-100";return F[43]!==eu?(N=(0,et.cn)("bv:w-[260px] bv:pointer-events-none bv:z-99999",eu),F[43]=eu,F[44]=N):N=F[44],F[45]!==H.msg?(B=(0,n.jsx)(eo.default,{children:H.msg}),F[45]=H.msg,F[46]=B):B=F[46],F[47]!==N||F[48]!==B?(T=(0,n.jsx)(nr.PopoverContent,{side:"top",className:N,noCloseButton:!0,isTooltip:!0,children:B}),F[47]=N,F[48]=B,F[49]=T):T=F[49],F[50]!==H.show||F[51]!==j||F[52]!==T?(D=(0,n.jsxs)(nr.Popover,{open:ec,onOpenChange:P,children:[j,T]}),F[50]=H.show,F[51]=j,F[52]=T,F[53]=D):D=F[53],F[54]!==D||F[55]!==O?(R=(0,n.jsx)(nl.ModalFooter,{children:(0,n.jsx)(eb.ModalFooterContent,{children:(0,n.jsx)(nc.Tooltip,{onlyOnHover:!0,errorMessage:O,side:"top",children:D})})}),F[54]=D,F[55]=O,F[56]=R):R=F[56],R};function nv(e){return 0===e.length}function np(e){return e.newValue&&e.newValue!==e.originalValue}function nf(e){return e.newValue!==e.originalValue&&!e.newValue}function nI(e){return e.newAmount!==e.originalAmount&&(e.newAmount??0)>0}function nk(e){return e.newAmount!==e.originalAmount&&0===e.newAmount}function nx(e){return e.newAmount!==e.originalAmount&&e.newAmount>0}function nA(e){return e.price??0}function nO(e,n){return e+n}function nh(e){return e.newAmount!==e.originalAmount&&0===e.newAmount}function nP(e){return{...e,show:!1}}var ny=e.i(90777),nC=e.i(56989);function nw(e){return(0,z.toUTCDate)(new Date(e))}function nS(e){return e.date}function nj(e){return(0,z.toUTCDate)(new Date(e.date))}function nN(e){return e.getTime()}function nB(e){return new Date(e)}var nT=e.i(76698),nD=e.i(434153),nG=e.i(85946),n_=e.i(807420);let nR=({onClick:e,addonTimeslot:a,isTacAddon:d})=>{let[i,r]=(0,b.useState)(!1),l=(0,b.useContext)(K),s=(0,t.useAccommodationTranslations)(),{data:c}=(0,o.useBasket)(),m=(0,I.useAtomValue)(k.bookingContextAtom),u=m?.activeBooking?.bookingData??c?.booking?.bookingData,g=u?.optionalAddOns?.find(e=>e.addOnId===(l?.Addon).addOnId&&l?.internalBookingId==e.internalRoomBookingId&&(0,n_.isSameAddOnTimeSlot)({start:e.timeSlotInfo,end:e.timeSlot?.endTime},{start:a.timeSlot,end:a.endTimeSlot})),v=!!g,p=async()=>{try{r(!0),await e(a,v)}finally{r(!1)}},f=g?.numberOfPersons??g?.numberOfUnits??1,x=a.available&&!a.alreadyBookedInExternalSystem,A=v&&a.selected;return x||A?(0,n.jsxs)(nD.TimeslotContainer,{isSelected:v||i,onClick:p,children:[(0,n.jsx)(eo.default,{bold:!0,className:(0,et.cn)(i?"bv:text-transparent":"bv:text-inherit"),children:a.presentTime}),d&&v&&(0,n.jsx)(eo.default,{size:"small",className:(0,et.cn)("bv:opacity-70",i?"bv:text-transparent":"bv:text-inherit"),children:1===f?`1 ${s("EA4H.General.PersonLOWER")}`:`${f} ${s("EA4H.General.PersonsLOWER")}`}),i&&(0,n.jsx)("div",{className:"bv:absolute bv:inset-0 bv:grid bv:place-content-center",children:(0,n.jsx)(nm.default,{inverted:!1})})]}):(0,n.jsx)(nG.UnavailableTimeSlot,{timeslotInfo:a})};var nU=e.i(956058),nE=e.i(31429),nF=e.i(443200);let nM=(e,n,a,d)=>e.filter(e=>e.addonId===n&&!e.addOnPackageId&&e.internalRoomId==d&&(0,z.toUTCDate)(e.date).getTime()===(0,z.toUTCDate)(a).getTime()).reduce((e,{newAmount:n})=>e+n,0),nH=e=>{let d,i,s,c,m,u,g,p,f,O,h,P,y,C,w,S,j,N,B,T,D,G,_,R,U,E,F,M,H=(0,a.c)(119),{date:$,onClick:L,priceInfos:V,addOn:q}=e,[W,Q]=(0,b.useState)(!1),J=(0,I.useAtomValue)(k.bookingContextAtom),Y=(0,b.useContext)(K),X=(0,t.useAccommodationTranslations)(),{data:Z}=(0,o.useBasket)(),ee=(0,r.useBasketOperations)(),en=J?.activeBooking?.bookingCode??Z?.booking?.bookingCode??"N/A",ea=J?.activeBooking?.bookingData??Z?.booking?.bookingData,et=!!q?.timeSlotManagementInfo;H[0]!==q?(d=(0,nF.addonIsOneToOneTac)(q),H[0]=q,H[1]=d):d=H[1];let er=d;H[2]!==Y?.internalBookingId?(i=e=>Y?.internalBookingId==e.internalRoomBookingId,H[2]=Y?.internalBookingId,H[3]=i):i=H[3];let el=i,es=ea?.optionalAddOns?.filter(e=>e.addOnId===Y?.Addon.addOnId&&e.date===$).filter(el)??[];H[4]!==V?(s=V.find(nq),H[4]=V,H[5]=s):s=H[5];let ec=s;H[6]!==$||H[7]!==et||H[8]!==Y?(c=et?Y?.ChooseHowManyData?.filter(e=>(0,x.isAddon)(Y.Addon)&&Y.Addon.addOnId===e.addonId&&Y.internalBookingId==e.internalRoomId).filter(e=>e.date===$&&!e.addOnPackageId).map(nW)?.[0]??0:Y?.ChooseHowManyData?.filter(e=>(0,x.isAddon)(Y.Addon)&&Y.Addon.addOnId===e.addonId&&Y.internalBookingId==e.internalRoomId).filter(e=>e.date===$&&!e.addOnPackageId).map(nz).reduce(nK,0)??0,H[6]=$,H[7]=et,H[8]=Y,H[9]=c):c=H[9];let em=c,eu=er?void 0:em;H[10]!==$||H[11]!==er?(m=er?void 0:[$],H[10]=$,H[11]=er,H[12]=m):m=H[12],H[13]!==q||H[14]!==er||H[15]!==eu||H[16]!==m?(u={addOn:q,numberOfPersons:eu,dates:m,searchOnParamsChange:er},H[13]=q,H[14]=er,H[15]=eu,H[16]=m,H[17]=u):u=H[17];let{data:eb,isFetched:eg,isFetching:ev,refetch:ep,resetQuery:ef}=(e=>{let n,d,t,o,i,r,s,c,m,u,b=(0,a.c)(30),{addOn:g,numberOfPersons:v,dates:p,searchOnParamsChange:f}=e,I=void 0===f||f,k=(0,no.useQueryClient)(),{APIClient:x}=(0,l.useGlobalContext)(),{channelId:A}=(0,nC.useChannelContext)(),O=v??g.timeSlotManagementInfo?.minNumberOfPersons;b[0]!==g.addOnId||b[1]!==g.addOnPriceInfo||b[2]!==p||b[3]!==O?(i=Array.from(new Set((p?.map(nw)??g?.addOnPriceInfo?.filter(nS)?.map(nj)??[]).map(nN))).map(nB),n="optionaladdontimeslots",d=g.addOnId,t=O,o=JSON.stringify(i),b[0]=g.addOnId,b[1]=g.addOnPriceInfo,b[2]=p,b[3]=O,b[4]=n,b[5]=d,b[6]=t,b[7]=o,b[8]=i):(n=b[4],d=b[5],t=b[6],o=b[7],i=b[8]),b[9]!==n||b[10]!==d||b[11]!==t||b[12]!==o?(r=[n,d,t,o],b[9]=n,b[10]=d,b[11]=t,b[12]=o,b[13]=r):r=b[13];let h=r;b[14]!==x||b[15]!==g.addOnId||b[16]!==A||b[17]!==O||b[18]!==i?(s=async()=>A?await x.basketsOptionalAddonTimeslotsV1(g.addOnId,O,i,A):null,b[14]=x,b[15]=g.addOnId,b[16]=A,b[17]=O,b[18]=i,b[19]=s):s=b[19];let P=s;
1b[20]!==k||b[21]!==h?(c=()=>k.removeQueries({queryKey:h}),b[20]=k,b[21]=h,b[22]=c):c=b[22];let y=c;b[23]!==P||b[24]!==h||b[25]!==I?(m={queryKey:h,queryFn:P,staleTime:1/0,refetchOnMount:"always",enabled:I},b[23]=P,b[24]=h,b[25]=I,b[26]=m):m=b[26];let C=(0,e_.useQuery)(m);return b[27]!==C||b[28]!==y?(u={...C,resetQuery:y},b[27]=C,b[28]=y,b[29]=u):u=b[29],u})(u),eI=eb?.optionalAddOnTimeSlotsPerDays?.find(e=>{let n=e?.dateTime?(0,z.toUTCDate)(new Date(e.dateTime)):void 0;return!!n&&(0,z.toUTCDate)($).getTime()===n.getTime()})?.addOnTimeSlots??[],ek=em<(q?.tableManagementInfo?.minNumberOfPersons??q?.timeSlotManagementInfo?.minNumberOfPersons??1);H[18]!==ek||H[19]!==ep?(g=()=>!ek&&ep(),H[18]=ek,H[19]=ep,H[20]=g):g=H[20];let ex=g,eA=async()=>{await ee.removeAddonsFromBasket.mutateAsync({bookingCode:en,requests:es.map(e=>({addOnId:q.addOnId,date:e.date,externalBookingCode:e.externalBookingCode,timeslot:e.timeSlotInfo,internalRoomBookingId:Y?.internalBookingId})),gtmInfo:{productId:q.addOnId??"N/A",productName:q.name??"N/A",productQuantity:1,productCategory:"Timeslot addon",productPrice:q.price},waitForNewBasket:!0})};H[21]!==q.addOnId||H[22]!==q.tableManagementInfo||H[23]!==q.timeSlotManagementInfo||H[24]!==$||H[25]!==Y?.ChooseHowManyData||H[26]!==Y?.internalBookingId?(p=()=>{let e=nM(Y?.ChooseHowManyData??[],q.addOnId,$,Y?.internalBookingId);if((q.tableManagementInfo||q.timeSlotManagementInfo)&&void 0!==e){let{maxNumberOfPersons:n}=q.tableManagementInfo??q.timeSlotManagementInfo;if(n&&e<=n)return n-e}},H[21]=q.addOnId,H[22]=q.tableManagementInfo,H[23]=q.timeSlotManagementInfo,H[24]=$,H[25]=Y?.ChooseHowManyData,H[26]=Y?.internalBookingId,H[27]=p):p=H[27];let eO=p;H[28]!==q||H[29]!==$||H[30]!==Y?.ChooseHowManyData||H[31]!==Y?.internalBookingId||H[32]!==L?(f=(e,n)=>{if(((e,n)=>{let a=e.tableManagementInfo??e.timeSlotManagementInfo;if(!a||!n)return!0;let{minNumberOfPersons:d,maxNumberOfPersons:t}=a;return(!d||!(n<d))&&(!t||!(n>t))})(q,nM(Y?.ChooseHowManyData??[],q.addOnId,e.timeSlot,Y?.internalBookingId)))return L(e,n,$)},H[28]=q,H[29]=$,H[30]=Y?.ChooseHowManyData,H[31]=Y?.internalBookingId,H[32]=L,H[33]=f):f=H[33];let eh=f;H[34]!==ef?(O=e=>{e?(Q(e),setTimeout(()=>Q(!1),2e3)):ef()},H[34]=ef,H[35]=O):O=H[35];let eP=O;H[36]!==q.addOnId||H[37]!==q.timeSlotManagementInfo?.minNumberOfPersons||H[38]!==$||H[39]!==er||H[40]!==Y?(h=()=>{er&&Y?.SetChooseHowManyData(e=>[...e.filter(e=>e.addonId!==q.addOnId||(0,z.toUTCDate)(e.date).getTime()!==(0,z.toUTCDate)($).getTime()),{addonId:q.addOnId,newAmount:q?.timeSlotManagementInfo?.minNumberOfPersons,ageGroupId:null,date:$,originalAmount:0,internalRoomId:Y?.internalBookingId}])},H[36]=q.addOnId,H[37]=q.timeSlotManagementInfo?.minNumberOfPersons,H[38]=$,H[39]=er,H[40]=Y,H[41]=h):h=H[41],H[42]===Symbol.for("react.memo_cache_sentinel")?(P=[],H[42]=P):P=H[42],(0,b.useEffect)(h,P);let ey=(0,b.useId)(),eC=(0,b.useId)();H[43]!==$?(y=JSON.stringify($),H[43]=$,H[44]=y):y=H[44],H[45]===Symbol.for("react.memo_cache_sentinel")?(C=(0,n.jsx)(v.FontAwesomeIcon,{className:"bv:h-[20px] bv:opacity-bv_bodyMutedOpacity",icon:nT.faCalendarDays}),H[45]=C):C=H[45],H[46]!==$||H[47]!==Y?.DateFormatter?(w=Y?.DateFormatter?.format((0,z.toUTCDate)($)),H[46]=$,H[47]=Y?.DateFormatter,H[48]=w):w=H[48],H[49]!==ey||H[50]!==w?(S=(0,n.jsx)(eo.default,{className:"bv-nowrap",muted:!0,id:ey,children:w}),H[49]=ey,H[50]=w,H[51]=S):S=H[51];let ew=(()=>{if(et)return"";if(es?.length>0){let e=es.map(nL).reduce(nV,0);return`${e} ${X(1===e?"EA4H.General.PersonLOWER":"EA4H.General.PersonsLOWER")}, ${`${es[0]?.timeSlotInfo}`.split("T")?.[1]?.substring(0,5)}`}})();H[52]!==eC||H[53]!==ew?(j=(0,n.jsx)(eo.default,{bold:!0,className:"bv:text-bv_darkAccentColor bv-nowrap",id:eC,children:ew}),H[52]=eC,H[53]=ew,H[54]=j):j=H[54],H[55]!==es||H[56]!==et||H[57]!==eA||H[58]!==eC||H[59]!==X?(N=es.length>0&&!et&&(0,n.jsxs)(eV.Button,{onClick:eA,variant:"text","aria-describedby":eC,children:["(",X("EA4H.General.Cancel"),")"]}),H[55]=es,H[56]=et,H[57]=eA,H[58]=eC,H[59]=X,H[60]=N):N=H[60],H[61]!==S||H[62]!==j||H[63]!==N?(B=(0,n.jsxs)("div",{className:"bv:mb-[10px] bv:flex bv:items-center bv:gap-[10px]",children:[C,S,j,N]}),H[61]=S,H[62]=j,H[63]=N,H[64]=B):B=H[64],H[65]!==ec||H[66]!==eO||H[67]!==eP||H[68]!==er||H[69]!==et||H[70]!==Y?.Addon||H[71]!==X?(T=et&&!er&&(0,n.jsx)(ei,{onChange:eP,Date:ec?.date,AgeGroup:ec,Label:X("EA4H.General.Persons"),Addon:Y?.Addon,maxValue:eO()},"adult_agegroup"),H[65]=ec,H[66]=eO,H[67]=eP,H[68]=er,H[69]=et,H[70]=Y?.Addon,H[71]=X,H[72]=T):T=H[72],H[73]!==ec||H[74]!==eO||H[75]!==eP||H[76]!==et||H[77]!==Y?.Addon||H[78]!==V||H[79]!==X?(D=!et&&V.find(nQ)&&(0,n.jsx)(ei,{onChange:eP,Date:ec?.date,AgeGroup:ec,Label:X("EA4H.General.Adult"),Addon:Y?.Addon,maxValue:eO()},"adult_agegroup"),H[73]=ec,H[74]=eO,H[75]=eP,H[76]=et,H[77]=Y?.Addon,H[78]=V,H[79]=X,H[80]=D):D=H[80],H[81]!==eO||H[82]!==eP||H[83]!==et||H[84]!==Y?.Addon||H[85]!==V||H[86]!==X?(G=!et&&V.filter(nJ).map((e,a)=>{let d=e.ageGroup?.typeOfAgeGroup===A.TypeOfAgeGroup.OwnDefined?e.ageGroup.name:X.dynamic(`EA4H.General.${e.ageGroup?.typeOfAgeGroup}`);return(0,n.jsx)(ei,{onChange:eP,Date:e.date,AgeGroup:e.ageGroup,Addon:Y?.Addon,maxValue:eO(),Label:`${d} ${(0,ed.isNotNullOrUndefined)(e?.ageGroup?.minAge)&&(0,ed.isNotNullOrUndefined)(e?.ageGroup?.maxAge)?`(${e.ageGroup?.minAge}-${e.ageGroup?.maxAge} ${X("EA4H.General.YearsLOWER")})`:""}`},e?.ageGroup?.ageGroupId)}),H[81]=eO,H[82]=eP,H[83]=et,H[84]=Y?.Addon,H[85]=V,H[86]=X,H[87]=G):G=H[87],H[88]!==T||H[89]!==D||H[90]!==G?(_=(0,n.jsxs)("div",{className:"bv:bg-bv_lightAccentColor",children:[T,D,G]}
1),H[88]=T,H[89]=D,H[90]=G,H[91]=_):_=H[91],H[92]!==q.tableManagementInfo?.maxNumberOfPersons||H[93]!==q.tableManagementInfo?.minNumberOfPersons||H[94]!==q.timeSlotManagementInfo?.maxNumberOfPersons||H[95]!==q.timeSlotManagementInfo?.minNumberOfPersons||H[96]!==ev||H[97]!==ex||H[98]!==er||H[99]!==ek||H[100]!==W||H[101]!==em||H[102]!==X?(R=!er&&(0,n.jsx)("div",{className:"bv:flex bv:justify-end",children:(0,n.jsxs)(nr.Popover,{open:ek&&em>0||W,children:[(0,n.jsx)(nr.PopoverTrigger,{asChild:!0,children:(0,n.jsx)(eV.Button,{isLoading:ev,state:ek?"deactivated":"default",disabled:ek,onClick:ex,className:"bv:my-[10px] bv:w-max",children:X("EA4H.General.SearchTimeSlot")})}),(0,n.jsx)(nr.PopoverContent,{className:"bv:p-[10px]",noCloseButton:!0,children:X("EA4H.General.PleaseSearchNumberOfPeopleBetween{0}{1}",q?.tableManagementInfo?.minNumberOfPersons??q?.timeSlotManagementInfo?.minNumberOfPersons,q?.tableManagementInfo?.maxNumberOfPersons??q?.timeSlotManagementInfo?.maxNumberOfPersons)})]})}),H[92]=q.tableManagementInfo?.maxNumberOfPersons,H[93]=q.tableManagementInfo?.minNumberOfPersons,H[94]=q.timeSlotManagementInfo?.maxNumberOfPersons,H[95]=q.timeSlotManagementInfo?.minNumberOfPersons,H[96]=ev,H[97]=ex,H[98]=er,H[99]=ek,H[100]=W,H[101]=em,H[102]=X,H[103]=R):R=H[103],H[104]!==X?(U=X("EA4H.General.TimeslotsAvailable"),H[104]=X,H[105]=U):U=H[105];let eS=eg&&!ev?eI.length>0?eI?.map(e=>(0,n.jsx)(nR,{addonTimeslot:e,onClick:async(e,n)=>eh(e,n),isTacAddon:et},(0,eW.getAddOnTimeSlotKey)(e))):(0,n.jsx)(nE.Center,{className:"bv:col-span-full bv:pb-[10px]",children:(0,n.jsx)(eo.default,{bold:!0,children:X("EA4H.General.NoTimeslotsAvailable")})}):null;return H[106]!==ev?(E=ev&&Array.from(Array(7).keys()).map(nY),H[106]=ev,H[107]=E):E=H[107],H[108]!==U||H[109]!==eS||H[110]!==E?(F=(0,n.jsxs)("div",{className:"bv:mb-[10px] bv:grid bv:gap-[11px] bv:grid-cols-[repeat(auto-fill,minmax(160px,1fr))]",role:"list","aria-label":U,children:[eS,E]}),H[108]=U,H[109]=eS,H[110]=E,H[111]=F):F=H[111],H[112]!==ey||H[113]!==y||H[114]!==B||H[115]!==_||H[116]!==R||H[117]!==F?(M=(0,n.jsxs)("div",{role:"group","aria-labelledby":ey,children:[B,_,R,F]},y),H[112]=ey,H[113]=y,H[114]=B,H[115]=_,H[116]=R,H[117]=F,H[118]=M):M=H[118],M},n$=()=>{let e,d=(0,a.c)(1);return d[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,n.jsx)(nU.default,{className:"bv:w-full bv:h-full",children:(0,n.jsx)(nD.TimeslotContainer,{children:(0,n.jsx)(eo.default,{bold:!0,children:"presentTime"})})}),d[0]=e):e=d[0],e};function nL(e){return e.numberOfUnits}function nV(e,n){return e+n}function nq(e){return!e.ageGroup}function nW(e){return e.newAmount}function nz(e){return e.newAmount}function nK(e,n){return e+n}function nQ(e){return!e.ageGroup}function nJ(e){return!!e.ageGroup}function nY(e){return(0,n.jsx)(n$,{},e)}var nX=e.i(102477);let nZ=e=>{let d,i,l,s,m=(0,a.c)(7),{addOn:u}=e,g=(0,t.useAccommodationTranslations)(),{updateBasket:v,removeAddonsFromBasket:p}=(0,r.useBasketOperations)(),{data:f}=(0,o.useBasket)(),{channelInfo:x}=(0,eG.useSinglePropertyContext)(),A=(0,I.useAtomValue)(k.bookingContextAtom);m[0]===Symbol.for("react.memo_cache_sentinel")?(d={mutationKey:["updateBasket"]},m[0]=d):d=m[0];let O=(0,c.useIsMutating)(d)>0;m[1]===Symbol.for("react.memo_cache_sentinel")?(i={queryKey:["basket"]},m[1]=i):i=m[1];let h=(0,ns.useIsFetching)(i)>0,P=[...new Set(u.addOnPriceInfo?.filter(n0)?.map(n1)??[])],y=(0,b.useContext)(K),C=A?.activeBooking?.bookingCode??f?.booking?.bookingCode??"N/A",w=A?.activeBooking?.bookingData??f?.booking?.bookingData,S=!!u?.timeSlotManagementInfo,j=e=>y?.internalBookingId==e.internalRoomBookingId,N=e=>y?.internalBookingId==e.internalRoomId,B=async(e,n,a)=>{if(O||h)return;let d=new Date(e.timeSlot),t=w?.optionalAddOns?.find(n=>n.addOnId===(y?.Addon).addOnId&&n.date===a&&(0,n_.isSameAddOnTimeSlot)({start:n.timeSlotInfo,end:n.timeSlot?.endTime},{start:e.timeSlot,end:e.endTimeSlot})&&j(n)),o=w?.optionalAddOns?.find(n=>n.addOnId===(y?.Addon).addOnId&&n.date===a&&j(n)&&!(0,n_.isSameAddOnTimeSlot)({start:n.timeSlotInfo,end:n.timeSlot?.endTime},{start:e.timeSlot,end:e.endTimeSlot})),i=async e=>{let{skipInvalidation:n,waitForNewBasket:d,timeslotInBasket:t}=e;await p.mutateAsync({bookingCode:C,requests:[{addOnId:u.addOnId,date:a,externalBookingCode:t.externalBookingCode,timeslot:t.timeSlotInfo,internalRoomBookingId:y?.internalBookingId}],gtmInfo:{productId:u.addOnId??"N/A",productName:u.name??"N/A",productQuantity:1,productCategory:"Timeslot addon",productPrice:u.price},skipInvalidation:n,waitForNewBasket:d})},r=async()=>{let n=`${d.getUTCHours()}:${d.getUTCMinutes()}`,a=y?.ChooseHowManyData.filter(e=>u.addOnId===e.addonId&&!e.addOnPackageId&&N(e)&&(0,z.toUTCDate)(e.date).getTime()===(0,z.toUTCDate)(d).getTime()).map(a=>{let i=u.addOnPriceInfo?.find(e=>e.ageGroupId===a.ageGroupId)?.price??0;return{addonId:a.addonId,timeSlot:n,nrOfUnits:a.newAmount,price:a.newAmount*i,date:(0,z.toUTCDate)(d),ageGroupId:a.ageGroupId,internalRoomBookingId:y.internalBookingId,timeSlotEndTime:e.endTimeSlot,messageToRestaurant:t?.showMessageToRestaurant||o?.showMessageToRestaurant?t?.messageToRestaurant??o?.messageToRestaurant??"":""}})??[];if(0===a.length)return;let i=[];
1a.forEach(e=>{i.push({productId:e.addonId??"N/A",productName:u.name??"N/A"})}),await v.mutateAsync({request:{channelId:x?.channelId,bookingCode:C,updateAddonsInBasketRequest:a},waitForNewBasket:!0,bookingData:f?.booking?.bookingData,gtmInfo:i})};t?await i({skipInvalidation:!1,waitForNewBasket:!0,timeslotInBasket:t}):(o&&!S&&await i({skipInvalidation:!0,timeslotInBasket:o}),await r())},T=async(e,n)=>{let a=w?.optionalAddOns?.find(e=>e.addOnId===(y?.Addon).addOnId&&e.date===n&&j(e)),d=new Date(a?.timeSlotInfo),t=`${d.getUTCHours()}:${d.getUTCMinutes()}`,o=y?.ChooseHowManyData.filter(e=>u.addOnId===e.addonId&&!e.addOnPackageId&&N(e)&&(0,z.toUTCDate)(e.date).getTime()===(0,z.toUTCDate)(d).getTime()).map(n=>{let o=u.addOnPriceInfo?.find(e=>e.ageGroupId===n.ageGroupId)?.price??0;return{addonId:n.addonId,timeSlot:t,nrOfUnits:n.newAmount,price:n.newAmount*o,date:(0,z.toUTCDate)(d),ageGroupId:n.ageGroupId,internalRoomBookingId:y.internalBookingId,timeSlotEndTime:a?.timeSlot?.endTime,messageToRestaurant:a?.showMessageToRestaurant?e.target.value:""}})??[];setTimeout(()=>{v.mutateAsync({request:{channelId:x?.channelId,bookingCode:C,updateAddonsInBasketRequest:o},waitForNewBasket:!0,bookingData:f?.booking?.bookingData})},200)},D=e2.Stack,G=P.map(e=>{let a=w?.optionalAddOns?.find(n=>n.addOnId===(y?.Addon).addOnId&&n.date===e&&j(n));return(0,n.jsxs)("div",{children:[(0,n.jsx)(nH,{addOn:u,priceInfos:u.addOnPriceInfo?.filter(n=>!n.date||(0,z.toUTCDate)(n.date).getTime()===(0,z.toUTCDate)(e).getTime())??[],onClick:B,date:e}),a&&a.showMessageToRestaurant&&(0,n.jsx)(nX.TextArea,{className:"bv:mb-[10px] bv:resize-none bv:p-[10px] bv:shadow-bv_inputTextBoxShadow",disabled:O,defaultValue:a?.messageToRestaurant??"",onBlur:n=>T(n,e),spellCheck:!1,placeholder:S?g("EA4H.General.SpecialRequest"):g("EA4H.General.MessageToRestaurant")})]},e.toString())});return m[2]!==G?(l=(0,n.jsx)("div",{className:"bv:flex bv:flex-col bv:gap-[15px]",children:G}),m[2]=G,m[3]=l):l=m[3],m[4]!==D||m[5]!==l?(s=(0,n.jsx)(D,{className:"bv:gap-[15px]",children:l}),m[4]=D,m[5]=l,m[6]=s):s=m[6],s};function n0(e){return e.date}function n1(e){return e.date}let n2=({Addon:e})=>{let{data:a}=(0,o.useBasket)(),d=(0,I.useAtomValue)(k.bookingContextAtom),{updateBasket:i,removeAddonsFromBasket:l}=(0,r.useBasketOperations)(),[s,c]=(0,b.useState)(),m=(0,t.useAccommodationTranslations)(),{currencyCode:u,formatCurrency:v}=(0,g.useCurrencyFormatter)(),p=(0,el.useTheme)(),f=!1;f=(0,x.isAddonPackage)(e)?!!a?.booking?.bookingData?.optionalAddOnPackages?.some(n=>n.addOnPackageId===e.addOnPackageId):!!a?.booking?.bookingData?.optionalAddOns?.some(n=>n.addOnId===e.addOnId);let A="removing"!==s&&(f||"adding"===s),O=async()=>{if(void 0!==s)return;let n=a?.booking?.bookingCode??d?.activeBooking?.bookingCode??"N/A";try{f?(c("removing"),await l?.mutateAsync({bookingCode:n,requests:(0,x.isAddon)(e)?[{addOnId:e.addOnId}]:(0,x.isAddonPackage)(e)?[{addOnPackageId:e.addOnPackageId}]:[],waitForNewBasket:!0})):(c("adding"),await i.mutateAsync({request:{bookingCode:n,addAddonsToBasket:(0,x.isAddon)(e)?[{addonId:e.addOnId,price:e.price,nrOfUnits:1}]:(0,x.isAddonPackage)(e)?[{addonPackageId:e.addOnPackageId,nrOfUnits:1,price:e.connectedAddOns?.map(e=>e.price).reduce((e,n)=>e+n,0)}]:[]},waitForNewBasket:!0,gtmInfo:[{productId:(0,x.isAddon)(e)?e.addOnId:(0,x.isAddonPackage)(e)?e.addOnPackageId:"N/A",productName:(0,x.isAddon)(e)||(0,x.isAddonPackage)(e)?e.name:"N/A"}]}))}finally{c(void 0)}},h=(0,x.isAddon)(e)?e.price??0:(0,x.isAddonPackage)(e)?e.connectedAddOns?.map(e=>e.price).reduce((e,n)=>e+n)??0:0,P=h>0,{registerEnterKeyAsClick:y}=(0,ec.useAccessibilityHandlers)(),C=(0,n.jsxs)("div",{className:(0,et.cn)("bv:flex bv:h-[40px] bv:cursor-pointer bv:items-center bv:gap-[10px] bv:transition-all bv:duration-150","bv:border bv:border-solid",A?"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor bv:border-bv_darkSelectedColor":"bv:bg-bv_cardBackground bv:text-bv_cardColor bv:border-bv_inputBorderColor",P?"bv:min-w-[210px] bv:pl-[10px]":"bv:min-w-[40px] bv:place-content-center"),onClick:O,onKeyDown:y(O),tabIndex:0,role:"checkbox","aria-label":m("EA4H.General.AddToBooking"),children:[(0,n.jsx)(em.Checkbox,{id:"addon-add-btn",inputProps:{checked:A,color:A?"dark":"input",style:{borderColor:A?p?.css.selectedDarkFontColor:p?.css.inputBorderColor,backgroundColor:A?p?.css.darkSelectedColor:p?.css.inputBackgroun
1d}}}),P&&(0,n.jsxs)(eo.default,{bold:!0,className:"bv:text-inherit",children:["+",v(h)," ",u]})]});return(0,n.jsxs)("div",{className:"bv:flex bv:flex-col bv:overflow-hidden bv:rounded-bv_cardBorderRadius bv:border-bv_cardBorderWidth bv:border-solid bv:border-bv_cardBorderColor bv:bg-bv_cardBackground",children:[(0,n.jsx)(en.Outer,{thinBorder:!0,className:"bv:px-[20px] bv:py-[15px] bv:bv_medium:hidden",children:(0,n.jsxs)(ea.Inner,{className:"bv:flex-col bv:items-stretch bv:gap-[10px]",children:[(0,n.jsx)("div",{className:"bv:flex bv:justify-between bv:gap-[10px]",children:(0,n.jsx)(eo.default,{children:m("EA4H.General.AddToBooking")})}),C]})}),(0,n.jsx)(en.Outer,{className:"bv:hidden bv:px-[20px] bv:py-[15px] bv:bv_medium:block",children:(0,n.jsxs)(ea.Inner,{children:[(0,n.jsx)(e2.Stack,{children:(0,n.jsx)(eo.default,{bold:!0,children:m("EA4H.General.AddToBooking")})}),C]})})]})};var n4=e.i(684647),n3=e.i(200160);let n5=e=>{let d,o,i,b,g,p,f,A,O,h,w,S,B,T,D,_,R=(0,a.c)(55),{Addon:U,Description:E,showOnlyInfo:M,unavailable:H,internalBookingId:$,bookingData:V}=e,q=(0,I.useAtomValue)(k.bookingContextAtom),{imageServer:W,languageCulture:K}=(0,l.useGlobalContext)(),{isVerySmallScreen:J}=(0,s.useScreenSizes)(),Y=(0,r.useBasketOperations)(),X=(0,t.useAccommodationTranslations)(),Z=ae();R[0]!==K?(d=new Intl.DateTimeFormat(K,{month:"short",day:"numeric",weekday:"long",year:"numeric"}),R[0]=K,R[1]=d):d=R[1];let ee=d;R[2]===Symbol.for("react.memo_cache_sentinel")?(o={mutationKey:["removingAddonsFromBasket"]},R[2]=o):o=R[2];let en=(0,c.useIsMutating)(o)>0,ea="additionalInfo"in U&&U.additionalInfo&&U.additionalInfo.length?U.additionalInfo:"additionalInfoText"in U&&U.additionalInfoText&&U.additionalInfoText.length?U.additionalInfoText:void 0,ed="linkToExternalAdditionalInfo"in U&&U.linkToExternalAdditionalInfo&&U.linkToExternalAdditionalInfo.length?U.linkToExternalAdditionalInfo:"externalInfoUrl"in U&&U.externalInfoUrl&&U.externalInfoUrl.length?U.externalInfoUrl:void 0;R[3]!==U||R[4]!==Z||R[5]!==Y||R[6]!==q?.originalBooking?(i=()=>{"addOnId"in U?(Y.removeAddonsFromBasket.mutateAsync({bookingCode:q?.originalBooking.bookingCode,requests:[{addOnId:U.addOnId}],gtmInfo:{productId:U.addOnId??"N/A",productName:U.name??"N/A",productQuantity:1,productCategory:"Optional addon",productPrice:U.price??0},waitForNewBasket:!0}),Z.close()):"addOnPackageId"in U&&(Y.removeAddonsFromBasket.mutateAsync({bookingCode:q?.originalBooking.bookingCode,requests:[{addOnPackageId:U.addOnPackageId}],gtmInfo:{productId:U.addOnPackageId??"N/A",productName:U.name??"N/A",productQuantity:1,productCategory:"Optional addon package",productPrice:(0,x.isFixedAddonPackage)(U)?L(U):U.cheapestPrice??0},waitForNewBasket:!0}),Z.close())},R[3]=U,R[4]=Z,R[5]=Y,R[6]=q?.originalBooking,R[7]=i):i=R[7];let et=i;R[8]!==Z?(b=()=>Z.close(),R[8]=Z,R[9]=b):b=R[9];let er=J?250:400;R[10]!==U||R[11]!==W?(g=(0,z.getAddonImageUrls)(U,W),R[10]=U,R[11]=W,R[12]=g):g=R[12],R[13]!==U.name||R[14]!==er||R[15]!==g?(p=(0,n.jsx)(m.SimpleImageCarousel,{contain:!0,height:er,images:g,altLabel:U.name}),R[13]=U.name,R[14]=er,R[15]=g,R[16]=p):p=R[16],R[17]!==M?(f=(0,n.jsx)(ng,{showOnlyInfo:M}),R[17]=M,R[18]=f):f=R[18];let el=E?.name??U?.name;R[19]!==el?(A=(0,n.jsx)(u.default,{className:"bv:mb-[20px] bv:text-inherit",children:el}),R[19]=el,R[20]=A):A=R[20],R[21]!==ed||R[22]!==X?(O=ed&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("p",{children:"Â "}),(0,n.jsx)("a",{className:"bv:self-start",href:ed,target:"_blank",children:(0,n.jsxs)("p",{children:[X("EA4H.General.FullDescription"),(0,n.jsx)(v.FontAwesomeIcon,{className:"bv:ml-[5px] bv:text-[16px]",icon:n3.faArrowUpRightFromSquare})]})})]}),R[21]=ed,R[22]=X,R[23]=O):O=R[23];let es=E?.description??U.description??"";return R[24]!==es?(h=(0,n.jsx)(eo.default,{className:"bv:mb-[20px] bv:wrap-break-word",dangerouslySetInnerHTML:{__html:es}}),R[24]=es,R[25]=h):h=R[25],R[26]!==ea?(w=ea&&(0,n.jsx)(eo.default,{className:"bv:mb-[40px] bv:wrap-break-word",dangerouslySetInnerHTML:{__html:ea}}),R[26]=ea,R[27]=w):w=R[27],R[28]!==O||R[29]!==h||R[30]!==w?(S=(0,n.jsxs)("div",{className:"bv:text-inherit",children:[O,h,w]}),R[28]=O,R[29]=h,R[30]=w,R[31]=S):S=R[31],R[32]!==U||R[33]!==M?(B=!M&&(0,n.jsx)(n.Fragment,{children:!1===F(U)?(0,n.jsx)(n2,{Addon:U}):(0,x.isAddon)(U)&&U.spaManagementInfo?(0,n.jsx)(n4.default,{parentAddonInternalBookingId:void 0,addOn
1Id:U.addOnId,updateBasketRqProperty:"updateAddonsInBasketRequest",name:U.name,dates:U.addOnPriceInfo?.filter(n6)?.map(n8)??[]}):C(U)&&(0,x.isAddon)(U)?(0,n.jsx)(nZ,{addOn:U}):G(U)?(0,n.jsx)(eh,{Addon:U}):j(U)?(0,n.jsx)(e4,{Addon:U}):N(U)?(0,n.jsx)(ew,{Date:null,Addon:U}):(0,x.isFixedAddonPackage)(U)&&(0,x.isOnePerBookingAddonPackage)(U)?(0,n.jsx)(n2,{Addon:U}):(0,x.isFixedAddonPackage)(U)?y(U)?(0,n.jsx)(e4,{Addon:U}):(0,n.jsx)(ei,{Addon:U}):(0,x.isDynamicAddonPackage)(U)&&(0,x.isPricePerDayAddonPackage)(U)?(0,n.jsx)(e4,{Addon:U}):(0,x.isDynamicAddonPackage)(U)?(0,n.jsx)(eZ,{AddonPackage:U}):P(U)?(0,n.jsx)(ei,{Addon:U}):(0,n.jsx)(n2,{Addon:U})}),R[32]=U,R[33]=M,R[34]=B):B=R[34],R[35]!==en||R[36]!==J||R[37]!==et||R[38]!==X||R[39]!==H?(T=H?(0,n.jsx)(n.Fragment,{children:J?(0,n.jsxs)("div",{className:"bv:flex bv:flex-col bv:items-center bv:gap-4",children:[(0,n.jsx)(eo.default,{className:"bv:text-center",children:X("EA4H.EditReservation.ContactHotelToUpdateAddOn")}),(0,n.jsx)(eV.Button,{onClick:et,isLoading:en,children:X("EA4H.General.Remove")})]}):(0,n.jsxs)("div",{className:"bv:flex bv:items-center bv:justify-between bv:gap-4 bv:w-full",children:[(0,n.jsx)(eo.default,{children:X("EA4H.EditReservation.ContactHotelToUpdateAddOn")}),(0,n.jsx)(eV.Button,{onClick:et,isLoading:en,children:X("EA4H.General.Remove")})]})}):null,R[35]=en,R[36]=J,R[37]=et,R[38]=X,R[39]=H,R[40]=T):T=R[40],R[41]!==A||R[42]!==S||R[43]!==B||R[44]!==T||R[45]!==b||R[46]!==p||R[47]!==f?(D=(0,n.jsxs)(ny.default,{"data-testid":"addon_modal_base",modalName:"AddonModalBase",onCloseClicked:b,imageCarousel:p,footer:f,children:[A,S,B,T]}),R[41]=A,R[42]=S,R[43]=B,R[44]=T,R[45]=b,R[46]=p,R[47]=f,R[48]=D):D=R[48],R[49]!==U||R[50]!==ee||R[51]!==$||R[52]!==V||R[53]!==D?(_=(0,n.jsx)(Q,{internalBookingId:$,Addon:U,DateFormatter:ee,bookingData:V,children:D}),R[49]=U,R[50]=ee,R[51]=$,R[52]=V,R[53]=D,R[54]=_):_=R[54],_};function n6(e){return e.date}function n8(e){return(0,z.toUTCDate)(new Date(e.date))}var n7=e.i(748863);let n9=(e,n,a)=>{let d=[];return e&&e.length>0&&d.push(...e.map(e=>({item_id:e.addOnId??"",item_name:e.name??"",item_category:"Addon",item_category2:e.type??"N/A",price:e.price,quantity:1,item_brand:a??"N/A",affiliation:"BookVisit"}))),n&&n.length>0&&d.push(...n.map(e=>({item_id:e.addOnPackageId??"",item_name:e.name??"",item_category:"Addon package",price:e.cheapestPrice,quantity:1,item_brand:a??"N/A",affiliation:"BookVisit"}))),d};e.s(["prepareGA4ViewItemListAddonsData",0,n9],178663);let ae=()=>{let e,d,t,o=(0,a.c)(8);o[0]===Symbol.for("react.memo_cache_sentinel")?(e={modalId:"addon_modal",centered:!0,noCloseButton:!0},o[0]=e):e=o[0];let r=(0,i.useModal)(e),{viewItemEvent:l}=(0,n7.useBVTracking)(),{channelInfo:s}=(0,eG.useSinglePropertyContext)();o[1]!==s||o[2]!==r||o[3]!==l?(d=e=>{let{Addon:a,Description:d,showOnlyInfo:t,unavailable:o,internalBookingId:i,bookingData:c}=e,m=n9("addOnId"in a?[a]:void 0,"addOnPackageId"in a?[a]:void 0,s.hotelName);l({items:m,value:m?.[0]?.price??0}),r.open((0,n.jsx)(n5,{internalBookingId:i,bookingData:c,Addon:a,Description:d,showOnlyInfo:t,unavailable:o,onClose:r.close}))},o[1]=s,o[2]=r,o[3]=l,o[4]=d):d=o[4];let c=d;return o[5]!==r.close||o[6]!==c?(t={open:c,close:r.close},o[5]=r.close,o[6]=c,o[7]=t):t=o[7],t};var an=e.i(803584);let aa=(0,b.forwardRef)(function({presentationType:e,subLabelOnNewLine:a,subLabel:d,addOn:i,label:l},s){let[c,m]=(0,b.useState)(),{data:u}=(0,o.useBasket)(),g=(0,t.useAccommodationTranslations)(),{updateBasket:v,removeAddonsFromBasket:p}=(0,r.useBasketOperations)(),f=(0,I.useAtomValue)(k.bookingContextAtom),A=f?.originalBooking,O=!f?.isEditMode&&A?A.bookingData:u?.booking?.bookingData,{ensureEditMode:h,isEnsuringEditMode:P}=ni({bookingData:O}),y=(0,x.isAddon)(i)?O?.optionalAddOns?.find(e=>e.addOnId===i.addOnId)!==void 0:!!(0,x.isAddonPackage)(i)&&O?.optionalAddOnPackages?.find(e=>e.addOnPackageId===i.addOnPackageId)!==void 0;if(F(i))return null;let C=async e=>{let n=await h();if(!n.success)return;let a=n.basket?.booking?.bookingData?.bookingCode??O?.bookingCode;if(a)try{y?(m("removing"),await p.mutateAsync({bookingCode:a,requests:[{addOnId:e.addOnId}],gtmInfo:{productId:e.addOnId??"N/A",productName:e.name??"N/A",productQuantity:1,productCategory:"Optional addon",productPrice:e.price??0},waitForNewBasket:!0})):(m("adding"),await v.mutateAsync({request:{bookingCode:a,addAddonsToBasket:[{addonId:e.addOnId,price:e.price,nrOfUnits:1}]},waitForNewBasket:!0,gtmInfo:[{productId:e.addOnId??"N/A",productName:e.name??"N/A",productQuantity:1,productCategory:"Optional addon",productPrice:e.price??0}]}))}finally{m(void 0)}},w=async e=>{let n=await h();if(!n.success)return;let a=n.basket?.booking?.bookingData?.bookingCode??O?.bookingCode;if(a)try{y?(m("adding"),await p.mutateAsync({bookingCode:a,requests:[{addOnPackageId:e.addOnPackageId}],gtmInfo:{productId:e.addOnPackageId??"N/A",productName:e.name??"N/A",productQuantity:1,productCategory:"Optional addon package",productPrice:(0,x.isFixedAddonPackage)(e)?L(e):e.cheapestPrice??0},waitForNewBasket:!0})):(m("removing"),await v.mutateAsync({request:{bookingCode:a,addAddonsToBasket:[{addonPackageId:e.addOnPackageId,price:(0,x.isFixedAddonPackage)(e)?L(e):e.cheapestPrice,nrOfUnits:1}]},waitForNewBasket:!0,gtmInfo:[{productId:e.addOnPackageId??"N/A",productName:e.name??"N/A",productQuantity:1,productCategory:"Optional addon package",productPrice:(0,x.isFixedAddonPackage)(e)?L(e):e.cheapestPrice??0}]}))}finally{m(void 0)}};return(0,n.jsx)(ad,{ref:s,addOnName:i.name,label:l??g("EA4H.General.AddToBooking"),onClick:e=>{(0,x.isAddon)(i)?C(i):(0,x.isAddonPackage)(i)&&w(i),e.stopPropagation()},presentationType:e,subLabel:d,isLoading:void 0!==c||P,showAsInBasket:"remov
1ing"!==c&&(y||"adding"===c),subLabelOnNewLine:a})}),ad=(0,b.forwardRef)(function(e,d){let t,o,i,r,l,s,c,m,u,b,g,v,p,f,I,k=(0,a.c)(57),{label:x,subLabelOnNewLine:O,subLabel:h,onClick:P,addOnName:y,isLoading:C,presentationType:w,showAsInBasket:S}=e,j=(0,el.useTheme)(),N=w??j.style?.extrasPresentationType;k[0]!==N||k[1]!==S||k[2]!==j.css.darkSelectedColor||k[3]!==j.css.dividerBorderColor?(t=()=>S?j.css.darkSelectedColor:N===A.PresentationType.List?j.css.dividerBorderColor:"#fff",k[0]=N,k[1]=S,k[2]=j.css.darkSelectedColor,k[3]=j.css.dividerBorderColor,k[4]=t):t=k[4];let B=t;k[5]!==N||k[6]!==S||k[7]!==j.css.bodyColor||k[8]!==j.css.selectedDarkFontColor?(o=()=>S?j.css.selectedDarkFontColor:N===A.PresentationType.List?j.css.bodyColor:"#fff",k[5]=N,k[6]=S,k[7]=j.css.bodyColor,k[8]=j.css.selectedDarkFontColor,k[9]=o):o=k[9];let T=o;k[10]!==S||k[11]!==j.css.darkSelectedColor?(i=()=>S?j.css.darkSelectedColor:"transparent",k[10]=S,k[11]=j.css.darkSelectedColor,k[12]=i):i=k[12];let D=i,G=S?"selectedNoBorder":"default";k[13]!==B||k[14]!==S?(r=S?void 0:B(),k[13]=B,k[14]=S,k[15]=r):r=k[15],k[16]!==D||k[17]!==S?(l=S?void 0:D(),k[16]=D,k[17]=S,k[18]=l):l=k[18],k[19]!==T||k[20]!==S?(s=S?void 0:T(),k[19]=T,k[20]=S,k[21]=s):s=k[21];let _="0px"===j.css.buttonBorderWidth?"1px":j.css.buttonBorderWidth;k[22]!==r||k[23]!==l||k[24]!==s||k[25]!==_?(c={borderColor:r,background:l,color:s,borderWidth:_},k[22]=r,k[23]=l,k[24]=s,k[25]=_,k[26]=c):c=k[26];let R=`add_addon_to_basket_btn_${y}`,U=S?"dark":"input";return k[27]!==T||k[28]!==S?(m=S?"transparent":T(),k[27]=T,k[28]=S,k[29]=m):m=k[29],k[30]!==D?(u=D(),k[30]=D,k[31]=u):u=k[31],k[32]!==m||k[33]!==u?(b={borderColor:m,backgroundColor:u},k[32]=m,k[33]=u,k[34]=b):b=k[34],k[35]!==S||k[36]!==U||k[37]!==b?(g=(0,n.jsx)(em.CheckboxInputDisplay,{checked:S,color:U,style:b,tabIndex:-1}),k[35]=S,k[36]=U,k[37]=b,k[38]=g):g=k[38],k[39]!==h||k[40]!==O?(v=h&&(0,n.jsxs)(n.Fragment,{children:[" ",(0,n.jsxs)("span",{className:(0,et.cn)("bv:font-bv_bodyFontWeight",O?"bv:inline-block":"bv:inline"),children:[" ",h]})]}),k[39]=h,k[40]=O,k[41]=v):v=k[41],k[42]!==x||k[43]!==v?(p=(0,n.jsxs)("div",{className:"bv:text-left bv:font-bv_bodyFontFamily bv:text-bv_bodyFontSize bv:font-bv_bodyBoldFontWeight",children:[x,v]}),k[42]=x,k[43]=v,k[44]=p):p=k[44],k[45]!==g||k[46]!==p?(f=(0,n.jsxs)("span",{className:"bv:flex bv:flex-nowrap bv:items-center bv:gap-[10px]",children:[g,p]}),k[45]=g,k[46]=p,k[47]=f):f=k[47],k[48]!==y||k[49]!==C||k[50]!==P||k[51]!==d||k[52]!==R||k[53]!==f||k[54]!==G||k[55]!==c?(I=(0,n.jsx)("div",{className:"bv:flex bv:cursor-pointer bv:items-center",children:(0,n.jsx)(eV.Button,{applyTextTransform:!1,ref:d,disabled:C,isLoading:C,state:G,className:"bv:flex! bv:h-auto bv:max-w-[unset] bv:items-center bv:justify-start! bv:whitespace-normal bv:border-solid bv:p-[10px] bv:tracking-[normal] bv:disabled:opacity-100!",style:c,onClick:P,"aria-description":y,"data-testid":R,children:f})}),k[48]=y,k[49]=C,k[50]=P,k[51]=d,k[52]=R,k[53]=f,k[54]=G,k[55]=c,k[56]=I):I=k[56],I}),at=(0,b.forwardRef)(function({internalBookingId:e,added:a,addedIcon:d,addOn:i,label:r},l){let[s,c]=(0,b.useState)(!1),m=(0,t.useAccommodationTranslations)(),u=ae(),{data:g}=(0,o.useBasket)(),v=(0,I.useAtomValue)(k.bookingContextAtom),p=v?.originalBooking?v?.isEditMode?g?.booking?.bookingData:v?.originalBooking?.bookingData:g?.booking?.bookingData;if(!F(i))return null;let f=async n=>{if(n.stopPropagation(),C(i))try{c(!0)}finally{c(!1)}u.open({Addon:i,internalBookingId:e,bookingData:p})};return(0,n.jsxs)(eV.Button,{withIcon:a,"data-testid":"open_addon_modal_button","data-action":a?"edit-addon":"open-addon",ref:l,isLoading:s,className:"bv:flex bv:w-full bv:place-content-center bv:items-center bv:gap-[8px] bv:max-w-[unset]",onClick:f,state:a?"selectedNoBorder":"default","aria-haspopup":"dialog","aria-description":i.name,children:[a&&(0,n.jsx)("span",{children:d}),r?(0,n.jsx)("span",{children:r}):(0,n.jsx)("span",{children:m("EA4H.General.ReadMoreAndAdd")})]})});var ao=e.i(644870);let ai=e=>{let d,i,r,s,c,m,u,b,p,f,A,O,h,y=(0,a.c)(44),{Addon:C}=e,w=(0,g.useCurrencyFormatter)(),{imageServer:S}=(0,l.useGlobalContext)(),j=(0,t.useAccommodationTranslations)(),{data:N}=(0,o.useBasket)(),B=ae(),{registerEnterKeyAsClick:T}=(0,ec.useAccessibilityHandlers)(),D=(0,I.useAtomValue)(k.bookingContextAtom),_=F(C),R=(0,x.isAddonPackage)(C),U=D?.originalBooking?D?.isEditMode?N?.booking?.bookingData:D?.originalBooking?.bookingData:N?.booking?.bookingData,E=M(C,U?.rooms),H=`${w?.formatCurrency(E)} ${w.currencyCode}`,$=_?`${j("EA4H.General.From")} ${H}`:`+${H}`;y[0]!==C||y[1]!==B||y[2]!==U?(d=()=>{B.open({Addon:C,bookingData:U})},y[0]=C,y[1]=B,y[2]=U,y[3]=d):d=y[3];let L=d,V=R?U?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===C.addOnPackageId):[],q=R?[]:U?.optionalAddOns?.filter(e=>e.addOnId===C.addOnId),W=0,K=!1;for(let e of V?.flatMap(ar)??[])P(e)?W+=(e?.price??0)*(e?.numberOfUnits??1):W+=e?.price??0,K=e?.price===0?e?.numberOfUnits>0:(W??0)>0;for(let e of q??[])W+=(e?.price??0)*(e?.numberOfUnits??1),K=e?.price===0?e?.numberOfUnits>0:(W??0)>0;let Q=W??0;if(K&&_){let e;y[4]!==w||y[5]!==Q||y[6]!==j?(e=Q>0?`${j("EA4H.General.Added")}, +${Q} ${w.currencyCode}`:j("EA4H.General.Added"),y[4]=w,y[5]=Q,y[6]=j,y[7]=e):e=y[7],$=e}let J=(E??0)>0||Q>0,Y=K||J,X=!(0,x.isAddon)(C)||!C.addOnChargeUnit||G(C)?void 0:(0,z.getAddOnChargeUnitTranslation)(C.addOnChargeUnit,j),Z=C.name;y[8]!==L||y[9]!==T?(i=T(L),y[8]=L,y[9]=T,y[10]=i):i=y[10],y[11]!==C||y[12]!==S?(r=(0,z.getAddonImageUrl)(C,S),y[11]=C,y[12]=S,y[13]=r):r=y[13],y[14]!==r?(s=(0,n.jsx)("img",{alt:"",className:"bv:h-[70px] bv:w-full bv:rounded-bv_c
1ardBorderRadius bv:object-cover bv:bv_medium:h-[120px]",src:r,loading:"lazy"}),y[14]=r,y[15]=s):s=y[15],y[16]!==C.name?(c=(0,n.jsx)(ao.default,{level:2,className:"bv:text-bv_subtitleFontSmaller bv:sm:text-bv_subtitleFontSize",children:C.name}),y[16]=C.name,y[17]=c):c=y[17],y[18]!==C.description?(m=C.description&&C.description.length>0?(0,n.jsx)(eo.default,{className:"bv:mt-[10px] bv:wrap-break-word",dangerouslySetInnerHTML:{__html:C.description??""}}):null,y[18]=C.description,y[19]=m):m=y[19],y[20]!==c||y[21]!==m?(u=(0,n.jsxs)("div",{children:[c,m]}),y[20]=c,y[21]=m,y[22]=u):u=y[22];let ee=J?$:void 0,en=X?`(${X})`:void 0;y[23]!==C||y[24]!==en||y[25]!==ee?(b=(0,n.jsx)(aa,{label:ee,addOn:C,subLabel:en,subLabelOnNewLine:!0}),y[23]=C,y[24]=en,y[25]=ee,y[26]=b):b=y[26],y[27]===Symbol.for("react.memo_cache_sentinel")?(p=(0,n.jsx)(v.FontAwesomeIcon,{icon:an.faCheck,fontSize:"16px"}),y[27]=p):p=y[27];let ea=Y?$:void 0;return y[28]!==C||y[29]!==K||y[30]!==ea?(f=(0,n.jsx)(at,{added:K,addedIcon:p,label:ea,addOn:C}),y[28]=C,y[29]=K,y[30]=ea,y[31]=f):f=y[31],y[32]!==b||y[33]!==f?(A=(0,n.jsxs)("div",{className:"bv:w-full bv:max-w-[250px] bv:self-start bv:bv_medium:max-w-[300px] bv:bv_medium:self-end",children:[b,f]}),y[32]=b,y[33]=f,y[34]=A):A=y[34],y[35]!==A||y[36]!==u?(O=(0,n.jsxs)("div",{className:"bv:col-start-2 bv:flex bv:min-w-0 bv:flex-col bv:justify-between bv:gap-[15px]",children:[u,A]}),y[35]=A,y[36]=u,y[37]=O):O=y[37],y[38]!==C.name||y[39]!==L||y[40]!==O||y[41]!==i||y[42]!==s?(h=(0,n.jsxs)("div",{role:"button",tabIndex:0,"aria-label":Z,className:"bv:grid bv:cursor-pointer bv:grid-cols-[70px_1fr] bv:gap-x-[20px] bv:bv_medium:grid-cols-[160px_1fr]",onClick:L,onKeyDown:i,children:[s,O]}),y[38]=C.name,y[39]=L,y[40]=O,y[41]=i,y[42]=s,y[43]=h):h=y[43],h};function ar(e){return e.basketAddOnPriceInfos}var al=e.i(357907),as=e.i(618566);let ac=e=>{let d,t,o,i,r,l,s,c,m=(0,a.c)(18);if(m[0]!==e){let{backgroundUrl:n,children:a,onClick:r,className:l,...s}=e;d=n,t=a,o=r,i=s,m[0]=e,m[1]=d,m[2]=t,m[3]=o,m[4]=i}else d=m[1],t=m[2],o=m[3],i=m[4];let{registerEnterKeyAsClick:u}=(0,ec.useAccessibilityHandlers)(),b=o?0:void 0;return m[5]!==o||m[6]!==u?(r=o?u(o):void 0,m[5]=o,m[6]=u,m[7]=r):r=m[7],m[8]===Symbol.for("react.memo_cache_sentinel")?(l=(0,et.cn)("bv:relative bv:select-none bv:flex bv:items-end bv:overflow-hidden bv:min-h-[300px] bv:cursor-pointer","bv:bg-center bv:bg-no-repeat bv:bg-cover bv:bv_medium:h-auto bv:bv_medium:aspect-square"),m[8]=l):l=m[8],m[9]!==d?(s=d?{backgroundImage:`url(${d})`}:void 0,m[9]=d,m[10]=s):s=m[10],m[11]!==t||m[12]!==o||m[13]!==i||m[14]!==b||m[15]!==r||m[16]!==s?(c=(0,n.jsx)("div",{role:"button",tabIndex:b,onKeyDown:r,onClick:o,className:l,style:s,...i,children:t}),m[11]=t,m[12]=o,m[13]=i,m[14]=b,m[15]=r,m[16]=s,m[17]=c):c=m[17],c};e.s(["AddonCardContainer",0,ac],223496);let am=["addonid","addonpackageid"];var au=e.i(268548);let ab=e=>{let d,i,r,s,c,m,u,p,f,A,O,h,P,y,C,w,S,j,N,B,T,D,_,R,U,E=(0,a.c)(80);E[0]!==e?({Addon:d,presentationType:c,internalBookingId:r,openAutomaticallyFromUrl:s,...i}=e,E[0]=e,E[1]=d,E[2]=i,E[3]=r,E[4]=s,E[5]=c):(d=E[1],i=E[2],r=E[3],s=E[4],c=E[5]);let H=(0,as.useSearchParams)(),$=(0,as.usePathname)(),L=(0,g.useCurrencyFormatter)(),V=(0,l.useGlobalContext)(),{data:q}=(0,o.useBasket)(),W=(0,t.useAccommodationTranslations)(),K=ae(),Q=(0,I.useAtomValue)(k.bookingContextAtom),J=Q?.originalBooking?Q?.isEditMode?q?.booking?.bookingData:Q?.originalBooking?.bookingData:q?.booking?.bookingData;E[6]!==d?(m=(0,x.isAddonPackage)(d),E[6]=d,E[7]=m):m=E[7];let Y=m,X=F(d);E[8]!==H?(u=(0,au.GetSearchParamsSync)({searchParams:H,paramKeys:["addonid","addonpackageid"]}),E[8]=H,E[9]=u):u=E[9];let Z=u,ee=Z.addonid,en=Z.addonpackageid,ea=M(d,J?.rooms),ed=`${L?.formatCurrency(ea)} ${L?.currencyCode}`,et=X?`${W("EA4H.General.From")} ${ed}`:`+${ed}`;if(E[10]!==d.addOnId||E[11]!==d.addOnPackageId||E[12]!==J?.optionalAddOnPackages||E[13]!==J?.optionalAddOns||E[14]!==r||E[15]!==Y){let e=Y?J?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===d.addOnPackageId&&(void 0===r||e.internalRoomId==r))??[]:[];p=Y?[]:J?.optionalAddOns?.filter(e=>e.addOnId===d.addOnId&&(void 0===r||e.internalRoomBookingId==r)),f=0,e?.flatMap(ag).forEach(e
1=>{f+=(e?.price??0)*(e?.numberOfUnits??1)}),p?.forEach(e=>{f+=(e?.price??0)*(e?.numberOfUnits??1)}),E[10]=d.addOnId,E[11]=d.addOnPackageId,E[12]=J?.optionalAddOnPackages,E[13]=J?.optionalAddOns,E[14]=r,E[15]=Y,E[16]=p,E[17]=f}else p=E[16],f=E[17];let ei=f??0,er=(p?.length??0)>0||ei>0;if(er&&X){let e;E[18]!==L?.currencyCode||E[19]!==ei||E[20]!==W?(e=ei>0?`${W("EA4H.General.Added")}, +${ei} ${L?.currencyCode}`:W("EA4H.General.Added"),E[18]=L?.currencyCode,E[19]=ei,E[20]=W,E[21]=e):e=E[21],et=e}let el=(ea??0)>0||ei>0,es=er||el;E[22]!==d||E[23]!==K||E[24]!==J||E[25]!==r?(A=()=>{let e={Addon:d,internalBookingId:r,bookingData:J};K.open(e)},E[22]=d,E[23]=K,E[24]=J,E[25]=r,E[26]=A):A=E[26];let ec=A,em=(0,b.useRef)(!1),[eu,eb]=(0,b.useState)(!s);E[27]!==s?(O=()=>{s&&eb(!0)},h=[s],E[27]=s,E[28]=O,E[29]=h):(O=E[28],h=E[29]),(0,b.useEffect)(O,h),E[30]!==d||E[31]!==ec||E[32]!==ee||E[33]!==en||E[34]!==s||E[35]!==$||E[36]!==eu||E[37]!==H?(P=()=>{var e;if(eu&&s&&!em.current&&(e=d,(0,x.isAddonPackage)(e)&&en?en.toLowerCase()===e.addOnPackageId?.toLowerCase():!!(0,x.isAddon)(e)&&!en&&!!ee&&ee.toLowerCase()===e.addOnId?.toLowerCase())){let e;em.current=!0,ec(),window.history.replaceState(null,"",(e=new URLSearchParams,H.forEach((n,a)=>{am.includes(a.toLowerCase())||e.append(a,n)}),e.toString()?`${$}?${e}`:$))}},E[30]=d,E[31]=ec,E[32]=ee,E[33]=en,E[34]=s,E[35]=$,E[36]=eu,E[37]=H,E[38]=P):P=E[38],E[39]!==ee||E[40]!==en||E[41]!==eu?(y=[eu,ee,en],E[39]=ee,E[40]=en,E[41]=eu,E[42]=y):y=E[42],(0,b.useEffect)(P,y);let eg=!(0,x.isAddon)(d)||!d.addOnChargeUnit||G(d)?void 0:(0,z.getAddOnChargeUnitTranslation)(d.addOnChargeUnit,W);E[43]!==d||E[44]!==V.imageServer?(C=(0,z.getAddonImageUrl)(d,V.imageServer),E[43]=d,E[44]=V.imageServer,E[45]=C):C=E[45],E[46]===Symbol.for("react.memo_cache_sentinel")?(w=(0,n.jsx)("div",{className:"bv:bv_tileOverlay"}),E[46]=w):w=E[46];let ev=d?.name;E[47]!==ev?(S=(0,n.jsx)(ao.default,{level:2,className:"bv:text-inherit",children:ev}),E[47]=ev,E[48]=S):S=E[48],E[49]!==et||E[50]!==es?(j=es&&(0,n.jsxs)("span",{className:"bv:font-bv_bodyFontFamily bv:font-bv_bodyBoldFontWeight bv:text-white bv:bv_text",children:[et,(0,n.jsx)("span",{className:"bv:font-bv_bodyFontFamily bv:font-bv_bodyFontWeight bv:text-white bv:bv_text",children:" "})]}),E[49]=et,E[50]=es,E[51]=j):j=E[51],E[52]!==S||E[53]!==j?(N=(0,n.jsxs)("div",{className:"bv:mb-[10px]",children:[S,j]}),E[52]=S,E[53]=j,E[54]=N):N=E[54];let ep=(Y?d.description:d?.extraInfo?.text)??"";E[55]!==ep?(B=(0,n.jsx)(eo.default,{className:"bv:mb-[20px] bv:line-clamp-3 bv:wrap-break-word bv:text-white",lineClamp:3,dangerouslySetInnerHTML:{__html:ep}}),E[55]=ep,E[56]=B):B=E[56];let ef=el?et:void 0,eI=eg?`(${eg})`:void 0;E[57]!==d||E[58]!==r||E[59]!==c||E[60]!==ef||E[61]!==eI?(T=(0,n.jsx)(aa,{internalBookingId:r,presentationType:c,addOn:d,label:ef,subLabel:eI}),E[57]=d,E[58]=r,E[59]=c,E[60]=ef,E[61]=eI,E[62]=T):T=E[62],E[63]===Symbol.for("react.memo_cache_sentinel")?(D=(0,n.jsx)(v.FontAwesomeIcon,{icon:an.faCheck}),E[63]=D):D=E[63];let ek=es?et:void 0;return E[64]!==d||E[65]!==r||E[66]!==er||E[67]!==ek?(_=(0,n.jsx)(at,{internalBookingId:r,added:er,addedIcon:D,label:ek,addOn:d}),E[64]=d,E[65]=r,E[66]=er,E[67]=ek,E[68]=_):_=E[68],E[69]!==d.name||E[70]!==N||E[71]!==B||E[72]!==T||E[73]!==_?(R=(0,n.jsxs)("div",{className:"bv:z-1 bv:flex bv:w-full bv:flex-col bv:p-[25px] bv:text-white",role:"group","aria-label":d.name,children:[N,B,T,_]}),E[69]=d.name,E[70]=N,E[71]=B,E[72]=T,E[73]=_,E[74]=R):R=E[74],E[75]!==ec||E[76]!==i||E[77]!==R||E[78]!==C?(U=(0,n.jsx)(al.ErrorBoundary,{boundaryName:"addon_card",children:(0,n.jsxs)(ac,{onClick:ec,backgroundUrl:C,...i,children:[w,R]})}),E[75]=ec,E[76]=i,E[77]=R,E[78]=C,E[79]=U):U=E[79],U};function ag(e){return e.basketAddOnPriceInfos}e.s(["AddonCard",0,ab],657799);var av=e.i(622290);let ap=e=>{let d,t,o,i,r,l=(0,a.c)(10);return l[0]!==e?({children:d,className:t,...o}=e,l[0]=e,l[1]=d,l[2]=t,l[3]=o):(d=l[1],t=l[2],o=l[3]),l[4]!==t?(i=(0,et.cn)("bv:grid bv:grid-cols-1 bv:gap-[20px] bv:bv_medium:grid-cols-2",t),l[4]=t,l[5]=i):i=l[5],l[6]!==d||l[7]!==o||l[8]!==i?(r=(0,n.jsx)("div",{className:i,...o,children:d}),l[6]=d,l[7]=o,l[8]=i,l[9]=r):r=l[9],r};e.s(["AddonGrid",0,ap],854819);let af=e=>{let d,t,o=(0,a.c)(4),{children:i}=e;return o[0]!==i?(d=b.default.Children.map(i,aI),o[0]=i,o[1]=d):d=o[1],o[2]!==d?(t=(0,n.jsx)("div",{role:"list","aria-label":"Add-ons",className:"bv:flex bv:flex-col bv:gap-[20px]",children:d}),o[2]=d,o[3]=t):t=o[3],t};function aI(e,a){return 0===a?(0,n.jsx)("div",{role:"listitem",className:"bv:contents",children:e}):(0,n.jsx)("div",{role:"listitem",className:"bv:border-0 bv:border-t-bv_dividerBorderWidth bv:border-solid bv:border-t-bv_dividerBorderColor bv:pt-[20px]",children:e})}function ak(e){return e.price}function ax(e){return e.rank}function aA(e){return(0,x.isFixedAddonPackage)(e)?L(e):e.cheapestPrice}function aO(e){return e.rank}function ah(e){return(0,n.jsx)(ai,{Addon:e},`${e.addOnPackageId}`)}function aP(e){return(0,n.jsx)(ai,{Addon:e},e.addOnId)}function ay(e){return(0,n.jsx)(ab,{Addon:e},`${e.addOnPackageId}`)}function aC(e){return(0,n.jsx)(ab,{Addon:e},e.addOnId)}e.s(["AddonCategoryList",0,e=>{let o,i,r,l,s,c,m,u,b,g,v,p,f,I=(0,a.c)(46),{categoryName:k,addOns:x,addOnPackages:O,presentationTypeOverride:h,sortOrder:P}=e,y=(0,t.useAccommodationTranslations)(),C=(0,el.useTheme)(),w=P===A.SearchResultSortOrder.Price;if(I[0]!==O||I[1]!==x||I[2]!==k||I[3]!==w||I[4]!==h||I[5]!==C||I[6]!==y){g=Symbol.for("react.early_return_sentinel");e:{let e,a=w?(0,d.default)(x,ak):(0,d.default)(x,ax),t=w?(0,d.default)(O,aA):(0,d.default)(O,aO);if(!(0,nb.arrayHasItems)(a)&&!(0,nb.arrayHasItems)(t)){g=null;break e}if(C.style?.extrasPresentationType===A.PresentationType.List&&h!==A.PresentationType.Tiles){let e,d,o,i;I[17]!==y?(e=y("EA4H.General.OptionalAddOns"),I[17]=y,I[18]=e):e=I[18],I[19]!==e?(d=(0,n.jsx)("div",{id:"optional-addons-description",className:"bv:sr-only",children:e}),I[19]=e,I[20]=d):d=I[20],I[21]!==k?(o=!!k&&(0,n.jsx)(av.LineText,{children:k}),I[21]=k,I[22]=o):o=I[22];let r=(0,n.jsxs)("div",{"data-testid":"optional_addons_list","aria-label":k,"aria-describedby":"optional-addons-description",children:[o,(0,n.jsxs)(af,{children:[t.map(ah),a.map(aP)]})]});I[23]!==d||I[24]!==r?(i=(0,n.jsxs)(n.Fragment,{children:[d,r]}),I[23]=d,I[24]=r,I[25]=i):i=I[25],g=i;break e}I[26]!==y?(e=y("EA4H.General.OptionalAddOns"),I[26]=y,I[27]=e):e
1=I[27],I[28]!==e?(b=(0,n.jsx)("div",{id:"optional-addons-description",className:"bv:sr-only",children:e}),I[28]=e,I[29]=b):b=I[29],l="optional_addons_tiles",s="list",c=k,m="optional-addons-description",I[30]!==k?(u=!!k&&(0,n.jsx)(av.LineText,{children:k}),I[30]=k,I[31]=u):u=I[31],o=ap,i=t.map(ay),r=a.map(aC)}I[0]=O,I[1]=x,I[2]=k,I[3]=w,I[4]=h,I[5]=C,I[6]=y,I[7]=o,I[8]=i,I[9]=r,I[10]=l,I[11]=s,I[12]=c,I[13]=m,I[14]=u,I[15]=b,I[16]=g}else o=I[7],i=I[8],r=I[9],l=I[10],s=I[11],c=I[12],m=I[13],u=I[14],b=I[15],g=I[16];return g!==Symbol.for("react.early_return_sentinel")?g:(I[32]!==o||I[33]!==i||I[34]!==r?(v=(0,n.jsxs)(o,{children:[i,r]}),I[32]=o,I[33]=i,I[34]=r,I[35]=v):v=I[35],I[36]!==v||I[37]!==l||I[38]!==s||I[39]!==c||I[40]!==m||I[41]!==u?(p=(0,n.jsxs)("div",{"data-testid":l,role:s,"aria-label":c,"aria-describedby":m,children:[u,v]}),I[36]=v,I[37]=l,I[38]=s,I[39]=c,I[40]=m,I[41]=u,I[42]=p):p=I[42],I[43]!==p||I[44]!==b?(f=(0,n.jsxs)(n.Fragment,{children:[b,p]}),I[43]=p,I[44]=b,I[45]=f):f=I[45],f)}],710022)},76698,(e,n,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var d="calendar-days",t=["calendar-alt"],o="f073",i="M120 0c13.3 0 24 10.7 24 24l0 40 160 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 32 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64l32 0 0-40c0-13.3 10.7-24 24-24zM384 432c8.8 0 16-7.2 16-16l0-64-88 0 0 80 72 0zm16-128l0-80-88 0 0 80 88 0zm-136 0l0-80-80 0 0 80 80 0zm-128 0l0-80-88 0 0 80 88 0zM48 352l0 64c0 8.8 7.2 16 16 16l72 0 0-80-88 0zm136 0l0 80 80 0 0-80-80 0zM120 112l-56 0c-8.8 0-16 7.2-16 16l0 48 352 0 0-48c0-8.8-7.2-16-16-16l-264 0z";a.definition={prefix:"far",iconName:d,icon:[448,512,t,o,i]},a.faCalendarDays=a.definition,a.prefix="far",a.iconName=d,a.width=448,a.height=512,a.ligatures=t,a.unicode=o,a.svgPathData=i,a.aliases=t},579808,e=>{"use strict";var n=e.i(298533);e.s(["isAddon",0,e=>"addOnId"in e,"isAddonPackage",0,e=>"addOnPackageId"in e&&!("optionalChargeUnit"in e),"isDynamicAddonPackage",0,e=>"addOnPackageId"in e&&!0===e.dynamic,"isFixedAddonPackage",0,e=>"addOnPackageId"in e&&!1===e.dynamic,"isOnePerBookingAddonPackage",0,e=>"addOnPackageId"in e&&e.chargeUnit===n.OptionalAddOnChargeUnit.OnePerBooking,"isPricePerDayAddonPackage",0,e=>"addOnPackageId"in e&&e.priceTimeunit===n.AddOnPriceTimeUnit.PricePerDay])},44758,e=>{"use strict";var n=e.i(500932),a=e.i(266027),d=e.i(692156),t=e.i(906554);e.s(["useAvailableAddons",0,e=>{let o,i,r,l=(0,n.c)(10),{bookingCode:s}=e,c=(0,d.useGlobalContext)(),m=(0,t.useSinglePropertyContext)();l[0]!==s?(o=["available_addons",s],l[0]=s,l[1]=o):o=l[1],l[2]!==s||l[3]!==c||l[4]!==m?(i=()=>c.APIClient.bookingsAvailableAddonsV1(s,!1,!0,void 0,void 0,m.channelId),l[2]=s,l[3]=c,l[4]=m,l[5]=i):i=l[5];let u=!!s;return l[6]!==o||l[7]!==i||l[8]!==u?(r={queryKey:o,queryFn:i,staleTime:1/0,refetchOnWindowFocus:!1,enabled:u},l[6]=o,l[7]=i,l[8]=u,l[9]=r):r=l[9],(0,a.useQuery)(r)}])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.