@happychef/reservation-sidebar 2.4.5 → 2.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6,12 +6,12 @@ Arguments: `+Array.prototype.slice.call(c).join("")+`
6
6
  [getAvailableTablesForTime] Finding available tables for ${q} guests on ${O} at ${o}`);let i=F1(o,f,L);if(!i||i.length===0)return console.error(`[getAvailableTablesForTime] Could not compute required slots for ${O} ${o}`),[];let R={},T=e.filter(B=>B.date===O&&B.time&&B.guests>0).sort((B,N)=>{let S=B.time.split(":").map(Number),g=N.time.split(":").map(Number);return S[0]*60+S[1]-(g[0]*60+g[1])});console.log(`[getAvailableTablesForTime] Building occupancy map (Processing ${T.length} existing reservations)`);for(let B of T){let N=sb(B),S=[];if(N.length>0?S=N:S=Rb(b,B.date,B.time,B.guests,R,null),S.length>0){let g=F1(B.time,f,L);if(!g||g.length===0)continue;S.forEach(k=>{R[k]||(R[k]=new Set),g.forEach(H=>R[k].add(H));});}}console.log("[getAvailableTablesForTime] Occupancy map built");let X=tM(b,a),h=[];console.log(`[getAvailableTablesForTime] Checking ${X.length} tables for individual availability`);for(let B of X)I1(B,O,o)&&B.minCapacity<=q&&q<=B.maxCapacity&&G1(B.tableNumber,i,R)&&(console.log(`[getAvailableTablesForTime] Table ${B.tableNumber} is available`),h.push(B));return console.log(`[getAvailableTablesForTime] Found ${h.length} individually available tables: ${h.map(B=>B.tableNumber).join(", ")}`),h.sort((B,N)=>B.tableNumber-N.tableNumber),h}catch(n){return console.error(`[getAvailableTablesForTime] Error for ${O} ${o}:`,n),[]}}Lb.exports={isTimeAvailableSync:fb,filterTimeblocksByTableAvailability:ub,getAvailableTimeblocksWithTableCheck:Eo,getAvailableTablesForTime:vo};});var Nb=$((o5,lb)=>{var L2=r2(),{isDateAvailable:Co}=dM(),{getAvailableTimeblocks:ko}=R2(),{isTimeAvailableSync:xo}=sM(),{daysOfWeekEnglish:wo,getMealTypeByTime:Do}=X1(),l2="Europe/Brussels";function Po(b,O,o,q){if(!q||!q.trim())return true;let e=Do(o);if(!e)return false;let a=L2.tz(O,"YYYY-MM-DD",l2);if(!a.isValid())return false;let n=wo[a.day()],u=`openinghours-${e}`,s=b[u]&&b[u].schemeSettings&&b[u].schemeSettings[n]?b[u].schemeSettings[n]:null;return s?s.giftcardsEnabled!==true||!Array.isArray(s.giftcards)||s.giftcards.length===0?false:s.giftcards.includes(q):(console.error(`No day settings found for ${n} ${e}`),false)}function _o(b,O,o,q,e=[],a=null){let n=typeof window<"u"?window.currentReservationTicketItem:null;if(n&&!n.normalOpeningTimes){let T=L2.tz(O,"YYYY-MM-DD",l2).startOf("day"),X=n.filterStartDate?L2.tz(n.filterStartDate,"YYYY-MM-DD",l2).startOf("day"):null,h=n.filterEndDate?L2.tz(n.filterEndDate,"YYYY-MM-DD",l2).endOf("day"):null;if(X&&T.isBefore(X))return console.log(`Date ${O} is before the allowed start ${n.filterStartDate}`),false;if(h&&T.isAfter(h))return console.log(`Date ${O} is after the allowed end ${n.filterEndDate}`),false}console.log(`
7
7
  ===== Checking date availability for ${q} guests on ${O} =====`),console.log("Restaurant data floors:",b.floors?"present":"missing"),console.log("Table settings:",JSON.stringify(b["table-settings"]||{},null,2));let u=b?.["table-settings"]||{},s=u.isInstalled===true&&u.assignmentMode==="automatic"&&b.floors&&Array.isArray(b.floors);if(console.log(`Table assignment is ${s?"ENABLED":"DISABLED"} for date ${O}`),!Co(b,O,o,q,e,a))return console.log(`Date ${O} fails basic availability check`),false;if(!s)return console.log(`Table assignment disabled, date ${O} is available`),true;console.log(`Getting available timeblocks for ${O}`);let L=ko(b,O,o,q,e,a);if(console.log(`Found ${Object.keys(L).length} available timeblocks before table check`),Object.keys(L).length===0)return console.log(`No available timeblocks on ${O}, date is unavailable`),false;console.log(`Checking table availability for each timeblock on ${O}`);let i=false,R=0;for(let T of Object.keys(L)){if(R++,a&&!Po(b,O,T,a)){console.log(`Time ${T} doesn't match giftcard meal requirements`);continue}if(console.log(`Checking table availability for ${T} on ${O} for ${q} guests`),xo(b,O,T,q,o)){console.log(`Found available time ${T} with table assignment!`),i=true;break}}return console.log(`Checked ${R}/${Object.keys(L).length} timeblocks`),console.log(`Date ${O} with table check: ${i?"Available":"Unavailable"}`),i}lb.exports={isDateAvailableWithTableCheck:_o};});var mb=$(()=>{var{isTimeAvailable:Io}=iM(),Fo={_id:"poer","general-settings":{zitplaatsen:30,uurOpVoorhand:4,dagenInToekomst:90,maxGasten:8,intervalReservatie:15,duurReservatie:120,minutenTotEinde:135,showNoticeForMaxGuests:0,noticePhoneNumber:"",storedNumber:76},menu:[{name:"POER Menu",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"12:00",endHour:"23:00",daysOfWeek:["zaterdag","dinsdag","woensdag","donderdag","vrijdag"],storedNumber:36,_id:"674a9033c1956dd233bafaad"},{name:"A la carte",startDate:"2024-11-30",endDate:"2030-01-01",startHour:"12:00",endHour:"14:00",daysOfWeek:["dinsdag","woensdag","donderdag","vrijdag"],storedNumber:28,_id:"674a9084c1956dd233bafaae"},{name:"Ik weet het nog niet",startDate:"2024-11-30",endDate:"2030-01-01",startHour:"12:00",endHour:"14:00",daysOfWeek:["dinsdag","woensdag","donderdag","vrijdag"],storedNumber:41,_id:"674a90bc64cc52acdd5e6cc2"},{name:"Lunch",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"12:00",endHour:"14:00",daysOfWeek:["dinsdag","woensdag","donderdag","vrijdag"],storedNumber:23,_id:"674adb4e8d6385fb343499f7"},{name:"A la carte",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"18:30",endHour:"20:30",daysOfWeek:["dinsdag","woensdag","donderdag"],storedNumber:50,_id:"674adbf58d6385fb343499f8"},{name:"Ik weet het nog niet",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"18:30",endHour:"20:30",daysOfWeek:["dinsdag","donderdag","woensdag"],storedNumber:54,_id:"674adc208d6385fb343499f9"}],mededeling:[{mededeling:"Gelieve er rekening mee te houden dat we op vrijdagavond en zaterdagavond enkel ons POER menu serveren.",startDate:"2024-11-01",endDate:"2030-01-30",startTime:"18:30",endTime:"20:30",daysOfWeek:["vrijdag","zaterdag"],storedNumber:95,_id:"674ade0a8d6385fb343499fa"}],settings:{pageTitle:"Reserveer nu",generalNotification:"",alignment:"fullScreenColor",backgroundBlur:"blurBackground",storedNumber:61},colors:{backgroundType:"solid",backgroundColor:"#e0debe",gradientStartColor:"#FFFFFF",gradientEndColor:"#000000",animationType:"none",widgetBackgroundColor:"#000000",widgetTextColor:"#FFFFFF",textColor:"#000000",containerColor:"#FFFFFF",buttonColor:"#000000",buttonTextColor:"#FFFFFF",storedNumber:81},exceptions:[{title:"Extra mensen donderdagmiddag",type:"Opening",timeframe:"lunch",startDate:"2024-12-05",endDate:"2024-12-05",startHour:"12:00",endHour:"16:00",maxSeats:"34",daysOfWeek:["donderdag"],storedNumber:74,_id:"67507dc98fb61d6afd54acb0"},{title:"Extra personen donderdagavond",type:"Uitzondering",timeframe:"dinner",startDate:"2024-12-05",endDate:"2024-12-05",startHour:"18:30",endHour:"23:00",maxSeats:"27",daysOfWeek:["donderdag"],storedNumber:88,_id:"67507e3383d7f2de02628f4a"},{title:"Cong\xE9 Periode 22/12 tot 9/01",type:"Sluiting",timeframe:"Volledige Dag",startDate:"2024-12-22",endDate:"2025-01-09",daysOfWeek:[],storedNumber:89,_id:"67511bb38fb61d6afd54acba"}],"openinghours-lunch":{schemeSettings:{Tuesday:{enabled:true,startTime:"12:00",endTime:"13:30",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Wednesday:{enabled:true,startTime:"12:00",endTime:"16:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Thursday:{enabled:true,startTime:"12:00",endTime:"16:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Friday:{enabled:true,startTime:"12:30",endTime:"13:30",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]}},storedNumber:2},"openinghours-dinner":{schemeSettings:{Tuesday:{enabled:true,startTime:"18:30",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"24",shiftsEnabled:false,shifts:[]},Wednesday:{enabled:true,startTime:"16:00",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"24",shiftsEnabled:false,shifts:[]},Thursday:{enabled:true,startTime:"16:00",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"24",shiftsEnabled:false,shifts:[]},Friday:{enabled:true,startTime:"18:30",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Saturday:{enabled:true,startTime:"18:30",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]}},storedNumber:6},fonts:{titleFont:{font:"Poppins",weight:"400"},subtitleFont:{font:"Poppins",weight:"400"},labelFont:{font:"Poppins",weight:"400"},buttonFont:{font:"Poppins",weight:"400"}},theme:{id:10,title:"Herfstbladeren",color:"#D35400",image:"/static/media/default-theme.webp"}},Go=[{guests:10,time:"12:00",date:"2024-12-18"},{guests:100,time:"15:00",date:"2024-12-04"}];console.log("--- Is Time Available Tests ---");var Bb="2024-12-10",Xb=1e3,Ho=["12:00","12:15","13:00","19:00","20:00","20:15"];Ho.forEach(b=>{let O=Io(Fo,Bb,b,Go,Xb);console.log(`Is ${b} on ${Bb} available for ${Xb} guests?`,O);});});var hb=$((a5,gb)=>{var Tb=r2(),{shifts:e5,parseTime:RM,getMealTypeByTime:Uo}=u2();function jo(){let b=Tb().tz("Europe/Brussels");return b.hours()*60+b.minutes()}function Yo(b,O,o){let q=Tb().tz("Europe/Brussels").format("YYYY-MM-DD");if(o!==q)return b;console.log(`Applying stop time filter for today (${o})`);let e=O?.["general-settings"]||{},a=jo(),n=e.ontbijtStop||null,u=e.lunchStop||null,s=e.dinerStop||null,f=n?RM(n):null,L=u?RM(u):null,i=s?RM(s):null,R={},T=0,X=0,h=0;for(let B in b){if(!b.hasOwnProperty(B))continue;let N=Uo(B),S=false;N==="breakfast"&&f!==null&&!isNaN(f)&&a>=f?(S=true,T++):N==="lunch"&&L!==null&&!isNaN(L)&&a>=L?(S=true,X++):N==="dinner"&&i!==null&&!isNaN(i)&&a>=i&&(S=true,h++),S||(R[B]=b[B]);}return T>0&&console.log(`Stop time filter removed ${T} breakfast slots.`),X>0&&console.log(`Stop time filter removed ${X} lunch slots.`),h>0&&console.log(`Stop time filter removed ${h} dinner slots.`),R}gb.exports={filterTimeblocksByStopTimes:Yo};});var Sb=$((n5,yb)=>{function Ko(b){let O=parseInt(b.split(":")[0],10);return O>=4&&O<11?"breakfast":O>=11&&O<16?"lunch":O>=16&&O<23?"dinner":null}function Vo(b){if(!b)return null;if(b.$numberInt)return parseInt(b.$numberInt,10);if(typeof b=="number")return b;if(typeof b=="string"){let O=parseInt(b,10);return isNaN(O)?null:O}return null}function Qo(b,O,o){return b.filter(q=>q.date===O&&q.time===o).reduce((q,e)=>q+(parseInt(e.guests,10)||0),0)}function Jo(b,O,o,q,e){let a={};for(let[n,u]of Object.entries(o)){let s=Ko(n);if(!s){a[n]=u;continue}let f=b[`max-arrivals-${s}`];if(!f){a[n]=u;continue}let L=Vo(f[n]);if(L===null){a[n]=u;continue}Qo(q,O,n)+e<=L&&(a[n]=u);}return a}yb.exports={filterTimeblocksByMaxArrivals:Jo};});var vb=$((d5,Eb)=>{function fM(b){let O=parseInt(b.split(":")[0],10);return O>=4&&O<11?"breakfast":O>=11&&O<16?"lunch":O>=16&&O<23?"dinner":null}function f0(b,...O){console.log(`[MaxGroupsFilter] ${b}`,...O);}function Zo(b){if(b==null)return null;if(typeof b=="object"&&b!==null&&"$numberInt"in b){let O=parseInt(b.$numberInt,10);return isNaN(O)?null:O}if(typeof b=="number")return Number.isInteger(b)?b:null;if(typeof b=="string"){let O=parseInt(b,10);return isNaN(O)?null:O}return null}function M4(b,O,o,q,e){f0(`--- Running MaxGroupsFilter for Date: ${O}, Guests: ${e} ---`);let a=Object.keys(b).filter(L=>L.startsWith("max-groups-"));f0("Received restaurantData max-group keys:",a.length>0?a:"None found");let n={},u=parseInt(e,10);if(isNaN(u)||u<=0)return f0(`Invalid guest count (${e}). Returning all ${Object.keys(o).length} input blocks unfiltered.`),o;let s=q.filter(L=>L.date===O);f0(`Relevant reservations on ${O}: ${s.length}`),f0(`Input timeblocks count: ${Object.keys(o).length}`);let f={};s.forEach(L=>{let i=fM(L.time);i&&(f[i]||(f[i]=[]),f[i].push(L));}),f0("Reservations grouped by meal type:",f);for(let[L,i]of Object.entries(o)){let R=fM(L);if(f0(`
8
8
  Checking Time: ${L} -> Determined Meal: ${R}`),!R){f0(` Time ${L} has no associated meal type. Keeping block.`),n[L]=i;continue}let T=`max-groups-${R}`,X=b[T];if(f0(` Looking for settings using key: "${T}"`),!X||typeof X!="object"){f0(` No settings found for key "${T}". Filter doesn't apply. Keeping block.`),n[L]=i;continue}f0(` Found settings for ${R}:`,JSON.stringify(X));let h=true,B=Object.keys(X).map(N=>parseInt(N,10)).filter(N=>!isNaN(N)&&N>0).sort((N,S)=>N-S);f0(` Defined numeric limit sizes to check for ${R}: [${B.join(", ")}]`);for(let N of B){let S=String(N);if(f0(` Checking Limit Condition: Groups of size >= ${N}`),u>=N){f0(` Applicable: Booking guests (${u}) >= Limit threshold (${N})`);let g=Zo(X[S]);if(f0(` Max groups allowed for >=${N} is: ${g} (raw setting: ${JSON.stringify(X[S])})`),g===null||g<0){f0(` Skipping check: Invalid or non-positive max count defined for size ${N}.`);continue}let H=(f[R]||[]).filter(C=>{let x=parseInt(C.guests,10);return !isNaN(x)&&x>=N}).length;if(f0(` Count of existing groups >=${N} found in ${R}: ${H}`),H+1>g){f0(` *** VIOLATION DETECTED *** for limit >=${N}.`),f0(` (Existing Groups: ${H} + New Group: 1 = ${H+1}, which is > Max Allowed: ${g})`),f0(` Blocking time ${L} due to this violation.`),h=false;break}else f0(` OK: Limit for >=${N} not exceeded. (Existing: ${H} + New: 1 <= Max: ${g})`);}else f0(` Not Applicable: Booking guests (${u}) < Limit threshold (${N}). Skipping this check.`);}h?(f0(` \u2705 Result for time ${L}: ALLOWED (passed all applicable checks)`),n[L]=i):f0(` \u274C Result for time ${L}: BLOCKED (failed at least one limit check)`);}return f0(`--- MaxGroupsFilter Finished. Output timeblocks count: ${Object.keys(n).length} ---`),n}Eb.exports={filterTimeblocksByMaxGroups:M4,getMealType:fM};});var m1=$((i5,Cb)=>{function z4(b,O){if(b==null)return O;if(typeof b=="object"&&b!==null&&"$numberInt"in b){try{let o=parseInt(b.$numberInt,10);if(!isNaN(o))return o}catch{}return O}if(typeof b=="number"&&!isNaN(b))return b;if(typeof b=="string")try{let o=parseInt(b,10);if(!isNaN(o))return o}catch{}return O}Cb.exports=z4;});var H1=$((t5,kb)=>{function b4(b,O,o){if(!b||!/^([01]\d|2[0-3]):([0-5]\d)$/.test(b))return [];let[e,a]=b.split(":").map(Number),n=e*60+a;if(o<=0)return [n];let u=Math.ceil(O/o),s=[];for(let f=0;f<u;f++)s.push(n+f*o);return s}kb.exports=b4;});var uM=$((r5,xb)=>{function p4(b){if(!b||typeof b!="string")return NaN;let O=b.split(":");if(O.length!==2)return NaN;let o=parseInt(O[0],10),q=parseInt(O[1],10);return isNaN(o)||isNaN(q)||o<0||o>23||q<0||q>59?NaN:o*60+q}xb.exports=p4;});var LM=$((s5,wb)=>{var O4={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};wb.exports={shifts:O4};});var NM=$((R5,Db)=>{var lM=uM(),{shifts:c4}=LM();function A4(b){let O=lM(b);if(isNaN(O))return null;for(let[o,q]of Object.entries(c4)){let e=lM(q.start),a=lM(q.end);if(!(isNaN(e)||isNaN(a))&&O>=e&&O<a)return o}return null}Db.exports=A4;});var T1=$((f5,Pb)=>{var o4=NM();function q4(b,O,o){if(!b.isTemporary)return true;if(!b.startDate||!b.endDate||O<b.startDate||O>b.endDate)return false;let q=o4(o);return !(!q||b.application!==q)}Pb.exports=q4;});var N2=$((u5,_b)=>{function W4(b,O=null){let o=[];return b?.floors&&Array.isArray(b.floors)?b.floors.forEach(q=>{q?.tables&&Array.isArray(q.tables)&&q.tables.forEach(e=>{let a=e.tableNumber?.$numberInt??e.tableNumber,n=e.minCapacity?.$numberInt??e.minCapacity,u=e.maxCapacity?.$numberInt??e.maxCapacity,s=e.priority?.$numberInt??e.priority,f=e.x?.$numberInt??e.x,L=e.y?.$numberInt??e.y;O&&O.trim()!==""&&e.zitplaats!==O||(e.objectType==="Tafel"&&a!==void 0&&n!==void 0&&u!==void 0&&s!==void 0&&f!==void 0&&L!==void 0?o.push({tableId:e.id,tableNumber:parseInt(a,10),minCapacity:parseInt(n,10),maxCapacity:parseInt(u,10),priority:parseInt(s,10),x:parseInt(f,10),y:parseInt(L,10),isTemporary:e.isTemporary===true,startDate:e.startDate||null,endDate:e.endDate||null,application:e.application||null,zitplaats:e.zitplaats||null}):e.objectType==="Tafel"&&console.warn(`Skipping table due to missing essential properties: ${JSON.stringify(e)}`));});}):console.warn("Restaurant data is missing 'floors' array."),o.sort((q,e)=>q.maxCapacity!==e.maxCapacity?q.maxCapacity-e.maxCapacity:q.priority!==e.priority?q.priority-e.priority:q.minCapacity-e.minCapacity),o=o.filter(q=>!isNaN(q.tableNumber)&&!isNaN(q.minCapacity)&&!isNaN(q.maxCapacity)&&!isNaN(q.priority)&&!isNaN(q.x)&&!isNaN(q.y)),o}_b.exports=W4;});var Fb=$((L5,Ib)=>{var e4=m1();function a4(b){return Array.isArray(b)?b.map(O=>e4(O,null)).filter(O=>O!==null):[]}Ib.exports=a4;});var BM=$((l5,Gb)=>{var n4=Fb();function d4(b){return b.tables&&Array.isArray(b.tables)?n4(b.tables):[]}Gb.exports=d4;});var U1=$((N5,Hb)=>{function i4(b,O,o){let q=o[b]||new Set;for(let e of O)if(q.has(e))return false;return true}Hb.exports=i4;});var XM=$((B5,Ub)=>{function t4(b,O){if(b?.x===void 0||b?.y===void 0||O?.x===void 0||O?.y===void 0)return 1/0;let o=b.x-O.x,q=b.y-O.y;return Math.sqrt(o*o+q*q)}Ub.exports=t4;});var B2=$((X5,Vb)=>{var jb=T1(),Yb=U1(),r4=XM();function Kb(b,O,o,q,e,a,n,u,s){if(O<=0){let L=0;for(let i=0;i<q.length;i++)for(let R=i+1;R<q.length;R++)L+=r4(q[i],q[R]);(q.length<e.tableCount||q.length===e.tableCount&&L<e.minDistance)&&(e.minDistance=L,e.tables=[...q],e.tableCount=q.length);return}if(o>=b.length||q.length>=e.tableCount&&e.tableCount!==1/0)return;let f=0;for(let L=o;L<b.length;L++){let i=b[L];jb(i,u,s)&&Yb(i.tableNumber,a,n)&&(f+=i.maxCapacity);}if(!(f<O))for(let L=o;L<b.length;L++){let i=b[L];if(!jb(i,u,s)||!Yb(i.tableNumber,a,n))continue;let R=Math.min(i.maxCapacity,O);R<i.minCapacity&&R<O||R<=0||(q.push(i),Kb(b,O-R,L+1,q,e,a,n,u,s),q.pop());}}Vb.exports=Kb;});var X2=$((m5,Jb)=>{var Qb=m1(),s4=H1(),R4=N2(),f4=T1(),u4=B2(),L4=U1();function l4(b,O,o,q,e,a=null){let n=b["general-settings"]||{};typeof n.duurReservatie=="object"&&n.duurReservatie?.$numberInt,typeof n.intervalReservatie=="object"&&n.intervalReservatie?.$numberInt;let u=120,s=15;if(u=Qb(n.duurReservatie,120),s=Qb(n.intervalReservatie,15),s<=0)return console.error("Invalid interval settings."),[];let f=s4(o,u,s);if(!f||f.length===0)return console.error(`Could not compute required slots for ${o}`),[];let L=R4(b,a);for(let R of L)if(f4(R,O,o)&&R.minCapacity<=q&&q<=R.maxCapacity&&L4(R.tableNumber,f,e))return [R.tableNumber];let i={minDistance:1/0,tables:[],tableCount:1/0};return u4(L,q,0,[],i,f,e,O,o),i.tables.length>0,i.tables.map(R=>R.tableNumber)}Jb.exports=l4;});var m2=$((T5,Mp)=>{var $b=m1(),Zb=H1(),N4=T1(),B4=N2(),X4=BM(),m4=X2(),T4=U1(),g4=B2();function h4(b,O,o,q,e,a=null){q<0&&(q=2);let n=b?.["table-settings"]||{};if(!(n.isInstalled===true&&n.assignmentMode==="automatic"))return true;try{if(!b?.floors||!Array.isArray(b.floors))return console.error(`[isTimeAvailableSync] Missing floors data for ${O} ${o}`),!1;if(q<=0)return console.error(`[isTimeAvailableSync] Invalid guest count: ${q}`),!1;let s=b["general-settings"]||{},f=120,L=15;if(f=$b(s.duurReservatie,120),L=$b(s.intervalReservatie,15),L<=0)return console.error(`[isTimeAvailableSync] Invalid interval settings for ${O} ${o}`),!1;let i=Zb(o,f,L);if(!i||i.length===0)return console.error(`[isTimeAvailableSync] Could not compute required slots for ${O} ${o}`),!1;let R={},T=e.filter(N=>N.date===O&&N.time&&N.guests>0).sort((N,S)=>{let g=N.time.split(":").map(Number),k=S.time.split(":").map(Number);return g[0]*60+g[1]-(k[0]*60+k[1])});for(let N of T){let S=X4(N),g=[];if(S.length>0?g=S:g=m4(b,N.date,N.time,N.guests,R),g.length>0){let k=Zb(N.time,f,L);if(!k||k.length===0)continue;g.forEach(H=>{R[H]||(R[H]=new Set),k.forEach(C=>R[H].add(C));});}}let X=B4(b,a);for(let N of X)if(N4(N,O,o)&&N.minCapacity<=q&&q<=N.maxCapacity&&T4(N.tableNumber,i,R))return !0;let h={minDistance:1/0,tables:[],tableCount:1/0};g4(X,q,0,[],h,i,R,O,o);let B=h.tables.length>0;return B}catch{return false}}Mp.exports=h4;});var mM=$((g5,pp)=>{var zp=m1(),bp=H1(),y4=N2(),S4=T1(),E4=BM(),v4=X2();function C4(b,O,o,q,e,a=null){try{q<0&&(q=0);let n=b?.["table-settings"]||{};if(!(n.isInstalled===!0&&n.assignmentMode==="automatic"))return [];if(!b?.floors||!Array.isArray(b.floors))return [];if(q<=0)return [];let s=b["general-settings"]||{},f=zp(s.duurReservatie,120),L=zp(s.intervalReservatie,15);if(L<=0)return [];let i=bp(o,f,L);if(!i||i.length===0)return [];let R={},T=e.filter(B=>B.date===O&&B.time&&B.guests>0).sort((B,N)=>{let S=B.time.split(":").map(Number),g=N.time.split(":").map(Number);return S[0]*60+S[1]-(g[0]*60+g[1])});for(let B of T){let N=E4(B),S=[];if(N.length>0?S=N:S=v4(b,B.date,B.time,B.guests,R,null),S.length>0){let g=bp(B.time,f,L);if(!g||g.length===0)continue;S.forEach(k=>{R[k]||(R[k]=new Set),g.forEach(H=>R[k].add(H));});}}let X=y4(b,a),h=[];for(let B of X)S4(B,O,o)&&B.minCapacity<=q&&q<=B.maxCapacity&&(R&&i&&Array.isArray(i),(function(){let S=R[B.tableNumber]||new Set;for(let g of i)if(S.has(g))return !1;return !0})()&&h.push(B));return h.sort((B,N)=>B.tableNumber-N.tableNumber),h}catch{return []}}pp.exports=C4;});var TM=$((h5,Op)=>{var k4=m2();function x4(b,O,o,q,e,a=null){q<0&&(q=0);let n=b?.["table-settings"]||{};if(!(n.isInstalled===true&&n.assignmentMode==="automatic"))return o;let s={},f=0,L=0;for(let i in o)k4(b,O,i,q,e,a)?(s[i]=o[i],f++):L++;return s}Op.exports=x4;});var op=$((y5,Ap)=>{var w4=m2(),D4=mM(),cp=TM(),P4=(b,O,o,q,e,a=null)=>cp(b,O,o,q,e,a);Ap.exports={isTimeAvailableSync:w4,filterTimeblocksByTableAvailability:cp,getAvailableTimeblocksWithTableCheck:P4,getAvailableTablesForTime:D4};});var T2=$((S5,qp)=>{var _4={...qM(),...i2(),...s2()},I4={...oM()},F4={...d2(),...X1()},G4={...eb(),...R2(),...WM(),...dM(),...iM(),...sM(),...Nb(),...u2(),...mb()},H4={...hb(),...Sb(),...vb()},U4={...op(),...m2(),...mM(),...B2(),...TM(),...X2(),...m1(),...T1(),...U1(),...XM(),...LM().shifts,...uM(),...NM(),...H1()};qp.exports={..._4,...I4,...F4,...G4,...H4,...U4};});function R0(b,{insertAt:O}={}){if(!b||typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css",O==="top"&&o.firstChild?o.insertBefore(q,o.firstChild):o.appendChild(q),q.styleSheet?q.styleSheet.cssText=b:q.appendChild(document.createTextNode(b));}R0(`.new-reservation-page .value-selector{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.new-reservation-page .non-absolute{position:relative!important}.new-reservation-page .non-absolute:before{background:none}.new-reservation-page .predefined-values{display:flex;gap:10px}.new-reservation-page .predefined-value-button{flex:1;padding:10px;border:1px solid #ccc;border-radius:var(--border-radius);background-color:var(--color-white);cursor:pointer;font-size:1rem;transition:background-color .3s ease}.new-reservation-page .predefined-value-button.active,.new-reservation-page .predefined-value-button:hover{background-color:var(--color-blue);color:var(--color-white)}.new-reservation-page .slider-container{display:flex;align-items:center;gap:15px}.new-reservation-page .slider{flex:1;appearance:none;-webkit-appearance:none;height:5px;background:#ddd;border-radius:5px;outline:none}.new-reservation-page .slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-blue);cursor:pointer;border-radius:50%}.new-reservation-page .value-input{width:80px;padding:10px;border:1px solid #ccc;border-radius:var(--border-radius);font-size:1rem}
9
- `);var hA=({setGuests:b,value:O,onChange:o})=>{let q=[1,2,3,"4+"],[e,a]=i0.useState(O||""),[n,u]=i0.useState(false),s=i=>{i==="4+"?(u(true),a(4),b(4),o({target:{name:"guests",value:4}})):(u(false),a(i),b(i),o({target:{name:"guests",value:i}}));},f=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});},L=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});};return i0__default.default.createElement("div",{className:"value-selector",translate:"no"},i0__default.default.createElement("div",{className:"predefined-values"},q.map(i=>i0__default.default.createElement("button",{key:i,type:"button",className:`predefined-value-button ${e==i||i==="4+"&&n?"active":""}`,onClick:()=>s(i)},i==="4+"?"4+":`${i} p`))),i0__default.default.createElement(framerMotion.AnimatePresence,null,n&&i0__default.default.createElement(framerMotion.motion.div,{className:"slider-container",initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0}},i0__default.default.createElement("input",{type:"range",min:"4",max:"15",step:"1",value:e,onChange:f,className:"slider non-absolute"}),i0__default.default.createElement("input",{type:"number",name:"guests",value:e,onChange:L,className:"value-input",min:"4",max:"100",step:"1"}))))},hz=hA;var i1=G0(O1());var Cz=G0(O1()),kz=b=>{let O=(0, Cz.default)().tz("Europe/Brussels").startOf("day");return b.clone().add(6,"days").endOf("day").isBefore(O)},xz=(b,O)=>b.isSame(O,"day");R0(`.new-reservation-page .calendar-container{position:relative;width:100%}.new-reservation-page .calendar-container .calendar-display{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;user-select:none;text-align:left;border-radius:5px}.new-reservation-page .calendar-container .calendar-display span:first-child{flex-grow:1}.new-reservation-page .calendar-container .calendar{position:absolute;z-index:1000;width:100%;background-color:#fff;border:1px solid #ccc;margin-top:5px;padding:10px;border-radius:10px;animation:fadeInCalendar .3s ease-in-out;box-shadow:0 2px 10px #0000001a}@keyframes fadeInCalendar{0%{opacity:0}to{opacity:1}}.new-reservation-page .calendar-container .availability-hold-btn{font-size:10px}.new-reservation-page .calendar-container .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap}.new-reservation-page .calendar-container .calendar-header button{background-color:transparent;border:none;cursor:pointer;font-size:18px}.new-reservation-page .calendar-container .calendar-header span{font-size:15px;color:gray;font-weight:500}.new-reservation-page .calendar-container .calendar-weeks-wrapper{overflow:hidden;position:relative;width:100%}.new-reservation-page .calendar-container .calendar-table{width:100%;border-collapse:collapse}.new-reservation-page .calendar-container .calendar-table th,.new-reservation-page .calendar-container .calendar-table td{width:14.28%;text-align:center;padding:5px}.calendar-container .calendar-table th{color:#666;font-weight:400;padding-bottom:10px}.new-reservation-page .calendar-container .calendar-table td{vertical-align:middle;cursor:pointer;border:none;opacity:1;position:relative}.new-reservation-page .calendar-container .calendar-table td.empty-day{cursor:default}.new-reservation-page .calendar-container .calendar-table td:hover .day-square.available{transform:scale(1.05)}.new-reservation-page .calendar-container .day-square{position:relative;width:38px;height:38px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;transition:all .2s ease;font-size:16px;margin:0 auto}.new-reservation-page .calendar-container .day-number{line-height:1;z-index:2}.new-reservation-page .calendar-container .available .day-square{background-color:#cfc;color:#060}.new-reservation-page .calendar-container .available:hover .day-square{background-color:#b3ffb3}.new-reservation-page .calendar-container .available:active .day-square{background-color:#9f9}.new-reservation-page .calendar-container .unavailable .day-square{background-color:#8b000021;color:#8b0000}.new-reservation-page .calendar-container .gray-out .day-square{background-color:#e0e0e0;color:#999;cursor:not-allowed}.new-reservation-page .calendar-container .selected .day-square{background-color:#060;color:#cfc}.new-reservation-page .calendar-container .calendar-table td.unavailable,.new-reservation-page .calendar-container .calendar-table td.gray-out{cursor:not-allowed}.new-reservation-page .calendar-container .calendar-table td.unavailable:hover .day-square,.new-reservation-page .calendar-container .calendar-table td.gray-out:hover .day-square{transform:none}.new-reservation-page .calendar-container .calendar-table td{border:none}.new-reservation-page .calendar-container .arrow{margin-left:auto;color:gray;display:flex;align-items:center}.new-reservation-page .calendar-container .available .availability-badge{background:#38a169}.new-reservation-page .calendar-container .selected .availability-badge{background:#2d3748}@media screen and (max-width:900px){.calendar-container .day-square{width:35px!important;height:35px!important;font-size:15px!important}.calendar-container .calendar-header span{font-size:12px}.new-reservation-page .calendar-container .availability-toggle-btn{padding:5px 8px;font-size:11px}}
9
+ `);var hA=({setGuests:b,value:O,onChange:o})=>{let q=[1,2,3,"4+"],[e,a]=i0.useState(O||""),[n,u]=i0.useState(false),s=i=>{i==="4+"?(u(true),a(4),b(4),o({target:{name:"guests",value:4}})):(u(false),a(i),b(i),o({target:{name:"guests",value:i}}));},f=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});},L=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});};return i0__default.default.createElement("div",{className:"value-selector",translate:"no"},i0__default.default.createElement("div",{className:"predefined-values"},q.map(i=>i0__default.default.createElement("button",{key:i,type:"button",className:`predefined-value-button ${e==i||i==="4+"&&n?"active":""}`,onClick:()=>s(i)},i==="4+"?"4+":`${i} p`))),i0__default.default.createElement(framerMotion.AnimatePresence,null,n&&i0__default.default.createElement(framerMotion.motion.div,{className:"slider-container",initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0}},i0__default.default.createElement("input",{type:"range",min:"4",max:"15",step:"1",value:e,onChange:f,className:"slider non-absolute"}),i0__default.default.createElement("input",{type:"number",name:"guests",value:e,onChange:L,className:"value-input",min:"4",max:"100",step:"1"}))))},hz=hA;var i1=G0(O1());var Cz=G0(O1()),kz=b=>{let O=(0, Cz.default)().tz("Europe/Brussels").startOf("day");return b.clone().add(6,"days").endOf("day").isBefore(O)},xz=(b,O)=>b.isSame(O,"day");R0(`.new-reservation-page .calendar-container{position:relative;width:100%}.new-reservation-page .calendar-container .calendar-display{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;user-select:none;text-align:left;border-radius:5px}.new-reservation-page .calendar-container .calendar-display span:first-child{flex-grow:1}.new-reservation-page .calendar-container .calendar{position:absolute;z-index:1000;width:100%;background-color:#fff;border:1px solid #ccc;margin-top:5px;padding:10px;border-radius:10px;animation:fadeInCalendar .3s ease-in-out;box-shadow:0 2px 10px #0000001a}@keyframes fadeInCalendar{0%{opacity:0}to{opacity:1}}.new-reservation-page .calendar-container .availability-hold-btn{font-size:10px}.new-reservation-page .calendar-container .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap}.new-reservation-page .calendar-container .calendar-header button{background-color:transparent;border:none;cursor:pointer;font-size:18px}.new-reservation-page .calendar-container .calendar-header span{font-size:15px;color:gray;font-weight:500}.new-reservation-page .calendar-container .calendar-weeks-wrapper{overflow:hidden;position:relative;width:100%}.new-reservation-page .calendar-container .calendar-table{width:100%;border-collapse:collapse}.new-reservation-page .calendar-container .calendar-table th,.new-reservation-page .calendar-container .calendar-table td{width:14.28%;text-align:center;padding:5px}.new-reservation-page .calendar-container .calendar-table th{color:#666;font-weight:400;padding-bottom:10px}.new-reservation-page .calendar-container .calendar-table td{vertical-align:middle;cursor:pointer;border:none;opacity:1;position:relative}.new-reservation-page .calendar-container .calendar-table td.empty-day{cursor:default}.new-reservation-page .calendar-container .calendar-table td:hover .day-square.available{transform:scale(1.05)}.new-reservation-page .calendar-container .day-square{position:relative;width:38px;height:38px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;transition:all .2s ease;font-size:16px;margin:0 auto}.new-reservation-page .calendar-container .day-number{line-height:1;z-index:2}.new-reservation-page .calendar-container .available .day-square{background-color:#cfc;color:#060}.new-reservation-page .calendar-container .available:hover .day-square{background-color:#b3ffb3}.new-reservation-page .calendar-container .available:active .day-square{background-color:#9f9}.new-reservation-page .calendar-container .unavailable .day-square{background-color:#8b000021;color:#8b0000}.new-reservation-page .calendar-container .gray-out .day-square{background-color:#e0e0e0;color:#999;cursor:not-allowed}.new-reservation-page .calendar-container .selected .day-square{background-color:#060;color:#cfc}.new-reservation-page .calendar-container .calendar-table td.unavailable,.new-reservation-page .calendar-container .calendar-table td.gray-out{cursor:not-allowed}.new-reservation-page .calendar-container .calendar-table td.unavailable:hover .day-square,.new-reservation-page .calendar-container .calendar-table td.gray-out:hover .day-square{transform:none}.new-reservation-page .calendar-container .calendar-table td{border:none}.new-reservation-page .calendar-container .arrow{margin-left:auto;color:gray;display:flex;align-items:center}.new-reservation-page .calendar-container .available .availability-badge{background:#38a169}.new-reservation-page .calendar-container .selected .availability-badge{background:#2d3748}@media screen and (max-width:900px){.new-reservation-page .calendar-container .day-square{width:35px!important;height:35px!important;font-size:15px!important}.new-reservation-page .calendar-container .calendar-header span{font-size:12px}.new-reservation-page .calendar-container .availability-toggle-btn{padding:5px 8px;font-size:11px}}
10
10
  `);var M1=G0(T2());var gM=class{constructor(O=6e4){this.cache=new Map,this.ttl=O;}generateKey(O,...o){return `${O}::${JSON.stringify(o)}`}get(O){let o=this.cache.get(O);return o?Date.now()-o.timestamp>this.ttl?(this.cache.delete(O),null):o.value:null}set(O,o){this.cache.set(O,{value:o,timestamp:Date.now()});}clear(){this.cache.clear();}cleanup(){let O=Date.now();for(let[o,q]of this.cache.entries())O-q.timestamp>this.ttl&&this.cache.delete(o);}},g2=new gM;setInterval(()=>g2.cleanup(),3e4);var Z0=(b,O,...o)=>{let q=g2.generateKey(b,...o),e=g2.get(q);if(e!==null)return e;let a=O(...o);return g2.set(q,a),a};var A1={nl:{reservationStepOne:{errors:{openingHoursNotSet:"Openingstijden niet ingesteld.",clickHereToSet:"Klik hier om uw openingsuren in te stellen."},modes:{withLimits:"Met Limieten",unlimited:"Onbeperkt",openingHours:"Openingsuren",free:"Vrij"},fields:{time:"Tijd"},messages:{searchingTables:"Beschikbare tafels zoeken...",noTablesAvailable:"Geen specifieke tafels beschikbaar voor deze selectie."},warnings:{unlimitedMode:"Onbeperkt zal geen rekening houden met maximum limieten."}},calendar:{selectDatePlaceholder:"Selecteer een datum",today:"Vandaag",tomorrow:"Morgen",prevWeek:"Vorige week",nextWeek:"Volgende week",dayHeaders:["Ma","Di","Wo","Do","Vr","Za","Zo"],seatsQuestion:"Zitplaatsen?"},timeSelector:{shifts:{breakfast:"Ontbijt",lunch:"Lunch",dinner:"Diner"},selectMeal:"Selecteer een maaltijd",selectTime:"Selecteer een tijd",noDateSelected:"Selecteer eerst een datum.",noTimes:"Geen beschikbare tijden.",back:"Terug"},tableSelector:{label:"Selecteer beschikbare tafel(s):",table:"Tafel",max:"Max",noTables:"Geen specifieke tafels beschikbaar voor deze tijd/gasten combinatie."}},en:{reservationStepOne:{errors:{openingHoursNotSet:"Opening hours not set.",clickHereToSet:"Click here to set your opening hours."},modes:{withLimits:"With Limits",unlimited:"Unlimited",openingHours:"Opening Hours",free:"Free"},fields:{time:"Time"},messages:{searchingTables:"Searching for available tables...",noTablesAvailable:"No specific tables available for this selection."},warnings:{unlimitedMode:"Unlimited will not take into account maximum limits."}},calendar:{selectDatePlaceholder:"Select a date",today:"Today",tomorrow:"Tomorrow",prevWeek:"Previous week",nextWeek:"Next week",dayHeaders:["M","T","W","T","F","S","S"],seatsQuestion:"Seating?"},timeSelector:{shifts:{breakfast:"Breakfast",lunch:"Lunch",dinner:"Dinner"},selectMeal:"Select a meal",selectTime:"Select a time",noDateSelected:"Please select a date first.",noTimes:"No available times.",back:"Back"},tableSelector:{label:"Select available table(s):",table:"Table",max:"Max",noTables:"No specific tables available for this time/guest combination."}},fr:{reservationStepOne:{errors:{openingHoursNotSet:"Horaires non d\xE9finies.",clickHereToSet:"Cliquez ici pour d\xE9finir vos horaires."},modes:{withLimits:"Avec Limites",unlimited:"Illimit\xE9",openingHours:"Horaires",free:"Libre"},fields:{time:"Heure"},messages:{searchingTables:"Recherche de tables disponibles...",noTablesAvailable:"Aucune table sp\xE9cifique disponible pour cette s\xE9lection."},warnings:{unlimitedMode:"Illimit\xE9 ne tiendra pas compte des limites maximales."}},calendar:{selectDatePlaceholder:"S\xE9lectionnez une date",today:"Aujourd'hui",tomorrow:"Demain",prevWeek:"Semaine pr\xE9c\xE9dente",nextWeek:"Semaine suivante",dayHeaders:["Lu","Ma","Me","Je","Ve","Sa","Di"],seatsQuestion:"Places ?"},timeSelector:{shifts:{breakfast:"Petit-d\xE9jeuner",lunch:"D\xE9jeuner",dinner:"D\xEEner"},selectMeal:"S\xE9lectionnez un repas",selectTime:"S\xE9lectionnez une heure",noDateSelected:"Veuillez d'abord s\xE9lectionner une date.",noTimes:"Aucun horaire disponible.",back:"Retour"},tableSelector:{label:"S\xE9lectionnez les table(s) disponibles :",table:"Table",max:"Max",noTables:"Aucune table sp\xE9cifique disponible pour cette combinaison temps/convives."}}};var ap=i0.memo(({guests:b,selectedDate:O,onSelectDate:o,autoExpand:q,reservationMode:e,restaurantData:a,startDate:n,onWeekChange:u,reservations:s,giftcard:f,zitplaats:L})=>{let i=localStorage.getItem("preferredLanguage")||"nl",R=A1[i].calendar,[T,X]=i0.useState(q||false),[h,B]=i0.useState(false),N=i0.useRef(null),S=i0.useRef(null),g=(0, i1.default)().tz("Europe/Amsterdam").add(1,"year").endOf("day");i0.useEffect(()=>{q&&X(true);},[q]),i0.useEffect(()=>{let w=W0=>{N.current&&!N.current.contains(W0.target)&&(X(false),B(false));};return document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w);}},[]),i0.useEffect(()=>()=>{S.current&&(clearTimeout(S.current),S.current=null);},[]);let k=()=>{S.current&&(clearTimeout(S.current),S.current=null),B(true);},H=(w=1e3)=>{S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{B(false),S.current=null;},w);},C=(w,W0,K=[])=>{if(w.isBefore(W0,"day")||w.isAfter(g,"day"))return 0;let d0=w.format("YYYY-MM-DD");if(h){let v=a?.["table-settings"]||{},z0=v.isInstalled===true&&v.assignmentMode==="automatic",a0=0;for(let P=1;P<=21;P++){let O0;z0?O0=Z0("isDateAvailableWithTableCheck",M1.isDateAvailableWithTableCheck,a,d0,s,P,K):O0=Z0("isDateAvailable",M1.isDateAvailable,a,d0,s,P,K),O0&&(a0=P);}return a0}if(e==="vrije_keuze")return 21;if(e!=="met_limieten")return (0, M1.isDateAvailable)(a,d0,s,-1e4,K)?21:0;let U=a?.["table-settings"]||{},Z=U.isInstalled===true&&U.assignmentMode==="automatic"&&e==="met_limieten",p0=0;for(let v=1;v<=21;v++){let z0;Z?z0=Z0("isDateAvailableWithTableCheck",M1.isDateAvailableWithTableCheck,a,d0,s,v,K):z0=Z0("isDateAvailable",M1.isDateAvailable,a,d0,s,v,K),z0&&(p0=v);}return p0},x=i0.useMemo(()=>{if(!T)return [];let w=[],W0=(0, i1.default)().tz("Europe/Amsterdam").startOf("day"),K=n||W0,d0=a?.["blocked-slots"]||[],U=K.clone().startOf("month"),Z=K.clone().endOf("month"),p0=a?.["table-settings"]||{},v=p0.isInstalled===true&&p0.assignmentMode==="automatic"&&e==="met_limieten",z0=U.clone();for(;z0.isSameOrBefore(Z,"day");){let a0=z0.format("YYYY-MM-DD"),P;if(e==="vrije_keuze")P=z0.isBetween(W0,g,null,"[]");else {let _0=e!=="met_limieten"?-1e4:b,I0=e==="met_limieten"?f:null;v?P=Z0("isDateAvailableWithTableCheck",M1.isDateAvailableWithTableCheck,a,a0,s,_0,d0,I0):P=Z0("isDateAvailable",M1.isDateAvailable,a,a0,s,_0,d0,I0);}let O0=C(z0,W0,d0);w.push({date:z0.clone(),isPast:z0.isBefore(W0,"day"),isFuture:z0.isAfter(g,"day"),isAvailable:P,maxGuestsAvailable:O0}),z0.add(1,"day");}return w},[T,n,b,e,a,s,f,L,h]),Y=w=>{w.isAvailable&&!w.isPast&&!w.isFuture&&(o(w.date.format("YYYY-MM-DD")),X(false),B(false));},Q=()=>{let w=n.clone().subtract(1,"month").startOf("month"),W0=(0, i1.default)().tz("Europe/Amsterdam").startOf("day");if(w.clone().endOf("month").isBefore(W0,"day")){console.log("Cannot go to previous month. It is in the past.");return}u(w);},n0=()=>{let w=n.clone().add(1,"month").startOf("month");u(w);},M0=()=>{if(!O)return R.selectDatePlaceholder;let w=(0, i1.default)(O,"YYYY-MM-DD").tz("Europe/Amsterdam").startOf("day"),W0=(0, i1.default)().tz("Europe/Amsterdam").startOf("day"),K=W0.clone().add(1,"day");return w.isSame(W0,"day")?R.today:w.isSame(K,"day")?R.tomorrow:w.format("dddd D MMMM YYYY")},b0=n?(w=>{let K=n.clone().startOf("month").day(),d0=K===0?6:K-1,U=[];for(let z0=0;z0<d0;z0++)U.push(null);U.push(...w);let Z=U.length,p0=Math.ceil(Z/7);for(;U.length<p0*7;)U.push(null);let v=[];for(let z0=0;z0<p0;z0++){let a0=U.slice(z0*7,z0*7+7);v.push(a0);}return v})(x):[],q0=R.dayHeaders,_=w=>w>=21?"20+":String(w);return i0__default.default.createElement("div",{className:"calendar-container",ref:N},i0__default.default.createElement("div",{className:"calendar-display",onClick:()=>X(!T)},i0__default.default.createElement("span",null,M0()),i0__default.default.createElement("span",{className:"arrow"},i0__default.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:T?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},i0__default.default.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),T&&n&&i0__default.default.createElement("div",{className:"calendar"},i0__default.default.createElement("div",{className:"calendar-header"},i0__default.default.createElement("button",{type:"button",onClick:Q,"aria-label":R.prevWeek},"<"),i0__default.default.createElement("span",null,n.format("MMMM YYYY")),i0__default.default.createElement("button",{type:"button",onClick:n0,"aria-label":R.nextWeek},">"),i0__default.default.createElement("button",{type:"button",className:`availability-hold-btn ${h?"active":""}`,"aria-pressed":h,"aria-label":"Houd ingedrukt om beschikbaarheden te tonen",onMouseDown:k,onMouseUp:()=>H(1e3),onMouseLeave:()=>H(1e3),onTouchStart:k,onTouchEnd:()=>H(1e3),onTouchCancel:()=>H(1e3),onKeyDown:w=>{(w.key===" "||w.key==="Enter")&&k();},onKeyUp:w=>{(w.key===" "||w.key==="Enter")&&H(1e3);},style:{fontSize:"15px",color:"gray",fontWeight:"450",textDecoration:"underline"}},R.seatsQuestion)),i0__default.default.createElement("div",{className:"calendar-weeks-wrapper"},i0__default.default.createElement("table",{className:"calendar-table"},i0__default.default.createElement("thead",null,i0__default.default.createElement("tr",{translate:"no"},q0.map((w,W0)=>i0__default.default.createElement("th",{key:W0},w)))),i0__default.default.createElement("tbody",null,b0.map((w,W0)=>i0__default.default.createElement("tr",{key:W0,translate:"no"},w.map((K,d0)=>{if(!K)return i0__default.default.createElement("td",{key:d0,className:"empty-day"});let U=O&&xz(K.date,(0, i1.default)(O,"YYYY-MM-DD").tz("Europe/Amsterdam")),Z=[];return K.isPast?Z.push("gray-out"):K.isAvailable?Z.push("available"):Z.push("unavailable"),U&&Z.push("selected"),i0__default.default.createElement("td",{key:d0,className:Z.join(" "),onClick:()=>Y(K),style:{"--animation-order":d0+W0*7}},i0__default.default.createElement("div",{className:`day-square ${h?"showing-availabilities":""}`},i0__default.default.createElement("span",{className:"day-number"},h?_(K.maxGuestsAvailable):K.date.date())))}))))))))});ap.displayName="Calendar";var np=ap;var yM=G0(O1()),V4=({guests:b,formData:O,handleChange:o,resetFormDataFields:q,restaurantData:e,reservations:a,startDate:n,onWeekChange:u,reservationMode:s})=>{let f=i=>{let R=(0, yM.default)(i).format("YYYY-MM-DD");console.log("Selected date:",R),o({target:{name:"date",value:R}}),q(["time"]);},L=n?n.clone().startOf("month"):(0, yM.default)().startOf("month");return i0__default.default.createElement("div",{className:"form-group date-selector-container"},i0__default.default.createElement(np,{guests:b,selectedDate:O.date||null,onSelectDate:f,autoExpand:false,reservationMode:s,restaurantData:e,startDate:L,onWeekChange:u,reservations:a,giftcard:O.giftcard,zitplaats:O.zitplaats}))},ip=V4;R0(`.new-reservation-page .time-selector-container{position:relative}.new-reservation-page .time-display{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;user-select:none;text-align:left;border-radius:5px}.new-reservation-page .time-display span:first-child{flex-grow:1}.new-reservation-page .time-selector{position:absolute;z-index:1000;width:100%;max-height:300px;overflow-y:auto;background-color:#fff;border:1px solid #ccc;margin-top:5px;padding:10px;border-radius:10px;animation:fadeInTimeSelector .3s ease-in-out;top:75px}@keyframes fadeInTimeSelector{0%{opacity:0}to{opacity:1}}.new-reservation-page .time-period{margin-bottom:15px}.new-reservation-page .time-period-label{font-weight:700;margin-bottom:5px}.new-reservation-page .time-options{display:flex;flex-wrap:wrap;gap:5px}.new-reservation-page .time-option{padding:8px 12px;background-color:#cfc;color:#060;border-radius:5px;cursor:pointer;transition:background-color .2s ease}.new-reservation-page .time-option:hover{background-color:#b3ffb3}.new-reservation-page .time-option.selected{background-color:#060;color:#cfc}.new-reservation-page .info-text{color:#666;font-style:italic}.new-reservation-page .arrow{margin-left:auto;color:gray;display:flex;align-items:center}@media screen and (max-width:480px){.new-reservation-page .time-option{padding:6px 10px;font-size:14px}}
11
11
  `);var EM=G0(O1());var h2=G0(T2()),rp=i0.memo(({guests:b,formData:O,handleChange:o,field:q,selectedDate:e,expanded:a,setCurrentExpandedField:n,restaurantData:u,reservations:s,reservationMode:f})=>{let L=localStorage.getItem("preferredLanguage")||"nl",i=A1[L].timeSelector,[R,T]=i0.useState(a||false),[X,h]=i0.useState([]),[B,N]=i0.useState(null),S=i0.useRef(null),g={breakfast:{start:"07:00",end:"11:00",label:i.shifts.breakfast},lunch:{start:"11:00",end:"16:00",label:i.shifts.lunch},dinner:{start:"16:00",end:"23:00",label:i.shifts.dinner}};i0.useEffect(()=>{if(!e||!b){h([]);return}if(f==="vrije_keuze")if(B){let x=g[B],Y=EM.default.tz(`${e} ${x.start}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),Q=EM.default.tz(`${e} ${x.end}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),n0=[],M0=Y.clone();for(;M0.isBefore(Q);)n0.push({value:M0.format("HH:mm"),label:M0.format("HH:mm")}),M0.add(15,"minutes");h(n0);}else h([]);else if(u&&s){let x=f!=="met_limieten"?-1e4:b,Y=u?.["table-settings"]||{},Q=f==="met_limieten"&&Y.isInstalled===true&&Y.assignmentMode==="automatic",n0=f==="met_limieten"?O.giftcard:null,M0=u?.["blocked-slots"]||[],L0=(0, h2.getAvailableTimeblocks)(u,e,s,x,M0,n0),b0=Q?(0, h2.getAvailableTimeblocksWithTableCheck)(u,e,L0,x,s):L0,q0=Object.keys(b0).map(_=>({value:_,label:b0[_].name||_}));q0.sort((_,w)=>{let[W0,K]=_.value.split(":").map(Number),[d0,U]=w.value.split(":").map(Number);return W0*60+K-(d0*60+U)}),h(q0),O[q.id]&&!q0.some(_=>_.value===O[q.id])&&o({target:{name:q.id,value:""}});}else h([]);},[e,b,u,s,f,q.id,B,O[q.id],o]),i0.useEffect(()=>{f==="vrije_keuze"&&(N(null),O[q.id]&&o({target:{name:q.id,value:""}}));},[e,f]);let k=x=>{o({target:{name:q.id,value:x}}),T(false),n?.(null);},H=x=>{B!==x&&O[q.id]&&o({target:{name:q.id,value:""}}),N(x);},C=()=>{if(f==="vrije_keuze")return B?O[q.id]?`${g[B].label} \u2013 ${O[q.id]}`:`${g[B].label} \u2013 ${i.selectTime}`:i.selectMeal;if(O[q.id]){let x=X.find(Y=>Y.value===O[q.id]);return x?x.label:i.selectTime}return i.selectTime};return q?i0__default.default.createElement("div",{className:"form-group time-selector-container",ref:S},e?i0__default.default.createElement(i0__default.default.Fragment,null,i0__default.default.createElement("div",{className:"time-display",onClick:()=>{T(!R),R||n?.(q.id);}},i0__default.default.createElement("span",null,C()),i0__default.default.createElement("span",{className:"arrow"},i0__default.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:R?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},i0__default.default.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),R&&i0__default.default.createElement("div",{className:"time-selector"},f==="vrije_keuze"?B?i0__default.default.createElement("div",{className:"time-period"},i0__default.default.createElement("div",{className:"time-period-label"},g[B].label,i0__default.default.createElement("button",{onClick:()=>N(null),style:{marginLeft:"10px",background:"none",border:"none",cursor:"pointer",color:"#006600",fontSize:"0.9rem",padding:0}},"\u2190 ",i.back)),i0__default.default.createElement("div",{className:"time-options"},X.length===0?i0__default.default.createElement("div",{className:"no-times"},i.noTimes):X.map(x=>i0__default.default.createElement("div",{key:x.value,className:`time-option ${O[q.id]===x.value?"selected":""}`,onClick:()=>k(x.value)},x.label)))):i0__default.default.createElement("div",{className:"time-options"},Object.keys(g).map(x=>i0__default.default.createElement("div",{key:x,className:`time-option ${B===x?"selected":""}`,onClick:()=>H(x)},g[x].label))):i0__default.default.createElement("div",{className:"time-options"},X.length===0?i0__default.default.createElement("div",{className:"no-times"},i.noTimes):X.map(x=>i0__default.default.createElement("div",{key:x.value,className:`time-option ${O[q.id]===x.value?"selected":""}`,onClick:()=>k(x.value)},x.label))))):i0__default.default.createElement("p",{className:"info-text"},i.noDateSelected)):null});rp.displayName="TimeSelector";var sp=rp;R0(`.new-reservation-page .table-selector-container{margin-top:15px;padding:10px;border:1px solid #eee;border-radius:4px;background-color:#f9f9f9}.new-reservation-page .table-selector-label{display:block;margin-bottom:10px;font-weight:700;color:#333;font-size:.95rem}.new-reservation-page .table-options{display:flex;flex-wrap:wrap;gap:10px}.new-reservation-page .table-option{display:inline-block;margin-right:15px;margin-bottom:5px;padding:5px 8px;border:1px solid #ccc;border-radius:4px;background-color:#fff;transition:background-color .2s ease}.new-reservation-page .table-option label{display:flex;align-items:center;cursor:pointer;font-size:.9rem;color:#555}.new-reservation-page .table-option input[type=checkbox]{margin-right:8px;cursor:pointer;accent-color:var(--primary-color, #006600)}.new-reservation-page .table-option:has(input[type=checkbox]:checked){background-color:#e0f2e0;border-color:#060}.new-reservation-page .table-option:hover{background-color:#f0f0f0}.new-reservation-page .info-text{margin-top:10px;font-size:.85rem;color:#666}.new-reservation-page .selected-tables-info{margin-top:10px;font-style:italic}.new-reservation-page .info-text.loading-tables{font-style:italic;color:#060}
12
12
  `);var $4=({availableTables:b=[],isFetching:O=false,formData:o={},handleChange:q,setFormData:e})=>{let a=localStorage.getItem("preferredLanguage")||"nl",n=A1?.[a]?.tableSelector||{},u={label:n.label||"Tafels",noTables:n.noTables||"Geen tafels beschikbaar voor deze selectie.",table:n.table||"Tafel",max:n.max||"Max"},s=Array.isArray(o.selectedTableNumbers)?o.selectedTableNumbers:[],f=Array.isArray(o.selectedTableIds)?o.selectedTableIds:[],L=(R,T)=>{if(typeof q=="function"){q({target:{multiple:true,updates:{selectedTableNumbers:R,selectedTableIds:T}}});return}typeof e=="function"&&e(X=>({...X,selectedTableNumbers:R,selectedTableIds:T}));},i=R=>T=>{let X=T.target.checked,h=b.find(S=>S.tableNumber===R);if(!h)return;let B=[...s],N=[...f];X?(B.includes(R)||B.push(R),N.includes(h.tableId)||N.push(h.tableId)):(B=B.filter(S=>S!==R),N=N.filter(S=>S!==h.tableId)),B.sort((S,g)=>S-g),L(B,N);};return O?i0__default.default.createElement("div",{className:"form-group table-selector-container"},i0__default.default.createElement("label",{className:"table-selector-label"},u.label),i0__default.default.createElement("p",{className:"info-text"},"Laden\u2026")):!b||b.length===0?i0__default.default.createElement("div",{className:"form-group table-selector-container"},i0__default.default.createElement("label",{className:"table-selector-label"},u.label),i0__default.default.createElement("p",{className:"info-text"},u.noTables)):i0__default.default.createElement("div",{className:"form-group table-selector-container"},i0__default.default.createElement("label",{className:"table-selector-label"},u.label),i0__default.default.createElement("div",{className:"table-options"},b.map(R=>{let T=R.tableNumber,X=R.maxCapacity??R.capacity??R.seats??"-",h=s.includes(T);return i0__default.default.createElement("div",{key:`${R.tableId||T}`,className:"table-option"},i0__default.default.createElement("label",null,i0__default.default.createElement("input",{type:"checkbox",value:T,checked:h,onChange:i(T)}),u.table," ",T," (",u.max,": ",X,")"))})))},Rp=$4;R0(`.new-reservation-page .form-row .field-label{display:block;margin-bottom:6px;font-weight:600}.new-reservation-page .form-row .reservation-mode-buttons{margin-top:0}.new-reservation-page .reservation-mode-buttons{display:flex;gap:10px;margin-top:10px}.new-reservation-page .reservation-mode-button{flex:1;padding:10px;border:1px solid #ccc;border-radius:var(--border-radius);background-color:var(--color-white);cursor:pointer;font-size:1rem;transition:background-color .3s ease,color .3s ease}.new-reservation-page .reservation-mode-button:nth-child(3){flex:0 0 100%}.new-reservation-page .reservation-modes-container{display:flex;flex-wrap:wrap;margin:0 -5px;width:100%}.new-reservation-page .reservation-mode-button{flex:0 0 calc(50% - 10px);margin:5px;padding:10px;box-sizing:border-box;text-align:center;border:1px solid #ccc;background:#f7f7f7;cursor:pointer}.new-reservation-page .reservation-mode-button.active,.new-reservation-page .reservation-mode-button:hover{background-color:var(--color-blue);color:var(--color-white)}.new-reservation-page .unlimited-mode-warning{display:flex;align-items:flex-start;gap:10px;margin:15px 0;padding:12px 15px;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:var(--border-radius, 4px);border-left:4px solid #e67e22;font-size:.9rem;line-height:1.4}.new-reservation-page .unlimited-mode-warning .warning-icon{color:#e67e22;font-size:1.1rem;margin-top:2px;flex-shrink:0}.new-reservation-page .unlimited-mode-warning .warning-text{color:#856404;margin:0}@media screen and (max-width:480px){.new-reservation-page .unlimited-mode-warning{margin:10px 0;padding:10px 12px;font-size:.85rem}.new-reservation-page .unlimited-mode-warning .warning-icon{font-size:1rem}}.new-reservation-page .reservation-sidebar-component{position:fixed;top:0;right:-400px;width:400px;height:100%;background-color:#fff;box-shadow:-2px 0 5px #0000001a;z-index:var(--z-index-sidebar-reservation);display:flex;flex-direction:column;overflow-y:auto;transition:right .3s ease-in-out}.new-reservation-page .admin-title{text-align:center;margin-bottom:30px}.new-reservation-page .reservation-sidebar-component.open{right:0}.new-reservation-page .reservation-sidebar-content{padding:60px 20px 20px}.new-reservation-page .close-sidebar-button{position:absolute;top:10px;left:10px;background-color:transparent;border:none;cursor:pointer}.new-reservation-page .close-sidebar-button svg{color:#000}.new-reservation-page .sidebar-section-one,.new-reservation-page .sidebar-section-two{margin-bottom:20px}.new-reservation-page .reservation-footer{margin-top:auto}.new-reservation-page .store-reservation-button{width:100%;padding:12px;background-color:var(--color-blue);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.1rem}.new-reservation-page .open-sidebar-button{position:fixed;bottom:20px;right:20px;background-color:var(--color-blue);color:#fff;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;z-index:var(--z-index-modal)!important;transition:all .3s ease}.new-reservation-page .open-sidebar-button:hover{background-color:var(--color-blue-hover-accent)!important}.new-reservation-page .open-sidebar-button svg{position:relative;top:2px}@media screen and (max-width:480px){.new-reservation-page .reservation-sidebar-component{width:100%}}.new-reservation-page .sidebar-section-personeel{margin-bottom:10px}
13
13
  `);var up=G0(O1());var Mq=()=>{let b=i0.useCallback(()=>localStorage.getItem("accessToken"),[]),O=i0.useCallback((e,a={})=>{let{params:n,...u}=a,s=b();return fp__default.default.get(e,{...u,params:n,headers:{...u.headers,...s?{Authorization:`Bearer ${s}`}:{}}}).then(f=>f.data).catch(f=>{throw console.error("Error fetching data:",f),f})},[b]),o=i0.useCallback((e,a,n=null,u={})=>{let s=b();return fp__default.default({method:e,url:a,data:n,...u,headers:{...u.headers,...s?{Authorization:`Bearer ${s}`}:{}}}).then(f=>f.data).catch(f=>{throw console.error(`Error with ${e} request:`,f),f})},[b]);return i0.useMemo(()=>({get:O,post:(e,a,n)=>o("POST",e,a,n),put:(e,a,n)=>o("PUT",e,a,n),patch:(e,a,n)=>o("PATCH",e,a,n),delete:(e,a)=>o("DELETE",e,null,a)}),[O,o])},t1=Mq;var Lp=G0(T2());var lp=i0.memo(({formData:b,errors:O,handleChange:o,handleStepOneSubmit:q,setFormData:e,timeblocks:a,loadingTimeblocks:n,timeblocksError:u,restaurantData:s})=>{let f=localStorage.getItem("preferredLanguage")||"nl",L=A1[f].reservationStepOne,[i,R]=i0.useState(b.guests||2),[T,X]=i0.useState(null),[h,B]=i0.useState([]),N=t1(),[S,g]=i0.useState([]),[k,H]=i0.useState(false),C=i0.useRef(false),x=i0.useCallback(U=>{e(Z=>{let p0={...Z};return U.forEach(v=>{p0[v]="";}),(U.includes("date")||U.includes("time")||U.includes("guests"))&&(p0.selectedTableNumbers=[],p0.selectedTableIds=[],g([])),p0});},[e]);i0.useEffect(()=>{let Z=(0, up.default)().tz("Europe/Amsterdam").startOf("day").clone().startOf("isoWeek");for(;kz(Z);)Z.add(1,"week");X(Z);},[]),i0.useEffect(()=>{(async()=>{if(T&&(b.reservationMode==="met_limieten"||b.reservationMode==="zonder_regels")){let Z=s?.["table-settings"]||{},p0=Z.isInstalled===true&&Z.assignmentMode==="automatic";if(b.reservationMode==="met_limieten"||b.reservationMode==="zonder_regels"&&p0){let v=T.format("YYYY-MM-DD"),z0=T.clone().add(13,"days").format("YYYY-MM-DD"),a0=localStorage.getItem("username"),P=`${window.baseDomain}api/slots/${a0}/${v}/${z0}`;try{let O0=await N.get(P,{noCache:!0});B(O0||[]);}catch(O0){console.error("Error fetching reservations:",O0),B([]);}}else B([]);}else B([]);})();},[T,N,b.reservationMode,s]);let Y=U=>{X(U),x(["date","time","selectedTableNumbers","selectedTableIds"]);};i0.useEffect(()=>{if(!C.current){let U=false,Z={};b.reservationMode||(Z.reservationMode="met_limieten",U=true),(!b.guests||b.guests==="")&&(Z.guests=i,U=true),Array.isArray(b.selectedTableNumbers)||(Z.selectedTableNumbers=[],U=true),Array.isArray(b.selectedTableIds)||(Z.selectedTableIds=[],U=true),U&&setTimeout(()=>{o({target:{multiple:true,updates:Z}});},0),C.current=true;}},[b.reservationMode,b.guests,b.selectedTableNumbers,b.selectedTableIds,i,o]);let Q=i0.useMemo(()=>s?.["table-settings"]||{},[s]),n0=i0.useMemo(()=>Q.isInstalled===true&&Q.assignmentMode==="automatic",[Q]),M0=i0.useMemo(()=>["met_limieten","zonder_regels","vrije_keuze"].includes(b.reservationMode),[b.reservationMode]),L0=i0.useMemo(()=>M0&&b.date&&b.time&&b.guests>0&&n0&&S.length>0,[M0,b.date,b.time,b.guests,n0,S.length]);i0.useEffect(()=>{if(!n0||!b.date||!b.time||b.guests<=0||!s||!h){g([]),H(false);return}H(true);let U=setTimeout(()=>{(window.requestIdleCallback||(p0=>setTimeout(p0,1)))(()=>{try{let p0=Z0("getAvailableTablesForTime",Lp.getAvailableTablesForTime,s,b.date,b.time,b.guests,h);g(p0);}catch(p0){console.error("Error calculating available tables:",p0),g([]);}finally{H(false);}});},500);return ()=>{clearTimeout(U),H(false);}},[n0,b.date,b.time,b.guests,s,h]),i0.useEffect(()=>{if(S.length>0){let U=b.selectedTableNumbers||[],Z=b.selectedTableIds||[],p0=[],v=[];U.forEach(z0=>{let a0=S.find(P=>P.tableNumber===z0);a0&&Z.includes(a0.tableId)&&(p0.push(z0),v.push(a0.tableId));}),p0.length!==U.length&&setTimeout(()=>{o({target:{multiple:true,updates:{selectedTableNumbers:p0,selectedTableIds:v}}});},0);}else (b.selectedTableNumbers?.length>0||b.selectedTableIds?.length>0)&&setTimeout(()=>{o({target:{multiple:true,updates:{selectedTableNumbers:[],selectedTableIds:[]}}});},0);},[S,b.selectedTableNumbers,b.selectedTableIds]);let b0=U=>{let Z=parseInt(U.target.value,10)||1;R(Z),o(U),x(["time","selectedTableNumbers","selectedTableIds"]);};i0.useEffect(()=>{x(["date","time","selectedTableNumbers","selectedTableIds"]);},[b.reservationMode,x]);let q0=U=>{U==="met_limieten"?o({target:{name:"reservationMode",value:"met_limieten"}}):U==="onbeperkt_parent"&&(["zonder_regels","vrije_keuze"].includes(b.reservationMode)||o({target:{name:"reservationMode",value:"zonder_regels"}}));},_=U=>{o({target:{name:"reservationMode",value:U}});},w=b.reservationMode,W0=!!s?.["general-settings"]?.seatSelectionEnabled,K=["Terras","Restaurant"],d0=U=>{e(Z=>({...Z,zitplaats:U}));};return u?i0__default.default.createElement("div",null,L.errors.openingHoursNotSet," ",i0__default.default.createElement("a",{href:"https://happychef.cloud/#/openinghours/dinner",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-blue)",textDecoration:"underline"}},L.errors.clickHereToSet)):i0__default.default.createElement("form",{className:"account-manage-form",noValidate:true},i0__default.default.createElement("div",{className:"form-group reservation-mode"},i0__default.default.createElement("div",{className:"reservation-modes-container"},i0__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${w==="met_limieten"?"active":""}`,onClick:()=>q0("met_limieten"),"aria-pressed":w==="met_limieten"},L.modes.withLimits),i0__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)?"active":""}`,onClick:()=>q0("onbeperkt_parent"),"aria-pressed":["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)},L.modes.unlimited)),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)&&i0__default.default.createElement("div",{className:"reservation-modes-container sub-modes"},i0__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${w==="zonder_regels"?"active":""}`,onClick:()=>_("zonder_regels"),"aria-pressed":w==="zonder_regels"},L.modes.openingHours),i0__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${w==="vrije_keuze"?"active":""}`,onClick:()=>_("vrije_keuze"),"aria-pressed":w==="vrije_keuze"},L.modes.free))),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)&&i0__default.default.createElement("div",{className:"unlimited-mode-warning"},i0__default.default.createElement("div",{className:"warning-text"},L.warnings?.unlimitedMode||(f==="nl"?"Let op: Bij onbeperkte boekingen wordt geen rekening gehouden met de maximale capaciteit van het restaurant. De maximale zitplaatslimiet kan worden overschreden.":"Warning: Unlimited bookings do not take into account the restaurant's maximum capacity. The maximum seating limit may be exceeded."))),i0__default.default.createElement(hz,{setGuests:R,value:b.guests||i,onChange:b0,error:O.guests}),M0&&b.guests>0&&i0__default.default.createElement(ip,{guests:b.guests,formData:b,handleChange:o,resetFormDataFields:x,restaurantData:s,reservations:h,startDate:T,onWeekChange:Y,reservationMode:w}),M0&&b.date&&i0__default.default.createElement(sp,{guests:b.guests,formData:b,handleChange:o,field:{id:"time",label:L.fields.time},selectedDate:b.date,setCurrentExpandedField:()=>{},restaurantData:s,reservations:h,reservationMode:w}),W0&&i0__default.default.createElement("div",{className:"form-row",style:{marginTop:12}},i0__default.default.createElement("div",{className:"reservation-mode-buttons"},K.map(U=>i0__default.default.createElement("button",{key:U,type:"button",className:`reservation-mode-button ${b.zitplaats===U?"active":""}`,onClick:()=>d0(U),"aria-pressed":b.zitplaats===U},U))),O.zitplaats&&i0__default.default.createElement("small",{className:"error"},O.zitplaats)),L0&&i0__default.default.createElement(Rp,{availableTables:S,isFetching:k,formData:b,setFormData:e,handleChange:o}),k&&b.date&&b.time&&b.guests>0&&i0__default.default.createElement("div",{style:{textAlign:"center",padding:"10px",color:"#666",fontSize:"14px"}},"Beschikbare tafels berekenen..."))});lp.displayName="ReservationStepOne";var CM=lp;var kM=()=>localStorage.getItem("preferredLanguage")||"nl",w0=(b,O,o="nl")=>{let q=kM();return (b[q]||b[o]||{})[O]||{}};var Np={v:"5.12.1",fr:30,ip:0,op:530,w:1024,h:900,nm:"gr1",ddd:0,assets:[],layers:[{ddd:0,ind:1,ty:4,nm:"Layer 6",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:25,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:145,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:265,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:385,s:[9]},{t:505,s:[0]}],ix:10},p:{a:0,k:[1206.514,-59.851,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:25,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:145,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:265,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:385,s:[134.764,134.764,100]},{t:505,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:150,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[446.031,78.565],[0,0],[0,0],[0,0],[0,0],[0,0]],o:[[-474.322,-83.548],[0,0],[0,0],[.57,.727],[0,0],[-8.99,-11.449]],v:[[-95.525,259.75],[-429.671,-292.588],[-219.085,-449.194],[448.196,448.091],[449.016,449.194],[448.196,448.091]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.129411771894,.149019613862,.313725501299,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1535,st:25,ct:1,bm:0},{ddd:0,ind:2,ty:4,nm:"Layer 5",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:20,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:140,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:260,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:380,s:[9]},{t:500,s:[0]}],ix:10},p:{a:0,k:[1073.85,-30.391,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:20,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:140,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:260,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:380,s:[134.764,134.764,100]},{t:500,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:150,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[424.081,79.754],[0,0],[0,0],[0,0],[0,0],[0,0]],o:[[-450.977,-84.811],[0,0],[0,0],[.55,.7],[0,0],[-8.65,-11.031]],v:[[-50.221,245.909],[-467.951,-214.723],[-174.945,-432.62],[467.71,431.558],[468.5,432.62],[467.71,431.558]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[0,.792156875134,.843137264252,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1530,st:20,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"Layer 4",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:15,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:135,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:255,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:375,s:[9]},{t:495,s:[0]}],ix:10},p:{a:0,k:[988.859,75.079,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:15,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:135,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:255,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:375,s:[134.764,134.764,100]},{t:495,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:100,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.833,y:1},o:{x:.333,y:0},t:75,s:[{i:[[432.399,124.912],[0,0],[0,0],[123.76,-96.677]],o:[[-432.397,-124.911],[0,0],[0,0],[-123.77,96.676]],v:[[-78.678,155.686],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:195,s:[{i:[[432.399,124.912],[0,0],[0,0],[123.76,-96.677]],o:[[-432.397,-124.911],[0,0],[0,0],[-123.77,96.676]],v:[[-97.842,203.742],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:315,s:[{i:[[253.734,244.526],[0,0],[0,0],[123.76,-96.677]],o:[[-324.079,-312.318],[0,0],[0,0],[-123.77,96.676]],v:[[-129.581,213.076],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{i:{x:.667,y:1},o:{x:.167,y:0},t:435,s:[{i:[[226.573,11.739],[0,0],[0,0],[123.76,-96.677]],o:[[-147.242,-7.629],[0,0],[0,0],[-123.77,96.676]],v:[[-215.336,122.406],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{t:529,s:[{i:[[432.399,124.912],[0,0],[0,0],[123.76,-96.677]],o:[[-432.397,-124.911],[0,0],[0,0],[-123.77,96.676]],v:[[-78.678,155.686],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.929411768913,1,.482352942228,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1525,st:15,ct:1,bm:0},{ddd:0,ind:4,ty:4,nm:"Layer 3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:10,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:130,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:250,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:370,s:[9]},{t:490,s:[0]}],ix:10},p:{a:0,k:[894.117,84.677,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:10,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:130,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:250,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:370,s:[134.764,134.764,100]},{t:490,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:40,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.167,y:0},t:67,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.333,y:0},t:190,s:[{i:[[303.862,85.416],[0,0],[0,0],[92.214,-68.58]],o:[[-353.863,-99.472],[0,0],[0,0],[-92.219,68.579]],v:[[-114.955,184.127],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:310,s:[{i:[[66.949,140.982],[0,0],[0,0],[92.213,-68.58]],o:[[-157.679,-332.04],[0,0],[0,0],[-92.219,68.579]],v:[[-182.308,153.536],[-647.392,-141.284],[-176.178,-428.251],[423.29,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:430,s:[{i:[[160.75,51.563],[0,0],[0,0],[92.213,-68.58]],o:[[-350.011,-112.272],[0,0],[0,0],[-92.219,68.579]],v:[[-133.05,149.658],[-420.434,-232.638],[-176.178,-428.251],[423.29,416.898]],c:true}]},{t:524,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.129411771894,.149019613862,.313725501299,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:8,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1520,st:10,ct:1,bm:0},{ddd:0,ind:5,ty:4,nm:"Layer 2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:5,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:125,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:245,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:365,s:[9]},{t:485,s:[0]}],ix:10},p:{a:0,k:[894.117,83.978,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:5,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:125,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:245,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:365,s:[134.764,134.764,100]},{t:485,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.167,y:0},t:62,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.333,y:0},t:185,s:[{i:[[303.862,85.416],[0,0],[0,0],[92.214,-68.58]],o:[[-353.863,-99.472],[0,0],[0,0],[-92.219,68.579]],v:[[-114.955,184.127],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:305,s:[{i:[[66.949,140.982],[0,0],[0,0],[92.213,-68.58]],o:[[-157.679,-332.04],[0,0],[0,0],[-92.219,68.579]],v:[[-182.308,153.536],[-647.392,-141.284],[-176.178,-428.251],[423.29,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:425,s:[{i:[[160.75,51.563],[0,0],[0,0],[92.213,-68.58]],o:[[-350.011,-112.272],[0,0],[0,0],[-92.219,68.579]],v:[[-133.05,149.658],[-420.434,-232.638],[-176.178,-428.251],[423.29,416.898]],c:true}]},{t:519,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.956862747669,.980392158031,.976470589638,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1515,st:5,ct:1,bm:0},{ddd:0,ind:6,ty:4,nm:"Layer 1",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:120,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:240,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:360,s:[9]},{t:480,s:[0]}],ix:10},p:{a:0,k:[895.851,111.19,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:0,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:120,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:240,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:360,s:[134.764,134.764,100]},{t:480,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:200,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:57,s:[{i:[[261.24,94.803],[0,0],[0,0],[280.19,-208.366]],o:[[-261.24,-94.803],[0,0],[0,0],[-280.189,208.367]],v:[[-130.27,227.181],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{i:{x:.667,y:1},o:{x:.333,y:0},t:180,s:[{i:[[240.029,117.135],[0,0],[0,0],[280.191,-208.366]],o:[[-249.757,-121.882],[0,0],[0,0],[-280.189,208.367]],v:[[-256.037,109.609],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{i:{x:.667,y:1},o:{x:.333,y:0},t:300,s:[{i:[[153.185,80.344],[0,0],[0,0],[280.191,-208.366]],o:[[-246.114,-129.083],[0,0],[0,0],[-280.189,208.367]],v:[[-99.854,269.938],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{i:{x:.667,y:1},o:{x:.333,y:0},t:420,s:[{i:[[172.303,15.256],[0,0],[0,0],[280.191,-208.366]],o:[[-418.35,-37.043],[0,0],[0,0],[-280.189,208.367]],v:[[-1.548,216.055],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{t:514,s:[{i:[[261.24,94.803],[0,0],[0,0],[280.19,-208.366]],o:[[-261.24,-94.803],[0,0],[0,0],[-280.189,208.367]],v:[[-130.27,227.181],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[0,.792156875134,.843137264252,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1510,st:0,ct:1,bm:0}],markers:[],props:{}};var Bp={nl:{formField:{selectPlaceholder:"Selecteer een optie",tooltip:{confirm:"Klik om te Bevestigen",source:"Gevonden met Happy Ai"}}},en:{formField:{selectPlaceholder:"Select an option",tooltip:{confirm:"Click to Confirm",source:"Found with Happy Ai"}}},fr:{formField:{selectPlaceholder:"S\xE9lectionnez une option",tooltip:{confirm:"Cliquez pour confirmer",source:"Trouv\xE9 avec Happy Ai"}}}};R0(`.new-reservation-page .form-group .magic-tooltip{transition:transform .2s ease;transform-origin:bottom right}.new-reservation-page .form-group .magic-tooltip:hover{transform:scale(1.05)}
14
- `);var Wq=({label:b,name:O,type:o="text",icon:q,value:e,onChange:a,onBlur:n,error:u,placeholder:s,halfWidth:f,options:L=[],selectPlaceholder:i,rightIcon:R,onRightIconClick:T,tooltipContent:X})=>{let h=w0(Bp,"formField"),B=i||h.selectPlaceholder,[N,S]=i0.useState(false),g=i0.useRef(null),k=i0.useRef(null),H=R,C=q;i0.useEffect(()=>{let Q=n0=>{g.current&&!g.current.contains(n0.target)&&(k.current&&clearTimeout(k.current),S(false));};return N&&document.addEventListener("mousedown",Q),()=>document.removeEventListener("mousedown",Q)},[N]);let x={name:O,value:e,onChange:a,onBlur:n,"aria-label":b,className:`form-control ${u?"input-error":""}`};return i0__default.default.createElement("div",{className:`form-group ${f?"half-width":""}`,style:{position:"relative"}},i0__default.default.createElement("div",{className:"input-container"},C&&i0__default.default.createElement(C,{className:"input-icon"}),o==="select"?i0__default.default.createElement("select",{...x},i0__default.default.createElement("option",{value:""},B),L.map(Q=>i0__default.default.createElement("option",{key:Q.value,value:Q.value},Q.label))):o==="textarea"?i0__default.default.createElement("textarea",{...x,placeholder:s}):i0__default.default.createElement("input",{type:o,...x,placeholder:s}),H&&i0__default.default.createElement("div",{className:"magic-wand-container",onClick:T,onMouseEnter:()=>{k.current&&clearTimeout(k.current),S(true);},onMouseLeave:()=>{k.current=setTimeout(()=>S(false),1200);},style:{position:"absolute",top:"50%",right:"10px",transform:"translateY(-50%)",cursor:"pointer"}},i0__default.default.createElement(H,{className:"magic-wand-icon",style:{color:"#B567C2"}}),N&&X&&i0__default.default.createElement("div",{ref:g,className:"magic-tooltip",style:{position:"absolute",bottom:"100%",right:0,backgroundColor:"#fff",color:"#333",borderRadius:"8px",fontSize:"0.9rem",boxShadow:"0px 4px 10px rgba(0,0,0,0.15)",zIndex:1e3,marginBottom:"8px",minWidth:"220px",overflow:"hidden"}},i0__default.default.createElement("div",{className:"lottie-container",style:{position:"absolute",top:0,right:"1px",width:"calc(100% + 30px)",height:"100%",marginRight:"-100px",pointerEvents:"none",zIndex:1}},i0__default.default.createElement(qq__default.default,{animationData:Np,loop:true,style:{width:"100%",height:"100%",opacity:.5}})),i0__default.default.createElement("div",{style:{position:"relative",zIndex:2,padding:"12px 20px"}},i0__default.default.createElement("div",{style:{borderBottom:"1px solid #eee",marginBottom:"8px",paddingBottom:"4px"}},X),i0__default.default.createElement("div",{style:{fontWeight:"bold",fontSize:"13px",textAlign:"center",marginTop:"8px"}},h.tooltip?.confirm),i0__default.default.createElement("div",{style:{fontSize:"0.7rem",textAlign:"center",color:"#999",marginTop:"4px"}},h.tooltip?.source))))),u&&i0__default.default.createElement("p",{className:"form-error"},u))},C0=i0__default.default.memo(Wq);var o1=G0(O1());var mp={nl:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",extraInfo:"Extra info",seatPlace:"Zitplaats"},placeholders:{firstName:"Voornaam",lastName:"Achternaam",email:"E-mailadres",phone:"Mobiel nummer",extraInfo:"Extra informatie",seatPlace:"Selecteer zitplaats"},magic:{title:"Gast Gegevens"}},reservationSummary:{title:"Reservatie Gegevens",guests:"Aantal gasten",date:"Datum",time:"Tijd",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",menu:"Menu",staff:"Aangemaakt door",giftcard:"Cadeaubon",extraInfo:"Extra informatie",seatPlace:"Zitplaats",newReservationButton:"Nieuwe Reservatie Maken"}},en:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",extraInfo:"Extra Info",seatPlace:"Seating area"},placeholders:{firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Mobile Number",extraInfo:"Extra Information",seatPlace:"Select seating area"},magic:{title:"Guest Details"}},reservationSummary:{title:"Reservation Details",guests:"Number of Guests",date:"Date",time:"Time",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",menu:"Menu",staff:"Created by",giftcard:"Gift Card",extraInfo:"Extra Information",seatPlace:"Seating area",newReservationButton:"New Reservation"}},fr:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise"},placeholders:{firstName:"Pr\xE9nom",lastName:"Nom",email:"Adresse e-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"S\xE9lectionner une zone d\u2019assise"},magic:{title:"D\xE9tails Invit\xE9"}},reservationSummary:{title:"D\xE9tails de la R\xE9servation",guests:"Nombre d'invit\xE9s",date:"Date",time:"Heure",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",menu:"Menu",staff:"Cr\xE9\xE9 par",giftcard:"Carte Cadeau",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise",newReservationButton:"Nouvelle R\xE9servation"}}};R0(`.new-reservation-page .name-fields{display:flex;gap:20px}.input-container .form-control{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;border-radius:5px;font-size:16px}
14
+ `);var Wq=({label:b,name:O,type:o="text",icon:q,value:e,onChange:a,onBlur:n,error:u,placeholder:s,halfWidth:f,options:L=[],selectPlaceholder:i,rightIcon:R,onRightIconClick:T,tooltipContent:X})=>{let h=w0(Bp,"formField"),B=i||h.selectPlaceholder,[N,S]=i0.useState(false),g=i0.useRef(null),k=i0.useRef(null),H=R,C=q;i0.useEffect(()=>{let Q=n0=>{g.current&&!g.current.contains(n0.target)&&(k.current&&clearTimeout(k.current),S(false));};return N&&document.addEventListener("mousedown",Q),()=>document.removeEventListener("mousedown",Q)},[N]);let x={name:O,value:e,onChange:a,onBlur:n,"aria-label":b,className:`form-control ${u?"input-error":""}`};return i0__default.default.createElement("div",{className:`form-group ${f?"half-width":""}`,style:{position:"relative"}},i0__default.default.createElement("div",{className:"input-container"},C&&i0__default.default.createElement(C,{className:"input-icon"}),o==="select"?i0__default.default.createElement("select",{...x},i0__default.default.createElement("option",{value:""},B),L.map(Q=>i0__default.default.createElement("option",{key:Q.value,value:Q.value},Q.label))):o==="textarea"?i0__default.default.createElement("textarea",{...x,placeholder:s}):i0__default.default.createElement("input",{type:o,...x,placeholder:s}),H&&i0__default.default.createElement("div",{className:"magic-wand-container",onClick:T,onMouseEnter:()=>{k.current&&clearTimeout(k.current),S(true);},onMouseLeave:()=>{k.current=setTimeout(()=>S(false),1200);},style:{position:"absolute",top:"50%",right:"10px",transform:"translateY(-50%)",cursor:"pointer"}},i0__default.default.createElement(H,{className:"magic-wand-icon",style:{color:"#B567C2"}}),N&&X&&i0__default.default.createElement("div",{ref:g,className:"magic-tooltip",style:{position:"absolute",bottom:"100%",right:0,backgroundColor:"#fff",color:"#333",borderRadius:"8px",fontSize:"0.9rem",boxShadow:"0px 4px 10px rgba(0,0,0,0.15)",zIndex:1e3,marginBottom:"8px",minWidth:"220px",overflow:"hidden"}},i0__default.default.createElement("div",{className:"lottie-container",style:{position:"absolute",top:0,right:"1px",width:"calc(100% + 30px)",height:"100%",marginRight:"-100px",pointerEvents:"none",zIndex:1}},i0__default.default.createElement(qq__default.default,{animationData:Np,loop:true,style:{width:"100%",height:"100%",opacity:.5}})),i0__default.default.createElement("div",{style:{position:"relative",zIndex:2,padding:"12px 20px"}},i0__default.default.createElement("div",{style:{borderBottom:"1px solid #eee",marginBottom:"8px",paddingBottom:"4px"}},X),i0__default.default.createElement("div",{style:{fontWeight:"bold",fontSize:"13px",textAlign:"center",marginTop:"8px"}},h.tooltip?.confirm),i0__default.default.createElement("div",{style:{fontSize:"0.7rem",textAlign:"center",color:"#999",marginTop:"4px"}},h.tooltip?.source))))),u&&i0__default.default.createElement("p",{className:"form-error"},u))},C0=i0__default.default.memo(Wq);var o1=G0(O1());var mp={nl:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",extraInfo:"Extra info",seatPlace:"Zitplaats"},placeholders:{firstName:"Voornaam",lastName:"Achternaam",email:"E-mailadres",phone:"Mobiel nummer",extraInfo:"Extra informatie",seatPlace:"Selecteer zitplaats"},magic:{title:"Gast Gegevens"}},reservationSummary:{title:"Reservatie Gegevens",guests:"Aantal gasten",date:"Datum",time:"Tijd",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",menu:"Menu",staff:"Aangemaakt door",giftcard:"Cadeaubon",extraInfo:"Extra informatie",seatPlace:"Zitplaats",newReservationButton:"Nieuwe Reservatie Maken"}},en:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",extraInfo:"Extra Info",seatPlace:"Seating area"},placeholders:{firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Mobile Number",extraInfo:"Extra Information",seatPlace:"Select seating area"},magic:{title:"Guest Details"}},reservationSummary:{title:"Reservation Details",guests:"Number of Guests",date:"Date",time:"Time",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",menu:"Menu",staff:"Created by",giftcard:"Gift Card",extraInfo:"Extra Information",seatPlace:"Seating area",newReservationButton:"New Reservation"}},fr:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise"},placeholders:{firstName:"Pr\xE9nom",lastName:"Nom",email:"Adresse e-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"S\xE9lectionner une zone d\u2019assise"},magic:{title:"D\xE9tails Invit\xE9"}},reservationSummary:{title:"D\xE9tails de la R\xE9servation",guests:"Nombre d'invit\xE9s",date:"Date",time:"Heure",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",menu:"Menu",staff:"Cr\xE9\xE9 par",giftcard:"Carte Cadeau",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise",newReservationButton:"Nouvelle R\xE9servation"}}};R0(`.new-reservation-page .name-fields{display:flex;gap:20px}.new-reservation-page .input-container .form-control{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;border-radius:5px;font-size:16px}
15
15
  `);var hp=i0__default.default.memo(({formData:b,errors:O,handleChange:o,setFormData:q,menuData:e})=>{let a=kM(),n=w0(mp,"reservationStepTwoFiltering"),[u,s]=i0.useState([]),[f,L]=i0.useState(false),[i,R]=i0.useState(null),T=t1(),X=fa.FaMagic,h=()=>{i&&N();};i0.useEffect(()=>{if(o1.default.locale(a),!b.date||!b.time||!e.length)return s([]);let g=(0, o1.default)(`${b.date} ${b.time}`,"YYYY-MM-DD HH:mm"),k=e.filter(H=>{let C=g.isBetween((0, o1.default)(H.startDate,"YYYY-MM-DD"),(0, o1.default)(H.endDate,"YYYY-MM-DD"),"day","[]"),x=(0, o1.default)(b.time,"HH:mm").isBetween((0, o1.default)(H.startHour,"HH:mm"),(0, o1.default)(H.endHour,"HH:mm"),"minute","[]"),Y=g.format("dddd").toLowerCase(),Q=(H.daysOfWeek||[]).map(M0=>M0.toLowerCase()),n0=!Q.length||Q.includes(Y);return C&&x&&n0});s(k);},[b.date,b.time,e,a]);let B=async()=>{if(f||i)return;let g=(b.email||"").trim().toLowerCase(),k=(b.phone||"").trim(),H=g&&[".com",".net",".be",".nl"].some(Y=>g.endsWith(Y)),C=!!k&&(k.startsWith("+32")?k.length>=12:k.length>=10);if(!H&&!C)return;let x=[];H&&x.push("email"),C&&x.push("phone");try{let Y=await T.post(`${window.baseDomain}api/autofill`,{email:g,phone:k});Y?.firstName&&Y?.lastName&&Y?.email&&Y?.phone&&R({...Y,sources:x});}catch{console.error("Autofill error");}};i0.useEffect(()=>{B();},[b.email,b.phone]);let N=()=>{i&&(q(g=>({...g,firstName:i.firstName,lastName:i.lastName,email:i.email,phone:i.phone})),L(true),R(null));},S=i0.useMemo(()=>{if(!i)return {email:{},phone:{}};let g=i.sources.includes("email")&&(b.email||"").trim().toLowerCase()===i.email.trim().toLowerCase(),k=i.sources.includes("phone")&&(b.phone||"").trim()===i.phone.trim(),H={rightIcon:X,onRightIconClick:h};return {email:g?{...H,tooltipContent:i0__default.default.createElement("div",null,i0__default.default.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},n.magic?.title),i0__default.default.createElement("div",null,i.firstName," ",i.lastName),i0__default.default.createElement("div",null,i.phone))}:{},phone:k?{...H,tooltipContent:i0__default.default.createElement("div",null,i0__default.default.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},n.magic?.title),i0__default.default.createElement("div",null,i.firstName," ",i.lastName),i0__default.default.createElement("div",null,i.email))}:{}}},[i,b.email,b.phone,n.magic?.title]);return i0__default.default.createElement("div",{className:"reservation-step-two"},i0__default.default.createElement("div",{className:"account-manage-form"},u.length>0&&i0__default.default.createElement(C0,{label:n.labels?.menu||"Menu",name:"menu",type:"select",options:u.map(g=>({value:g.name,label:g.name})),value:b.menu,onChange:o,error:O.menu}),i0__default.default.createElement("div",{className:"name-fields"},i0__default.default.createElement(C0,{label:n.labels?.firstName||"Voornaam",name:"firstName",placeholder:n.placeholders?.firstName||"",value:b.firstName,onChange:o,error:O.firstName,icon:fa.FaUser}),i0__default.default.createElement(C0,{label:n.labels?.lastName||"Achternaam",name:"lastName",placeholder:n.placeholders?.lastName||"",value:b.lastName,onChange:o,error:O.lastName,icon:fa.FaUser})),i0__default.default.createElement(C0,{label:n.labels?.email||"Email",name:"email",type:"email",placeholder:n.placeholders?.email||"",value:b.email,onChange:o,onBlur:B,error:O.email,icon:fa.FaEnvelope,...S.email}),i0__default.default.createElement(C0,{label:n.labels?.phone||"Telefoon",name:"phone",type:"tel",placeholder:n.placeholders?.phone||"",value:b.phone,onChange:o,onBlur:B,error:O.phone,icon:fa.FaPhone,...S.phone}),i0__default.default.createElement(C0,{label:n.labels?.extraInfo||"Extra info",name:"extraInfo",type:"textarea",placeholder:n.placeholders?.extraInfo||"",value:b.extraInfo,onChange:o,error:O.extraInfo,icon:fa.FaInfoCircle})))});hp.displayName="ReservationStepTwo";var S2=hp;var yp={nl:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",extraInfo:"Extra info",seatPlace:"Zitplaats"},placeholders:{firstName:"Voornaam",lastName:"Achternaam",email:"E-mailadres",phone:"Mobiel nummer",extraInfo:"Extra informatie",seatPlace:"Selecteer zitplaats"},magic:{title:"Gast Gegevens"}},reservationSummary:{title:"Reservatie Gegevens",guests:"Aantal gasten",date:"Datum",time:"Tijd",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",menu:"Menu",staff:"Aangemaakt door",giftcard:"Cadeaubon",extraInfo:"Extra informatie",seatPlace:"Zitplaats",newReservationButton:"Nieuwe Reservatie Maken"}},en:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",extraInfo:"Extra Info",seatPlace:"Seating area"},placeholders:{firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Mobile Number",extraInfo:"Extra Information",seatPlace:"Select seating area"},magic:{title:"Guest Details"}},reservationSummary:{title:"Reservation Details",guests:"Number of Guests",date:"Date",time:"Time",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",menu:"Menu",staff:"Created by",giftcard:"Gift Card",extraInfo:"Extra Information",seatPlace:"Seating area",newReservationButton:"New Reservation"}},fr:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise"},placeholders:{firstName:"Pr\xE9nom",lastName:"Nom",email:"Adresse e-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"S\xE9lectionner une zone d\u2019assise"},magic:{title:"D\xE9tails Invit\xE9"}},reservationSummary:{title:"D\xE9tails de la R\xE9servation",guests:"Nombre d'invit\xE9s",date:"Date",time:"Heure",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",menu:"Menu",staff:"Cr\xE9\xE9 par",giftcard:"Carte Cadeau",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise",newReservationButton:"Nouvelle R\xE9servation"}}};R0(`.new-reservation-page .reservation-sidebar-component .reservation-summary .modal-title{margin-top:0;margin-bottom:20px}.new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details{list-style-type:none;padding:0;margin:0 0 20px;width:100%}.new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details li{margin-bottom:10px;font-size:15px;align-items:left;text-align:left}.new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details li strong{font-weight:700}.new-reservation-page .reservation-sidebar-component .reservation-summary{align-items:left}
16
16
  `);var sq=({formData:b,onNewReservation:O})=>{let o=w0(yp,"reservationSummary");return i0__default.default.createElement("div",{className:"reservation-summary"},i0__default.default.createElement("ul",{className:"reservation-details"},i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.title)),i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.guests,":")," ",b.guests),i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.date,":")," ",b.date),i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.time,":")," ",b.time),i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.firstName,":")," ",b.firstName),i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.lastName,":")," ",b.lastName),i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.email,":")," ",b.email),i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.phone,":")," ",b.phone),b.menu&&i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.menu,":")," ",b.menu),b.personeel&&i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.staff,":")," ",b.personeel),b.giftcard&&i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.giftcard,":")," ",b.giftcard),b.extraInfo&&i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.extraInfo,":")," ",b.extraInfo),b.zitplaats&&i0__default.default.createElement("li",null,i0__default.default.createElement("strong",null,o.seatPlace,":")," ",b.zitplaats)),i0__default.default.createElement("button",{className:"button-style-3",onClick:O},o.newReservationButton))},E2=sq;var Sp={nl:{zitplaatsSelection:{labels:{seating:"Zitplaats"},options:{noPreference:"Geen voorkeur"}},giftcardSelection:{labels:{giftcard:"Cadeaubon"},options:{noGiftcard:"Geen Cadeaubon"}}},en:{zitplaatsSelection:{labels:{seating:"Seating"},options:{noPreference:"No preference"}},giftcardSelection:{labels:{giftcard:"Gift Card"},options:{noGiftcard:"No Gift Card"}}},fr:{zitplaatsSelection:{labels:{seating:"Place Assise"},options:{noPreference:"Pas de pr\xE9f\xE9rence"}},giftcardSelection:{labels:{giftcard:"Cadeau"},options:{noGiftcard:"Pas de carte"}}}};R0(`.new-reservation-page .giftcard-selection{margin-bottom:20px}.new-reservation-page .giftcard-options{display:flex;gap:20px;margin:10px 0}.new-reservation-page .giftcard-option{display:flex;align-items:center;gap:8px;cursor:pointer}.new-reservation-page .form-label{font-weight:500;margin-bottom:8px;display:block}.new-reservation-page .giftcard-option input[type=radio]{margin:0;cursor:pointer}.new-reservation-page .giftcard-option label{cursor:pointer}
17
17
  `);var Lq=({restaurantData:b,formData:O,handleChange:o,resetFormDataFields:q})=>{let e=w0(Sp,"giftcardSelection"),[a,n]=i0.useState([]);if(i0.useEffect(()=>{if(!b)return;let f=["breakfast","lunch","dinner"],L=new Set;f.forEach(i=>{let R=b[`openinghours-${i}`]?.schemeSettings||{};Object.values(R).forEach(T=>{T?.giftcardsEnabled&&Array.isArray(T.giftcards)&&T.giftcards.forEach(X=>{let h=typeof X=="string"?X.trim():String(X||"").trim();h&&L.add(h);});});}),n([...L]);},[b]),!a.length)return null;let u=a.map(f=>({value:f,label:f})),s=f=>{o({target:{name:"giftcard",value:f.target.value}}),q(["date","time"]);};return i0__default.default.createElement("div",{className:"giftcard-selection"},i0__default.default.createElement(C0,{label:e.labels?.giftcard||"Giftcard",name:"giftcard",type:"select",options:u,value:O.giftcard||"",onChange:s,selectPlaceholder:e.options?.noGiftcard||"Geen giftcard"}))},v2=Lq;var vp={nl:{zitplaatsSelection:{labels:{seating:"Zitplaats"},options:{noPreference:"Geen voorkeur"}},giftcardSelection:{labels:{giftcard:"Cadeaubon"},options:{noGiftcard:"Geen Cadeaubon"}}},en:{zitplaatsSelection:{labels:{seating:"Seating"},options:{noPreference:"No preference"}},giftcardSelection:{labels:{giftcard:"Gift Card"},options:{noGiftcard:"No Gift Card"}}},fr:{zitplaatsSelection:{labels:{seating:"Place Assise"},options:{noPreference:"Pas de pr\xE9f\xE9rence"}},giftcardSelection:{labels:{giftcard:"Cadeau"},options:{noGiftcard:"Pas de carte"}}}};R0(`.new-reservation-page .zitplaats-selection{margin-bottom:15px}.new-reservation-page .zitplaats-selection select{width:100%;padding:10px;border-radius:4px;border:1px solid #ccc;background-color:#fff}
package/dist/index.mjs CHANGED
@@ -6,12 +6,12 @@ Arguments: `+Array.prototype.slice.call(c).join("")+`
6
6
  [getAvailableTablesForTime] Finding available tables for ${q} guests on ${O} at ${o}`);let i=F1(o,f,L);if(!i||i.length===0)return console.error(`[getAvailableTablesForTime] Could not compute required slots for ${O} ${o}`),[];let R={},T=e.filter(B=>B.date===O&&B.time&&B.guests>0).sort((B,N)=>{let S=B.time.split(":").map(Number),g=N.time.split(":").map(Number);return S[0]*60+S[1]-(g[0]*60+g[1])});console.log(`[getAvailableTablesForTime] Building occupancy map (Processing ${T.length} existing reservations)`);for(let B of T){let N=sb(B),S=[];if(N.length>0?S=N:S=Rb(b,B.date,B.time,B.guests,R,null),S.length>0){let g=F1(B.time,f,L);if(!g||g.length===0)continue;S.forEach(k=>{R[k]||(R[k]=new Set),g.forEach(H=>R[k].add(H));});}}console.log("[getAvailableTablesForTime] Occupancy map built");let X=tM(b,a),h=[];console.log(`[getAvailableTablesForTime] Checking ${X.length} tables for individual availability`);for(let B of X)I1(B,O,o)&&B.minCapacity<=q&&q<=B.maxCapacity&&G1(B.tableNumber,i,R)&&(console.log(`[getAvailableTablesForTime] Table ${B.tableNumber} is available`),h.push(B));return console.log(`[getAvailableTablesForTime] Found ${h.length} individually available tables: ${h.map(B=>B.tableNumber).join(", ")}`),h.sort((B,N)=>B.tableNumber-N.tableNumber),h}catch(n){return console.error(`[getAvailableTablesForTime] Error for ${O} ${o}:`,n),[]}}Lb.exports={isTimeAvailableSync:fb,filterTimeblocksByTableAvailability:ub,getAvailableTimeblocksWithTableCheck:Eo,getAvailableTablesForTime:vo};});var Nb=$((o5,lb)=>{var L2=r2(),{isDateAvailable:Co}=dM(),{getAvailableTimeblocks:ko}=R2(),{isTimeAvailableSync:xo}=sM(),{daysOfWeekEnglish:wo,getMealTypeByTime:Do}=X1(),l2="Europe/Brussels";function Po(b,O,o,q){if(!q||!q.trim())return true;let e=Do(o);if(!e)return false;let a=L2.tz(O,"YYYY-MM-DD",l2);if(!a.isValid())return false;let n=wo[a.day()],u=`openinghours-${e}`,s=b[u]&&b[u].schemeSettings&&b[u].schemeSettings[n]?b[u].schemeSettings[n]:null;return s?s.giftcardsEnabled!==true||!Array.isArray(s.giftcards)||s.giftcards.length===0?false:s.giftcards.includes(q):(console.error(`No day settings found for ${n} ${e}`),false)}function _o(b,O,o,q,e=[],a=null){let n=typeof window<"u"?window.currentReservationTicketItem:null;if(n&&!n.normalOpeningTimes){let T=L2.tz(O,"YYYY-MM-DD",l2).startOf("day"),X=n.filterStartDate?L2.tz(n.filterStartDate,"YYYY-MM-DD",l2).startOf("day"):null,h=n.filterEndDate?L2.tz(n.filterEndDate,"YYYY-MM-DD",l2).endOf("day"):null;if(X&&T.isBefore(X))return console.log(`Date ${O} is before the allowed start ${n.filterStartDate}`),false;if(h&&T.isAfter(h))return console.log(`Date ${O} is after the allowed end ${n.filterEndDate}`),false}console.log(`
7
7
  ===== Checking date availability for ${q} guests on ${O} =====`),console.log("Restaurant data floors:",b.floors?"present":"missing"),console.log("Table settings:",JSON.stringify(b["table-settings"]||{},null,2));let u=b?.["table-settings"]||{},s=u.isInstalled===true&&u.assignmentMode==="automatic"&&b.floors&&Array.isArray(b.floors);if(console.log(`Table assignment is ${s?"ENABLED":"DISABLED"} for date ${O}`),!Co(b,O,o,q,e,a))return console.log(`Date ${O} fails basic availability check`),false;if(!s)return console.log(`Table assignment disabled, date ${O} is available`),true;console.log(`Getting available timeblocks for ${O}`);let L=ko(b,O,o,q,e,a);if(console.log(`Found ${Object.keys(L).length} available timeblocks before table check`),Object.keys(L).length===0)return console.log(`No available timeblocks on ${O}, date is unavailable`),false;console.log(`Checking table availability for each timeblock on ${O}`);let i=false,R=0;for(let T of Object.keys(L)){if(R++,a&&!Po(b,O,T,a)){console.log(`Time ${T} doesn't match giftcard meal requirements`);continue}if(console.log(`Checking table availability for ${T} on ${O} for ${q} guests`),xo(b,O,T,q,o)){console.log(`Found available time ${T} with table assignment!`),i=true;break}}return console.log(`Checked ${R}/${Object.keys(L).length} timeblocks`),console.log(`Date ${O} with table check: ${i?"Available":"Unavailable"}`),i}lb.exports={isDateAvailableWithTableCheck:_o};});var mb=$(()=>{var{isTimeAvailable:Io}=iM(),Fo={_id:"poer","general-settings":{zitplaatsen:30,uurOpVoorhand:4,dagenInToekomst:90,maxGasten:8,intervalReservatie:15,duurReservatie:120,minutenTotEinde:135,showNoticeForMaxGuests:0,noticePhoneNumber:"",storedNumber:76},menu:[{name:"POER Menu",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"12:00",endHour:"23:00",daysOfWeek:["zaterdag","dinsdag","woensdag","donderdag","vrijdag"],storedNumber:36,_id:"674a9033c1956dd233bafaad"},{name:"A la carte",startDate:"2024-11-30",endDate:"2030-01-01",startHour:"12:00",endHour:"14:00",daysOfWeek:["dinsdag","woensdag","donderdag","vrijdag"],storedNumber:28,_id:"674a9084c1956dd233bafaae"},{name:"Ik weet het nog niet",startDate:"2024-11-30",endDate:"2030-01-01",startHour:"12:00",endHour:"14:00",daysOfWeek:["dinsdag","woensdag","donderdag","vrijdag"],storedNumber:41,_id:"674a90bc64cc52acdd5e6cc2"},{name:"Lunch",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"12:00",endHour:"14:00",daysOfWeek:["dinsdag","woensdag","donderdag","vrijdag"],storedNumber:23,_id:"674adb4e8d6385fb343499f7"},{name:"A la carte",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"18:30",endHour:"20:30",daysOfWeek:["dinsdag","woensdag","donderdag"],storedNumber:50,_id:"674adbf58d6385fb343499f8"},{name:"Ik weet het nog niet",startDate:"2024-11-01",endDate:"2030-01-30",startHour:"18:30",endHour:"20:30",daysOfWeek:["dinsdag","donderdag","woensdag"],storedNumber:54,_id:"674adc208d6385fb343499f9"}],mededeling:[{mededeling:"Gelieve er rekening mee te houden dat we op vrijdagavond en zaterdagavond enkel ons POER menu serveren.",startDate:"2024-11-01",endDate:"2030-01-30",startTime:"18:30",endTime:"20:30",daysOfWeek:["vrijdag","zaterdag"],storedNumber:95,_id:"674ade0a8d6385fb343499fa"}],settings:{pageTitle:"Reserveer nu",generalNotification:"",alignment:"fullScreenColor",backgroundBlur:"blurBackground",storedNumber:61},colors:{backgroundType:"solid",backgroundColor:"#e0debe",gradientStartColor:"#FFFFFF",gradientEndColor:"#000000",animationType:"none",widgetBackgroundColor:"#000000",widgetTextColor:"#FFFFFF",textColor:"#000000",containerColor:"#FFFFFF",buttonColor:"#000000",buttonTextColor:"#FFFFFF",storedNumber:81},exceptions:[{title:"Extra mensen donderdagmiddag",type:"Opening",timeframe:"lunch",startDate:"2024-12-05",endDate:"2024-12-05",startHour:"12:00",endHour:"16:00",maxSeats:"34",daysOfWeek:["donderdag"],storedNumber:74,_id:"67507dc98fb61d6afd54acb0"},{title:"Extra personen donderdagavond",type:"Uitzondering",timeframe:"dinner",startDate:"2024-12-05",endDate:"2024-12-05",startHour:"18:30",endHour:"23:00",maxSeats:"27",daysOfWeek:["donderdag"],storedNumber:88,_id:"67507e3383d7f2de02628f4a"},{title:"Cong\xE9 Periode 22/12 tot 9/01",type:"Sluiting",timeframe:"Volledige Dag",startDate:"2024-12-22",endDate:"2025-01-09",daysOfWeek:[],storedNumber:89,_id:"67511bb38fb61d6afd54acba"}],"openinghours-lunch":{schemeSettings:{Tuesday:{enabled:true,startTime:"12:00",endTime:"13:30",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Wednesday:{enabled:true,startTime:"12:00",endTime:"16:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Thursday:{enabled:true,startTime:"12:00",endTime:"16:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Friday:{enabled:true,startTime:"12:30",endTime:"13:30",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]}},storedNumber:2},"openinghours-dinner":{schemeSettings:{Tuesday:{enabled:true,startTime:"18:30",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"24",shiftsEnabled:false,shifts:[]},Wednesday:{enabled:true,startTime:"16:00",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"24",shiftsEnabled:false,shifts:[]},Thursday:{enabled:true,startTime:"16:00",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"24",shiftsEnabled:false,shifts:[]},Friday:{enabled:true,startTime:"18:30",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]},Saturday:{enabled:true,startTime:"18:30",endTime:"20:00",maxCapacityEnabled:true,maxCapacity:"30",shiftsEnabled:false,shifts:[]}},storedNumber:6},fonts:{titleFont:{font:"Poppins",weight:"400"},subtitleFont:{font:"Poppins",weight:"400"},labelFont:{font:"Poppins",weight:"400"},buttonFont:{font:"Poppins",weight:"400"}},theme:{id:10,title:"Herfstbladeren",color:"#D35400",image:"/static/media/default-theme.webp"}},Go=[{guests:10,time:"12:00",date:"2024-12-18"},{guests:100,time:"15:00",date:"2024-12-04"}];console.log("--- Is Time Available Tests ---");var Bb="2024-12-10",Xb=1e3,Ho=["12:00","12:15","13:00","19:00","20:00","20:15"];Ho.forEach(b=>{let O=Io(Fo,Bb,b,Go,Xb);console.log(`Is ${b} on ${Bb} available for ${Xb} guests?`,O);});});var hb=$((a5,gb)=>{var Tb=r2(),{shifts:e5,parseTime:RM,getMealTypeByTime:Uo}=u2();function jo(){let b=Tb().tz("Europe/Brussels");return b.hours()*60+b.minutes()}function Yo(b,O,o){let q=Tb().tz("Europe/Brussels").format("YYYY-MM-DD");if(o!==q)return b;console.log(`Applying stop time filter for today (${o})`);let e=O?.["general-settings"]||{},a=jo(),n=e.ontbijtStop||null,u=e.lunchStop||null,s=e.dinerStop||null,f=n?RM(n):null,L=u?RM(u):null,i=s?RM(s):null,R={},T=0,X=0,h=0;for(let B in b){if(!b.hasOwnProperty(B))continue;let N=Uo(B),S=false;N==="breakfast"&&f!==null&&!isNaN(f)&&a>=f?(S=true,T++):N==="lunch"&&L!==null&&!isNaN(L)&&a>=L?(S=true,X++):N==="dinner"&&i!==null&&!isNaN(i)&&a>=i&&(S=true,h++),S||(R[B]=b[B]);}return T>0&&console.log(`Stop time filter removed ${T} breakfast slots.`),X>0&&console.log(`Stop time filter removed ${X} lunch slots.`),h>0&&console.log(`Stop time filter removed ${h} dinner slots.`),R}gb.exports={filterTimeblocksByStopTimes:Yo};});var Sb=$((n5,yb)=>{function Ko(b){let O=parseInt(b.split(":")[0],10);return O>=4&&O<11?"breakfast":O>=11&&O<16?"lunch":O>=16&&O<23?"dinner":null}function Vo(b){if(!b)return null;if(b.$numberInt)return parseInt(b.$numberInt,10);if(typeof b=="number")return b;if(typeof b=="string"){let O=parseInt(b,10);return isNaN(O)?null:O}return null}function Qo(b,O,o){return b.filter(q=>q.date===O&&q.time===o).reduce((q,e)=>q+(parseInt(e.guests,10)||0),0)}function Jo(b,O,o,q,e){let a={};for(let[n,u]of Object.entries(o)){let s=Ko(n);if(!s){a[n]=u;continue}let f=b[`max-arrivals-${s}`];if(!f){a[n]=u;continue}let L=Vo(f[n]);if(L===null){a[n]=u;continue}Qo(q,O,n)+e<=L&&(a[n]=u);}return a}yb.exports={filterTimeblocksByMaxArrivals:Jo};});var vb=$((d5,Eb)=>{function fM(b){let O=parseInt(b.split(":")[0],10);return O>=4&&O<11?"breakfast":O>=11&&O<16?"lunch":O>=16&&O<23?"dinner":null}function f0(b,...O){console.log(`[MaxGroupsFilter] ${b}`,...O);}function Zo(b){if(b==null)return null;if(typeof b=="object"&&b!==null&&"$numberInt"in b){let O=parseInt(b.$numberInt,10);return isNaN(O)?null:O}if(typeof b=="number")return Number.isInteger(b)?b:null;if(typeof b=="string"){let O=parseInt(b,10);return isNaN(O)?null:O}return null}function M4(b,O,o,q,e){f0(`--- Running MaxGroupsFilter for Date: ${O}, Guests: ${e} ---`);let a=Object.keys(b).filter(L=>L.startsWith("max-groups-"));f0("Received restaurantData max-group keys:",a.length>0?a:"None found");let n={},u=parseInt(e,10);if(isNaN(u)||u<=0)return f0(`Invalid guest count (${e}). Returning all ${Object.keys(o).length} input blocks unfiltered.`),o;let s=q.filter(L=>L.date===O);f0(`Relevant reservations on ${O}: ${s.length}`),f0(`Input timeblocks count: ${Object.keys(o).length}`);let f={};s.forEach(L=>{let i=fM(L.time);i&&(f[i]||(f[i]=[]),f[i].push(L));}),f0("Reservations grouped by meal type:",f);for(let[L,i]of Object.entries(o)){let R=fM(L);if(f0(`
8
8
  Checking Time: ${L} -> Determined Meal: ${R}`),!R){f0(` Time ${L} has no associated meal type. Keeping block.`),n[L]=i;continue}let T=`max-groups-${R}`,X=b[T];if(f0(` Looking for settings using key: "${T}"`),!X||typeof X!="object"){f0(` No settings found for key "${T}". Filter doesn't apply. Keeping block.`),n[L]=i;continue}f0(` Found settings for ${R}:`,JSON.stringify(X));let h=true,B=Object.keys(X).map(N=>parseInt(N,10)).filter(N=>!isNaN(N)&&N>0).sort((N,S)=>N-S);f0(` Defined numeric limit sizes to check for ${R}: [${B.join(", ")}]`);for(let N of B){let S=String(N);if(f0(` Checking Limit Condition: Groups of size >= ${N}`),u>=N){f0(` Applicable: Booking guests (${u}) >= Limit threshold (${N})`);let g=Zo(X[S]);if(f0(` Max groups allowed for >=${N} is: ${g} (raw setting: ${JSON.stringify(X[S])})`),g===null||g<0){f0(` Skipping check: Invalid or non-positive max count defined for size ${N}.`);continue}let H=(f[R]||[]).filter(C=>{let x=parseInt(C.guests,10);return !isNaN(x)&&x>=N}).length;if(f0(` Count of existing groups >=${N} found in ${R}: ${H}`),H+1>g){f0(` *** VIOLATION DETECTED *** for limit >=${N}.`),f0(` (Existing Groups: ${H} + New Group: 1 = ${H+1}, which is > Max Allowed: ${g})`),f0(` Blocking time ${L} due to this violation.`),h=false;break}else f0(` OK: Limit for >=${N} not exceeded. (Existing: ${H} + New: 1 <= Max: ${g})`);}else f0(` Not Applicable: Booking guests (${u}) < Limit threshold (${N}). Skipping this check.`);}h?(f0(` \u2705 Result for time ${L}: ALLOWED (passed all applicable checks)`),n[L]=i):f0(` \u274C Result for time ${L}: BLOCKED (failed at least one limit check)`);}return f0(`--- MaxGroupsFilter Finished. Output timeblocks count: ${Object.keys(n).length} ---`),n}Eb.exports={filterTimeblocksByMaxGroups:M4,getMealType:fM};});var m1=$((i5,Cb)=>{function z4(b,O){if(b==null)return O;if(typeof b=="object"&&b!==null&&"$numberInt"in b){try{let o=parseInt(b.$numberInt,10);if(!isNaN(o))return o}catch{}return O}if(typeof b=="number"&&!isNaN(b))return b;if(typeof b=="string")try{let o=parseInt(b,10);if(!isNaN(o))return o}catch{}return O}Cb.exports=z4;});var H1=$((t5,kb)=>{function b4(b,O,o){if(!b||!/^([01]\d|2[0-3]):([0-5]\d)$/.test(b))return [];let[e,a]=b.split(":").map(Number),n=e*60+a;if(o<=0)return [n];let u=Math.ceil(O/o),s=[];for(let f=0;f<u;f++)s.push(n+f*o);return s}kb.exports=b4;});var uM=$((r5,xb)=>{function p4(b){if(!b||typeof b!="string")return NaN;let O=b.split(":");if(O.length!==2)return NaN;let o=parseInt(O[0],10),q=parseInt(O[1],10);return isNaN(o)||isNaN(q)||o<0||o>23||q<0||q>59?NaN:o*60+q}xb.exports=p4;});var LM=$((s5,wb)=>{var O4={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};wb.exports={shifts:O4};});var NM=$((R5,Db)=>{var lM=uM(),{shifts:c4}=LM();function A4(b){let O=lM(b);if(isNaN(O))return null;for(let[o,q]of Object.entries(c4)){let e=lM(q.start),a=lM(q.end);if(!(isNaN(e)||isNaN(a))&&O>=e&&O<a)return o}return null}Db.exports=A4;});var T1=$((f5,Pb)=>{var o4=NM();function q4(b,O,o){if(!b.isTemporary)return true;if(!b.startDate||!b.endDate||O<b.startDate||O>b.endDate)return false;let q=o4(o);return !(!q||b.application!==q)}Pb.exports=q4;});var N2=$((u5,_b)=>{function W4(b,O=null){let o=[];return b?.floors&&Array.isArray(b.floors)?b.floors.forEach(q=>{q?.tables&&Array.isArray(q.tables)&&q.tables.forEach(e=>{let a=e.tableNumber?.$numberInt??e.tableNumber,n=e.minCapacity?.$numberInt??e.minCapacity,u=e.maxCapacity?.$numberInt??e.maxCapacity,s=e.priority?.$numberInt??e.priority,f=e.x?.$numberInt??e.x,L=e.y?.$numberInt??e.y;O&&O.trim()!==""&&e.zitplaats!==O||(e.objectType==="Tafel"&&a!==void 0&&n!==void 0&&u!==void 0&&s!==void 0&&f!==void 0&&L!==void 0?o.push({tableId:e.id,tableNumber:parseInt(a,10),minCapacity:parseInt(n,10),maxCapacity:parseInt(u,10),priority:parseInt(s,10),x:parseInt(f,10),y:parseInt(L,10),isTemporary:e.isTemporary===true,startDate:e.startDate||null,endDate:e.endDate||null,application:e.application||null,zitplaats:e.zitplaats||null}):e.objectType==="Tafel"&&console.warn(`Skipping table due to missing essential properties: ${JSON.stringify(e)}`));});}):console.warn("Restaurant data is missing 'floors' array."),o.sort((q,e)=>q.maxCapacity!==e.maxCapacity?q.maxCapacity-e.maxCapacity:q.priority!==e.priority?q.priority-e.priority:q.minCapacity-e.minCapacity),o=o.filter(q=>!isNaN(q.tableNumber)&&!isNaN(q.minCapacity)&&!isNaN(q.maxCapacity)&&!isNaN(q.priority)&&!isNaN(q.x)&&!isNaN(q.y)),o}_b.exports=W4;});var Fb=$((L5,Ib)=>{var e4=m1();function a4(b){return Array.isArray(b)?b.map(O=>e4(O,null)).filter(O=>O!==null):[]}Ib.exports=a4;});var BM=$((l5,Gb)=>{var n4=Fb();function d4(b){return b.tables&&Array.isArray(b.tables)?n4(b.tables):[]}Gb.exports=d4;});var U1=$((N5,Hb)=>{function i4(b,O,o){let q=o[b]||new Set;for(let e of O)if(q.has(e))return false;return true}Hb.exports=i4;});var XM=$((B5,Ub)=>{function t4(b,O){if(b?.x===void 0||b?.y===void 0||O?.x===void 0||O?.y===void 0)return 1/0;let o=b.x-O.x,q=b.y-O.y;return Math.sqrt(o*o+q*q)}Ub.exports=t4;});var B2=$((X5,Vb)=>{var jb=T1(),Yb=U1(),r4=XM();function Kb(b,O,o,q,e,a,n,u,s){if(O<=0){let L=0;for(let i=0;i<q.length;i++)for(let R=i+1;R<q.length;R++)L+=r4(q[i],q[R]);(q.length<e.tableCount||q.length===e.tableCount&&L<e.minDistance)&&(e.minDistance=L,e.tables=[...q],e.tableCount=q.length);return}if(o>=b.length||q.length>=e.tableCount&&e.tableCount!==1/0)return;let f=0;for(let L=o;L<b.length;L++){let i=b[L];jb(i,u,s)&&Yb(i.tableNumber,a,n)&&(f+=i.maxCapacity);}if(!(f<O))for(let L=o;L<b.length;L++){let i=b[L];if(!jb(i,u,s)||!Yb(i.tableNumber,a,n))continue;let R=Math.min(i.maxCapacity,O);R<i.minCapacity&&R<O||R<=0||(q.push(i),Kb(b,O-R,L+1,q,e,a,n,u,s),q.pop());}}Vb.exports=Kb;});var X2=$((m5,Jb)=>{var Qb=m1(),s4=H1(),R4=N2(),f4=T1(),u4=B2(),L4=U1();function l4(b,O,o,q,e,a=null){let n=b["general-settings"]||{};typeof n.duurReservatie=="object"&&n.duurReservatie?.$numberInt,typeof n.intervalReservatie=="object"&&n.intervalReservatie?.$numberInt;let u=120,s=15;if(u=Qb(n.duurReservatie,120),s=Qb(n.intervalReservatie,15),s<=0)return console.error("Invalid interval settings."),[];let f=s4(o,u,s);if(!f||f.length===0)return console.error(`Could not compute required slots for ${o}`),[];let L=R4(b,a);for(let R of L)if(f4(R,O,o)&&R.minCapacity<=q&&q<=R.maxCapacity&&L4(R.tableNumber,f,e))return [R.tableNumber];let i={minDistance:1/0,tables:[],tableCount:1/0};return u4(L,q,0,[],i,f,e,O,o),i.tables.length>0,i.tables.map(R=>R.tableNumber)}Jb.exports=l4;});var m2=$((T5,Mp)=>{var $b=m1(),Zb=H1(),N4=T1(),B4=N2(),X4=BM(),m4=X2(),T4=U1(),g4=B2();function h4(b,O,o,q,e,a=null){q<0&&(q=2);let n=b?.["table-settings"]||{};if(!(n.isInstalled===true&&n.assignmentMode==="automatic"))return true;try{if(!b?.floors||!Array.isArray(b.floors))return console.error(`[isTimeAvailableSync] Missing floors data for ${O} ${o}`),!1;if(q<=0)return console.error(`[isTimeAvailableSync] Invalid guest count: ${q}`),!1;let s=b["general-settings"]||{},f=120,L=15;if(f=$b(s.duurReservatie,120),L=$b(s.intervalReservatie,15),L<=0)return console.error(`[isTimeAvailableSync] Invalid interval settings for ${O} ${o}`),!1;let i=Zb(o,f,L);if(!i||i.length===0)return console.error(`[isTimeAvailableSync] Could not compute required slots for ${O} ${o}`),!1;let R={},T=e.filter(N=>N.date===O&&N.time&&N.guests>0).sort((N,S)=>{let g=N.time.split(":").map(Number),k=S.time.split(":").map(Number);return g[0]*60+g[1]-(k[0]*60+k[1])});for(let N of T){let S=X4(N),g=[];if(S.length>0?g=S:g=m4(b,N.date,N.time,N.guests,R),g.length>0){let k=Zb(N.time,f,L);if(!k||k.length===0)continue;g.forEach(H=>{R[H]||(R[H]=new Set),k.forEach(C=>R[H].add(C));});}}let X=B4(b,a);for(let N of X)if(N4(N,O,o)&&N.minCapacity<=q&&q<=N.maxCapacity&&T4(N.tableNumber,i,R))return !0;let h={minDistance:1/0,tables:[],tableCount:1/0};g4(X,q,0,[],h,i,R,O,o);let B=h.tables.length>0;return B}catch{return false}}Mp.exports=h4;});var mM=$((g5,pp)=>{var zp=m1(),bp=H1(),y4=N2(),S4=T1(),E4=BM(),v4=X2();function C4(b,O,o,q,e,a=null){try{q<0&&(q=0);let n=b?.["table-settings"]||{};if(!(n.isInstalled===!0&&n.assignmentMode==="automatic"))return [];if(!b?.floors||!Array.isArray(b.floors))return [];if(q<=0)return [];let s=b["general-settings"]||{},f=zp(s.duurReservatie,120),L=zp(s.intervalReservatie,15);if(L<=0)return [];let i=bp(o,f,L);if(!i||i.length===0)return [];let R={},T=e.filter(B=>B.date===O&&B.time&&B.guests>0).sort((B,N)=>{let S=B.time.split(":").map(Number),g=N.time.split(":").map(Number);return S[0]*60+S[1]-(g[0]*60+g[1])});for(let B of T){let N=E4(B),S=[];if(N.length>0?S=N:S=v4(b,B.date,B.time,B.guests,R,null),S.length>0){let g=bp(B.time,f,L);if(!g||g.length===0)continue;S.forEach(k=>{R[k]||(R[k]=new Set),g.forEach(H=>R[k].add(H));});}}let X=y4(b,a),h=[];for(let B of X)S4(B,O,o)&&B.minCapacity<=q&&q<=B.maxCapacity&&(R&&i&&Array.isArray(i),(function(){let S=R[B.tableNumber]||new Set;for(let g of i)if(S.has(g))return !1;return !0})()&&h.push(B));return h.sort((B,N)=>B.tableNumber-N.tableNumber),h}catch{return []}}pp.exports=C4;});var TM=$((h5,Op)=>{var k4=m2();function x4(b,O,o,q,e,a=null){q<0&&(q=0);let n=b?.["table-settings"]||{};if(!(n.isInstalled===true&&n.assignmentMode==="automatic"))return o;let s={},f=0,L=0;for(let i in o)k4(b,O,i,q,e,a)?(s[i]=o[i],f++):L++;return s}Op.exports=x4;});var op=$((y5,Ap)=>{var w4=m2(),D4=mM(),cp=TM(),P4=(b,O,o,q,e,a=null)=>cp(b,O,o,q,e,a);Ap.exports={isTimeAvailableSync:w4,filterTimeblocksByTableAvailability:cp,getAvailableTimeblocksWithTableCheck:P4,getAvailableTablesForTime:D4};});var T2=$((S5,qp)=>{var _4={...qM(),...i2(),...s2()},I4={...oM()},F4={...d2(),...X1()},G4={...eb(),...R2(),...WM(),...dM(),...iM(),...sM(),...Nb(),...u2(),...mb()},H4={...hb(),...Sb(),...vb()},U4={...op(),...m2(),...mM(),...B2(),...TM(),...X2(),...m1(),...T1(),...U1(),...XM(),...LM().shifts,...uM(),...NM(),...H1()};qp.exports={..._4,...I4,...F4,...G4,...H4,...U4};});function R0(b,{insertAt:O}={}){if(!b||typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css",O==="top"&&o.firstChild?o.insertBefore(q,o.firstChild):o.appendChild(q),q.styleSheet?q.styleSheet.cssText=b:q.appendChild(document.createTextNode(b));}R0(`.new-reservation-page .value-selector{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.new-reservation-page .non-absolute{position:relative!important}.new-reservation-page .non-absolute:before{background:none}.new-reservation-page .predefined-values{display:flex;gap:10px}.new-reservation-page .predefined-value-button{flex:1;padding:10px;border:1px solid #ccc;border-radius:var(--border-radius);background-color:var(--color-white);cursor:pointer;font-size:1rem;transition:background-color .3s ease}.new-reservation-page .predefined-value-button.active,.new-reservation-page .predefined-value-button:hover{background-color:var(--color-blue);color:var(--color-white)}.new-reservation-page .slider-container{display:flex;align-items:center;gap:15px}.new-reservation-page .slider{flex:1;appearance:none;-webkit-appearance:none;height:5px;background:#ddd;border-radius:5px;outline:none}.new-reservation-page .slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--color-blue);cursor:pointer;border-radius:50%}.new-reservation-page .value-input{width:80px;padding:10px;border:1px solid #ccc;border-radius:var(--border-radius);font-size:1rem}
9
- `);var hA=({setGuests:b,value:O,onChange:o})=>{let q=[1,2,3,"4+"],[e,a]=useState(O||""),[n,u]=useState(false),s=i=>{i==="4+"?(u(true),a(4),b(4),o({target:{name:"guests",value:4}})):(u(false),a(i),b(i),o({target:{name:"guests",value:i}}));},f=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});},L=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});};return i0.createElement("div",{className:"value-selector",translate:"no"},i0.createElement("div",{className:"predefined-values"},q.map(i=>i0.createElement("button",{key:i,type:"button",className:`predefined-value-button ${e==i||i==="4+"&&n?"active":""}`,onClick:()=>s(i)},i==="4+"?"4+":`${i} p`))),i0.createElement(AnimatePresence,null,n&&i0.createElement(motion.div,{className:"slider-container",initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0}},i0.createElement("input",{type:"range",min:"4",max:"15",step:"1",value:e,onChange:f,className:"slider non-absolute"}),i0.createElement("input",{type:"number",name:"guests",value:e,onChange:L,className:"value-input",min:"4",max:"100",step:"1"}))))},hz=hA;var i1=G0(O1());var Cz=G0(O1()),kz=b=>{let O=(0, Cz.default)().tz("Europe/Brussels").startOf("day");return b.clone().add(6,"days").endOf("day").isBefore(O)},xz=(b,O)=>b.isSame(O,"day");R0(`.new-reservation-page .calendar-container{position:relative;width:100%}.new-reservation-page .calendar-container .calendar-display{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;user-select:none;text-align:left;border-radius:5px}.new-reservation-page .calendar-container .calendar-display span:first-child{flex-grow:1}.new-reservation-page .calendar-container .calendar{position:absolute;z-index:1000;width:100%;background-color:#fff;border:1px solid #ccc;margin-top:5px;padding:10px;border-radius:10px;animation:fadeInCalendar .3s ease-in-out;box-shadow:0 2px 10px #0000001a}@keyframes fadeInCalendar{0%{opacity:0}to{opacity:1}}.new-reservation-page .calendar-container .availability-hold-btn{font-size:10px}.new-reservation-page .calendar-container .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap}.new-reservation-page .calendar-container .calendar-header button{background-color:transparent;border:none;cursor:pointer;font-size:18px}.new-reservation-page .calendar-container .calendar-header span{font-size:15px;color:gray;font-weight:500}.new-reservation-page .calendar-container .calendar-weeks-wrapper{overflow:hidden;position:relative;width:100%}.new-reservation-page .calendar-container .calendar-table{width:100%;border-collapse:collapse}.new-reservation-page .calendar-container .calendar-table th,.new-reservation-page .calendar-container .calendar-table td{width:14.28%;text-align:center;padding:5px}.calendar-container .calendar-table th{color:#666;font-weight:400;padding-bottom:10px}.new-reservation-page .calendar-container .calendar-table td{vertical-align:middle;cursor:pointer;border:none;opacity:1;position:relative}.new-reservation-page .calendar-container .calendar-table td.empty-day{cursor:default}.new-reservation-page .calendar-container .calendar-table td:hover .day-square.available{transform:scale(1.05)}.new-reservation-page .calendar-container .day-square{position:relative;width:38px;height:38px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;transition:all .2s ease;font-size:16px;margin:0 auto}.new-reservation-page .calendar-container .day-number{line-height:1;z-index:2}.new-reservation-page .calendar-container .available .day-square{background-color:#cfc;color:#060}.new-reservation-page .calendar-container .available:hover .day-square{background-color:#b3ffb3}.new-reservation-page .calendar-container .available:active .day-square{background-color:#9f9}.new-reservation-page .calendar-container .unavailable .day-square{background-color:#8b000021;color:#8b0000}.new-reservation-page .calendar-container .gray-out .day-square{background-color:#e0e0e0;color:#999;cursor:not-allowed}.new-reservation-page .calendar-container .selected .day-square{background-color:#060;color:#cfc}.new-reservation-page .calendar-container .calendar-table td.unavailable,.new-reservation-page .calendar-container .calendar-table td.gray-out{cursor:not-allowed}.new-reservation-page .calendar-container .calendar-table td.unavailable:hover .day-square,.new-reservation-page .calendar-container .calendar-table td.gray-out:hover .day-square{transform:none}.new-reservation-page .calendar-container .calendar-table td{border:none}.new-reservation-page .calendar-container .arrow{margin-left:auto;color:gray;display:flex;align-items:center}.new-reservation-page .calendar-container .available .availability-badge{background:#38a169}.new-reservation-page .calendar-container .selected .availability-badge{background:#2d3748}@media screen and (max-width:900px){.calendar-container .day-square{width:35px!important;height:35px!important;font-size:15px!important}.calendar-container .calendar-header span{font-size:12px}.new-reservation-page .calendar-container .availability-toggle-btn{padding:5px 8px;font-size:11px}}
9
+ `);var hA=({setGuests:b,value:O,onChange:o})=>{let q=[1,2,3,"4+"],[e,a]=useState(O||""),[n,u]=useState(false),s=i=>{i==="4+"?(u(true),a(4),b(4),o({target:{name:"guests",value:4}})):(u(false),a(i),b(i),o({target:{name:"guests",value:i}}));},f=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});},L=i=>{let R=i.target.value;a(R),b(R),o({target:{name:"guests",value:R}});};return i0.createElement("div",{className:"value-selector",translate:"no"},i0.createElement("div",{className:"predefined-values"},q.map(i=>i0.createElement("button",{key:i,type:"button",className:`predefined-value-button ${e==i||i==="4+"&&n?"active":""}`,onClick:()=>s(i)},i==="4+"?"4+":`${i} p`))),i0.createElement(AnimatePresence,null,n&&i0.createElement(motion.div,{className:"slider-container",initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0}},i0.createElement("input",{type:"range",min:"4",max:"15",step:"1",value:e,onChange:f,className:"slider non-absolute"}),i0.createElement("input",{type:"number",name:"guests",value:e,onChange:L,className:"value-input",min:"4",max:"100",step:"1"}))))},hz=hA;var i1=G0(O1());var Cz=G0(O1()),kz=b=>{let O=(0, Cz.default)().tz("Europe/Brussels").startOf("day");return b.clone().add(6,"days").endOf("day").isBefore(O)},xz=(b,O)=>b.isSame(O,"day");R0(`.new-reservation-page .calendar-container{position:relative;width:100%}.new-reservation-page .calendar-container .calendar-display{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;user-select:none;text-align:left;border-radius:5px}.new-reservation-page .calendar-container .calendar-display span:first-child{flex-grow:1}.new-reservation-page .calendar-container .calendar{position:absolute;z-index:1000;width:100%;background-color:#fff;border:1px solid #ccc;margin-top:5px;padding:10px;border-radius:10px;animation:fadeInCalendar .3s ease-in-out;box-shadow:0 2px 10px #0000001a}@keyframes fadeInCalendar{0%{opacity:0}to{opacity:1}}.new-reservation-page .calendar-container .availability-hold-btn{font-size:10px}.new-reservation-page .calendar-container .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px;flex-wrap:wrap}.new-reservation-page .calendar-container .calendar-header button{background-color:transparent;border:none;cursor:pointer;font-size:18px}.new-reservation-page .calendar-container .calendar-header span{font-size:15px;color:gray;font-weight:500}.new-reservation-page .calendar-container .calendar-weeks-wrapper{overflow:hidden;position:relative;width:100%}.new-reservation-page .calendar-container .calendar-table{width:100%;border-collapse:collapse}.new-reservation-page .calendar-container .calendar-table th,.new-reservation-page .calendar-container .calendar-table td{width:14.28%;text-align:center;padding:5px}.new-reservation-page .calendar-container .calendar-table th{color:#666;font-weight:400;padding-bottom:10px}.new-reservation-page .calendar-container .calendar-table td{vertical-align:middle;cursor:pointer;border:none;opacity:1;position:relative}.new-reservation-page .calendar-container .calendar-table td.empty-day{cursor:default}.new-reservation-page .calendar-container .calendar-table td:hover .day-square.available{transform:scale(1.05)}.new-reservation-page .calendar-container .day-square{position:relative;width:38px;height:38px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;transition:all .2s ease;font-size:16px;margin:0 auto}.new-reservation-page .calendar-container .day-number{line-height:1;z-index:2}.new-reservation-page .calendar-container .available .day-square{background-color:#cfc;color:#060}.new-reservation-page .calendar-container .available:hover .day-square{background-color:#b3ffb3}.new-reservation-page .calendar-container .available:active .day-square{background-color:#9f9}.new-reservation-page .calendar-container .unavailable .day-square{background-color:#8b000021;color:#8b0000}.new-reservation-page .calendar-container .gray-out .day-square{background-color:#e0e0e0;color:#999;cursor:not-allowed}.new-reservation-page .calendar-container .selected .day-square{background-color:#060;color:#cfc}.new-reservation-page .calendar-container .calendar-table td.unavailable,.new-reservation-page .calendar-container .calendar-table td.gray-out{cursor:not-allowed}.new-reservation-page .calendar-container .calendar-table td.unavailable:hover .day-square,.new-reservation-page .calendar-container .calendar-table td.gray-out:hover .day-square{transform:none}.new-reservation-page .calendar-container .calendar-table td{border:none}.new-reservation-page .calendar-container .arrow{margin-left:auto;color:gray;display:flex;align-items:center}.new-reservation-page .calendar-container .available .availability-badge{background:#38a169}.new-reservation-page .calendar-container .selected .availability-badge{background:#2d3748}@media screen and (max-width:900px){.new-reservation-page .calendar-container .day-square{width:35px!important;height:35px!important;font-size:15px!important}.new-reservation-page .calendar-container .calendar-header span{font-size:12px}.new-reservation-page .calendar-container .availability-toggle-btn{padding:5px 8px;font-size:11px}}
10
10
  `);var M1=G0(T2());var gM=class{constructor(O=6e4){this.cache=new Map,this.ttl=O;}generateKey(O,...o){return `${O}::${JSON.stringify(o)}`}get(O){let o=this.cache.get(O);return o?Date.now()-o.timestamp>this.ttl?(this.cache.delete(O),null):o.value:null}set(O,o){this.cache.set(O,{value:o,timestamp:Date.now()});}clear(){this.cache.clear();}cleanup(){let O=Date.now();for(let[o,q]of this.cache.entries())O-q.timestamp>this.ttl&&this.cache.delete(o);}},g2=new gM;setInterval(()=>g2.cleanup(),3e4);var Z0=(b,O,...o)=>{let q=g2.generateKey(b,...o),e=g2.get(q);if(e!==null)return e;let a=O(...o);return g2.set(q,a),a};var A1={nl:{reservationStepOne:{errors:{openingHoursNotSet:"Openingstijden niet ingesteld.",clickHereToSet:"Klik hier om uw openingsuren in te stellen."},modes:{withLimits:"Met Limieten",unlimited:"Onbeperkt",openingHours:"Openingsuren",free:"Vrij"},fields:{time:"Tijd"},messages:{searchingTables:"Beschikbare tafels zoeken...",noTablesAvailable:"Geen specifieke tafels beschikbaar voor deze selectie."},warnings:{unlimitedMode:"Onbeperkt zal geen rekening houden met maximum limieten."}},calendar:{selectDatePlaceholder:"Selecteer een datum",today:"Vandaag",tomorrow:"Morgen",prevWeek:"Vorige week",nextWeek:"Volgende week",dayHeaders:["Ma","Di","Wo","Do","Vr","Za","Zo"],seatsQuestion:"Zitplaatsen?"},timeSelector:{shifts:{breakfast:"Ontbijt",lunch:"Lunch",dinner:"Diner"},selectMeal:"Selecteer een maaltijd",selectTime:"Selecteer een tijd",noDateSelected:"Selecteer eerst een datum.",noTimes:"Geen beschikbare tijden.",back:"Terug"},tableSelector:{label:"Selecteer beschikbare tafel(s):",table:"Tafel",max:"Max",noTables:"Geen specifieke tafels beschikbaar voor deze tijd/gasten combinatie."}},en:{reservationStepOne:{errors:{openingHoursNotSet:"Opening hours not set.",clickHereToSet:"Click here to set your opening hours."},modes:{withLimits:"With Limits",unlimited:"Unlimited",openingHours:"Opening Hours",free:"Free"},fields:{time:"Time"},messages:{searchingTables:"Searching for available tables...",noTablesAvailable:"No specific tables available for this selection."},warnings:{unlimitedMode:"Unlimited will not take into account maximum limits."}},calendar:{selectDatePlaceholder:"Select a date",today:"Today",tomorrow:"Tomorrow",prevWeek:"Previous week",nextWeek:"Next week",dayHeaders:["M","T","W","T","F","S","S"],seatsQuestion:"Seating?"},timeSelector:{shifts:{breakfast:"Breakfast",lunch:"Lunch",dinner:"Dinner"},selectMeal:"Select a meal",selectTime:"Select a time",noDateSelected:"Please select a date first.",noTimes:"No available times.",back:"Back"},tableSelector:{label:"Select available table(s):",table:"Table",max:"Max",noTables:"No specific tables available for this time/guest combination."}},fr:{reservationStepOne:{errors:{openingHoursNotSet:"Horaires non d\xE9finies.",clickHereToSet:"Cliquez ici pour d\xE9finir vos horaires."},modes:{withLimits:"Avec Limites",unlimited:"Illimit\xE9",openingHours:"Horaires",free:"Libre"},fields:{time:"Heure"},messages:{searchingTables:"Recherche de tables disponibles...",noTablesAvailable:"Aucune table sp\xE9cifique disponible pour cette s\xE9lection."},warnings:{unlimitedMode:"Illimit\xE9 ne tiendra pas compte des limites maximales."}},calendar:{selectDatePlaceholder:"S\xE9lectionnez une date",today:"Aujourd'hui",tomorrow:"Demain",prevWeek:"Semaine pr\xE9c\xE9dente",nextWeek:"Semaine suivante",dayHeaders:["Lu","Ma","Me","Je","Ve","Sa","Di"],seatsQuestion:"Places ?"},timeSelector:{shifts:{breakfast:"Petit-d\xE9jeuner",lunch:"D\xE9jeuner",dinner:"D\xEEner"},selectMeal:"S\xE9lectionnez un repas",selectTime:"S\xE9lectionnez une heure",noDateSelected:"Veuillez d'abord s\xE9lectionner une date.",noTimes:"Aucun horaire disponible.",back:"Retour"},tableSelector:{label:"S\xE9lectionnez les table(s) disponibles :",table:"Table",max:"Max",noTables:"Aucune table sp\xE9cifique disponible pour cette combinaison temps/convives."}}};var ap=memo(({guests:b,selectedDate:O,onSelectDate:o,autoExpand:q,reservationMode:e,restaurantData:a,startDate:n,onWeekChange:u,reservations:s,giftcard:f,zitplaats:L})=>{let i=localStorage.getItem("preferredLanguage")||"nl",R=A1[i].calendar,[T,X]=useState(q||false),[h,B]=useState(false),N=useRef(null),S=useRef(null),g=(0, i1.default)().tz("Europe/Amsterdam").add(1,"year").endOf("day");useEffect(()=>{q&&X(true);},[q]),useEffect(()=>{let w=W0=>{N.current&&!N.current.contains(W0.target)&&(X(false),B(false));};return document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w);}},[]),useEffect(()=>()=>{S.current&&(clearTimeout(S.current),S.current=null);},[]);let k=()=>{S.current&&(clearTimeout(S.current),S.current=null),B(true);},H=(w=1e3)=>{S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{B(false),S.current=null;},w);},C=(w,W0,K=[])=>{if(w.isBefore(W0,"day")||w.isAfter(g,"day"))return 0;let d0=w.format("YYYY-MM-DD");if(h){let v=a?.["table-settings"]||{},z0=v.isInstalled===true&&v.assignmentMode==="automatic",a0=0;for(let P=1;P<=21;P++){let O0;z0?O0=Z0("isDateAvailableWithTableCheck",M1.isDateAvailableWithTableCheck,a,d0,s,P,K):O0=Z0("isDateAvailable",M1.isDateAvailable,a,d0,s,P,K),O0&&(a0=P);}return a0}if(e==="vrije_keuze")return 21;if(e!=="met_limieten")return (0, M1.isDateAvailable)(a,d0,s,-1e4,K)?21:0;let U=a?.["table-settings"]||{},Z=U.isInstalled===true&&U.assignmentMode==="automatic"&&e==="met_limieten",p0=0;for(let v=1;v<=21;v++){let z0;Z?z0=Z0("isDateAvailableWithTableCheck",M1.isDateAvailableWithTableCheck,a,d0,s,v,K):z0=Z0("isDateAvailable",M1.isDateAvailable,a,d0,s,v,K),z0&&(p0=v);}return p0},x=useMemo(()=>{if(!T)return [];let w=[],W0=(0, i1.default)().tz("Europe/Amsterdam").startOf("day"),K=n||W0,d0=a?.["blocked-slots"]||[],U=K.clone().startOf("month"),Z=K.clone().endOf("month"),p0=a?.["table-settings"]||{},v=p0.isInstalled===true&&p0.assignmentMode==="automatic"&&e==="met_limieten",z0=U.clone();for(;z0.isSameOrBefore(Z,"day");){let a0=z0.format("YYYY-MM-DD"),P;if(e==="vrije_keuze")P=z0.isBetween(W0,g,null,"[]");else {let _0=e!=="met_limieten"?-1e4:b,I0=e==="met_limieten"?f:null;v?P=Z0("isDateAvailableWithTableCheck",M1.isDateAvailableWithTableCheck,a,a0,s,_0,d0,I0):P=Z0("isDateAvailable",M1.isDateAvailable,a,a0,s,_0,d0,I0);}let O0=C(z0,W0,d0);w.push({date:z0.clone(),isPast:z0.isBefore(W0,"day"),isFuture:z0.isAfter(g,"day"),isAvailable:P,maxGuestsAvailable:O0}),z0.add(1,"day");}return w},[T,n,b,e,a,s,f,L,h]),Y=w=>{w.isAvailable&&!w.isPast&&!w.isFuture&&(o(w.date.format("YYYY-MM-DD")),X(false),B(false));},Q=()=>{let w=n.clone().subtract(1,"month").startOf("month"),W0=(0, i1.default)().tz("Europe/Amsterdam").startOf("day");if(w.clone().endOf("month").isBefore(W0,"day")){console.log("Cannot go to previous month. It is in the past.");return}u(w);},n0=()=>{let w=n.clone().add(1,"month").startOf("month");u(w);},M0=()=>{if(!O)return R.selectDatePlaceholder;let w=(0, i1.default)(O,"YYYY-MM-DD").tz("Europe/Amsterdam").startOf("day"),W0=(0, i1.default)().tz("Europe/Amsterdam").startOf("day"),K=W0.clone().add(1,"day");return w.isSame(W0,"day")?R.today:w.isSame(K,"day")?R.tomorrow:w.format("dddd D MMMM YYYY")},b0=n?(w=>{let K=n.clone().startOf("month").day(),d0=K===0?6:K-1,U=[];for(let z0=0;z0<d0;z0++)U.push(null);U.push(...w);let Z=U.length,p0=Math.ceil(Z/7);for(;U.length<p0*7;)U.push(null);let v=[];for(let z0=0;z0<p0;z0++){let a0=U.slice(z0*7,z0*7+7);v.push(a0);}return v})(x):[],q0=R.dayHeaders,_=w=>w>=21?"20+":String(w);return i0.createElement("div",{className:"calendar-container",ref:N},i0.createElement("div",{className:"calendar-display",onClick:()=>X(!T)},i0.createElement("span",null,M0()),i0.createElement("span",{className:"arrow"},i0.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:T?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},i0.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),T&&n&&i0.createElement("div",{className:"calendar"},i0.createElement("div",{className:"calendar-header"},i0.createElement("button",{type:"button",onClick:Q,"aria-label":R.prevWeek},"<"),i0.createElement("span",null,n.format("MMMM YYYY")),i0.createElement("button",{type:"button",onClick:n0,"aria-label":R.nextWeek},">"),i0.createElement("button",{type:"button",className:`availability-hold-btn ${h?"active":""}`,"aria-pressed":h,"aria-label":"Houd ingedrukt om beschikbaarheden te tonen",onMouseDown:k,onMouseUp:()=>H(1e3),onMouseLeave:()=>H(1e3),onTouchStart:k,onTouchEnd:()=>H(1e3),onTouchCancel:()=>H(1e3),onKeyDown:w=>{(w.key===" "||w.key==="Enter")&&k();},onKeyUp:w=>{(w.key===" "||w.key==="Enter")&&H(1e3);},style:{fontSize:"15px",color:"gray",fontWeight:"450",textDecoration:"underline"}},R.seatsQuestion)),i0.createElement("div",{className:"calendar-weeks-wrapper"},i0.createElement("table",{className:"calendar-table"},i0.createElement("thead",null,i0.createElement("tr",{translate:"no"},q0.map((w,W0)=>i0.createElement("th",{key:W0},w)))),i0.createElement("tbody",null,b0.map((w,W0)=>i0.createElement("tr",{key:W0,translate:"no"},w.map((K,d0)=>{if(!K)return i0.createElement("td",{key:d0,className:"empty-day"});let U=O&&xz(K.date,(0, i1.default)(O,"YYYY-MM-DD").tz("Europe/Amsterdam")),Z=[];return K.isPast?Z.push("gray-out"):K.isAvailable?Z.push("available"):Z.push("unavailable"),U&&Z.push("selected"),i0.createElement("td",{key:d0,className:Z.join(" "),onClick:()=>Y(K),style:{"--animation-order":d0+W0*7}},i0.createElement("div",{className:`day-square ${h?"showing-availabilities":""}`},i0.createElement("span",{className:"day-number"},h?_(K.maxGuestsAvailable):K.date.date())))}))))))))});ap.displayName="Calendar";var np=ap;var yM=G0(O1()),V4=({guests:b,formData:O,handleChange:o,resetFormDataFields:q,restaurantData:e,reservations:a,startDate:n,onWeekChange:u,reservationMode:s})=>{let f=i=>{let R=(0, yM.default)(i).format("YYYY-MM-DD");console.log("Selected date:",R),o({target:{name:"date",value:R}}),q(["time"]);},L=n?n.clone().startOf("month"):(0, yM.default)().startOf("month");return i0.createElement("div",{className:"form-group date-selector-container"},i0.createElement(np,{guests:b,selectedDate:O.date||null,onSelectDate:f,autoExpand:false,reservationMode:s,restaurantData:e,startDate:L,onWeekChange:u,reservations:a,giftcard:O.giftcard,zitplaats:O.zitplaats}))},ip=V4;R0(`.new-reservation-page .time-selector-container{position:relative}.new-reservation-page .time-display{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;user-select:none;text-align:left;border-radius:5px}.new-reservation-page .time-display span:first-child{flex-grow:1}.new-reservation-page .time-selector{position:absolute;z-index:1000;width:100%;max-height:300px;overflow-y:auto;background-color:#fff;border:1px solid #ccc;margin-top:5px;padding:10px;border-radius:10px;animation:fadeInTimeSelector .3s ease-in-out;top:75px}@keyframes fadeInTimeSelector{0%{opacity:0}to{opacity:1}}.new-reservation-page .time-period{margin-bottom:15px}.new-reservation-page .time-period-label{font-weight:700;margin-bottom:5px}.new-reservation-page .time-options{display:flex;flex-wrap:wrap;gap:5px}.new-reservation-page .time-option{padding:8px 12px;background-color:#cfc;color:#060;border-radius:5px;cursor:pointer;transition:background-color .2s ease}.new-reservation-page .time-option:hover{background-color:#b3ffb3}.new-reservation-page .time-option.selected{background-color:#060;color:#cfc}.new-reservation-page .info-text{color:#666;font-style:italic}.new-reservation-page .arrow{margin-left:auto;color:gray;display:flex;align-items:center}@media screen and (max-width:480px){.new-reservation-page .time-option{padding:6px 10px;font-size:14px}}
11
11
  `);var EM=G0(O1());var h2=G0(T2()),rp=memo(({guests:b,formData:O,handleChange:o,field:q,selectedDate:e,expanded:a,setCurrentExpandedField:n,restaurantData:u,reservations:s,reservationMode:f})=>{let L=localStorage.getItem("preferredLanguage")||"nl",i=A1[L].timeSelector,[R,T]=useState(a||false),[X,h]=useState([]),[B,N]=useState(null),S=useRef(null),g={breakfast:{start:"07:00",end:"11:00",label:i.shifts.breakfast},lunch:{start:"11:00",end:"16:00",label:i.shifts.lunch},dinner:{start:"16:00",end:"23:00",label:i.shifts.dinner}};useEffect(()=>{if(!e||!b){h([]);return}if(f==="vrije_keuze")if(B){let x=g[B],Y=EM.default.tz(`${e} ${x.start}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),Q=EM.default.tz(`${e} ${x.end}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),n0=[],M0=Y.clone();for(;M0.isBefore(Q);)n0.push({value:M0.format("HH:mm"),label:M0.format("HH:mm")}),M0.add(15,"minutes");h(n0);}else h([]);else if(u&&s){let x=f!=="met_limieten"?-1e4:b,Y=u?.["table-settings"]||{},Q=f==="met_limieten"&&Y.isInstalled===true&&Y.assignmentMode==="automatic",n0=f==="met_limieten"?O.giftcard:null,M0=u?.["blocked-slots"]||[],L0=(0, h2.getAvailableTimeblocks)(u,e,s,x,M0,n0),b0=Q?(0, h2.getAvailableTimeblocksWithTableCheck)(u,e,L0,x,s):L0,q0=Object.keys(b0).map(_=>({value:_,label:b0[_].name||_}));q0.sort((_,w)=>{let[W0,K]=_.value.split(":").map(Number),[d0,U]=w.value.split(":").map(Number);return W0*60+K-(d0*60+U)}),h(q0),O[q.id]&&!q0.some(_=>_.value===O[q.id])&&o({target:{name:q.id,value:""}});}else h([]);},[e,b,u,s,f,q.id,B,O[q.id],o]),useEffect(()=>{f==="vrije_keuze"&&(N(null),O[q.id]&&o({target:{name:q.id,value:""}}));},[e,f]);let k=x=>{o({target:{name:q.id,value:x}}),T(false),n?.(null);},H=x=>{B!==x&&O[q.id]&&o({target:{name:q.id,value:""}}),N(x);},C=()=>{if(f==="vrije_keuze")return B?O[q.id]?`${g[B].label} \u2013 ${O[q.id]}`:`${g[B].label} \u2013 ${i.selectTime}`:i.selectMeal;if(O[q.id]){let x=X.find(Y=>Y.value===O[q.id]);return x?x.label:i.selectTime}return i.selectTime};return q?i0.createElement("div",{className:"form-group time-selector-container",ref:S},e?i0.createElement(i0.Fragment,null,i0.createElement("div",{className:"time-display",onClick:()=>{T(!R),R||n?.(q.id);}},i0.createElement("span",null,C()),i0.createElement("span",{className:"arrow"},i0.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:R?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},i0.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),R&&i0.createElement("div",{className:"time-selector"},f==="vrije_keuze"?B?i0.createElement("div",{className:"time-period"},i0.createElement("div",{className:"time-period-label"},g[B].label,i0.createElement("button",{onClick:()=>N(null),style:{marginLeft:"10px",background:"none",border:"none",cursor:"pointer",color:"#006600",fontSize:"0.9rem",padding:0}},"\u2190 ",i.back)),i0.createElement("div",{className:"time-options"},X.length===0?i0.createElement("div",{className:"no-times"},i.noTimes):X.map(x=>i0.createElement("div",{key:x.value,className:`time-option ${O[q.id]===x.value?"selected":""}`,onClick:()=>k(x.value)},x.label)))):i0.createElement("div",{className:"time-options"},Object.keys(g).map(x=>i0.createElement("div",{key:x,className:`time-option ${B===x?"selected":""}`,onClick:()=>H(x)},g[x].label))):i0.createElement("div",{className:"time-options"},X.length===0?i0.createElement("div",{className:"no-times"},i.noTimes):X.map(x=>i0.createElement("div",{key:x.value,className:`time-option ${O[q.id]===x.value?"selected":""}`,onClick:()=>k(x.value)},x.label))))):i0.createElement("p",{className:"info-text"},i.noDateSelected)):null});rp.displayName="TimeSelector";var sp=rp;R0(`.new-reservation-page .table-selector-container{margin-top:15px;padding:10px;border:1px solid #eee;border-radius:4px;background-color:#f9f9f9}.new-reservation-page .table-selector-label{display:block;margin-bottom:10px;font-weight:700;color:#333;font-size:.95rem}.new-reservation-page .table-options{display:flex;flex-wrap:wrap;gap:10px}.new-reservation-page .table-option{display:inline-block;margin-right:15px;margin-bottom:5px;padding:5px 8px;border:1px solid #ccc;border-radius:4px;background-color:#fff;transition:background-color .2s ease}.new-reservation-page .table-option label{display:flex;align-items:center;cursor:pointer;font-size:.9rem;color:#555}.new-reservation-page .table-option input[type=checkbox]{margin-right:8px;cursor:pointer;accent-color:var(--primary-color, #006600)}.new-reservation-page .table-option:has(input[type=checkbox]:checked){background-color:#e0f2e0;border-color:#060}.new-reservation-page .table-option:hover{background-color:#f0f0f0}.new-reservation-page .info-text{margin-top:10px;font-size:.85rem;color:#666}.new-reservation-page .selected-tables-info{margin-top:10px;font-style:italic}.new-reservation-page .info-text.loading-tables{font-style:italic;color:#060}
12
12
  `);var $4=({availableTables:b=[],isFetching:O=false,formData:o={},handleChange:q,setFormData:e})=>{let a=localStorage.getItem("preferredLanguage")||"nl",n=A1?.[a]?.tableSelector||{},u={label:n.label||"Tafels",noTables:n.noTables||"Geen tafels beschikbaar voor deze selectie.",table:n.table||"Tafel",max:n.max||"Max"},s=Array.isArray(o.selectedTableNumbers)?o.selectedTableNumbers:[],f=Array.isArray(o.selectedTableIds)?o.selectedTableIds:[],L=(R,T)=>{if(typeof q=="function"){q({target:{multiple:true,updates:{selectedTableNumbers:R,selectedTableIds:T}}});return}typeof e=="function"&&e(X=>({...X,selectedTableNumbers:R,selectedTableIds:T}));},i=R=>T=>{let X=T.target.checked,h=b.find(S=>S.tableNumber===R);if(!h)return;let B=[...s],N=[...f];X?(B.includes(R)||B.push(R),N.includes(h.tableId)||N.push(h.tableId)):(B=B.filter(S=>S!==R),N=N.filter(S=>S!==h.tableId)),B.sort((S,g)=>S-g),L(B,N);};return O?i0.createElement("div",{className:"form-group table-selector-container"},i0.createElement("label",{className:"table-selector-label"},u.label),i0.createElement("p",{className:"info-text"},"Laden\u2026")):!b||b.length===0?i0.createElement("div",{className:"form-group table-selector-container"},i0.createElement("label",{className:"table-selector-label"},u.label),i0.createElement("p",{className:"info-text"},u.noTables)):i0.createElement("div",{className:"form-group table-selector-container"},i0.createElement("label",{className:"table-selector-label"},u.label),i0.createElement("div",{className:"table-options"},b.map(R=>{let T=R.tableNumber,X=R.maxCapacity??R.capacity??R.seats??"-",h=s.includes(T);return i0.createElement("div",{key:`${R.tableId||T}`,className:"table-option"},i0.createElement("label",null,i0.createElement("input",{type:"checkbox",value:T,checked:h,onChange:i(T)}),u.table," ",T," (",u.max,": ",X,")"))})))},Rp=$4;R0(`.new-reservation-page .form-row .field-label{display:block;margin-bottom:6px;font-weight:600}.new-reservation-page .form-row .reservation-mode-buttons{margin-top:0}.new-reservation-page .reservation-mode-buttons{display:flex;gap:10px;margin-top:10px}.new-reservation-page .reservation-mode-button{flex:1;padding:10px;border:1px solid #ccc;border-radius:var(--border-radius);background-color:var(--color-white);cursor:pointer;font-size:1rem;transition:background-color .3s ease,color .3s ease}.new-reservation-page .reservation-mode-button:nth-child(3){flex:0 0 100%}.new-reservation-page .reservation-modes-container{display:flex;flex-wrap:wrap;margin:0 -5px;width:100%}.new-reservation-page .reservation-mode-button{flex:0 0 calc(50% - 10px);margin:5px;padding:10px;box-sizing:border-box;text-align:center;border:1px solid #ccc;background:#f7f7f7;cursor:pointer}.new-reservation-page .reservation-mode-button.active,.new-reservation-page .reservation-mode-button:hover{background-color:var(--color-blue);color:var(--color-white)}.new-reservation-page .unlimited-mode-warning{display:flex;align-items:flex-start;gap:10px;margin:15px 0;padding:12px 15px;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:var(--border-radius, 4px);border-left:4px solid #e67e22;font-size:.9rem;line-height:1.4}.new-reservation-page .unlimited-mode-warning .warning-icon{color:#e67e22;font-size:1.1rem;margin-top:2px;flex-shrink:0}.new-reservation-page .unlimited-mode-warning .warning-text{color:#856404;margin:0}@media screen and (max-width:480px){.new-reservation-page .unlimited-mode-warning{margin:10px 0;padding:10px 12px;font-size:.85rem}.new-reservation-page .unlimited-mode-warning .warning-icon{font-size:1rem}}.new-reservation-page .reservation-sidebar-component{position:fixed;top:0;right:-400px;width:400px;height:100%;background-color:#fff;box-shadow:-2px 0 5px #0000001a;z-index:var(--z-index-sidebar-reservation);display:flex;flex-direction:column;overflow-y:auto;transition:right .3s ease-in-out}.new-reservation-page .admin-title{text-align:center;margin-bottom:30px}.new-reservation-page .reservation-sidebar-component.open{right:0}.new-reservation-page .reservation-sidebar-content{padding:60px 20px 20px}.new-reservation-page .close-sidebar-button{position:absolute;top:10px;left:10px;background-color:transparent;border:none;cursor:pointer}.new-reservation-page .close-sidebar-button svg{color:#000}.new-reservation-page .sidebar-section-one,.new-reservation-page .sidebar-section-two{margin-bottom:20px}.new-reservation-page .reservation-footer{margin-top:auto}.new-reservation-page .store-reservation-button{width:100%;padding:12px;background-color:var(--color-blue);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.1rem}.new-reservation-page .open-sidebar-button{position:fixed;bottom:20px;right:20px;background-color:var(--color-blue);color:#fff;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;z-index:var(--z-index-modal)!important;transition:all .3s ease}.new-reservation-page .open-sidebar-button:hover{background-color:var(--color-blue-hover-accent)!important}.new-reservation-page .open-sidebar-button svg{position:relative;top:2px}@media screen and (max-width:480px){.new-reservation-page .reservation-sidebar-component{width:100%}}.new-reservation-page .sidebar-section-personeel{margin-bottom:10px}
13
13
  `);var up=G0(O1());var Mq=()=>{let b=useCallback(()=>localStorage.getItem("accessToken"),[]),O=useCallback((e,a={})=>{let{params:n,...u}=a,s=b();return fp.get(e,{...u,params:n,headers:{...u.headers,...s?{Authorization:`Bearer ${s}`}:{}}}).then(f=>f.data).catch(f=>{throw console.error("Error fetching data:",f),f})},[b]),o=useCallback((e,a,n=null,u={})=>{let s=b();return fp({method:e,url:a,data:n,...u,headers:{...u.headers,...s?{Authorization:`Bearer ${s}`}:{}}}).then(f=>f.data).catch(f=>{throw console.error(`Error with ${e} request:`,f),f})},[b]);return useMemo(()=>({get:O,post:(e,a,n)=>o("POST",e,a,n),put:(e,a,n)=>o("PUT",e,a,n),patch:(e,a,n)=>o("PATCH",e,a,n),delete:(e,a)=>o("DELETE",e,null,a)}),[O,o])},t1=Mq;var Lp=G0(T2());var lp=memo(({formData:b,errors:O,handleChange:o,handleStepOneSubmit:q,setFormData:e,timeblocks:a,loadingTimeblocks:n,timeblocksError:u,restaurantData:s})=>{let f=localStorage.getItem("preferredLanguage")||"nl",L=A1[f].reservationStepOne,[i,R]=useState(b.guests||2),[T,X]=useState(null),[h,B]=useState([]),N=t1(),[S,g]=useState([]),[k,H]=useState(false),C=useRef(false),x=useCallback(U=>{e(Z=>{let p0={...Z};return U.forEach(v=>{p0[v]="";}),(U.includes("date")||U.includes("time")||U.includes("guests"))&&(p0.selectedTableNumbers=[],p0.selectedTableIds=[],g([])),p0});},[e]);useEffect(()=>{let Z=(0, up.default)().tz("Europe/Amsterdam").startOf("day").clone().startOf("isoWeek");for(;kz(Z);)Z.add(1,"week");X(Z);},[]),useEffect(()=>{(async()=>{if(T&&(b.reservationMode==="met_limieten"||b.reservationMode==="zonder_regels")){let Z=s?.["table-settings"]||{},p0=Z.isInstalled===true&&Z.assignmentMode==="automatic";if(b.reservationMode==="met_limieten"||b.reservationMode==="zonder_regels"&&p0){let v=T.format("YYYY-MM-DD"),z0=T.clone().add(13,"days").format("YYYY-MM-DD"),a0=localStorage.getItem("username"),P=`${window.baseDomain}api/slots/${a0}/${v}/${z0}`;try{let O0=await N.get(P,{noCache:!0});B(O0||[]);}catch(O0){console.error("Error fetching reservations:",O0),B([]);}}else B([]);}else B([]);})();},[T,N,b.reservationMode,s]);let Y=U=>{X(U),x(["date","time","selectedTableNumbers","selectedTableIds"]);};useEffect(()=>{if(!C.current){let U=false,Z={};b.reservationMode||(Z.reservationMode="met_limieten",U=true),(!b.guests||b.guests==="")&&(Z.guests=i,U=true),Array.isArray(b.selectedTableNumbers)||(Z.selectedTableNumbers=[],U=true),Array.isArray(b.selectedTableIds)||(Z.selectedTableIds=[],U=true),U&&setTimeout(()=>{o({target:{multiple:true,updates:Z}});},0),C.current=true;}},[b.reservationMode,b.guests,b.selectedTableNumbers,b.selectedTableIds,i,o]);let Q=useMemo(()=>s?.["table-settings"]||{},[s]),n0=useMemo(()=>Q.isInstalled===true&&Q.assignmentMode==="automatic",[Q]),M0=useMemo(()=>["met_limieten","zonder_regels","vrije_keuze"].includes(b.reservationMode),[b.reservationMode]),L0=useMemo(()=>M0&&b.date&&b.time&&b.guests>0&&n0&&S.length>0,[M0,b.date,b.time,b.guests,n0,S.length]);useEffect(()=>{if(!n0||!b.date||!b.time||b.guests<=0||!s||!h){g([]),H(false);return}H(true);let U=setTimeout(()=>{(window.requestIdleCallback||(p0=>setTimeout(p0,1)))(()=>{try{let p0=Z0("getAvailableTablesForTime",Lp.getAvailableTablesForTime,s,b.date,b.time,b.guests,h);g(p0);}catch(p0){console.error("Error calculating available tables:",p0),g([]);}finally{H(false);}});},500);return ()=>{clearTimeout(U),H(false);}},[n0,b.date,b.time,b.guests,s,h]),useEffect(()=>{if(S.length>0){let U=b.selectedTableNumbers||[],Z=b.selectedTableIds||[],p0=[],v=[];U.forEach(z0=>{let a0=S.find(P=>P.tableNumber===z0);a0&&Z.includes(a0.tableId)&&(p0.push(z0),v.push(a0.tableId));}),p0.length!==U.length&&setTimeout(()=>{o({target:{multiple:true,updates:{selectedTableNumbers:p0,selectedTableIds:v}}});},0);}else (b.selectedTableNumbers?.length>0||b.selectedTableIds?.length>0)&&setTimeout(()=>{o({target:{multiple:true,updates:{selectedTableNumbers:[],selectedTableIds:[]}}});},0);},[S,b.selectedTableNumbers,b.selectedTableIds]);let b0=U=>{let Z=parseInt(U.target.value,10)||1;R(Z),o(U),x(["time","selectedTableNumbers","selectedTableIds"]);};useEffect(()=>{x(["date","time","selectedTableNumbers","selectedTableIds"]);},[b.reservationMode,x]);let q0=U=>{U==="met_limieten"?o({target:{name:"reservationMode",value:"met_limieten"}}):U==="onbeperkt_parent"&&(["zonder_regels","vrije_keuze"].includes(b.reservationMode)||o({target:{name:"reservationMode",value:"zonder_regels"}}));},_=U=>{o({target:{name:"reservationMode",value:U}});},w=b.reservationMode,W0=!!s?.["general-settings"]?.seatSelectionEnabled,K=["Terras","Restaurant"],d0=U=>{e(Z=>({...Z,zitplaats:U}));};return u?i0.createElement("div",null,L.errors.openingHoursNotSet," ",i0.createElement("a",{href:"https://happychef.cloud/#/openinghours/dinner",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-blue)",textDecoration:"underline"}},L.errors.clickHereToSet)):i0.createElement("form",{className:"account-manage-form",noValidate:true},i0.createElement("div",{className:"form-group reservation-mode"},i0.createElement("div",{className:"reservation-modes-container"},i0.createElement("button",{type:"button",className:`reservation-mode-button ${w==="met_limieten"?"active":""}`,onClick:()=>q0("met_limieten"),"aria-pressed":w==="met_limieten"},L.modes.withLimits),i0.createElement("button",{type:"button",className:`reservation-mode-button ${["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)?"active":""}`,onClick:()=>q0("onbeperkt_parent"),"aria-pressed":["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)},L.modes.unlimited)),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)&&i0.createElement("div",{className:"reservation-modes-container sub-modes"},i0.createElement("button",{type:"button",className:`reservation-mode-button ${w==="zonder_regels"?"active":""}`,onClick:()=>_("zonder_regels"),"aria-pressed":w==="zonder_regels"},L.modes.openingHours),i0.createElement("button",{type:"button",className:`reservation-mode-button ${w==="vrije_keuze"?"active":""}`,onClick:()=>_("vrije_keuze"),"aria-pressed":w==="vrije_keuze"},L.modes.free))),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(w)&&i0.createElement("div",{className:"unlimited-mode-warning"},i0.createElement("div",{className:"warning-text"},L.warnings?.unlimitedMode||(f==="nl"?"Let op: Bij onbeperkte boekingen wordt geen rekening gehouden met de maximale capaciteit van het restaurant. De maximale zitplaatslimiet kan worden overschreden.":"Warning: Unlimited bookings do not take into account the restaurant's maximum capacity. The maximum seating limit may be exceeded."))),i0.createElement(hz,{setGuests:R,value:b.guests||i,onChange:b0,error:O.guests}),M0&&b.guests>0&&i0.createElement(ip,{guests:b.guests,formData:b,handleChange:o,resetFormDataFields:x,restaurantData:s,reservations:h,startDate:T,onWeekChange:Y,reservationMode:w}),M0&&b.date&&i0.createElement(sp,{guests:b.guests,formData:b,handleChange:o,field:{id:"time",label:L.fields.time},selectedDate:b.date,setCurrentExpandedField:()=>{},restaurantData:s,reservations:h,reservationMode:w}),W0&&i0.createElement("div",{className:"form-row",style:{marginTop:12}},i0.createElement("div",{className:"reservation-mode-buttons"},K.map(U=>i0.createElement("button",{key:U,type:"button",className:`reservation-mode-button ${b.zitplaats===U?"active":""}`,onClick:()=>d0(U),"aria-pressed":b.zitplaats===U},U))),O.zitplaats&&i0.createElement("small",{className:"error"},O.zitplaats)),L0&&i0.createElement(Rp,{availableTables:S,isFetching:k,formData:b,setFormData:e,handleChange:o}),k&&b.date&&b.time&&b.guests>0&&i0.createElement("div",{style:{textAlign:"center",padding:"10px",color:"#666",fontSize:"14px"}},"Beschikbare tafels berekenen..."))});lp.displayName="ReservationStepOne";var CM=lp;var kM=()=>localStorage.getItem("preferredLanguage")||"nl",w0=(b,O,o="nl")=>{let q=kM();return (b[q]||b[o]||{})[O]||{}};var Np={v:"5.12.1",fr:30,ip:0,op:530,w:1024,h:900,nm:"gr1",ddd:0,assets:[],layers:[{ddd:0,ind:1,ty:4,nm:"Layer 6",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:25,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:145,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:265,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:385,s:[9]},{t:505,s:[0]}],ix:10},p:{a:0,k:[1206.514,-59.851,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:25,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:145,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:265,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:385,s:[134.764,134.764,100]},{t:505,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:150,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[446.031,78.565],[0,0],[0,0],[0,0],[0,0],[0,0]],o:[[-474.322,-83.548],[0,0],[0,0],[.57,.727],[0,0],[-8.99,-11.449]],v:[[-95.525,259.75],[-429.671,-292.588],[-219.085,-449.194],[448.196,448.091],[449.016,449.194],[448.196,448.091]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.129411771894,.149019613862,.313725501299,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1535,st:25,ct:1,bm:0},{ddd:0,ind:2,ty:4,nm:"Layer 5",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:20,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:140,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:260,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:380,s:[9]},{t:500,s:[0]}],ix:10},p:{a:0,k:[1073.85,-30.391,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:20,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:140,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:260,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:380,s:[134.764,134.764,100]},{t:500,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:150,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:0,k:{i:[[424.081,79.754],[0,0],[0,0],[0,0],[0,0],[0,0]],o:[[-450.977,-84.811],[0,0],[0,0],[.55,.7],[0,0],[-8.65,-11.031]],v:[[-50.221,245.909],[-467.951,-214.723],[-174.945,-432.62],[467.71,431.558],[468.5,432.62],[467.71,431.558]],c:true},ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[0,.792156875134,.843137264252,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1530,st:20,ct:1,bm:0},{ddd:0,ind:3,ty:4,nm:"Layer 4",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:15,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:135,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:255,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:375,s:[9]},{t:495,s:[0]}],ix:10},p:{a:0,k:[988.859,75.079,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:15,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:135,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:255,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:375,s:[134.764,134.764,100]},{t:495,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:100,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.833,y:1},o:{x:.333,y:0},t:75,s:[{i:[[432.399,124.912],[0,0],[0,0],[123.76,-96.677]],o:[[-432.397,-124.911],[0,0],[0,0],[-123.77,96.676]],v:[[-78.678,155.686],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:195,s:[{i:[[432.399,124.912],[0,0],[0,0],[123.76,-96.677]],o:[[-432.397,-124.911],[0,0],[0,0],[-123.77,96.676]],v:[[-97.842,203.742],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:315,s:[{i:[[253.734,244.526],[0,0],[0,0],[123.76,-96.677]],o:[[-324.079,-312.318],[0,0],[0,0],[-123.77,96.676]],v:[[-129.581,213.076],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{i:{x:.667,y:1},o:{x:.167,y:0},t:435,s:[{i:[[226.573,11.739],[0,0],[0,0],[123.76,-96.677]],o:[[-147.242,-7.629],[0,0],[0,0],[-123.77,96.676]],v:[[-215.336,122.406],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]},{t:529,s:[{i:[[432.399,124.912],[0,0],[0,0],[123.76,-96.677]],o:[[-432.397,-124.911],[0,0],[0,0],[-123.77,96.676]],v:[[-78.678,155.686],[-500.894,-232.49],[-167.127,-480.7],[487.581,460.594]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.929411768913,1,.482352942228,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1525,st:15,ct:1,bm:0},{ddd:0,ind:4,ty:4,nm:"Layer 3",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:10,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:130,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:250,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:370,s:[9]},{t:490,s:[0]}],ix:10},p:{a:0,k:[894.117,84.677,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:10,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:130,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:250,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:370,s:[134.764,134.764,100]},{t:490,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:40,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.167,y:0},t:67,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.333,y:0},t:190,s:[{i:[[303.862,85.416],[0,0],[0,0],[92.214,-68.58]],o:[[-353.863,-99.472],[0,0],[0,0],[-92.219,68.579]],v:[[-114.955,184.127],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:310,s:[{i:[[66.949,140.982],[0,0],[0,0],[92.213,-68.58]],o:[[-157.679,-332.04],[0,0],[0,0],[-92.219,68.579]],v:[[-182.308,153.536],[-647.392,-141.284],[-176.178,-428.251],[423.29,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:430,s:[{i:[[160.75,51.563],[0,0],[0,0],[92.213,-68.58]],o:[[-350.011,-112.272],[0,0],[0,0],[-92.219,68.579]],v:[[-133.05,149.658],[-420.434,-232.638],[-176.178,-428.251],[423.29,416.898]],c:true}]},{t:524,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"st",c:{a:0,k:[.129411771894,.149019613862,.313725501299,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:8,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1520,st:10,ct:1,bm:0},{ddd:0,ind:5,ty:4,nm:"Layer 2",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:5,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:125,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:245,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:365,s:[9]},{t:485,s:[0]}],ix:10},p:{a:0,k:[894.117,83.978,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:5,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:125,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:245,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:365,s:[134.764,134.764,100]},{t:485,s:[100,100,100]}],ix:6,l:2}},ao:0,shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.167,y:0},t:62,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.333,y:0},t:185,s:[{i:[[303.862,85.416],[0,0],[0,0],[92.214,-68.58]],o:[[-353.863,-99.472],[0,0],[0,0],[-92.219,68.579]],v:[[-114.955,184.127],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:305,s:[{i:[[66.949,140.982],[0,0],[0,0],[92.213,-68.58]],o:[[-157.679,-332.04],[0,0],[0,0],[-92.219,68.579]],v:[[-182.308,153.536],[-647.392,-141.284],[-176.178,-428.251],[423.29,416.898]],c:true}]},{i:{x:.833,y:1},o:{x:.167,y:0},t:425,s:[{i:[[160.75,51.563],[0,0],[0,0],[92.213,-68.58]],o:[[-350.011,-112.272],[0,0],[0,0],[-92.219,68.579]],v:[[-133.05,149.658],[-420.434,-232.638],[-176.178,-428.251],[423.29,416.898]],c:true}]},{t:519,s:[{i:[[361.666,65.659],[0,0],[0,0],[92.214,-68.58]],o:[[-361.667,-65.659],[0,0],[0,0],[-92.219,68.579]],v:[[-99.227,158.019],[-431.16,-238.63],[-176.178,-428.251],[423.289,416.898]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[.956862747669,.980392158031,.976470589638,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1515,st:5,ct:1,bm:0},{ddd:0,ind:6,ty:4,nm:"Layer 1",sr:1,ks:{o:{a:0,k:100,ix:11},r:{a:1,k:[{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:0,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:120,s:[-9]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:240,s:[0]},{i:{x:[.667],y:[1]},o:{x:[.333],y:[0]},t:360,s:[9]},{t:480,s:[0]}],ix:10},p:{a:0,k:[895.851,111.19,0],ix:2,l:2},a:{a:0,k:[0,0,0],ix:1,l:2},s:{a:1,k:[{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:0,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:120,s:[134.764,134.764,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:240,s:[100,100,100]},{i:{x:[.667,.667,.667],y:[1,1,1]},o:{x:[.333,.333,.333],y:[0,0,0]},t:360,s:[134.764,134.764,100]},{t:480,s:[100,100,100]}],ix:6,l:2}},ao:0,ef:[{ty:29,nm:"Gaussian Blur",np:5,mn:"ADBE Gaussian Blur 2",ix:1,en:1,ef:[{ty:0,nm:"Blurriness",mn:"ADBE Gaussian Blur 2-0001",ix:1,v:{a:0,k:200,ix:1}},{ty:7,nm:"Blur Dimensions",mn:"ADBE Gaussian Blur 2-0002",ix:2,v:{a:0,k:1,ix:2}},{ty:7,nm:"Repeat Edge Pixels",mn:"ADBE Gaussian Blur 2-0003",ix:3,v:{a:0,k:0,ix:3}}]}],shapes:[{ty:"gr",it:[{ind:0,ty:"sh",ix:1,ks:{a:1,k:[{i:{x:.667,y:1},o:{x:.333,y:0},t:57,s:[{i:[[261.24,94.803],[0,0],[0,0],[280.19,-208.366]],o:[[-261.24,-94.803],[0,0],[0,0],[-280.189,208.367]],v:[[-130.27,227.181],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{i:{x:.667,y:1},o:{x:.333,y:0},t:180,s:[{i:[[240.029,117.135],[0,0],[0,0],[280.191,-208.366]],o:[[-249.757,-121.882],[0,0],[0,0],[-280.189,208.367]],v:[[-256.037,109.609],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{i:{x:.667,y:1},o:{x:.333,y:0},t:300,s:[{i:[[153.185,80.344],[0,0],[0,0],[280.191,-208.366]],o:[[-246.114,-129.083],[0,0],[0,0],[-280.189,208.367]],v:[[-99.854,269.938],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{i:{x:.667,y:1},o:{x:.333,y:0},t:420,s:[{i:[[172.303,15.256],[0,0],[0,0],[280.191,-208.366]],o:[[-418.35,-37.043],[0,0],[0,0],[-280.189,208.367]],v:[[-1.548,216.055],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]},{t:514,s:[{i:[[261.24,94.803],[0,0],[0,0],[280.19,-208.366]],o:[[-261.24,-94.803],[0,0],[0,0],[-280.189,208.367]],v:[[-130.27,227.181],[-489.015,-224.108],[-180.898,-453.243],[434.739,374.6]],c:true}]}],ix:2},nm:"Path 1",mn:"ADBE Vector Shape - Group",hd:false},{ty:"fl",c:{a:0,k:[0,.792156875134,.843137264252,1],ix:4},o:{a:0,k:100,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[100,100],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Group 1",np:2,cix:2,bm:0,ix:1,mn:"ADBE Vector Group",hd:false},{ty:"gr",it:[{ty:"rc",d:1,s:{a:0,k:[1200,900],ix:2},p:{a:0,k:[0,0],ix:3},r:{a:0,k:0,ix:4},nm:"Rectangle Path 1",mn:"ADBE Vector Shape - Rect",hd:false},{ty:"st",c:{a:0,k:[.494117647059,.298039215686,.619607843137,1],ix:3},o:{a:0,k:100,ix:4},w:{a:0,k:0,ix:5},lc:1,lj:1,ml:4,bm:0,nm:"Stroke 1",mn:"ADBE Vector Graphic - Stroke",hd:false},{ty:"fl",c:{a:0,k:[0,.792156862745,.843137254902,1],ix:4},o:{a:0,k:0,ix:5},r:1,bm:0,nm:"Fill 1",mn:"ADBE Vector Graphic - Fill",hd:false},{ty:"tr",p:{a:0,k:[0,0],ix:2},a:{a:0,k:[0,0],ix:1},s:{a:0,k:[178.543,174.429],ix:3},r:{a:0,k:0,ix:6},o:{a:0,k:100,ix:7},sk:{a:0,k:0,ix:4},sa:{a:0,k:0,ix:5},nm:"Transform"}],nm:"Rectangle 1",np:3,cix:2,bm:0,ix:2,mn:"ADBE Vector Group",hd:false}],ip:0,op:1510,st:0,ct:1,bm:0}],markers:[],props:{}};var Bp={nl:{formField:{selectPlaceholder:"Selecteer een optie",tooltip:{confirm:"Klik om te Bevestigen",source:"Gevonden met Happy Ai"}}},en:{formField:{selectPlaceholder:"Select an option",tooltip:{confirm:"Click to Confirm",source:"Found with Happy Ai"}}},fr:{formField:{selectPlaceholder:"S\xE9lectionnez une option",tooltip:{confirm:"Cliquez pour confirmer",source:"Trouv\xE9 avec Happy Ai"}}}};R0(`.new-reservation-page .form-group .magic-tooltip{transition:transform .2s ease;transform-origin:bottom right}.new-reservation-page .form-group .magic-tooltip:hover{transform:scale(1.05)}
14
- `);var Wq=({label:b,name:O,type:o="text",icon:q,value:e,onChange:a,onBlur:n,error:u,placeholder:s,halfWidth:f,options:L=[],selectPlaceholder:i,rightIcon:R,onRightIconClick:T,tooltipContent:X})=>{let h=w0(Bp,"formField"),B=i||h.selectPlaceholder,[N,S]=useState(false),g=useRef(null),k=useRef(null),H=R,C=q;useEffect(()=>{let Q=n0=>{g.current&&!g.current.contains(n0.target)&&(k.current&&clearTimeout(k.current),S(false));};return N&&document.addEventListener("mousedown",Q),()=>document.removeEventListener("mousedown",Q)},[N]);let x={name:O,value:e,onChange:a,onBlur:n,"aria-label":b,className:`form-control ${u?"input-error":""}`};return i0.createElement("div",{className:`form-group ${f?"half-width":""}`,style:{position:"relative"}},i0.createElement("div",{className:"input-container"},C&&i0.createElement(C,{className:"input-icon"}),o==="select"?i0.createElement("select",{...x},i0.createElement("option",{value:""},B),L.map(Q=>i0.createElement("option",{key:Q.value,value:Q.value},Q.label))):o==="textarea"?i0.createElement("textarea",{...x,placeholder:s}):i0.createElement("input",{type:o,...x,placeholder:s}),H&&i0.createElement("div",{className:"magic-wand-container",onClick:T,onMouseEnter:()=>{k.current&&clearTimeout(k.current),S(true);},onMouseLeave:()=>{k.current=setTimeout(()=>S(false),1200);},style:{position:"absolute",top:"50%",right:"10px",transform:"translateY(-50%)",cursor:"pointer"}},i0.createElement(H,{className:"magic-wand-icon",style:{color:"#B567C2"}}),N&&X&&i0.createElement("div",{ref:g,className:"magic-tooltip",style:{position:"absolute",bottom:"100%",right:0,backgroundColor:"#fff",color:"#333",borderRadius:"8px",fontSize:"0.9rem",boxShadow:"0px 4px 10px rgba(0,0,0,0.15)",zIndex:1e3,marginBottom:"8px",minWidth:"220px",overflow:"hidden"}},i0.createElement("div",{className:"lottie-container",style:{position:"absolute",top:0,right:"1px",width:"calc(100% + 30px)",height:"100%",marginRight:"-100px",pointerEvents:"none",zIndex:1}},i0.createElement(qq,{animationData:Np,loop:true,style:{width:"100%",height:"100%",opacity:.5}})),i0.createElement("div",{style:{position:"relative",zIndex:2,padding:"12px 20px"}},i0.createElement("div",{style:{borderBottom:"1px solid #eee",marginBottom:"8px",paddingBottom:"4px"}},X),i0.createElement("div",{style:{fontWeight:"bold",fontSize:"13px",textAlign:"center",marginTop:"8px"}},h.tooltip?.confirm),i0.createElement("div",{style:{fontSize:"0.7rem",textAlign:"center",color:"#999",marginTop:"4px"}},h.tooltip?.source))))),u&&i0.createElement("p",{className:"form-error"},u))},C0=i0.memo(Wq);var o1=G0(O1());var mp={nl:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",extraInfo:"Extra info",seatPlace:"Zitplaats"},placeholders:{firstName:"Voornaam",lastName:"Achternaam",email:"E-mailadres",phone:"Mobiel nummer",extraInfo:"Extra informatie",seatPlace:"Selecteer zitplaats"},magic:{title:"Gast Gegevens"}},reservationSummary:{title:"Reservatie Gegevens",guests:"Aantal gasten",date:"Datum",time:"Tijd",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",menu:"Menu",staff:"Aangemaakt door",giftcard:"Cadeaubon",extraInfo:"Extra informatie",seatPlace:"Zitplaats",newReservationButton:"Nieuwe Reservatie Maken"}},en:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",extraInfo:"Extra Info",seatPlace:"Seating area"},placeholders:{firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Mobile Number",extraInfo:"Extra Information",seatPlace:"Select seating area"},magic:{title:"Guest Details"}},reservationSummary:{title:"Reservation Details",guests:"Number of Guests",date:"Date",time:"Time",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",menu:"Menu",staff:"Created by",giftcard:"Gift Card",extraInfo:"Extra Information",seatPlace:"Seating area",newReservationButton:"New Reservation"}},fr:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise"},placeholders:{firstName:"Pr\xE9nom",lastName:"Nom",email:"Adresse e-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"S\xE9lectionner une zone d\u2019assise"},magic:{title:"D\xE9tails Invit\xE9"}},reservationSummary:{title:"D\xE9tails de la R\xE9servation",guests:"Nombre d'invit\xE9s",date:"Date",time:"Heure",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",menu:"Menu",staff:"Cr\xE9\xE9 par",giftcard:"Carte Cadeau",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise",newReservationButton:"Nouvelle R\xE9servation"}}};R0(`.new-reservation-page .name-fields{display:flex;gap:20px}.input-container .form-control{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;border-radius:5px;font-size:16px}
14
+ `);var Wq=({label:b,name:O,type:o="text",icon:q,value:e,onChange:a,onBlur:n,error:u,placeholder:s,halfWidth:f,options:L=[],selectPlaceholder:i,rightIcon:R,onRightIconClick:T,tooltipContent:X})=>{let h=w0(Bp,"formField"),B=i||h.selectPlaceholder,[N,S]=useState(false),g=useRef(null),k=useRef(null),H=R,C=q;useEffect(()=>{let Q=n0=>{g.current&&!g.current.contains(n0.target)&&(k.current&&clearTimeout(k.current),S(false));};return N&&document.addEventListener("mousedown",Q),()=>document.removeEventListener("mousedown",Q)},[N]);let x={name:O,value:e,onChange:a,onBlur:n,"aria-label":b,className:`form-control ${u?"input-error":""}`};return i0.createElement("div",{className:`form-group ${f?"half-width":""}`,style:{position:"relative"}},i0.createElement("div",{className:"input-container"},C&&i0.createElement(C,{className:"input-icon"}),o==="select"?i0.createElement("select",{...x},i0.createElement("option",{value:""},B),L.map(Q=>i0.createElement("option",{key:Q.value,value:Q.value},Q.label))):o==="textarea"?i0.createElement("textarea",{...x,placeholder:s}):i0.createElement("input",{type:o,...x,placeholder:s}),H&&i0.createElement("div",{className:"magic-wand-container",onClick:T,onMouseEnter:()=>{k.current&&clearTimeout(k.current),S(true);},onMouseLeave:()=>{k.current=setTimeout(()=>S(false),1200);},style:{position:"absolute",top:"50%",right:"10px",transform:"translateY(-50%)",cursor:"pointer"}},i0.createElement(H,{className:"magic-wand-icon",style:{color:"#B567C2"}}),N&&X&&i0.createElement("div",{ref:g,className:"magic-tooltip",style:{position:"absolute",bottom:"100%",right:0,backgroundColor:"#fff",color:"#333",borderRadius:"8px",fontSize:"0.9rem",boxShadow:"0px 4px 10px rgba(0,0,0,0.15)",zIndex:1e3,marginBottom:"8px",minWidth:"220px",overflow:"hidden"}},i0.createElement("div",{className:"lottie-container",style:{position:"absolute",top:0,right:"1px",width:"calc(100% + 30px)",height:"100%",marginRight:"-100px",pointerEvents:"none",zIndex:1}},i0.createElement(qq,{animationData:Np,loop:true,style:{width:"100%",height:"100%",opacity:.5}})),i0.createElement("div",{style:{position:"relative",zIndex:2,padding:"12px 20px"}},i0.createElement("div",{style:{borderBottom:"1px solid #eee",marginBottom:"8px",paddingBottom:"4px"}},X),i0.createElement("div",{style:{fontWeight:"bold",fontSize:"13px",textAlign:"center",marginTop:"8px"}},h.tooltip?.confirm),i0.createElement("div",{style:{fontSize:"0.7rem",textAlign:"center",color:"#999",marginTop:"4px"}},h.tooltip?.source))))),u&&i0.createElement("p",{className:"form-error"},u))},C0=i0.memo(Wq);var o1=G0(O1());var mp={nl:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",extraInfo:"Extra info",seatPlace:"Zitplaats"},placeholders:{firstName:"Voornaam",lastName:"Achternaam",email:"E-mailadres",phone:"Mobiel nummer",extraInfo:"Extra informatie",seatPlace:"Selecteer zitplaats"},magic:{title:"Gast Gegevens"}},reservationSummary:{title:"Reservatie Gegevens",guests:"Aantal gasten",date:"Datum",time:"Tijd",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",menu:"Menu",staff:"Aangemaakt door",giftcard:"Cadeaubon",extraInfo:"Extra informatie",seatPlace:"Zitplaats",newReservationButton:"Nieuwe Reservatie Maken"}},en:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",extraInfo:"Extra Info",seatPlace:"Seating area"},placeholders:{firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Mobile Number",extraInfo:"Extra Information",seatPlace:"Select seating area"},magic:{title:"Guest Details"}},reservationSummary:{title:"Reservation Details",guests:"Number of Guests",date:"Date",time:"Time",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",menu:"Menu",staff:"Created by",giftcard:"Gift Card",extraInfo:"Extra Information",seatPlace:"Seating area",newReservationButton:"New Reservation"}},fr:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise"},placeholders:{firstName:"Pr\xE9nom",lastName:"Nom",email:"Adresse e-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"S\xE9lectionner une zone d\u2019assise"},magic:{title:"D\xE9tails Invit\xE9"}},reservationSummary:{title:"D\xE9tails de la R\xE9servation",guests:"Nombre d'invit\xE9s",date:"Date",time:"Heure",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",menu:"Menu",staff:"Cr\xE9\xE9 par",giftcard:"Carte Cadeau",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise",newReservationButton:"Nouvelle R\xE9servation"}}};R0(`.new-reservation-page .name-fields{display:flex;gap:20px}.new-reservation-page .input-container .form-control{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;background-color:#fff;border:#ccc 1px solid;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;border-radius:5px;font-size:16px}
15
15
  `);var hp=i0.memo(({formData:b,errors:O,handleChange:o,setFormData:q,menuData:e})=>{let a=kM(),n=w0(mp,"reservationStepTwoFiltering"),[u,s]=useState([]),[f,L]=useState(false),[i,R]=useState(null),T=t1(),X=FaMagic,h=()=>{i&&N();};useEffect(()=>{if(o1.default.locale(a),!b.date||!b.time||!e.length)return s([]);let g=(0, o1.default)(`${b.date} ${b.time}`,"YYYY-MM-DD HH:mm"),k=e.filter(H=>{let C=g.isBetween((0, o1.default)(H.startDate,"YYYY-MM-DD"),(0, o1.default)(H.endDate,"YYYY-MM-DD"),"day","[]"),x=(0, o1.default)(b.time,"HH:mm").isBetween((0, o1.default)(H.startHour,"HH:mm"),(0, o1.default)(H.endHour,"HH:mm"),"minute","[]"),Y=g.format("dddd").toLowerCase(),Q=(H.daysOfWeek||[]).map(M0=>M0.toLowerCase()),n0=!Q.length||Q.includes(Y);return C&&x&&n0});s(k);},[b.date,b.time,e,a]);let B=async()=>{if(f||i)return;let g=(b.email||"").trim().toLowerCase(),k=(b.phone||"").trim(),H=g&&[".com",".net",".be",".nl"].some(Y=>g.endsWith(Y)),C=!!k&&(k.startsWith("+32")?k.length>=12:k.length>=10);if(!H&&!C)return;let x=[];H&&x.push("email"),C&&x.push("phone");try{let Y=await T.post(`${window.baseDomain}api/autofill`,{email:g,phone:k});Y?.firstName&&Y?.lastName&&Y?.email&&Y?.phone&&R({...Y,sources:x});}catch{console.error("Autofill error");}};useEffect(()=>{B();},[b.email,b.phone]);let N=()=>{i&&(q(g=>({...g,firstName:i.firstName,lastName:i.lastName,email:i.email,phone:i.phone})),L(true),R(null));},S=useMemo(()=>{if(!i)return {email:{},phone:{}};let g=i.sources.includes("email")&&(b.email||"").trim().toLowerCase()===i.email.trim().toLowerCase(),k=i.sources.includes("phone")&&(b.phone||"").trim()===i.phone.trim(),H={rightIcon:X,onRightIconClick:h};return {email:g?{...H,tooltipContent:i0.createElement("div",null,i0.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},n.magic?.title),i0.createElement("div",null,i.firstName," ",i.lastName),i0.createElement("div",null,i.phone))}:{},phone:k?{...H,tooltipContent:i0.createElement("div",null,i0.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},n.magic?.title),i0.createElement("div",null,i.firstName," ",i.lastName),i0.createElement("div",null,i.email))}:{}}},[i,b.email,b.phone,n.magic?.title]);return i0.createElement("div",{className:"reservation-step-two"},i0.createElement("div",{className:"account-manage-form"},u.length>0&&i0.createElement(C0,{label:n.labels?.menu||"Menu",name:"menu",type:"select",options:u.map(g=>({value:g.name,label:g.name})),value:b.menu,onChange:o,error:O.menu}),i0.createElement("div",{className:"name-fields"},i0.createElement(C0,{label:n.labels?.firstName||"Voornaam",name:"firstName",placeholder:n.placeholders?.firstName||"",value:b.firstName,onChange:o,error:O.firstName,icon:FaUser}),i0.createElement(C0,{label:n.labels?.lastName||"Achternaam",name:"lastName",placeholder:n.placeholders?.lastName||"",value:b.lastName,onChange:o,error:O.lastName,icon:FaUser})),i0.createElement(C0,{label:n.labels?.email||"Email",name:"email",type:"email",placeholder:n.placeholders?.email||"",value:b.email,onChange:o,onBlur:B,error:O.email,icon:FaEnvelope,...S.email}),i0.createElement(C0,{label:n.labels?.phone||"Telefoon",name:"phone",type:"tel",placeholder:n.placeholders?.phone||"",value:b.phone,onChange:o,onBlur:B,error:O.phone,icon:FaPhone,...S.phone}),i0.createElement(C0,{label:n.labels?.extraInfo||"Extra info",name:"extraInfo",type:"textarea",placeholder:n.placeholders?.extraInfo||"",value:b.extraInfo,onChange:o,error:O.extraInfo,icon:FaInfoCircle})))});hp.displayName="ReservationStepTwo";var S2=hp;var yp={nl:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",extraInfo:"Extra info",seatPlace:"Zitplaats"},placeholders:{firstName:"Voornaam",lastName:"Achternaam",email:"E-mailadres",phone:"Mobiel nummer",extraInfo:"Extra informatie",seatPlace:"Selecteer zitplaats"},magic:{title:"Gast Gegevens"}},reservationSummary:{title:"Reservatie Gegevens",guests:"Aantal gasten",date:"Datum",time:"Tijd",firstName:"Voornaam",lastName:"Achternaam",email:"E-mail",phone:"Mobiel nummer",menu:"Menu",staff:"Aangemaakt door",giftcard:"Cadeaubon",extraInfo:"Extra informatie",seatPlace:"Zitplaats",newReservationButton:"Nieuwe Reservatie Maken"}},en:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",extraInfo:"Extra Info",seatPlace:"Seating area"},placeholders:{firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Mobile Number",extraInfo:"Extra Information",seatPlace:"Select seating area"},magic:{title:"Guest Details"}},reservationSummary:{title:"Reservation Details",guests:"Number of Guests",date:"Date",time:"Time",firstName:"First Name",lastName:"Last Name",email:"Email",phone:"Mobile Number",menu:"Menu",staff:"Created by",giftcard:"Gift Card",extraInfo:"Extra Information",seatPlace:"Seating area",newReservationButton:"New Reservation"}},fr:{reservationStepTwoFiltering:{labels:{menu:"Menu",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise"},placeholders:{firstName:"Pr\xE9nom",lastName:"Nom",email:"Adresse e-mail",phone:"Num\xE9ro de portable",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"S\xE9lectionner une zone d\u2019assise"},magic:{title:"D\xE9tails Invit\xE9"}},reservationSummary:{title:"D\xE9tails de la R\xE9servation",guests:"Nombre d'invit\xE9s",date:"Date",time:"Heure",firstName:"Pr\xE9nom",lastName:"Nom",email:"E-mail",phone:"Num\xE9ro de portable",menu:"Menu",staff:"Cr\xE9\xE9 par",giftcard:"Carte Cadeau",extraInfo:"Informations suppl\xE9mentaires",seatPlace:"Zone d\u2019assise",newReservationButton:"Nouvelle R\xE9servation"}}};R0(`.new-reservation-page .reservation-sidebar-component .reservation-summary .modal-title{margin-top:0;margin-bottom:20px}.new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details{list-style-type:none;padding:0;margin:0 0 20px;width:100%}.new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details li{margin-bottom:10px;font-size:15px;align-items:left;text-align:left}.new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details li strong{font-weight:700}.new-reservation-page .reservation-sidebar-component .reservation-summary{align-items:left}
16
16
  `);var sq=({formData:b,onNewReservation:O})=>{let o=w0(yp,"reservationSummary");return i0.createElement("div",{className:"reservation-summary"},i0.createElement("ul",{className:"reservation-details"},i0.createElement("li",null,i0.createElement("strong",null,o.title)),i0.createElement("li",null,i0.createElement("strong",null,o.guests,":")," ",b.guests),i0.createElement("li",null,i0.createElement("strong",null,o.date,":")," ",b.date),i0.createElement("li",null,i0.createElement("strong",null,o.time,":")," ",b.time),i0.createElement("li",null,i0.createElement("strong",null,o.firstName,":")," ",b.firstName),i0.createElement("li",null,i0.createElement("strong",null,o.lastName,":")," ",b.lastName),i0.createElement("li",null,i0.createElement("strong",null,o.email,":")," ",b.email),i0.createElement("li",null,i0.createElement("strong",null,o.phone,":")," ",b.phone),b.menu&&i0.createElement("li",null,i0.createElement("strong",null,o.menu,":")," ",b.menu),b.personeel&&i0.createElement("li",null,i0.createElement("strong",null,o.staff,":")," ",b.personeel),b.giftcard&&i0.createElement("li",null,i0.createElement("strong",null,o.giftcard,":")," ",b.giftcard),b.extraInfo&&i0.createElement("li",null,i0.createElement("strong",null,o.extraInfo,":")," ",b.extraInfo),b.zitplaats&&i0.createElement("li",null,i0.createElement("strong",null,o.seatPlace,":")," ",b.zitplaats)),i0.createElement("button",{className:"button-style-3",onClick:O},o.newReservationButton))},E2=sq;var Sp={nl:{zitplaatsSelection:{labels:{seating:"Zitplaats"},options:{noPreference:"Geen voorkeur"}},giftcardSelection:{labels:{giftcard:"Cadeaubon"},options:{noGiftcard:"Geen Cadeaubon"}}},en:{zitplaatsSelection:{labels:{seating:"Seating"},options:{noPreference:"No preference"}},giftcardSelection:{labels:{giftcard:"Gift Card"},options:{noGiftcard:"No Gift Card"}}},fr:{zitplaatsSelection:{labels:{seating:"Place Assise"},options:{noPreference:"Pas de pr\xE9f\xE9rence"}},giftcardSelection:{labels:{giftcard:"Cadeau"},options:{noGiftcard:"Pas de carte"}}}};R0(`.new-reservation-page .giftcard-selection{margin-bottom:20px}.new-reservation-page .giftcard-options{display:flex;gap:20px;margin:10px 0}.new-reservation-page .giftcard-option{display:flex;align-items:center;gap:8px;cursor:pointer}.new-reservation-page .form-label{font-weight:500;margin-bottom:8px;display:block}.new-reservation-page .giftcard-option input[type=radio]{margin:0;cursor:pointer}.new-reservation-page .giftcard-option label{cursor:pointer}
17
17
  `);var Lq=({restaurantData:b,formData:O,handleChange:o,resetFormDataFields:q})=>{let e=w0(Sp,"giftcardSelection"),[a,n]=useState([]);if(useEffect(()=>{if(!b)return;let f=["breakfast","lunch","dinner"],L=new Set;f.forEach(i=>{let R=b[`openinghours-${i}`]?.schemeSettings||{};Object.values(R).forEach(T=>{T?.giftcardsEnabled&&Array.isArray(T.giftcards)&&T.giftcards.forEach(X=>{let h=typeof X=="string"?X.trim():String(X||"").trim();h&&L.add(h);});});}),n([...L]);},[b]),!a.length)return null;let u=a.map(f=>({value:f,label:f})),s=f=>{o({target:{name:"giftcard",value:f.target.value}}),q(["date","time"]);};return i0.createElement("div",{className:"giftcard-selection"},i0.createElement(C0,{label:e.labels?.giftcard||"Giftcard",name:"giftcard",type:"select",options:u,value:O.giftcard||"",onChange:s,selectPlaceholder:e.options?.noGiftcard||"Geen giftcard"}))},v2=Lq;var vp={nl:{zitplaatsSelection:{labels:{seating:"Zitplaats"},options:{noPreference:"Geen voorkeur"}},giftcardSelection:{labels:{giftcard:"Cadeaubon"},options:{noGiftcard:"Geen Cadeaubon"}}},en:{zitplaatsSelection:{labels:{seating:"Seating"},options:{noPreference:"No preference"}},giftcardSelection:{labels:{giftcard:"Gift Card"},options:{noGiftcard:"No Gift Card"}}},fr:{zitplaatsSelection:{labels:{seating:"Place Assise"},options:{noPreference:"Pas de pr\xE9f\xE9rence"}},giftcardSelection:{labels:{giftcard:"Cadeau"},options:{noGiftcard:"Pas de carte"}}}};R0(`.new-reservation-page .zitplaats-selection{margin-bottom:15px}.new-reservation-page .zitplaats-selection select{width:100%;padding:10px;border-radius:4px;border:1px solid #ccc;background-color:#fff}
package/package.json CHANGED
@@ -1,18 +1,20 @@
1
1
  {
2
2
  "name": "@happychef/reservation-sidebar",
3
- "version": "2.4.5",
3
+ "version": "2.4.7",
4
4
  "description": "A compound component for managing restaurant reservations - JavaScript version with independent styles",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
7
7
  "files": [
8
8
  "dist",
9
+ "src/styles.css",
9
10
  "README.md"
10
11
  ],
11
12
  "exports": {
12
13
  ".": {
13
14
  "import": "./dist/index.mjs",
14
15
  "require": "./dist/index.js"
15
- }
16
+ },
17
+ "./styles.css": "./src/styles.css"
16
18
  },
17
19
  "scripts": {
18
20
  "build": "tsup",
package/src/styles.css ADDED
@@ -0,0 +1,13 @@
1
+ /* Import all CSS files */
2
+ @import './styles/reservationSidebar.css';
3
+ @import './styles/newReservationAdmin.css';
4
+ @import './components/FormField/formField.css';
5
+ @import './components/GiftcardSelection/giftcardSelection.css';
6
+ @import './components/ZitplaatsSelection/zitplaatsSelection.css';
7
+ @import './components/ReservationStepOne/css/calendar.css';
8
+ @import './components/ReservationStepOne/css/reservationMode.css';
9
+ @import './components/ReservationStepOne/css/tableSelector.css';
10
+ @import './components/ReservationStepOne/css/timeSelector.css';
11
+ @import './components/ReservationStepOne/css/valueSelector.css';
12
+ @import './components/ReservationStepTwo/reservationStepTwo.css';
13
+ @import './components/ReservationSummary/reservationSummary.css';