1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,710022,445345,178663,905947,223496,657799,854819,212996,e=>{"use strict";e.s(["default",()=>ae],905947);var n=e.i(843476),a=e.i(500932),d=e.i(58840),t=e.i(775911),o=e.i(225111),i=e.i(48512),r=e.i(692156),l=e.i(825438),s=e.i(736382),c=e.i(415550),m=e.i(990717),u=e.i(271645),b=e.i(344306),g=e.i(811488),v=e.i(676572),p=e.i(869829),f=e.i(672464),I=e.i(148471),k=e.i(579808),x=e.i(298533),A=e.i(725955);let O=e=>Math.ceil(100*e)/100,h=e=>"addOnChargeUnit"in e?e.addOnChargeUnit===x.OptionalAddOnChargeUnit.OptionalNumberOfUnits:"optionalAddOnChargeUnit"in e&&e.optionalAddOnChargeUnit===x.OptionalAddOnChargeUnit.OptionalNumberOfUnits,P=e=>(0,k.isAddonPackage)(e)?e.chargeUnit===x.OptionalAddOnChargeUnit.OptionalNumberOfUnits:e.optionalChargeUnit===x.OptionalAddOnChargeUnit.OptionalNumberOfUnits,y=e=>(0,k.isAddon)(e)&&(!0===e.hasTimeSlots||!!e.timeSlotManagementInfo),C=e=>e?.length?e.map(e=>({bvGuestId:e.guestId,firstName:e.firstName,lastName:e.lastName})):void 0,w=({hasPendingChanges:e,hasTimeslotInBasket:n})=>e&&!n,S=e=>(0,k.isAddon)(e)&&e.addOnPriceTimeUnit===x.AddOnPriceTimeUnit.PricePerDay,j=e=>(0,k.isAddon)(e)&&!1===e.isUnitPrice,B=e=>(0,k.isAddonPackage)(e)&&e.chargeUnit===x.OptionalAddOnChargeUnit.OnePerRoom,N=e=>(0,k.isAddonPackage)(e)&&e.chargeUnit===x.OptionalAddOnChargeUnit.OnePerGuestAndDay,T=e=>{switch(e){case x.OptionalAddOnChargeUnit.OnePerGuest:case x.OptionalAddOnChargeUnit.OnePerGuestAndDay:case x.OptionalAddOnChargeUnit.OnePerRoomAndDay:return!0;case x.OptionalAddOnChargeUnit.OptionalOnePerRoom:case x.OptionalAddOnChargeUnit.OptionalNumberOfUnits:case x.OptionalAddOnChargeUnit.OnePerBooking:case x.OptionalAddOnChargeUnit.OnePerRoom:default:return!1}},D=e=>!!e&&("optionalAddOnChargeUnit"in e?e.optionalAddOnChargeUnit===x.OptionalAddOnChargeUnit.OptionalOnePerRoom||!0===e.isOptionalPerRoomChargeUnit&&T(e.optionalAddOnChargeUnit):(0,k.isAddon)(e)?e.addOnChargeUnit===x.OptionalAddOnChargeUnit.OptionalOnePerRoom||!0===e.isOptionalPerRoomChargeUnit&&T(e.addOnChargeUnit):!!(0,k.isAddonPackage)(e)&&(e.chargeUnit===x.OptionalAddOnChargeUnit.OptionalOnePerRoom||!0===e.isOptionalPerRoomChargeUnit&&T(e.chargeUnit))),G=e=>(0,k.isAddonPackage)(e)&&D(e),_=e=>{let n=(0,k.isAddon)(e)?e.addOnPriceInfo:e.connectedAddOns?.[0]?.addOnPriceInfo;return Array.from(new Set(n?.map(e=>e.internalBookingRoomId).filter(e=>null!=e)??[]))},R=(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},U=(e,n)=>D(e)?(0,k.isAddon)(e)?R(e,n):(e.connectedAddOns??[]).reduce((e,a)=>e+R(a,n),0):0,E=e=>!!e&&(D(e)||(0,k.isAddon)(e)&&e.addOnChargeUnit===x.OptionalAddOnChargeUnit.OptionalNumberOfUnits||(0,k.isAddon)(e)&&e.addOnChargeUnit===x.OptionalAddOnChargeUnit.OnePerGuest&&!e.isUnitPrice&&e.addOnPriceTimeUnit!==x.AddOnPriceTimeUnit.FixedPrice||(0,k.isAddonPackage)(e)&&e.chargeUnit===x.OptionalAddOnChargeUnit.OptionalNumberOfUnits||(0,k.isAddonPackage)(e)&&e.dynamic||(0,k.isAddonPackage)(e)&&e.priceTimeunit!==x.AddOnPriceTimeUnit.FixedPrice),F=(e,n)=>{if(D(e)&&((0,k.isAddon)(e)||(0,k.isFixedAddonPackage)(e))&&n?.length){let a=_(e),d=(a.length?n.filter(e=>a.includes(e.internalBookingId)):n).map(n=>U(e,n)).filter(e=>e>0);if(d.length)return Math.min(...d)}if((0,k.isAddon)(e)){let n=e.price??0;return n<0?0:n}if((0,k.isFixedAddonPackage)(e)){let n=$(e);return n<0?0:n}if((0,k.isAddonPackage)(e)){let n=e.cheapestPrice??0;return n<0?0:n}return 0},M=(e,n,a,d)=>{if(P(e)){let t=a?.ChooseHowManyData.filter(t=>t.addOnPackageId===e.addOnPackageId&&t.internalRoomId==a.internalBookingId&&t.addonId===n.addOnId&&(!t.date||(0,A.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,A.isSameDayStrict)(t.date,d)));return t?.newAmount}},H=(e,n,a,d)=>
1{if(P(e)){let t=a?.ChooseHowManyData.filter(t=>t.addOnPackageId===e.addOnPackageId&&t.internalRoomId==a.internalBookingId&&t.addonId===n.addOnId&&(!t.date||(0,A.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,A.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,A.isSameDayStrict)(t.date,d)));return(t?.newAmount??0)*(n.price??0)}},$=e=>(e.connectedAddOns?.map(e=>e.price??0)??[0]).reduce((e,n)=>e+n,0),L=(e,n)=>{if(P(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,A.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 N(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)},V=(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},q=(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,A.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,O,"getAvailableRoomIds",0,_,"getFromPrice",0,F,"getNewAmount",0,M,"getNewTotalPrice",0,H,"getPerRoomAddonTotal",0,R,"getPerRoomTotal",0,U,"getPriceForFixedAddonPackage",0,$,"getTotalPriceForAddon",0,V,"getTotalPriceForAddonPackage",0,L,"isModalConfig",0,E,"isOnePerGuestAndDayPackage",0,N,"isOnePerRoomPackage",0,B,"isOptionalNumberOfUnitsAddon",0,h,"isOptionalNumberOfUnitsPackage",0,P,"isPerGuestPriceType",0,j,"isPerRoomPackage",0,G,"isPerRoomSelectable",0,D,"isPricePerDay",0,S,"isTimeslotAddon",0,y,"mapTimeSlotGuestInfos",0,C,"replaceTimeslotSelection",0,q,"shouldBlockTimeslotClose",0,w],445345);var W=e.i(178126);let z=(0,u.createContext)({}),K=e=>{let d,o,i=(0,a.c)(15),{DateFormatter:r,Addon:l,children:s,internalBookingId:c,bookingData:m}=e,{data:b}=(0,t.useBasket)(),g=(0,f.useAtomValue)(I.bookingContextAtom),v=b?.booking?.bookingData,p=g?.originalBooking?.bookingData,x=m??v??p,[A,O]=(0,u.useState)(function(){if(!(0,k.isAddon)(l)||!D(l))return[];let e=[],n=g?.activeBooking?.bookingData,a=new Set(_(l)),d=e=>0===a.size||a.has(e);return x?.rooms?.length&&x?.rooms?.forEach(n=>{if(!d(n.internalBookingId))return;let a=x?.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,u.useState)(function(){let e=[];return x?.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,W.padTo2Digits)(n.timeSlot.startHour)}:${(0,W.padTo2Digits)(n.timeSlot.startMinute)}`:void 0,timeSlotEndTime:n?.timeSlot?.endTime,guestNames:n?.externalGuestInfo?.map(Q)})}),x?.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,W.padTo2Digits)(a.timeSlot.startHour)}:${(0,W.padTo2Digits)(a.timeSlot.startMinute)}`:void 0,timeSlotEndTime:a?.timeSlot?.endTime,guestNames:a?.externalGuestInfo?.map(J)})}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,W.padTo2Digits)(a.timeSlot.startHour)}:${(0,W.padTo2Digits)(a.timeSlot.startMinute)}`:void 0,timeSlotEndTime:a?.timeSlot?.endTime,guestNames:a?.externalGuestInfo?.map(Y)})}}),!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,u.useState)(function(){let e=[];
1if(!(0,k.isAddonPackage)(l))return[];let n=x?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===l.addOnPackageId).flatMap(X)??[],a=p?p?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===l.addOnPackageId).flatMap(Z):[];if(D(l)){let n=g?.activeBooking?.bookingData,a=l.connectedAddOns??[];if(!a.length)return e;let d=new Set(_(l)),t=e=>0===d.size||d.has(e),o=(0,k.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:U(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:R(a,n)})})})};x?.rooms?.length&&o(x.rooms,x.optionalAddOnPackages),n?.rooms?.length&&!e.length&&o(n.rooms,n.optionalAddOnPackages),p?.rooms?.length&&!e.length&&o(p.rooms,p.optionalAddOnPackages)}else N(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=x?.rooms??p?.rooms;return i[0]!==l||i[1]!==r||i[2]!==x||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:x},i[0]=l,i[1]=r,i[2]=x,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?(o=(0,n.jsx)(z.Provider,{value:d,children:s}),i[12]=s,i[13]=d,i[14]=o):o=i[14],o};function Q(e){return{guestId:e.bvGuestId,firstName:e.firstName??"",lastName:e.lastName??""}}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 e.basketAddOnPriceInfos??[]}function Z(e){return e.basketAddOnPriceInfos??[]}var ee=e.i(375737),en=e.i(833322),ea=e.i(339506),ed=e.i(605458),et=e.i(482582);let eo=e=>{let t,o,i,r,s,c,m,f,I,A,O,h,P,y,C,w,S,j,B,N,T,D,G,_,R,U,E,F=(0,a.c)(127),{IsInPackage:M,topBorder:H,Label:L,AgeGroup:V,Addon:q,Date:W,onChange:K,maxValue:Q,addOnDescription:J,selectorOnly:Y}=e,X=(0,u.useId)(),Z=(0,u.useId)(),eo=(0,u.useContext)(z),ei=(0,b.useCurrencyFormatter)(),er=(0,d.useAccommodationTranslations)(),{isVerySmallScreen:el}=(0,l.useScreenSizes)();F[0]!==q?(t=(0,k.isAddon)(q)&&q.addOnPriceInfo?.length===1?q.addOnPriceInfo?.[0]?.date:void 0,F[0]=q,F[1]=t):t=F[1];let es=t??W;F[2]!==q||F[3]!==es?(o=(0,k.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]!==eo?(i=eo?.ChooseHowManyData?.filter(e=>M?e.addOnPackageId===M.addOnPackageId:(0,k.isAddonPackage)(q)?q.addOnPackageId===e.addOnPackageId:void 0===e.addOnPackageId).filter(e=>e.internalRoomId==eo.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]=eo,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]!==eo||F[18]!==K||F[19]!==es?(r=e=>{if(!((0,ea.isNotNullOrUndefined)(ec)&&"increase"===e&&(em?.newAmount??0)+1>ec)){if("error"===e)return void K?.(!0);K?.(),(0,k.isAddon)(q)?eo?.SetChooseHowManyData(n=>[...n.filter(e=>e.addonId!==q.addOnId||void 0!==V&&e.ageGroupId!==V?.ageGroupId||void 0!==es&&e.date!==es||e.internalRoomId!=eo?.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:eo?.internalBookingId}]):(0,k.isFixedAddonPackage)(q)&&eo?.SetChooseHowManyData(n=>[...n.filter(e=>e.addOnPackageId!==q.addOnPackageId||e.ageGroupId!==(V?.ageGroupId??null)||e.date!==es||e.internalRoomId!=eo?.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:eo.internalBookingId}])}},F[11]=q,F[12]=V,F[13]=M?.addOnPackageId,F[14]=ec,F[15]=em?.newAmount,F[16]=em?.originalAmount,F[17]=eo,F[18]=K,F[19]=es,F[20]=r):r=F[20];let eu=r;F[21]!==q||F[22]!==V||F[23]!==M||F[24]!==es?(s=()=>
1{if((0,k.isAddon)(q)){if(q.isUnitPrice&&q.addOnPriceTimeUnit===x.AddOnPriceTimeUnit.FixedPrice)return q.price??0;else if(q.addOnPriceTimeUnit===x.AddOnPriceTimeUnit.FixedPrice&&!q.isUnitPrice)return q.addOnPriceInfo?.find(e=>e.ageGroupId===V?.ageGroupId)?.price??0;else if((q.isUnitPrice||void 0!==M)&&q.addOnPriceTimeUnit===x.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===x.AddOnPriceTimeUnit.PricePerDay)return q.addOnPriceInfo?.find(e=>e.ageGroupId===(V?.ageGroupId??null)&&e.date===es)?.price??0}return(0,k.isFixedAddonPackage)(q)?$(q):0},F[21]=q,F[22]=V,F[23]=M,F[24]=es,F[25]=s):s=F[25];let eb=s,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)>0?"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?(f=(0,ed.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]=f):f=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,ed.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?(A=()=>eu("decrease"),F[37]=eu,F[38]=A):A=F[38],F[39]===Symbol.for("react.memo_cache_sentinel")?(O=(0,n.jsx)(g.FontAwesomeIcon,{icon:v.faMinus}),F[39]=O):O=F[39],F[40]!==I||F[41]!==A?(h=(0,n.jsx)("div",{className:I,onClick:A,tabIndex:-1,"aria-hidden":"true",children:O}),F[40]=I,F[41]=A,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,ed.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)(et.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)(et.default,{bold:!0,className:(0,ed.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,ed.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)(g.FontAwesomeIcon,{icon:p.faPlus}),F[58]=j):j=F[58],F[59]!==ev||F[60]!==S?(B=(0,n.jsx)("div",{className:S,onClick:ev,tabIndex:-1,"aria-hidden":"true",children:j}),F[59]=ev,F[60]=S,F[61]=B):B=F[61],F[62]!==ef||F[63]!==ek||F[64]!==ex||F[65]!==h||F[66]!==w||F[67]!==B||F[68]!==f?(N=(0,n.jsxs)("div",{className:f,role:"spinbutton","aria-valuenow":ek,"aria-valuetext":ex,tabIndex:0,onKeyDown:ef,children:[h,w,B]}),F[62]=ef,F[63]=ek,F[64]=ex,F[65]=h,F[66]=w,F[67]=B,F[68]=f,F[69]=N):N=F[69];let eP=N;if(Y){let e;return F[70]!==eP?(e=(0,n.jsx)(n.Fragment,{children:eP}
1),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)(et.default,{className:"bv:pb-[10px]",children:J}),F[72]=J,F[73]=e):e=F[73],F[74]!==L||F[75]!==er?(a=L??er("EA4H.General.ChooseHowMany"),F[74]=L,F[75]=er,F[76]=a):a=F[76],F[77]!==X||F[78]!==a?(d=(0,n.jsx)(et.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)(et.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)(en.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)(ee.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)(et.default,{className:"bv:pt-[15px]",children:J}),F[99]=J,F[100]=T):T=F[100],F[101]!==L||F[102]!==er?(D=L??er("EA4H.General.ChooseHowMany"),F[101]=L,F[102]=er,F[103]=D):D=F[103],F[104]!==X||F[105]!==D?(G=(0,n.jsx)(et.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)(et.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)(en.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)(ee.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 ei=e.i(18803),er=e.i(66768),el=e.i(257359),es=e.i(581876),ec=e.i(800190);let em=e=>{let t,o,i,r,l,s,c,m,u,g,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,B=(0,d.useAccommodationTranslations)(),{data:N}=(0,ei.useGuestRooms)();P[0]!==S.roomId||P[1]!==N?.rooms?(t=N?.rooms?.find(e=>e.id===S.roomId),P[0]=S.roomId,P[1]=N?.rooms,P[2]=t):t=P[2];let T=t,{formatCurrency:D,currencyCode:G}=(0,b.useCurrencyFormatter)(),_=(0,er.useTheme)(),{registerEnterKeyAsClick:R}=(0,es.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.inputBackground||P[12]!==_?.css.inputBorderColor||P[13]!==_?.css.selectedDarkFontColor||P[14]!==C||P[15]!==w||P[16]!==B){let e,a,d,t,b,A=U(j,S);i=ee.Outer,m="bv:px-[20px] bv:py-[15px]",o=en.Inner,r=w,l="group",s=T?.name;let O=T?.name;P[32]!==O?(e=(0,n.jsx)(et.default,{bold:!0,children:O}),P[32]=O,P[33]=e):e=P[33],P[34]!==S||P[35]!==B?(a=(0,el.getGuestsText)(S,B),P[34]=S,P[35]=B,P[36]=a):a=P[36],P[37]!==a?(d=(0,n.jsxs)(et.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,ed.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],g=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;
1let N=`room-add-btn-${S.roomId}`,E=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]!==E||P[52]!==t?(b={checked:y,color:E,style:t},P[50]=y,P[51]=E,P[52]=t,P[53]=b):b=P[53],P[54]!==N||P[55]!==b?(k=(0,n.jsx)(ec.Checkbox,{id:N,inputProps:b}),P[54]=N,P[55]=b,P[56]=k):k=P[56],x=(A??0)>0&&(0,n.jsxs)(et.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]=B,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]=g,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],g=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]!==g||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:g,onKeyDown:v,tabIndex:p,role:f,"aria-checked":I,children:[k,x]}),P[57]=u,P[58]=g,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 eu=e.i(865376);let eb=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,ed.cn)("bv:relative bv:h-[16px] bv:w-[16px]",u),i[0]=u,i[1]=d):d=i[1];let b=c?v.faMinus:p.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)(g.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)(eu.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 eg=e.i(931118);let ev=e=>{let d,t,o,i,r,s,c,m,u,g,v=(0,a.c)(38),{id:p,label:f,price:I,isAdded:k,onToggle:x,topBorder:A}=e,{formatCurrency:O,currencyCode:h}=(0,b.useCurrencyFormatter)(),P=(0,er.useTheme)(),{registerEnterKeyAsClick:y}=(0,es.useAccessibilityHandlers)(),{isSmallScreen:C}=(0,l.useScreenSizes)(),w=A?"bv:pt-[10px]":"";v[0]!==f?(d=(0,n.jsx)(et.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,ed.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",B=k?P?.css.selectedDarkFontColor:P?.css.inputBorderColor,N=k?P?.css.darkSelectedColor:P?.css.inputBackground;v[7]!==B||v[8]!==N?(i={borderColor:B,backgroundColor:N},v[7]=B,v[8]=N,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?(s=(0,n.jsx)(ec.Checkbox,{id:p,inputProps:r}),v[14]=p,v[15]=r,v[16]=s):s=v[16],v[17]!==h||v[18]!==O||v[19]!==I?(c=I>0&&(0,n.jsxs)(et.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]!==s||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:[s,c]}),v[21]=k,v[22]=x,v[23]=s,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)(en.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)(ee.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?(g=(0,n.jsx)(ee.Outer,{className:"bv:px-[20px] bv:py-[15px]",children:T}),v[36]=T,v[37]=g):g=v[37],g},ep=e=>{let t,o,i,r,l,s,c,m,g=(0,a.c)(50),{room:v,addOnPackageId:p,connectedAddOns:f,packageData:I,onToggle:k,initiallyExpanded:x}=e,A=(0,d.useAccommodationTranslations)(),{data:O}=(0,ei.useGuestRooms)(),{formatCurrency:h,currencyCode:P}=(0,b.useCurrencyFormatter)(),[y,C]=(0,u.useState)(void 0===x||x);g[0]!==O?.rooms||g[1]!==v?(t=O?.rooms?.find(e=>e.id===v.roomId),g[0]=O?.rooms,g[1]=v,g[2]=t):t=g[2];let w=t;if(g[3]!==p||g[4]!==f||g[5]!==P||g[6]!==y||g[7]!==h||g[8]!==w?.name||g[9]!==k||g[10]!==I||g[11]!==v||g[12]!==A){let e,a,d,t,c,m,u,b;g[18]!==p||g[19]!==v?(e=e=>e.internalRoomId===v.internalBookingId&&e.addOnPackageId===p,g[18]=p,g[19]=v,g[20]=e):e=g[20];let x=I.filter(e),O=x.find(ef),S=x.map(eI).filter(ek),j=S.length?Math.min(...S):0,B=j>0;l="bv:text-bv_cardColor";let N=+!!O;g[21]===Symbol.for("react.memo_cache_sentinel")?(a=()=>C(ex),g[21]=a):a=g[21];let T=w?.name;g[22]!==T?(d=(0,n.jsx)(et.default,{bold:!0,className:"bv:text-inherit",children:T}),g[22]=T,g[23]=d):d=g[23],g[24]!==v||g[25]!==A?(t=(0,el.getGuestsText)(v,A),g[24]=v,g[25]=A,g[26]=t):t=g[26],g[27]!==t?(c=(0,n.jsxs)(et.default,{size:"small",className:"bv:text-inherit",children:["(",t,")"]}),g[27]=t,g[28]=c):c=g[28],g[29]!==d||g[30]!==c?(m=(0,n.jsxs)("div",{className:"bv:ml-[20px] bv:px-[10px] bv:py-[10px]",children:[d,c]}),g[29]=d,g[30]=c,g[31]=m):m=g[31];let D=O?(0,n.jsxs)(et.default,{bold:!0,className:"bv:text-inherit",children:[A("EA4H.General.Selected")," +",h(O.price??0)," ",P]}):B?(0,n.jsxs)(et.default,{className:"bv:text-inherit",children:[A("EA4H.General.From")," ",(0,n.jsxs)("span",{className:"bv:font-bv_bodyBoldFontWeight",children:[h(j)," ",P]})]}):null;g[32]!==D?(u=(0,n.jsx)("span",{className:"bv:hidden bv:bv_medium:grid bv:mr-[20px] bv:justify-self-end bv:text-right",children:D}),g[32]=D,g[33]=u):u=g[33],g[34]!==y||g[35]!==m||g[36]!==u||g[37]!==N?(s=(0,n.jsxs)(eb,{amount:N,expanded:y,onClick:a,children:[m,u]}),g[34]=y,g[35]=m,g[36]=u,g[37]=N,g[38]=s):s=g[38],o=eg.Collapse,i=y,g[39]!==k||g[40]!==v?(b=(e,a)=>{let{ca:d,entry:t}=e;return(0,n.jsx)(ev,{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)},g[39]=k,g[40]=v,g[41]=b):b=g[41],r=f.map(e=>({ca:e,entry:e.addOnId?x.find(n=>n.addonId===e.addOnId):void 0})).filter(eA).map(b),g[3]=p,g[4]=f,g[5]=P,g[6]=y,g[7]=h,g[8]=w?.name,g[9]=k,g[10]=I,g[11]=v,g[12]=A,g[13]=o,g[14]=i,g[15]=r,g[16]=l,g[17]=s}else o=g[13],i=g[14],r=g[15],l=g[16],s=g[17];return g[42]!==o||g[43]!==i||g[44]!==r?(c=(0,n.jsx)(o,{open:i,children:r}),g[42]=o,g[43]=i,g[44]=r,g[45]=c):c=g[45],g[46]!==l||g[47]!==s||g[48]!==c?(m=(0,n.jsxs)("div",{className:l,children:[s,c]}),g[46]=l,g[47]=s,g[48]=c,g[49]=m):m=g[49],m};function ef(e){return(e.newAmount??0)>0}function eI(e){return e.price??0}function ek(e){return e>0}function ex(e){return!e}
1function eA(e){return!!(e.ca.addOnId&&e.entry)}let eO=e=>{let d,t,o,i=(0,a.c)(34),{Addon:r}=e,l=(0,u.useContext)(z),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(eh));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 b=o;if((0,k.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)(em,{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(G(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,k.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(eP);return(0,n.jsx)(em,{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]!==b||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)(ep,{room:a,addOnPackageId:r.addOnPackageId,connectedAddOns:o,packageData:t,onToggle:b},e):null})}),i[27]=o,i[28]=b,i[29]=t,i[30]=r.addOnPackageId,i[31]=a,i[32]=s,i[33]=d):d=i[33],d}return null};function eh(e){return(e.newAmount??0)>0}function eP(e){return(e.newAmount??0)>0}var ey=e.i(316510),eC=e.i(533940);let ew=e=>{let t=(0,a.c)(40),{Addon:o,Date:i,IsInPackage:r,addOnDescription:s}=e,c=(0,d.useAccommodationTranslations)(),{isVerySmallScreen:m}=(0,l.useScreenSizes)();if((0,k.isAddon)(o)){let e,a,d,l,u,b,g;t[0]!==o.addOnPriceInfo?(e=new Set(o.addOnPriceInfo?.filter(eS).map(ej)),t[0]=o.addOnPriceInfo,t[1]=e):e=t[1],t[2]!==e?(a=[...e],t[2]=e,t[3]=a):a=t[3];let v=a;if(t[4]!==o||t[5]!==i||t[6]!==r||t[7]!==s||t[8]!==v||t[9]!==m||t[10]!==c){let e,a,g=v.map(e=>o.addOnPriceInfo?.find(n=>n.ageGroupId===e)?.ageGroup);g=(0,eC.default)(g,eB),t[15]!==o.addOnPriceInfo?(e=o.addOnPriceInfo?.find(eN),t[15]=o.addOnPriceInfo,t[16]=e):e=t[16];let p=e,f=!r&&"bv:overflow-hidden bv:rounded-bv_cardBorderRadius bv:border-solid bv:border-bv_cardBorderWidth bv:border-bv_cardBorderColor";t[17]!==f?(d=(0,ed.cn)("bv:bg-bv_cardBackground",f),t[17]=f,t[18]=d):d=t[18],t[19]!==r||t[20]!==s||t[21]!==m?(l=s&&(0,n.jsx)(ee.Outer,{lightBorder:void 0!==r,thinBorder:m,className:"bv:px-[20px] bv:py-[10px]",children:(0,n.jsx)(et.default,{children:s})}),t[19]=r,t[20]=s,t[21]=m,t[22]=l):l=t[22],t[23]!==o||t[24]!==i||t[25]!==r||t[26]!==p||t[27]!==c?(u=p&&(0,n.jsx)(eo,{IsInPackage:r,Date:i,AgeGroup:p,Label:c("EA4H.General.Adult"),Addon:o},"adult_agegroup"),t[23]=o,t[24]=i,t[25]=r,t[26]=p,t[27]=c,t[28]=u):u=t[28],t[29]!==o||t[30]!==i||t[31]!==r||t[32]!==p||t[33]!==c?(a=(e,a)=>{let d=0===a&&!p,t=e?.typeOfAgeGroup===x.TypeOfAgeGroup.OwnDefined?e.name:c.dynamic(`EA4H.General.${e?.typeOfAgeGroup}`);return(0,n.jsx)(eo,{IsInPackage:r,Date:i,topBorder:!d,AgeGroup:e,Addon:o,Label:`${t} ${(0,ea.isNotNullOrUndefined)(e?.minAge)&&(0,ea.isNotNullOrUndefined)(e?.maxAge)?`(${e?.minAge}-${e?.maxAge} ${c("EA4H.General.YearsLOWER")})`:""}`},e?.ageGroupId)},t[29]=o,t[30]=i,t[31]=r,t[32]=p,t[33]=c,t[34]=a):a=t[34],b=g.map(a),t[4]=o,t[5]=i,t[6]=r,t[7]=s,t[8]=v,t[9]=m,t[10]=c,t[11]=d,t[12]=l,t[13]=u,t[14]=b}else d=t[11],l=t[12],u=t[13],b=t[14];return t[35]!==d||t[36]!==l||t[37]!==u||t[38]!==b?(g=(0,n.jsxs)("div",{className:d,children:[l,u,b]}),t[35]=d,t[36]=l,t[37]=u,t[38]=b,t[39]=g):g=t[39],g}return null};function eS(e){return!!e.ageGroupId}function ej(e){return e.ageGroupId}function eB(e){return e?.minAge??0}function eN(e){return null===e.ageGroupId}var eT=e.i(747710);let eD=e=>{let t,o,i,r,s,c,m,g,v,p,f,I,k,x=(0,a.c)(56),{AddonPackage:A,Addon:O,addOnDescription:h}=e,P=(0,d.useAccommodationTranslations)(),{currencyCode:y}=(0,b.useCurrencyFormatter)(),C=(0,u.useContext)(z),{isSmallScreen:w}=(0,l.useScreenSizes)(),S=(0,er.useTheme)(),j=C?.OnePerRoomPackageData?.find(e=>e.addOnPackageId===A.addOnPackageId&&e.addonId===O.addOnId);x[0]!==O.price||x[1]!==A?(t=()=>(B(A)||N(A),O.price),x[0]=O.price,x[1]=A,x[2]=t):t=x[2];let T=t;x[3]!==O.addOnId||x[4]!==A.addOnPackageId||x[5]!==T||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:T(),originalAmount:n?.originalAmount??0}]})},x[3]=O.addOnId,x[4]=A.addOnPackageId,x[5]=T,x[6]=C,x[7]=o):o=x[7];let D=o,G=void 0!==j&&(j.newAmount??0)>0,_=(T()??0)>0,R=G?"bv:bg-bv_darkSelectedColor bv:text-bv_selectedDarkFontColor bv:border-bv_darkSelectedColor":"bv:bg-bv_cardBackgroun
1d 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,ed.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?(s={checked:G,color:F,style:r},x[14]=G,x[15]=r,x[16]=F,x[17]=s):s=x[17],x[18]!==s||x[19]!==E?(c=(0,n.jsx)(ec.Checkbox,{id:E,inputProps:s}),x[18]=s,x[19]=E,x[20]=c):c=x[20],x[21]!==y||x[22]!==T||x[23]!==_?(m=_&&(0,n.jsxs)(et.default,{bold:!0,className:"bv:text-inherit",children:["+",T()," ",y]}),x[21]=y,x[22]=T,x[23]=_,x[24]=m):m=x[24],x[25]!==D||x[26]!==c||x[27]!==m||x[28]!==i?(g=(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]=g):g=x[29];let $=g;if(w){let e,a,d,t,o;x[30]!==h?(e=h&&(0,n.jsx)(et.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,W.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)(et.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)(en.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)(ee.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)(et.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,W.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)(et.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)(en.Inner,{children:[f,$]}),x[50]=$,x[51]=f,x[52]=I):I=x[52],x[53]!==v||x[54]!==I?(k=(0,n.jsxs)(ee.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:o})=>{let{data:i}=(0,t.useBasket)(),l=(0,u.useContext)(z),s=l?.ChooseHowManyData?.filter(e=>e.addOnPackageId===d.addOnPackageId),c={getNote:(e,n)=>{let a=s?.find(a=>(0,A.isSameDayStrict)(a.date,e)&&a.timeString===n);return a?.note},getGuestNames:(e,n)=>{let a=s?.find(a=>(0,A.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})=>(l?.SetChooseHowManyData(i=>{let r=s?.find(e=>(0,A.isSameDayStrict)(e.date,n.timeSlot)&&e.timeString===n.presentTime);return[...i.filter(e=>!(e.addOnPackageId===d.addOnPackageId&&(0,A.isSameDayStrict)(e.date,n.timeSlot)&&e.timeString===n.presentTime)),{addonId:e,newAmount:a,date:n.timeSlot,addOnPackageId:d.addOnPackageId,originalAmount:r?.originalAmount??0,internalRoomId:l?.internalBookingId,guestNames:o,note:t,timeString:n.presentTime}]}),!0),getTimeslotsInBasket:e=>{let n=s?.find(n=>(0,A.isSameDayStrict)(n.date,e?.date)&&n.timeString===e?.timeString);return[{numberOfUnits:n?.newAmount}]},useExternalGuestInfo:!0},{APIClient:m}=(0,r.useGlobalContext)(),{channelId:b}=(0,eG.useSinglePropertyContext)(),g=d?.connectedAddOns?.find(n=>n.addOnId===e),v=(0,u.useMemo)(()=>void 0!==a?[(0,W.toUTCDate)(a)]:g?.addOnPriceInfo?.filter(e=>e.date).map(e=>(0,W.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,b),enabled:o&&!!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:o})=>{let i=(0,b.useCurrencyFormatter)(),r=(0,u.useContext)(z),[l,s]=(0,u.useState)(),[c,m]=(0,u.useState)(new Map),g=e.tableManagementInfo?.maxNumberOfPersons??e.timeSlotManagementInfo?.maxNumberOfPersons;(0,u.useEffect)(()=>{let e=new Map;
1h?.length&&(h.forEach(n=>{e.set(n.ageGroupId?n.ageGroupId:null,n.newAmount)}),s(Array.from(e.values()).reduce((e,n)=>e+n,0)),m(e))},[]);let v=Array.from(c.values()).reduce((e,n)=>e+n,0),{data:p,isFetching:f}=(0,eF.useGetAddOnTimeslots)(e.addOnId,v,o,l!==v),I=(0,d.useAccommodationTranslations)(),k=p?.optionalAddOnTimeSlotsPerDays?.[0]?.addOnTimeSlots,{data:O}=(0,t.useBasket)(),h=r?.ChooseHowManyData?.filter(n=>n.addOnPackageId===a.addOnPackageId&&n.addonId===e.addOnId&&n.internalRoomId==r?.internalBookingId&&(0,A.isSameDayStrict)(n.date,o)),P=()=>{r?.SetChooseHowManyData(n=>q(n??[],{addonId:e.addOnId,addOnPackageId:a.addOnPackageId,date:o,internalRoomId:r?.internalBookingId},[]))},y=[...new Set(e.addOnPriceInfo?.filter(e=>!!e.ageGroupId).map(e=>e.ageGroupId))].map(n=>e.addOnPriceInfo?.find(e=>e.ageGroupId===n));y=(0,eC.default)(y,e=>e?.ageGroup?.minAge??0);let C=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_cardBackground bv:bv_medium:border-l-50",children:[(0,n.jsx)("div",{children:(0,n.jsxs)("div",{className:"bv:flex bv:flex-col",children:[C&&(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:I("EA4H.General.Adult")}),(C.price??0)>0&&(0,n.jsxs)("p",{children:[C.price," ",i.currencyCode," ",I("EA4H.General.Each").toLowerCase()]})]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:c.get(C.ageGroupId)??0,isIncreaseDisabled:void 0!==g&&v>=g,handleDecrease:()=>{P(),m(e=>{let n=new Map(e);return n.set(C.ageGroupId,(n.get(C.ageGroupId)??0)-1),(n.get(C.ageGroupId)??0)<0&&n.set(C.ageGroupId,0),n})},handleIncrease:()=>{P(),m(e=>{let n=new Map(e);return n.set(C.ageGroupId,(n.get(C.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:I("EA4H.General.Adult")}),(0,n.jsxs)("div",{className:"bv:flex bv:items-center bv:gap-[8px]",children:[(C.price??0)>0&&(0,n.jsxs)("p",{children:[C.price," ",i.currencyCode," ",I("EA4H.General.Each").toLowerCase()]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:c.get(C.ageGroupId)??0,isIncreaseDisabled:void 0!==g&&v>=g,handleDecrease:()=>{P(),m(e=>{let n=new Map(e);return n.set(C.ageGroupId,(n.get(C.ageGroupId)??0)-1),(n.get(C.ageGroupId)??0)<0&&n.set(C.ageGroupId,0),n})},handleIncrease:()=>{P(),m(e=>{let n=new Map(e);return n.set(C.ageGroupId,(n.get(C.ageGroupId)??0)+1),n})}})]})]})})]}),y.map(e=>{let a=e?.ageGroup?.typeOfAgeGroup===x.TypeOfAgeGroup.OwnDefined?e.ageGroup.name:I.dynamic(`EA4H.General.${e?.ageGroup?.typeOfAgeGroup}`);return(0,n.jsxs)(u.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,ea.isNotNullOrUndefined)(e?.ageGroup?.minAge)&&(0,ea.isNotNullOrUndefined)(e?.ageGroup?.maxAge)?`(${e?.ageGroup?.minAge}-${e?.ageGroup?.maxAge} ${I("EA4H.General.YearsLOWER")})`:""}`}),(e?.price??0)>0&&(0,n.jsxs)("p",{children:[e?.price," ",i.currencyCode," ",I("EA4H.General.Each").toLowerCase()]})]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:c.get(e?.ageGroupId)??0,isIncreaseDisabled:void 0!==g&&v>=g,handleDecrease:()=>{P(),m(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:()=>{P(),m(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:ju
1stify-between bv:py-[15px]",children:[(0,n.jsx)("p",{className:"bv:font-bv_bodyBoldFontWeight",children:`${a} ${(0,ea.isNotNullOrUndefined)(e?.ageGroup?.minAge)&&(0,ea.isNotNullOrUndefined)(e?.ageGroup?.maxAge)?`(${e?.ageGroup?.minAge}-${e?.ageGroup?.maxAge} ${I("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," ",i.currencyCode," ",I("EA4H.General.Each").toLowerCase()]}),(0,n.jsx)(eL.ChooseAmountSelector,{amount:c.get(e?.ageGroupId)??0,isIncreaseDisabled:void 0!==g&&v>=g,handleDecrease:()=>{P(),m(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:()=>{P(),m(n=>{let a=new Map(n);return a.set(e?.ageGroupId,(a.get(e?.ageGroupId)??0)+1),a})}})]})]})})]},e?.ageGroupId)})]})}),v!==l&&(0,n.jsx)(eV.Button,{className:"bv:m-[10px_0px] bv:mr-[20px] bv:w-auto bv:self-end",onClick:()=>s(v),children:I("EA4H.General.SearchTimeSlot")}),l===v&&(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:grid-cols-4",children:f?(0,n.jsx)(eM.TimeslotsSkeleton,{}):(0,n.jsx)(n.Fragment,{children:v>0&&k&&k?.length>0?k?.map(d=>{let t,i=!!h?.find(e=>(0,A.isSameDayStrict)(e.date,o)&&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:i,onClick:(t=!!i,()=>{O?.booking?.bookingCode&&r?.SetChooseHowManyData(n=>{let i=Array.from(c.entries());if(0===i.length)return n;let l=h?.find(e=>e.timeString===d?.presentTime&&(0,A.isSameDayStrict)(e.date,o)&&(null==e.timeSlotEndTime||d?.endTimeSlot==null||new Date(e.timeSlotEndTime).getTime()===new Date(d.endTimeSlot).getTime())),s=i.map(([n,o])=>({addonId:e.addOnId,newAmount:t?0:o,date:d.timeSlot,addOnPackageId:a.addOnPackageId,originalAmount:l?.originalAmount??0,internalRoomId:r?.internalBookingId,timeString:d.presentTime,timeSlotEndTime:d.endTimeSlot,ageGroupId:n}));return q(n??[],{addonId:e.addOnId,addOnPackageId:a.addOnPackageId,date:o,timeString:d.presentTime,timeSlotEndTime:d.endTimeSlot,internalRoomId:r?.internalBookingId},s)})}),booked:i,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)(et.default,{bold:!0,children:I("EA4H.General.NoTimeslotsAvailable")})})})})})]})};var eK=e.i(507234),eQ=e.i(885147),eJ=e.i(550118);let eY=e=>{let o,i,r,l,s,c,m,b,g,v,p,f,I,k,x,O=(0,a.c)(54),{addonId:h,addonPackage:P,selectedDate:y,tableManagementInfo:C}=e,w=(0,d.useAccommodationTranslations)(),[S,j]=(0,u.useState)(0),B=C?.maxNumberOfPersons;O[0]===Symbol.for("react.memo_cache_sentinel")?(o=["single_agegroup_tablebooking_package"],O[0]=o):o=O[0];let{data:N,isFetching:T}=(0,eF.useGetAddOnTimeslots)(h,S,y,!1,o),D=N?.optionalAddOnTimeSlotsPerDays?.[0]?.addOnTimeSlots,{data:G}=(0,t.useBasket)(),_=(0,u.useContext)(z);O[1]!==h||O[2]!==P||O[3]!==_?.ChooseHowManyData||O[4]!==_?.internalBookingId||O[5]!==y?(i=_?.ChooseHowManyData?.filter(e=>e.addOnPackageId===P.addOnPackageId&&e.addonId===h&&e.internalRoomId==_?.internalBookingId&&(0,A.isSameDayStrict)(e.date,y)),O[1]=h,O[2]=P,O[3]=_?.ChooseHowManyData,O[4]=_?.internalBookingId,O[5]=y,O[6]=i):i=O[6];let R=i;O[7]!==R?(r=()=>{R?.length&&j(R.at(0)?.originalAmount||0)},O[7]=R,O[8]=r):r=O[8],O[9]===Symbol.for("react.memo_cache_sentinel")?(l=[],O[9]=l):l=O[9],(0,u.useEffect)(r,l),O[10]!==h||O[11]!==P||O[12]!==_||O[13]!==y?(s=()=>{_?.SetChooseHowManyData(e=>q(e??[],{addonId:h,addOnPackageId:P.addOnPackageId,date:y,internalRoomId:_?.internalBookingId},[]))},O[10]=h,O[11]=P,O[12]=_,O[13]=y,O[14]=s):s=O[14];let U=s;O[15]!==h||O[16]!==P||O[17]!==G?.booking?.bookingCode||O[18]!==R||O[19]!==_||O[20]!==y||O[21]!==S?(c=(e,n)=>()=>{G?.booking?.bookingCode&&_?.SetChooseHowManyData(a=>{let d=R?.find(n=>n.timeString===e?.presentTime&&(0,A.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 q(a??[],{addonId:h,addOnPackageId:P.addOnPackageId,date:y,timeString:e.presentTime,timeSlotEndTime:e.endTimeSlot,internalRoomId:_?.internalBookingId},[t])})},O[15]=h,O[16]=P,O[17]=G?.booking?.bookingCode,O[18]=R,O[19]=_,O[20]=y,O[21]=S,O[22]=c):c=O[22];let E=c;O[23]!==w?(m=w("EA4H.General.HowManyPersons"),O[23]=w,O[24]=m):m=O[24],O[25]!==m?(b=(0,n.jsx)("p",{className:"bv:whitespace-nowrap",children:m}),O[25]=m,O[26]=b):b=O[26],O[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
1-current bv:opacity-[0.2]"}),O[27]=g):g=O[27],O[28]!==b?(v=(0,n.jsxs)("div",{className:"bv:mb-[15px] bv:flex bv:items-center bv:gap-[8px]",children:[b,g]}),O[28]=b,O[29]=v):v=O[29];let F=Math.min(B??8,8);if(O[30]!==U||O[31]!==S||O[32]!==F){let e;O[34]!==U||O[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)},O[34]=U,O[35]=S,O[36]=e):e=O[36],p=Array((0,eK.getSafeArrayLength)(F)).fill(null).map(e),O[30]=U,O[31]=S,O[32]=F,O[33]=p}else p=O[33];return O[37]!==B?(f=(0,n.jsx)(eJ.default,{maxPersons:B}),O[37]=B,O[38]=f):f=O[38],O[39]!==p||O[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]}),O[39]=p,O[40]=f,O[41]=I):I=O[41],O[42]!==E||O[43]!==R||O[44]!==T||O[45]!==y||O[46]!==S||O[47]!==D||O[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,A.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)(et.default,{bold:!0,children:w("EA4H.General.NoTimeslotsAvailable")})}):null})}),O[42]=E,O[43]=R,O[44]=T,O[45]=y,O[46]=S,O[47]=D,O[48]=w,O[49]=k):k=O[49],O[50]!==v||O[51]!==I||O[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]}),O[50]=v,O[51]=I,O[52]=k,O[53]=x):x=O[53],x};var eX=e.i(463862);let eZ=e=>{let t,o,i,r,l,s=(0,a.c)(18),{AddonPackage:c,date:m}=e,[v,p]=(0,u.useState)(),f=(0,u.useContext)(z),I=(0,d.useAccommodationTranslations)(),{formatCurrency:k,currencyCode:x}=(0,b.useCurrencyFormatter)();if(s[0]!==c||s[1]!==x||s[2]!==m||s[3]!==v||s[4]!==k||s[5]!==f||s[6]!==I){let e=(0,eC.default)(c.connectedAddOns,e0);t="bv:flex bv:select-none bv:flex-col bv:gap-[3px]",o="list",s[11]!==m?(i=m?(0,W.toUTCDate)(m).toDateString?.():"",s[11]=m,s[12]=i):i=s[12],r=e.map(e=>{let a,d,t=v===e.addOnId,o=M(c,e,f,m),i=H(c,e,f,m),r=e.addOnPriceInfo?.find(e=>e?.date===m)??e?.addOnPriceInfo?.[0],l=e.description,s=e.addOnPriceInfo?.find(e1)?.date,u=m?new Date(m):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!==m&&(void 0===r&&(b=0),r?.date!==m&&(b=0)),0===o||void 0===o&&b>1?(a=I("EA4H.General.From"),d=`${k(r?.price??0)} ${x}`):(a=I("EA4H.General.Selected"),d=`+${k(i)} ${x}`),0!==b||c.displayFullyBooked)return(0,n.jsxs)("div",{className:"bv:text-bv_cardColor",children:[(0,n.jsxs)(eb,{disabled:0===b,amount:o??0,expanded:t,onClick:()=>{b>0&&p(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)(et.default,{bold:!0,className:"bv:text-inherit",children:e.name}),(0,n.jsxs)("div",{className:"bv:bv_medium:hidden",children:[(0,n.jsxs)(et.default,{className:"bv:text-inherit",children:[a," ",(0,n.jsx)("span",{className:"bv:font-bv_bodyBoldFontWeight",children:d})]}),0===b&&(0,n.jsx)(et.default,{className:"bv:text-bv_offerColorDark",children:I("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)(et.default,{className:"bv:text-bv_offerColorDark",children:I("EA4H.General.NothingAvailable")}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(eu.SlideContainer,{$slideDirection:0===o||void 0===o&&b>1?"in":"out",children:[(0,n.jsx)(et.default,{className:"bv:text-inherit bv:inline-block",children:I("EA4H.General.From")})," ",(0,n.jsx)(et.default,{bold:!0,className:"bv:text-inherit bv:inline-block",children:d})]}),(0,n.jsx)(eu.SlideContainer,{$slideDirection:(o??0)>0?"in":"out",children:(0,n.jsxs)("div",{className:"bv:flex bv:items-end",children:[(0,n.jsx)(g.FontAwesomeIcon,{className:"bv:self-ce
1nter bv:mr-[10px] bv:h-5",icon:eT.faCheck}),(0,n.jsxs)(et.default,{bold:!0,className:"bv:text-inherit bv:inline-block",children:[I("EA4H.General.Selected")," +",k(i)," ",x]})]})})]})})]}),(0,n.jsx)(eg.Collapse,{open:v===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:c,addonId:e?.addOnId,selectedDate:m})}):(0,eX.isSharedTimeslotAddon)(e)?j(e)?(0,n.jsx)(ez,{addon:e,selectedDate:u,addonPackage:c}):(0,n.jsx)(eY,{addonId:e.addOnId,selectedDate:u,addonPackage:c,tableManagementInfo:e.tableManagementInfo??e.timeSlotManagementInfo}):P(c)&&j(e)?(0,n.jsx)(ew,{Date:m,Addon:e,IsInPackage:c,addOnDescription:l}):P(c)?(0,n.jsx)(eo,{Date:m,Addon:e,IsInPackage:c,addOnDescription:l}):(0,n.jsx)(eD,{Addon:e,AddonPackage:c,addOnDescription:l})})})]},e.addOnId)}),s[0]=c,s[1]=x,s[2]=m,s[3]=v,s[4]=k,s[5]=f,s[6]=I,s[7]=t,s[8]=o,s[9]=i,s[10]=r}else t=s[7],o=s[8],i=s[9],r=s[10];return s[13]!==t||s[14]!==o||s[15]!==i||s[16]!==r?(l=(0,n.jsx)("div",{className:t,role:o,"aria-label":i,children:r}),s[13]=t,s[14]=o,s[15]=i,s[16]=r,s[17]=l):l=s[17],l};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,u.useContext)(z);if((0,k.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)(g.FontAwesomeIcon,{className:"bv:h-[20px] bv:opacity-bv_bodyMutedOpacity",icon:ey.faCalendar}),(0,n.jsx)(et.default,{id:a,bold:!0,className:"bv:whitespace-nowrap",muted:!0,children:s?.DateFormatter?.format((0,W.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)(eo,{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,k.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)(eo,{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)(g.FontAwesomeIcon,{className:"bv:h-[20px] bv:opacity-bv_bodyMutedOpacity",icon:ey.faCalendar}),(0,n.jsx)(et.default,{bold:!0,muted:!0,className:"bv:whitespace-nowrap",children:s?.DateFormatter?.format((0,W.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)(eo,{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)(g.FontAwesomeIcon,{className:"bv:h-[20px] bv:opacity-bv_bodyMutedOpacity",icon:ey.faCalendar}),(0,n.jsx)(et.default,{bold:!0,muted:!0,className:"bv:whitespace-nowrap",children:s?.DateFormatter?.format((0,W.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,u.useState)(!1),d=(0,f.useAtomValue)(I.bookingContextAtom),{APIClient:o}=(0,r.useGlobalContext)(),{channelId:i}=(0,eG.useSinglePropertyContext)(),{data:l}=(0,t.useBasket)(),s=(0,no.useQueryClient)(),c=d?.originalBooking?.bookingData??e?.bookingData,m=!!d?.originalBooking||!!e?.bookingData?.bookingCode,b=d?.isEditMode??!!l?.booking?.bookingCode,g=c?.canBeEditedOnline??!1,v=d?.originalBooking?.canUpgradeBooking??!1,p=g||v;return{ensureEditMode:(0,u.useCallback)(async()=>{if(!m||b)return{success:!0,basket:l??void 0};if(!p)return{success:!1};let e=c?.bookingCode;if(!e)return{success:!1};try{a(!0),await o.basketsEditV1Post({bookingCode:e,channelId:i});let n=await o.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,b,p,c?.bookingCode,o,i,s,l,c,d?.originalBooking,e?.bookingData]),isEnsuringEditMode:n,isEditReservationFlow:m,isEditMode:b,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=u.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,ed.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,ed.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)(eu.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 o,r,l,c,m,b,g,v,p,x,A,h,S,j,B,N,T,_,E,F=(0,a.c)(57),{showOnlyInfo:M}=e;F[0]===Symbol.for("react.memo_cache_sentinel")?(o={show:!1,msg:""}
1,F[0]=o):o=F[0];let[H,$]=(0,u.useState)(o),q=ae(),W=(0,u.useContext)(z),K=(0,f.useAtomValue)(I.bookingContextAtom),{data:Q}=(0,t.useBasket)(),{updateBasketMulti:J}=(0,i.useBasketOperations)(),Y=(0,d.useAccommodationTranslations)(),X=W?.bookingData;F[1]!==X?(r={bookingData:X},F[1]=X,F[2]=r):r=F[2];let{ensureEditMode:Z,isEnsuringEditMode:ee}=ni(r);F[3]===Symbol.for("react.memo_cache_sentinel")?(l={mutationKey:["removingAddonsFromBasket"]},F[3]=l):l=F[3];let en=(0,s.useIsMutating)(l)>0;F[4]===Symbol.for("react.memo_cache_sentinel")?(c={mutationKey:["updateBasket"]},F[4]=c):c=F[4];let ea=(0,s.useIsMutating)(c)>0;F[5]===Symbol.for("react.memo_cache_sentinel")?(m={queryKey:["basket"]},F[5]=m):m=F[5];let eo=(0,ns.useIsFetching)(m)>0,ei=en||ea||eo||ee;if(F[6]!==W||F[7]!==q||F[8]!==Q?.booking?.bookingData||F[9]!==K?.activeBooking?.bookingCode||F[10]!==K?.originalBooking||F[11]!==Z||F[12]!==M||F[13]!==Y||F[14]!==J){let e,n;b=async()=>{if(M)return void q.close();if(y(W?.Addon)){let e=Q?.booking?.bookingData?.optionalAddOns?.some(e=>e.addOnId===(W?.Addon).addOnId&&!!e.timeSlotInfo&&e.internalRoomBookingId==W?.internalBookingId),n=a();if(w({hasPendingChanges:n.addRequests.length>0||n.removeRequests.length>0||n.updateRequests.length>0,hasTimeslotInBasket:!!e}))return;q.close();return}let e=a();if([e.addRequests,e.removeRequests,e.updateRequests].every(nv))return void q.close();let n=await Z();if(!n.success)return void $({show:!0,msg:Y("EA4H.EditReservation.UnableToModifyBooking")});let d=n.basket?.booking?.bookingCode??K?.activeBooking?.bookingCode??"N/A",t=W?.internalBookingId?n.basket?.booking?.bookingData?.rooms?.[0]?.internalBookingId??W.internalBookingId:void 0,{addRequests:o,removeRequests:i,updateRequests:r}=K?.originalBooking?a(t):a(),l=[];o.forEach(e=>{l.push({productId:e.addonId??"N/A",productName:W?.Addon.name??"N/A"})}
1),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:()=>q.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(D(W?.Addon)&&(0,k.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=O(n?U(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,k.isAddonPackage)(W?.Addon)||(0,k.isFixedAddonPackage)(W?.Addon)&&!D(W?.Addon)||P(W?.Addon)){let e=W?.ChooseHowManyData;d=e.filter(nx).map(n=>{let a=0;(0,k.isAddon)(W?.Addon)&&(a=V(W?.Addon,e,t,Q?.booking?.bookingData?.pricesIncludeVAT)),(0,k.isAddonPackage)(W?.Addon)&&(a=L(W?.Addon,W)),(0,k.isAddonPackage)(W?.Addon)&&(0,k.isFixedAddonPackage)(W?.Addon)&&(a=(W?.Addon?.connectedAddOns?.map(nA)??[0]).reduce(nO,0)*n.newAmount),a=O(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=C(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&&G(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?R(a,n):e.price})(),a=void 0===n?void 0:O(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=y(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,x=p&&w({hasPendingChanges:g,hasTimeslotInBasket:!!v}),F[6]=W,F[7]=q,F[8]=Q?.booking?.bookingData,F[9]=K?.activeBooking?.bookingCode,F[10]=K?.originalBooking,F[11]=Z,F[12]=M,F[13]=Y,F[14]=J,F[15]=b,F[16]=g,F[17]=v,F[18]=p,F[19]=x}else b=F[15],g=F[16],v=F[17],p=F[18],x=F[19];let er=x;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.Update"):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,u.useId)();F[32]!==er||F[33]!==Y?(h=er?Y("EA4H.General.PleaseSelectATimeSlot"):void 0,F[32]=er,F[33]=Y,F[34]=h):h=F[34];let ec=H.show;F[35]===Symbol.for("react.memo_cache_sentinel")?(S=e=>!e&&$(nP),F[35]=S):S=F[35];let em=g?"add-addon-to-basket":"close-addon-modal";F[36]!==el||F[37]!==b||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:b,"aria-describedby":es,"data-action":em,children:el})}),F[36]=el,F[37]=b,F[38]=ei,F[39]=em,F[40]=er,F[41]=es,F[42]=j):j=F[42];let eb=ei?"bv:opacity-50":"bv:opacity-100";return F[43]!==eb?(B=(0,ed.cn)("bv:w-[260px] bv:pointer-events-none bv:z-99999",eb),F[43]=eb,F[44]=B):B=F[44],F[45]!==H.msg?(N=(0,n.jsx)(et.default,{children:H.msg}),F[45]=H.msg,F[46]=N):N=F[46],F[47]!==B||F[48]!==N?(T=(0,n.jsx)(nr.PopoverContent,{side:"top",className:B,noCloseButton:!0,isTooltip:!0,children:N}),F[47]=B,F[48]=N,F[49]=T):T=F[49],F[50]!==H.show||F[51]!==j||F[52]!==T?(_=(0,n.jsxs)(nr.Po
1pover,{open:ec,onOpenChange:S,children:[j,T]}),F[50]=H.show,F[51]=j,F[52]=T,F[53]=_):_=F[53],F[54]!==_||F[55]!==h?(E=(0,n.jsx)(nl.ModalFooter,{children:(0,n.jsx)(eu.ModalFooterContent,{children:(0,n.jsx)(nc.Tooltip,{onlyOnHover:!0,errorMessage:h,side:"top",children:_})})}),F[54]=_,F[55]=h,F[56]=E):E=F[56],E};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,W.toUTCDate)(new Date(e))}function nS(e){return e.date}function nj(e){return(0,W.toUTCDate)(new Date(e.date))}function nB(e){return e.getTime()}function nN(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:o})=>{let[i,r]=(0,u.useState)(!1),l=(0,u.useContext)(z),s=(0,d.useAccommodationTranslations)(),{data:c}=(0,t.useBasket)(),m=(0,f.useAtomValue)(I.bookingContextAtom),b=m?.activeBooking?.bookingData??c?.booking?.bookingData,g=b?.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)}},k=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)(et.default,{bold:!0,className:(0,ed.cn)(i?"bv:text-transparent":"bv:text-inherit"),children:a.presentTime}),o&&v&&(0,n.jsx)(et.default,{size:"small",className:(0,ed.cn)("bv:opacity-70",i?"bv:text-transparent":"bv:text-inherit"),children:1===k?`1 ${s("EA4H.General.PersonLOWER")}`:`${k} ${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,W.toUTCDate)(e.date).getTime()===(0,W.toUTCDate)(a).getTime()).reduce((e,{newAmount:n})=>e+n,0),nH=e=>{let o,l,s,c,m,b,v,p,A,O,h,P,y,C,w,S,j,B,N,T,D,G,_,R,U,E,F,M,H=(0,a.c)(119),{date:$,onClick:L,priceInfos:V,addOn:q}=e,[K,Q]=(0,u.useState)(!1),J=(0,f.useAtomValue)(I.bookingContextAtom),Y=(0,u.useContext)(z),X=(0,d.useAccommodationTranslations)(),{data:Z}=(0,t.useBasket)(),ee=(0,i.useBasketOperations)(),en=J?.activeBooking?.bookingCode??Z?.booking?.bookingCode??"N/A",ed=J?.activeBooking?.bookingData??Z?.booking?.bookingData,ei=!!q?.timeSlotManagementInfo;H[0]!==q?(o=(0,nF.addonIsOneToOneTac)(q),H[0]=q,H[1]=o):o=H[1];let er=o;H[2]!==Y?.internalBookingId?(l=e=>Y?.internalBookingId==e.internalRoomBookingId,H[2]=Y?.internalBookingId,H[3]=l):l=H[3];let el=l,es=ed?.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]!==ei||H[8]!==Y?(c=ei?Y?.ChooseHowManyData?.filter(e=>(0,k.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,k.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]=ei,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?(b={addOn:q,numberOfPersons:eu,dates:m,searchOnParamsChange:er},H[13]=q,H[14]=er,H[15]=eu,H[16]=m,H[17]=b):b=H[17];let{data:eb,isFetched:eg,isFetching:ev,refetch:ep,resetQuery:ef}=(e=>{let n,d,t,o,i,l,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,r.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(nB))).map(nN),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?(l=[n,d,t,o],b[9]=n,b[10]=d,b[11]=t,b[12]=o,b[13]=l):l=b[13];let h=l;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})(b),eI=eb?.optionalAddOnTimeSlotsPerDays?.find(e=>{let n=e?.dateTime?(0,W.toUTCDate)(new Date(e.dateTime)):void 0;return!!n&&(0,W.toUTCDate)($).getTime()===n.getTime()})?.addOnTimeSlots??[],ek=em<(q?.tableManagementInfo?.minNumberOfPersons??q?.timeSlotManagementInfo?.minNumberOfPersons??1);H[18]!==ek||H[19]!==ep?(v=()=>!ek&&ep(),H[18]=ek,H[19]=ep,H[20]=v):v=H[20];let ex=v,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?(A=(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]=A):A=H[33];let eh=A;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,W.toUTCDate)(e.date).getTime()!==(0,W.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,u.useEffect)(h,P);let ey=(0,u.useId)(),eC=(0,u.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)(g.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,W.toUTCDate)($)),H[46]=$,H[47]=Y?.DateFormatter,H[48]=w):w=H[48],H[49]!==ey||H[50]!==w?(S=(0,n.jsx)(et.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(ei)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)(et.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]!==ei||H[57]!==eA||H[58]!==eC||H[59]!==X?(B=es.length>0&&!ei&&(0,n.jsxs)(eV.Button,{onClick:eA,variant:"text","aria-describedby":eC,children:["(",X("EA4H.General.Cancel"),")"]}),H[55]=es,H[56]=ei,H[57]=eA,H[58]=eC,H[59]=X,H[60]=B):B=H[60],H[61]!==S||H[62]!==j||H[63]!==B?(N=(0,n.jsxs)("div",{className:"bv:mb-[10px] bv:flex bv:items-center bv:gap-[10px]",children:[C,S,j,B]}),H[61]=S,H[62]=j,H[63]=B,H[64]=N):N=H[64],H[65]!==ec||H[66]!==eO||H[67]!==eP||H[68]!==er||H[69]!==ei||H[70]!==Y?.Addon||H[71]!==X?(T=ei&&!er&&(0,n.jsx)(eo,{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]=ei,H[70]=Y?.Addon,H[71]=X,H[72]=T):T=H[72],H[73]!==ec||H[74]!==eO||H[75]!==eP||H[76]!==ei||H[77]!==Y?.Addon||H[78]!==V||H[79]!==X?(D=!ei&&V.find(nQ)&&(0,n.jsx)(eo,{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]=ei,H[77]=Y?.Addon,H[78]=V,H[79]=X,H[80]=D):D=H[80],H[81]!==eO||H[82]!==eP||H[83]!==ei||H[84]!==Y?.Addon||H[85]!==V||H[86]!==X?(G=!ei&&V.filter(nJ).map((e,a)=>{let d=e.ageGroup?.typeOfAgeGroup===x.TypeOfAgeGroup.OwnDefined?e.ageGroup.name:X.dynamic(`EA4H.General.${e.ageGroup?.typeOfAgeGroup}`);return(0,n.jsx)(eo,{onChange:eP,Date:e.date,AgeGroup:e.ageGroup,Addon:Y?.Addon,maxValue:eO(),Label:`${d} ${(0,ea.isNotNullOrUndefined)(e?.ageGroup?.minAge)&&(0,ea.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]=ei,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]!==K||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||K,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]=K,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:ei},(0,eW.getAddOnTimeSlotKey)(e))):(0,n.jsx)(nE.Center,{className:"bv:col-span-full bv:pb-[10px]",children:(0,n.jsx)(et.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]!==N||H[115]!==_||H[116]!==R||H[117]!==F?(M=(0,n.jsxs)("div",{role:"group","aria-labelledby":ey,children:[N,_,R,F]},y),H[112]=ey,H[113]=y,H[114]=N,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)(et.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 o,r,l,c,m=(0,a.c)(7),{addOn:b}=e,g=(0,d.useAccommodationTranslations)(),{updateBasket:v,removeAddonsFromBasket:p}=(0,i.useBasketOperations)(),{data:k}=(0,t.useBasket)(),{channelInfo:x}=(0,eG.useSinglePropertyContext)(),A=(0,f.useAtomValue)(I.bookingContextAtom);m[0]===Symbol.for("react.memo_cache_sentinel")?(o={mutationKey:["updateBasket"]},m[0]=o):o=m[0];let O=(0,s.useIsMutating)(o)>0;m[1]===Symbol.for("react.memo_cache_sentinel")?(r={queryKey:["basket"]},m[1]=r):r=m[1];let h=(0,ns.useIsFetching)(r)>0,P=[...new Set(b.addOnPriceInfo?.filter(n0)?.map(n1)??[])],y=(0,u.useContext)(z),C=A?.activeBooking?.bookingCode??k?.booking?.bookingCode??"N/A",w=A?.activeBooking?.bookingData??k?.booking?.bookingData,S=!!b?.timeSlotManagementInfo,j=e=>y?.internalBookingId==e.internalRoomBookingId,B=e=>y?.internalBookingId==e.internalRoomId,N=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:b.addOnId,date:a,externalBookingCode:t.externalBookingCode,timeslot:t.timeSlotInfo,internalRoomBookingId:y?.internalBookingId}],gtmInfo:{productId:b.addOnId??"N/A",productName:b.name??"N/A",productQuantity:1,productCategory:"Timeslot addon",productPrice:b.price},skipInvalidation:n,waitForNewBasket:d})},r=async()=>{let n=`${d.getUTCHours()}:${d.getUTCMinutes()}`,a=y?.ChooseHowManyData.filter(e=>b.addOnId===e.addonId&&!e.addOnPackageId&&B(e)&&(0,W.toUTCDate)(e.date).getTime()===(0,W.toUTCDate)(d).getTime()).map(a=>{let i=b.addOnPriceInfo?.find(e=>e.ageGroupId===a.ageGroupId)?.price??0;return{addonId:a.addonId,timeSlot:n,nrOfUnits:a.newAmount,price:a.newAmount*i,date:(0,W.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:b.name??"N/A"})}),await v.mutateAsync({request:{channelId:x?.channelId,bookingCode:C,updateAddonsInBasketRequest:a},waitForNewBasket:!0,bookingData:k?.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=>b.addOnId===e.addonId&&!e.addOnPackageId&&B(e)&&(0,W.toUTCDate)(e.date).getTime()===(0,W.toUTCDate)(d).getTime()).map(n=>{let o=b.addOnPriceInfo?.find(e=>e.ageGroupId===n.ageGroupId)?.price??0;return{addonId:n.addonId,timeSlot:t,nrOfUnits:n.newAmount,price:n.newAmount*o,date:(0,W.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:k?.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:b,priceInfos:b.addOnPriceInfo?.filter(n=>!n.date||(0,W.toUTCDate)(n.date).getTime()===(0,W.toUTCDate)(e).getTime())??[],onClick:N,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?(c=(0,n.jsx)(D,{className:"bv:gap-[15px]",children:l}),m[4]=D,m[5]=l,m[6]=c):c=m[6],c};function n0(e){return e.date}function n1(e){return e.date}let n2=({Addon:e})=>{let{data:a}=(0,t.useBasket)(),o=(0,f.useAtomValue)(I.bookingContextAtom),{updateBasket:r,removeAddonsFromBasket:l}=(0,i.useBasketOperations)(),[s,c]=(0,u.useState)(),m=(0,d.useAccommodationTranslations)(),{currencyCode:g,formatCurrency:v}=(0,b.useCurrencyFormatter)(),p=(0,er.useTheme)(),x=!1;x=(0,k.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&&(x||"adding"===s),O=async()=>{if(void 0!==s)return;let n=a?.booking?.bookingCode??o?.activeBooking?.bookingCode??"N/A";try{x?(c("removing"),await l?.mutateAsync({bookingCode:n,requests:(0,k.isAddon)(e)?[{addOnId:e.addOnId}]:(0,k.isAddonPackage)(e)?[{addOnPackageId:e.addOnPackageId}]:[],waitForNewBasket:!0})):(c("adding"),await r.mutateAsync({request:{bookingCode:n,addAddonsToBasket:(0,k.isAddon)(e)?[{addonId:e.addOnId,price:e.price,nrOfUnits:1}]:(0,k.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,k.isAddon)(e)?e.addOnId:(0,k.isAddonPackage)(e)?e.addOnPackageId:"N/A",productName:(0,k.isAddon)(e)||(0,k.isAddonPackage)(e)?e.name:"N/A"}]}))}finally{c(void 0)}},h=(0,k.isAddon)(e)?e.price??0:(0,k.isAddonPackage)(e)?e.connectedAddOns?.map(e=>e.price).reduce((e,n)=>e+n)??0:0,P=h>0,{registerEnterKeyAsClick:y}=(0,es.useAccessibilityHandlers)(),C=(0,n.jsxs)("div",{className:(0,ed.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)(ec.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)(et.default,{bold:!0,className:"bv:text-inherit",children:["+",v(h)," ",g]})]});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)(ee.Outer,{thinBorder:!0,className:"bv:px-[20px] bv:py-[15px] bv:bv_medium:hidden",children:(0,n.jsxs)(en.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)(et.default,{children:m("EA4H.General.AddToBooking")})}),C]})}),(0,n.jsx)(ee.Outer,{className:"bv:hidden bv:px-[20px] bv:py-[15px] bv:bv_medium:block",children:(0,n.jsxs)(en.Inner,{children:[(0,n.jsx)(e2.Stack,{children:(0,n.jsx)(et.default,{bold:!0,children:m("EA4H.General.AddToBooking")})}),C]})})]})};var n4=e.i(684647),n3=e.i(200160);let n5=e=>{let t,o,u,b,v,p,x,A,O,C,w,B,N,T,G,_,R=(0,a.c)(55),{Addon:U,Description:F,showOnlyInfo:M,unavailable:H,internalBookingId:L,bookingData:V}=e,q=(0,f.useAtomValue)(I.bookingContextAtom),{imageServer:z,languageCulture:Q}=(0,r.useGlobalContext)(),{isVerySmallScreen:J}=(0,l.useScreenSizes)(),Y=(0,i.useBasketOperations)(),X=(0,d.useAccommodationTranslations)(),Z=ae();R[0]!==Q?(t=new Intl.DateTimeFormat(Q,{month:"short",day:"numeric",weekday:"long",year:"numeric"}),R[0]=Q,R[1]=t):t=R[1];let ee=t;R[2]===Symbol.for("react.memo_cache_sentinel")?(o={mutationKey:["removingAddonsFromBasket"]},R[2]=o):o=R[2];let en=(0,s.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?(u=()=>{"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,k.isFixedAddonPackage)(U)?$(U):U.cheapestPrice??0},waitForNewBasket:!0}),Z.close())},R[3]=U,R[4]=Z,R[5]=Y,R[6]=q?.originalBooking,R[7]=u):u=R[7];let ei=u;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]!==z?(v=(0,W.getAddonImageUrls)(U,z),R[10]=U,R[11]=z,R[12]=v):v=R[12],R[13]!==U.name||R[14]!==er||R[15]!==v?(p=(0,n.jsx)(c.SimpleImageCarousel,{contain:!0,height:er,images:v,altLabel:U.name}),R[13]=U.name,R[14]=er,R[15]=v,R[16]=p):p=R[16],R[17]!==M?(x=(0,n.jsx)(ng,{showOnlyInfo:M}),R[17]=M,R[18]=x):x=R[18];let el=F?.name??U?.name;R[19]!==el?(A=(0,n.jsx)(m.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)(g.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=F?.description??U.description??"";return R[24]!==es?(C=(0,n.jsx)(et.default,{className:"bv:mb-[20px] bv:wrap-break-word",dangerouslySetInnerHTML:{__html:es}}),R[24]=es,R[25]=C):C=R[25],R[26]!==ea?(w=ea&&(0,n.jsx)(et.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]!==C||R[30]!==w?(B=(0,n.jsxs)("div",{className:"bv:text-inherit",children:[O,C,w]}),R[28]=O,R[29]=C,R[30]=w,R[31]=B):B=R[31],R[32]!==U||R[33]!==M?(N=!M&&(0,n.jsx)(n.Fragment,{children:!1===E(U)?(0,n.jsx)(n2,{Addon:U}):(0,k.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)??[]}):y(U)&&(0,k.isAddon)(U)?(0,n.jsx)(nZ,{addOn:U}):D(U)?(0,n.jsx)(eO,{Addon:U}):S(U)?(0,n.jsx)(e4,{Addon:U}):j(U)?(0,n.jsx)(ew,{Date:null,Addon:U}):(0,k.isFixedAddonPackage)(U)&&(0,k.isOnePerBookingAddonPackage)(U)?(0,n.jsx)(n2,{Addon:U}):(0,k.isFixedAddonPackage)(U)?P(U)?(0,n.jsx)(e4,{Addon:U}):(0,n.jsx)(eo,{Addon:U}):(0,k.isDynamicAddonPackage)(U)&&(0,k.isPricePerDayAddonPackage)(U)?(0,n.jsx)(e4,{Addon:U}):(0,k.isDynamicAddonPackage)(U)?(0,n.jsx)(eZ,{AddonPackage:U}):h(U)?(0,n.jsx)(eo,{Addon:U}):(0,n.jsx)(n2,{Addon:U})}),R[32]=U,R[33]=M,R[34]=N):N=R[34],R[35]!==en||R[36]!==J||R[37]!==ei||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)(et.default,{className:"bv:text-center",children:X("EA4H.EditReservation.ContactHotelToUpdateAddOn")}),(0,n.jsx)(eV.Button,{onClick:ei,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)(et.default,{children:X("EA4H.EditReservation.ContactHotelToUpdateAddOn")}),(0,n.jsx)(eV.Button,{onClick:ei,isLoading:en,children:X("EA4H.General.Remove")})]})}):null,R[35]=en,R[36]=J,R[37]=ei,R[38]=X,R[39]=H,R[40]=T):T=R[40],R[41]!==A||R[42]!==B||R[43]!==N||R[44]!==T||R[45]!==b||R[46]!==p||R[47]!==x?(G=(0,n.jsxs)(ny.default,{"data-testid":"addon_modal_base",modalName:"AddonModalBase",onCloseClicked:b,imageCarousel:p,footer:x,children:[A,B,N,T]}),R[41]=A,R[42]=B,R[43]=N,R[44]=T,R[45]=b,R[46]=p,R[47]=x,R[48]=G):G=R[48],R[49]!==U||R[50]!==ee||R[51]!==L||R[52]!==V||R[53]!==G?(_=(0,n.jsx)(K,{internalBookingId:L,Addon:U,DateFormatter:ee,bookingData:V,children:G}),R[49]=U,R[50]=ee,R[51]=L,R[52]=V,R[53]=G,R[54]=_):_=R[54],_};function n6(e){return e.date}function n8(e){return(0,W.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,i=(0,a.c)(8);i[0]===Symbol.for("react.memo_cache_sentinel")?(e={modalId:"addon_modal",centered:!0,noCloseButton:!0},i[0]=e):e=i[0];let r=(0,o.useModal)(e),{viewItemEvent:l}=(0,n7.useBVTracking)(),{channelInfo:s}=(0,eG.useSinglePropertyContext)();i[1]!==s||i[2]!==r||i[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}))},i[1]=s,i[2]=r,i[3]=l,i[4]=d):d=i[4];let c=d;return i[5]!==r.close||i[6]!==c?(t={open:c,close:r.close},i[5]=r.close,i[6]=c,i[7]=t):t=i[7],t};var an=e.i(803584);let aa=(0,u.forwardRef)(function({presentationType:e,subLabelOnNewLine:a,subLabel:o,addOn:r,label:l},s){let[c,m]=(0,u.useState)(),{data:b}=(0,t.useBasket)(),g=(0,d.useAccommodationTranslations)(),{updateBasket:v,removeAddonsFromBasket:p}=(0,i.useBasketOperations)(),x=(0,f.useAtomValue)(I.bookingContextAtom),A=x?.originalBooking,O=!x?.isEditMode&&A?A.bookingData:b?.booking?.bookingData,{ensureEditMode:h,isEnsuringEditMode:P}=ni({bookingData:O}),y=(0,k.isAddon)(r)?O?.optionalAddOns?.find(e=>e.addOnId===r.addOnId)!==void 0:!!(0,k.isAddonPackage)(r)&&O?.optionalAddOnPackages?.find(e=>e.addOnPackageId===r.addOnPackageId)!==void 0;if(E(r))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,k.isFixedAddonPackage)(e)?$(e):e.cheapestPrice??0},waitForNewBasket:!0})):(m("removing"),await v.mutateAsync({request:{bookingCode:a,addAddonsToBasket:[{addonPackageId:e.addOnPackageId,price:(0,k.isFixedAddonPackage)(e)?$(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,k.isFixedAddonPackage)(e)?$(e):e.cheapestPrice??0}]}))}finally{m(void 0)}};return(0,n.jsx)(ad,{ref:s,addOnName:r.name,label:l??g("EA4H.General.AddToBooking"),onClick:e=>{(0,k.isAddon)(r)?C(r):(0,k.isAddonPackage)(r)&&w(r),e.stopPropagation()},presentationType:e,subLabel:o,isLoading:void 0!==c||P,showAsInBasket:"remov
1ing"!==c&&(y||"adding"===c),subLabelOnNewLine:a})}),ad=(0,u.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:A,subLabelOnNewLine:O,subLabel:h,onClick:P,addOnName:y,isLoading:C,presentationType:w,showAsInBasket:S}=e,j=(0,er.useTheme)(),B=w??j.style?.extrasPresentationType;k[0]!==B||k[1]!==S||k[2]!==j.css.darkSelectedColor||k[3]!==j.css.dividerBorderColor?(t=()=>S?j.css.darkSelectedColor:B===x.PresentationType.List?j.css.dividerBorderColor:"#fff",k[0]=B,k[1]=S,k[2]=j.css.darkSelectedColor,k[3]=j.css.dividerBorderColor,k[4]=t):t=k[4];let N=t;k[5]!==B||k[6]!==S||k[7]!==j.css.bodyColor||k[8]!==j.css.selectedDarkFontColor?(o=()=>S?j.css.selectedDarkFontColor:B===x.PresentationType.List?j.css.bodyColor:"#fff",k[5]=B,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]!==N||k[14]!==S?(r=S?void 0:N(),k[13]=N,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)(ec.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,ed.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]!==A||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:[A,v]}),k[42]=A,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,u.forwardRef)(function({internalBookingId:e,added:a,addedIcon:o,addOn:i,label:r},l){let[s,c]=(0,u.useState)(!1),m=(0,d.useAccommodationTranslations)(),b=ae(),{data:g}=(0,t.useBasket)(),v=(0,f.useAtomValue)(I.bookingContextAtom),p=v?.originalBooking?v?.isEditMode?g?.booking?.bookingData:v?.originalBooking?.bookingData:g?.booking?.bookingData;if(!E(i))return null;let k=async n=>{if(n.stopPropagation(),y(i))try{c(!0)}finally{c(!1)}b.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:k,state:a?"selectedNoBorder":"default","aria-haspopup":"dialog","aria-description":i.name,children:[a&&(0,n.jsx)("span",{children:o}),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 o,i,l,s,c,m,u,v,p,x,A,O,P,y=(0,a.c)(44),{Addon:C}=e,w=(0,b.useCurrencyFormatter)(),{imageServer:S}=(0,r.useGlobalContext)(),j=(0,d.useAccommodationTranslations)(),{data:B}=(0,t.useBasket)(),N=ae(),{registerEnterKeyAsClick:T}=(0,es.useAccessibilityHandlers)(),G=(0,f.useAtomValue)(I.bookingContextAtom),_=E(C),R=(0,k.isAddonPackage)(C),U=G?.originalBooking?G?.isEditMode?B?.booking?.bookingData:G?.originalBooking?.bookingData:B?.booking?.bookingData,M=F(C,U?.rooms),H=`${w?.formatCurrency(M)} ${w.currencyCode}`,$=_?`${j("EA4H.General.From")} ${H}`:`+${H}`;y[0]!==C||y[1]!==N||y[2]!==U?(o=()=>{N.open({Addon:C,bookingData:U})},y[0]=C,y[1]=N,y[2]=U,y[3]=o):o=y[3];let L=o,V=R?U?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===C.addOnPackageId):[],q=R?[]:U?.optionalAddOns?.filter(e=>e.addOnId===C.addOnId),z=0,K=!1;for(let e of V?.flatMap(ar)??[])h(e)?z+=(e?.price??0)*(e?.numberOfUnits??1):z+=e?.price??0,K=e?.price===0?e?.numberOfUnits>0:(z??0)>0;for(let e of q??[])z+=(e?.price??0)*(e?.numberOfUnits??1),K=e?.price===0?e?.numberOfUnits>0:(z??0)>0;let Q=z??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=(M??0)>0||Q>0,Y=K||J,X=!(0,k.isAddon)(C)||!C.addOnChargeUnit||D(C)?void 0:(0,W.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?(l=(0,W.getAddonImageUrl)(C,S),y[11]=C,y[12]=S,y[13]=l):l=y[13],y[14]!==l?(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:l,loading:"lazy"}),y[14]=l,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)(et.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?(v=(0,n.jsx)(aa,{label:ee,addOn:C,subLabel:en,subLabelOnNewLine:!0}),y[23]=C,y[24]=en,y[25]=ee,y[26]=v):v=y[26],y[27]===Symbol.for("react.memo_cache_sentinel")?(p=(0,n.jsx)(g.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?(x=(0,n.jsx)(at,{added:K,addedIcon:p,label:ea,addOn:C}),y[28]=C,y[29]=K,y[30]=ea,y[31]=x):x=y[31],y[32]!==v||y[33]!==x?(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:[v,x]}),y[32]=v,y[33]=x,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?(P=(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]=P):P=y[43],P};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,es.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,ed.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 o,i,l,s,c,m,v,p,x,A,O,h,P,y,C,w,S,j,B,N,T,G,_,R,U,M=(0,a.c)(80);M[0]!==e?({Addon:o,presentationType:c,internalBookingId:l,openAutomaticallyFromUrl:s,...i}=e,M[0]=e,M[1]=o,M[2]=i,M[3]=l,M[4]=s,M[5]=c):(o=M[1],i=M[2],l=M[3],s=M[4],c=M[5]);let H=(0,as.useSearchParams)(),$=(0,as.usePathname)(),L=(0,b.useCurrencyFormatter)(),V=(0,r.useGlobalContext)(),{data:q}=(0,t.useBasket)(),z=(0,d.useAccommodationTranslations)(),K=ae(),Q=(0,f.useAtomValue)(I.bookingContextAtom),J=Q?.originalBooking?Q?.isEditMode?q?.booking?.bookingData:Q?.originalBooking?.bookingData:q?.booking?.bookingData;M[6]!==o?(m=(0,k.isAddonPackage)(o),M[6]=o,M[7]=m):m=M[7];let Y=m,X=E(o);M[8]!==H?(v=(0,au.GetSearchParamsSync)({searchParams:H,paramKeys:["addonid","addonpackageid"]}),M[8]=H,M[9]=v):v=M[9];let Z=v,ee=Z.addonid,en=Z.addonpackageid,ea=F(o,J?.rooms),ed=`${L?.formatCurrency(ea)} ${L?.currencyCode}`,eo=X?`${z("EA4H.General.From")} ${ed}`:`+${ed}`;if(M[10]!==o.addOnId||M[11]!==o.addOnPackageId||M[12]!==J?.optionalAddOnPackages||M[13]!==J?.optionalAddOns||M[14]!==l||M[15]!==Y){let e=Y?J?.optionalAddOnPackages?.filter(e=>e.addOnPackageId===o.addOnPackageId&&(void 0===l||e.internalRoomId==l))??[]:[];p=Y?[]:J?.optionalAddOns?.filter(e=>e.addOnId===o.addOnId&&(void 0===l||e.internalRoomBookingId==l)),x=0,e?.flatMap(ag).forEach(e
1=>{x+=(e?.price??0)*(e?.numberOfUnits??1)}),p?.forEach(e=>{x+=(e?.price??0)*(e?.numberOfUnits??1)}),M[10]=o.addOnId,M[11]=o.addOnPackageId,M[12]=J?.optionalAddOnPackages,M[13]=J?.optionalAddOns,M[14]=l,M[15]=Y,M[16]=p,M[17]=x}else p=M[16],x=M[17];let ei=x??0,er=(p?.length??0)>0||ei>0;if(er&&X){let e;M[18]!==L?.currencyCode||M[19]!==ei||M[20]!==z?(e=ei>0?`${z("EA4H.General.Added")}, +${ei} ${L?.currencyCode}`:z("EA4H.General.Added"),M[18]=L?.currencyCode,M[19]=ei,M[20]=z,M[21]=e):e=M[21],eo=e}let el=(ea??0)>0||ei>0,es=er||el;M[22]!==o||M[23]!==K||M[24]!==J||M[25]!==l?(A=()=>{let e={Addon:o,internalBookingId:l,bookingData:J};K.open(e)},M[22]=o,M[23]=K,M[24]=J,M[25]=l,M[26]=A):A=M[26];let ec=A,em=(0,u.useRef)(!1),[eu,eb]=(0,u.useState)(!s);M[27]!==s?(O=()=>{s&&eb(!0)},h=[s],M[27]=s,M[28]=O,M[29]=h):(O=M[28],h=M[29]),(0,u.useEffect)(O,h),M[30]!==o||M[31]!==ec||M[32]!==ee||M[33]!==en||M[34]!==s||M[35]!==$||M[36]!==eu||M[37]!==H?(P=()=>{var e;if(eu&&s&&!em.current&&(e=o,(0,k.isAddonPackage)(e)&&en?en.toLowerCase()===e.addOnPackageId?.toLowerCase():!!(0,k.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}`:$))}},M[30]=o,M[31]=ec,M[32]=ee,M[33]=en,M[34]=s,M[35]=$,M[36]=eu,M[37]=H,M[38]=P):P=M[38],M[39]!==ee||M[40]!==en||M[41]!==eu?(y=[eu,ee,en],M[39]=ee,M[40]=en,M[41]=eu,M[42]=y):y=M[42],(0,u.useEffect)(P,y);let eg=!(0,k.isAddon)(o)||!o.addOnChargeUnit||D(o)?void 0:(0,W.getAddOnChargeUnitTranslation)(o.addOnChargeUnit,z);M[43]!==o||M[44]!==V.imageServer?(C=(0,W.getAddonImageUrl)(o,V.imageServer),M[43]=o,M[44]=V.imageServer,M[45]=C):C=M[45],M[46]===Symbol.for("react.memo_cache_sentinel")?(w=(0,n.jsx)("div",{className:"bv:bv_tileOverlay"}),M[46]=w):w=M[46];let ev=o?.name;M[47]!==ev?(S=(0,n.jsx)(ao.default,{level:2,className:"bv:text-inherit",children:ev}),M[47]=ev,M[48]=S):S=M[48],M[49]!==eo||M[50]!==es?(j=es&&(0,n.jsxs)("span",{className:"bv:font-bv_bodyFontFamily bv:font-bv_bodyBoldFontWeight bv:text-white bv:bv_text",children:[eo,(0,n.jsx)("span",{className:"bv:font-bv_bodyFontFamily bv:font-bv_bodyFontWeight bv:text-white bv:bv_text",children:" "})]}),M[49]=eo,M[50]=es,M[51]=j):j=M[51],M[52]!==S||M[53]!==j?(B=(0,n.jsxs)("div",{className:"bv:mb-[10px]",children:[S,j]}),M[52]=S,M[53]=j,M[54]=B):B=M[54];let ep=(Y?o.description:o?.extraInfo?.text)??"";M[55]!==ep?(N=(0,n.jsx)(et.default,{className:"bv:mb-[20px] bv:line-clamp-3 bv:wrap-break-word bv:text-white",lineClamp:3,dangerouslySetInnerHTML:{__html:ep}}),M[55]=ep,M[56]=N):N=M[56];let ef=el?eo:void 0,eI=eg?`(${eg})`:void 0;M[57]!==o||M[58]!==l||M[59]!==c||M[60]!==ef||M[61]!==eI?(T=(0,n.jsx)(aa,{internalBookingId:l,presentationType:c,addOn:o,label:ef,subLabel:eI}),M[57]=o,M[58]=l,M[59]=c,M[60]=ef,M[61]=eI,M[62]=T):T=M[62],M[63]===Symbol.for("react.memo_cache_sentinel")?(G=(0,n.jsx)(g.FontAwesomeIcon,{icon:an.faCheck}),M[63]=G):G=M[63];let ek=es?eo:void 0;return M[64]!==o||M[65]!==l||M[66]!==er||M[67]!==ek?(_=(0,n.jsx)(at,{internalBookingId:l,added:er,addedIcon:G,label:ek,addOn:o}),M[64]=o,M[65]=l,M[66]=er,M[67]=ek,M[68]=_):_=M[68],M[69]!==o.name||M[70]!==B||M[71]!==N||M[72]!==T||M[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":o.name,children:[B,N,T,_]}),M[69]=o.name,M[70]=B,M[71]=N,M[72]=T,M[73]=_,M[74]=R):R=M[74],M[75]!==ec||M[76]!==i||M[77]!==R||M[78]!==C?(U=(0,n.jsx)(al.ErrorBoundary,{boundaryName:"addon_card",children:(0,n.jsxs)(ac,{onClick:ec,backgroundUrl:C,...i,children:[w,R]})}),M[75]=ec,M[76]=i,M[77]=R,M[78]=C,M[79]=U):U=M[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,ed.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=u.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})}let ak=(e,n,a)=>{let d=a===x.SearchResultSortOrder.Price;return{addOns:d?(0,eC.default)(e,e=>e.price):(0,eC.default)(e,e=>e.rank),addOnPackages:d?(0,eC.default)(n,e=>(0,k.isFixedAddonPackage)(e)?$(e):e.cheapestPrice):(0,eC.default)(n,e=>e.rank)}};function ax(e){return(0,n.jsx)(ai,{Addon:e},`${e.addOnPackageId}`)}function aA(e){return(0,n.jsx)(ai,{Addon:e},e.addOnId)}function aO(e){return(0,n.jsx)(ab,{Addon:e},`${e.addOnPackageId}`)}function ah(e){return(0,n.jsx)(ab,{Addon:e},e.addOnId)}e.s(["orderAddonsByCategory",0,(e,n,a,d)=>[...(0,eC.default)(e,e=>e.rank).map(e=>n=>n.addOnCategoryId===e.id),e=>!e.addOnCategoryId].flatMap(e=>{let t=ak(n.filter(e),a.filter(e),d);return[...t.addOnPackages,...t.addOns]}),"sortCategoryAddons",0,ak],212996),e.s(["AddonCategoryList",0,e=>{let t,o,i,r,l,s,c,m,u,b,g,v,p,f=(0,a.c)(46),{categoryName:I,addOns:k,addOnPackages:A,presentationTypeOverride:O,sortOrder:h}=e,P=(0,d.useAccommodationTranslations)(),y=(0,er.useTheme)();if(f[0]!==A||f[1]!==k||f[2]!==I||f[3]!==O||f[4]!==h||f[5]!==y||f[6]!==P){b=Symbol.for("react.early_return_sentinel");e:{let e,{addOns:a,addOnPackages:d}=ak(k,A,h);if(!(0,nb.arrayHasItems)(a)&&!(0,nb.arrayHasItems)(d)){b=null;break e}if(y.style?.extrasPresentationType===x.PresentationType.List&&O!==x.PresentationType.Tiles){let e,t,o,i;f[17]!==P?(e=P("EA4H.General.OptionalAddOns"),f[17]=P,f[18]=e):e=f[18],f[19]!==e?(t=(0,n.jsx)("div",{id:"optional-addons-description",className:"bv:sr-only",children:e}),f[19]=e,f[20]=t):t=f[20],f[21]!==I?(o=!!I&&(0,n.jsx)(av.LineText,{children:I}),f[21]=I,f[22]=o):o=f[22];let r=(0,n.jsxs)("div",{"data-testid":"optional_addons_list","aria-label":I,"aria-describedby":"optional-addons-description",children:[o,(0,n.jsxs)(af,{children:[d.map(ax),a.map(aA)
1]})]});f[23]!==t||f[24]!==r?(i=(0,n.jsxs)(n.Fragment,{children:[t,r]}),f[23]=t,f[24]=r,f[25]=i):i=f[25],b=i;break e}f[26]!==P?(e=P("EA4H.General.OptionalAddOns"),f[26]=P,f[27]=e):e=f[27],f[28]!==e?(u=(0,n.jsx)("div",{id:"optional-addons-description",className:"bv:sr-only",children:e}),f[28]=e,f[29]=u):u=f[29],r="optional_addons_tiles",l="list",s=I,c="optional-addons-description",f[30]!==I?(m=!!I&&(0,n.jsx)(av.LineText,{children:I}),f[30]=I,f[31]=m):m=f[31],t=ap,o=d.map(aO),i=a.map(ah)}f[0]=A,f[1]=k,f[2]=I,f[3]=O,f[4]=h,f[5]=y,f[6]=P,f[7]=t,f[8]=o,f[9]=i,f[10]=r,f[11]=l,f[12]=s,f[13]=c,f[14]=m,f[15]=u,f[16]=b}else t=f[7],o=f[8],i=f[9],r=f[10],l=f[11],s=f[12],c=f[13],m=f[14],u=f[15],b=f[16];return b!==Symbol.for("react.early_return_sentinel")?b:(f[32]!==t||f[33]!==o||f[34]!==i?(g=(0,n.jsxs)(t,{children:[o,i]}),f[32]=t,f[33]=o,f[34]=i,f[35]=g):g=f[35],f[36]!==g||f[37]!==r||f[38]!==l||f[39]!==s||f[40]!==c||f[41]!==m?(v=(0,n.jsxs)("div",{"data-testid":r,role:l,"aria-label":s,"aria-describedby":c,children:[m,g]}),f[36]=g,f[37]=r,f[38]=l,f[39]=s,f[40]=c,f[41]=m,f[42]=v):v=f[42],f[43]!==v||f[44]!==u?(p=(0,n.jsxs)(n.Fragment,{children:[u,v]}),f[43]=v,f[44]=u,f[45]=p):p=f[45],p)}],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.