@happychef/reservation-sidebar 2.2.0 → 2.2.1

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
@@ -1,34 +1,17 @@
1
- 'use strict';var X=require('react'),framerMotion=require('framer-motion'),Xe=require('moment-timezone'),Za=require('axios'),Wf=require('lottie-react'),fa=require('react-icons/fa');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var X__default=/*#__PURE__*/_interopDefault(X);var Xe__default=/*#__PURE__*/_interopDefault(Xe);var Za__default=/*#__PURE__*/_interopDefault(Za);var Wf__default=/*#__PURE__*/_interopDefault(Wf);var rc=Object.create;var fi=Object.defineProperty;var ic=Object.getOwnPropertyDescriptor;var ac=Object.getOwnPropertyNames;var sc=Object.getPrototypeOf,oc=Object.prototype.hasOwnProperty;var dt=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(a,o)=>(typeof require<"u"?require:a)[o]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var L=(r,a)=>()=>(a||r((a={exports:{}}).exports,a),a.exports);var lc=(r,a,o,l)=>{if(a&&typeof a=="object"||typeof a=="function")for(let u of ac(a))!oc.call(r,u)&&u!==o&&fi(r,u,{get:()=>a[u],enumerable:!(l=ic(a,u))||l.enumerable});return r};var Dt=(r,a,o)=>(o=r!=null?rc(sc(r)):{},lc(!r||!r.__esModule?fi(o,"default",{value:r,enumerable:true}):o,r));var hi=L((Hn,ft)=>{(function(r,a){typeof Hn=="object"&&typeof ft<"u"?ft.exports=a():typeof define=="function"&&define.amd?define(a):r.moment=a();})(Hn,(function(){var r;function a(){return r.apply(null,arguments)}function o(e){r=e;}function l(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function u(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function c(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var t;for(t in e)if(c(e,t))return false;return true}function b(e){return e===void 0}function g(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function h(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function y(e,t){var n=[],i,s=e.length;for(i=0;i<s;++i)n.push(t(e[i],i));return n}function m(e,t){for(var n in t)c(t,n)&&(e[n]=t[n]);return c(t,"toString")&&(e.toString=t.toString),c(t,"valueOf")&&(e.valueOf=t.valueOf),e}function p(e,t,n,i){return jr(e,t,n,i,true).utc()}function M(){return {empty:false,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:false,invalidEra:null,invalidMonth:null,invalidFormat:false,userInvalidated:false,iso:false,parsedDateParts:[],era:null,meridiem:null,rfc2822:false,weekdayMismatch:false}}function w(e){return e._pf==null&&(e._pf=M()),e._pf}var S;Array.prototype.some?S=Array.prototype.some:S=function(e){var t=Object(this),n=t.length>>>0,i;for(i=0;i<n;i++)if(i in t&&e.call(this,t[i],i,t))return true;return false};function x(e){var t=null,n=false,i=e._d&&!isNaN(e._d.getTime());if(i&&(t=w(e),n=S.call(t.parsedDateParts,function(s){return s!=null}),i=t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n),e._strict&&(i=i&&t.charsLeftOver===0&&t.unusedTokens.length===0&&t.bigHour===void 0)),Object.isFrozen==null||!Object.isFrozen(e))e._isValid=i;else return i;return e._isValid}function v(e){var t=p(NaN);return e!=null?m(w(t),e):w(t).userInvalidated=true,t}var N=a.momentProperties=[],_=false;function O(e,t){var n,i,s,f=N.length;if(b(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),b(t._i)||(e._i=t._i),b(t._f)||(e._f=t._f),b(t._l)||(e._l=t._l),b(t._strict)||(e._strict=t._strict),b(t._tzm)||(e._tzm=t._tzm),b(t._isUTC)||(e._isUTC=t._isUTC),b(t._offset)||(e._offset=t._offset),b(t._pf)||(e._pf=w(t)),b(t._locale)||(e._locale=t._locale),f>0)for(n=0;n<f;n++)i=N[n],s=t[i],b(s)||(e[i]=s);return e}function E(e){O(this,e),this._d=new Date(e._d!=null?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),_===false&&(_=true,a.updateOffset(this),_=false);}function D(e){return e instanceof E||e!=null&&e._isAMomentObject!=null}function I(e){a.suppressDeprecationWarnings===false&&typeof console<"u"&&console.warn&&console.warn("Deprecation warning: "+e);}function $(e,t){var n=true;return m(function(){if(a.deprecationHandler!=null&&a.deprecationHandler(null,e),n){var i=[],s,f,k,C=arguments.length;for(f=0;f<C;f++){if(s="",typeof arguments[f]=="object"){s+=`
2
- [`+f+"] ";for(k in arguments[0])c(arguments[0],k)&&(s+=k+": "+arguments[0][k]+", ");s=s.slice(0,-2);}else s=arguments[f];i.push(s);}I(e+`
3
- Arguments: `+Array.prototype.slice.call(i).join("")+`
4
- `+new Error().stack),n=false;}return t.apply(this,arguments)},t)}var B={};function ue(e,t){a.deprecationHandler!=null&&a.deprecationHandler(e,t),B[e]||(I(t),B[e]=true);}a.suppressDeprecationWarnings=false,a.deprecationHandler=null;function U(e){return typeof Function<"u"&&e instanceof Function||Object.prototype.toString.call(e)==="[object Function]"}function de(e){var t,n;for(n in e)c(e,n)&&(t=e[n],U(t)?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source);}function j(e,t){var n=m({},e),i;for(i in t)c(t,i)&&(u(e[i])&&u(t[i])?(n[i]={},m(n[i],e[i]),m(n[i],t[i])):t[i]!=null?n[i]=t[i]:delete n[i]);for(i in e)c(e,i)&&!c(t,i)&&u(e[i])&&(n[i]=m({},n[i]));return n}function Z(e){e!=null&&this.set(e);}var W;Object.keys?W=Object.keys:W=function(e){var t,n=[];for(t in e)c(e,t)&&n.push(t);return n};var ye={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function P(e,t,n){var i=this._calendar[e]||this._calendar.sameElse;return U(i)?i.call(t,n):i}function z(e,t,n){var i=""+Math.abs(e),s=t-i.length,f=e>=0;return (f?n?"+":"":"-")+Math.pow(10,Math.max(0,s)).toString().substr(1)+i}var J=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,F=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},Q={};function A(e,t,n,i){var s=i;typeof i=="string"&&(s=function(){return this[i]()}),e&&(Q[e]=s),t&&(Q[t[0]]=function(){return z(s.apply(this,arguments),t[1],t[2])}),n&&(Q[n]=function(){return this.localeData().ordinal(s.apply(this,arguments),e)});}function oe(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function ce(e){var t=e.match(J),n,i;for(n=0,i=t.length;n<i;n++)Q[t[n]]?t[n]=Q[t[n]]:t[n]=oe(t[n]);return function(s){var f="",k;for(k=0;k<i;k++)f+=U(t[k])?t[k].call(s,e):t[k];return f}}function ae(e,t){return e.isValid()?(t=we(t,e.localeData()),R[t]=R[t]||ce(t),R[t](e)):e.localeData().invalidDate()}function we(e,t){var n=5;function i(s){return t.longDateFormat(s)||s}for(F.lastIndex=0;n>=0&&F.test(e);)e=e.replace(F,i),F.lastIndex=0,n-=1;return e}var nt={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Pt(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(J).map(function(i){return i==="MMMM"||i==="MM"||i==="DD"||i==="dddd"?i.slice(1):i}).join(""),this._longDateFormat[e])}var yt="Invalid date";function kn(){return this._invalidDate}var ms="%d",ps=/\d{1,2}/;function hs(e){return this._ordinal.replace("%d",e)}var gs={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function bs(e,t,n,i){var s=this._relativeTime[n];return U(s)?s(e,t,n,i):s.replace(/%d/i,e)}function ys(e,t){var n=this._relativeTime[e>0?"future":"past"];return U(n)?n(t):n.replace(/%s/i,t)}var wr={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function Se(e){return typeof e=="string"?wr[e]||wr[e.toLowerCase()]:void 0}function wn(e){var t={},n,i;for(i in e)c(e,i)&&(n=Se(i),n&&(t[n]=e[i]));return t}var vs={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function xs(e){var t=[],n;for(n in e)c(e,n)&&t.push({unit:n,priority:vs[n]});return t.sort(function(i,s){return i.priority-s.priority}),t}var Tr=/\d/,Te=/\d\d/,_r=/\d{3}/,Tn=/\d{4}/,$t=/[+-]?\d{6}/,te=/\d\d?/,Sr=/\d\d\d\d?/,Nr=/\d\d\d\d\d\d?/,Gt=/\d{1,3}/,_n=/\d{1,4}/,Wt=/[+-]?\d{1,6}/,rt=/\d+/,Bt=/[+-]?\d+/,ks=/Z|[+-]\d\d:?\d\d/gi,zt=/Z|[+-]\d\d(?::?\d\d)?/gi,ws=/[+-]?\d+(\.\d{1,3})?/,vt=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,it=/^[1-9]\d?/,Sn=/^([1-9]\d|\d)/,Lt;Lt={};function Y(e,t,n){Lt[e]=U(t)?t:function(i,s){return i&&n?n:t};}function Ts(e,t){return c(Lt,e)?Lt[e](t._strict,t._locale):new RegExp(_s(e))}function _s(e){return Ye(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,n,i,s,f){return n||i||s||f}))}function Ye(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Ne(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function H(e){var t=+e,n=0;return t!==0&&isFinite(t)&&(n=Ne(t)),n}var Nn={};function ee(e,t){var n,i=t,s;for(typeof e=="string"&&(e=[e]),g(t)&&(i=function(f,k){k[t]=H(f);}),s=e.length,n=0;n<s;n++)Nn[e[n]]=i;}function xt(e,t){ee(e,function(n,i,s,f){s._w=s._w||{},t(n,s._w,s,f);});}function Ss(e,t,n){t!=null&&c(Nn,e)&&Nn[e](t,n._a,n,e);}function jt(e){return e%4===0&&e%100!==0||e%400===0}var xe=0,Oe=1,Ce=2,ge=3,Ae=4,Ee=5,qe=6,Ns=7,Ms=8;A("Y",0,0,function(){var e=this.year();return e<=9999?z(e,4):"+"+e}),A(0,["YY",2],0,function(){return this.year()%100}),A(0,["YYYY",4],0,"year"),A(0,["YYYYY",5],0,"year"),A(0,["YYYYYY",6,true],0,"year"),Y("Y",Bt),Y("YY",te,Te),Y("YYYY",_n,Tn),Y("YYYYY",Wt,$t),Y("YYYYYY",Wt,$t),ee(["YYYYY","YYYYYY"],xe),ee("YYYY",function(e,t){t[xe]=e.length===2?a.parseTwoDigitYear(e):H(e);}),ee("YY",function(e,t){t[xe]=a.parseTwoDigitYear(e);}),ee("Y",function(e,t){t[xe]=parseInt(e,10);});function kt(e){return jt(e)?366:365}a.parseTwoDigitYear=function(e){return H(e)+(H(e)>68?1900:2e3)};var Mr=at("FullYear",true);function Ds(){return jt(this.year())}function at(e,t){return function(n){return n!=null?(Dr(this,e,n),a.updateOffset(this,t),this):wt(this,e)}}function wt(e,t){if(!e.isValid())return NaN;var n=e._d,i=e._isUTC;switch(t){case "Milliseconds":return i?n.getUTCMilliseconds():n.getMilliseconds();case "Seconds":return i?n.getUTCSeconds():n.getSeconds();case "Minutes":return i?n.getUTCMinutes():n.getMinutes();case "Hours":return i?n.getUTCHours():n.getHours();case "Date":return i?n.getUTCDate():n.getDate();case "Day":return i?n.getUTCDay():n.getDay();case "Month":return i?n.getUTCMonth():n.getMonth();case "FullYear":return i?n.getUTCFullYear():n.getFullYear();default:return NaN}}function Dr(e,t,n){var i,s,f,k,C;if(!(!e.isValid()||isNaN(n))){switch(i=e._d,s=e._isUTC,t){case "Milliseconds":return void(s?i.setUTCMilliseconds(n):i.setMilliseconds(n));case "Seconds":return void(s?i.setUTCSeconds(n):i.setSeconds(n));case "Minutes":return void(s?i.setUTCMinutes(n):i.setMinutes(n));case "Hours":return void(s?i.setUTCHours(n):i.setHours(n));case "Date":return void(s?i.setUTCDate(n):i.setDate(n));case "FullYear":break;default:return}f=n,k=e.month(),C=e.date(),C=C===29&&k===1&&!jt(f)?28:C,s?i.setUTCFullYear(f,k,C):i.setFullYear(f,k,C);}}function As(e){return e=Se(e),U(this[e])?this[e]():this}function Is(e,t){if(typeof e=="object"){e=wn(e);var n=xs(e),i,s=n.length;for(i=0;i<s;i++)this[n[i].unit](e[n[i].unit]);}else if(e=Se(e),U(this[e]))return this[e](t);return this}function Cs(e,t){return (e%t+t)%t}var fe;Array.prototype.indexOf?fe=Array.prototype.indexOf:fe=function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return -1};function Mn(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=Cs(t,12);return e+=(t-n)/12,n===1?jt(e)?29:28:31-n%7%2}A("M",["MM",2],"Mo",function(){return this.month()+1}),A("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),A("MMMM",0,0,function(e){return this.localeData().months(this,e)}),Y("M",te,it),Y("MM",te,Te),Y("MMM",function(e,t){return t.monthsShortRegex(e)}),Y("MMMM",function(e,t){return t.monthsRegex(e)}),ee(["M","MM"],function(e,t){t[Oe]=H(e)-1;}),ee(["MMM","MMMM"],function(e,t,n,i){var s=n._locale.monthsParse(e,i,n._strict);s!=null?t[Oe]=s:w(n).invalidMonth=e;});var Ys="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ar="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ir=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Os=vt,Es=vt;function Fs(e,t){return e?l(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Ir).test(t)?"format":"standalone"][e.month()]:l(this._months)?this._months:this._months.standalone}function Ps(e,t){return e?l(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Ir.test(t)?"format":"standalone"][e.month()]:l(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function $s(e,t,n){var i,s,f,k=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)f=p([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(f,"").toLocaleLowerCase();return n?t==="MMM"?(s=fe.call(this._shortMonthsParse,k),s!==-1?s:null):(s=fe.call(this._longMonthsParse,k),s!==-1?s:null):t==="MMM"?(s=fe.call(this._shortMonthsParse,k),s!==-1?s:(s=fe.call(this._longMonthsParse,k),s!==-1?s:null)):(s=fe.call(this._longMonthsParse,k),s!==-1?s:(s=fe.call(this._shortMonthsParse,k),s!==-1?s:null))}function Gs(e,t,n){var i,s,f;if(this._monthsParseExact)return $s.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(s=p([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(s,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(s,"").replace(".","")+"$","i")),!n&&!this._monthsParse[i]&&(f="^"+this.months(s,"")+"|^"+this.monthsShort(s,""),this._monthsParse[i]=new RegExp(f.replace(".",""),"i")),n&&t==="MMMM"&&this._longMonthsParse[i].test(e))return i;if(n&&t==="MMM"&&this._shortMonthsParse[i].test(e))return i;if(!n&&this._monthsParse[i].test(e))return i}}function Cr(e,t){if(!e.isValid())return e;if(typeof t=="string"){if(/^\d+$/.test(t))t=H(t);else if(t=e.localeData().monthsParse(t),!g(t))return e}var n=t,i=e.date();return i=i<29?i:Math.min(i,Mn(e.year(),n)),e._isUTC?e._d.setUTCMonth(n,i):e._d.setMonth(n,i),e}function Yr(e){return e!=null?(Cr(this,e),a.updateOffset(this,true),this):wt(this,"Month")}function Ws(){return Mn(this.year(),this.month())}function Bs(e){return this._monthsParseExact?(c(this,"_monthsRegex")||Or.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(c(this,"_monthsShortRegex")||(this._monthsShortRegex=Os),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function zs(e){return this._monthsParseExact?(c(this,"_monthsRegex")||Or.call(this),e?this._monthsStrictRegex:this._monthsRegex):(c(this,"_monthsRegex")||(this._monthsRegex=Es),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function Or(){function e(G,V){return V.length-G.length}var t=[],n=[],i=[],s,f,k,C;for(s=0;s<12;s++)f=p([2e3,s]),k=Ye(this.monthsShort(f,"")),C=Ye(this.months(f,"")),t.push(k),n.push(C),i.push(C),i.push(k);t.sort(e),n.sort(e),i.sort(e),this._monthsRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+t.join("|")+")","i");}function Ls(e,t,n,i,s,f,k){var C;return e<100&&e>=0?(C=new Date(e+400,t,n,i,s,f,k),isFinite(C.getFullYear())&&C.setFullYear(e)):C=new Date(e,t,n,i,s,f,k),C}function Tt(e){var t,n;return e<100&&e>=0?(n=Array.prototype.slice.call(arguments),n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Rt(e,t,n){var i=7+t-n,s=(7+Tt(e,0,i).getUTCDay()-t)%7;return -s+i-1}function Er(e,t,n,i,s){var f=(7+n-i)%7,k=Rt(e,i,s),C=1+7*(t-1)+f+k,G,V;return C<=0?(G=e-1,V=kt(G)+C):C>kt(e)?(G=e+1,V=C-kt(e)):(G=e,V=C),{year:G,dayOfYear:V}}function _t(e,t,n){var i=Rt(e.year(),t,n),s=Math.floor((e.dayOfYear()-i-1)/7)+1,f,k;return s<1?(k=e.year()-1,f=s+Fe(k,t,n)):s>Fe(e.year(),t,n)?(f=s-Fe(e.year(),t,n),k=e.year()+1):(k=e.year(),f=s),{week:f,year:k}}function Fe(e,t,n){var i=Rt(e,t,n),s=Rt(e+1,t,n);return (kt(e)-i+s)/7}A("w",["ww",2],"wo","week"),A("W",["WW",2],"Wo","isoWeek"),Y("w",te,it),Y("ww",te,Te),Y("W",te,it),Y("WW",te,Te),xt(["w","ww","W","WW"],function(e,t,n,i){t[i.substr(0,1)]=H(e);});function js(e){return _t(e,this._week.dow,this._week.doy).week}var Rs={dow:0,doy:6};function Hs(){return this._week.dow}function Vs(){return this._week.doy}function qs(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function Us(e){var t=_t(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}A("d",0,"do","day"),A("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),A("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),A("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),A("e",0,0,"weekday"),A("E",0,0,"isoWeekday"),Y("d",te),Y("e",te),Y("E",te),Y("dd",function(e,t){return t.weekdaysMinRegex(e)}),Y("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Y("dddd",function(e,t){return t.weekdaysRegex(e)}),xt(["dd","ddd","dddd"],function(e,t,n,i){var s=n._locale.weekdaysParse(e,i,n._strict);s!=null?t.d=s:w(n).invalidWeekday=e;}),xt(["d","e","E"],function(e,t,n,i){t[i]=H(e);});function Zs(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function Js(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Dn(e,t){return e.slice(t,7).concat(e.slice(0,t))}var Ks="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Fr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Qs="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Xs=vt,eo=vt,to=vt;function no(e,t){var n=l(this._weekdays)?this._weekdays:this._weekdays[e&&e!==true&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===true?Dn(n,this._week.dow):e?n[e.day()]:n}function ro(e){return e===true?Dn(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function io(e){return e===true?Dn(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function ao(e,t,n){var i,s,f,k=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)f=p([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(f,"").toLocaleLowerCase();return n?t==="dddd"?(s=fe.call(this._weekdaysParse,k),s!==-1?s:null):t==="ddd"?(s=fe.call(this._shortWeekdaysParse,k),s!==-1?s:null):(s=fe.call(this._minWeekdaysParse,k),s!==-1?s:null):t==="dddd"?(s=fe.call(this._weekdaysParse,k),s!==-1||(s=fe.call(this._shortWeekdaysParse,k),s!==-1)?s:(s=fe.call(this._minWeekdaysParse,k),s!==-1?s:null)):t==="ddd"?(s=fe.call(this._shortWeekdaysParse,k),s!==-1||(s=fe.call(this._weekdaysParse,k),s!==-1)?s:(s=fe.call(this._minWeekdaysParse,k),s!==-1?s:null)):(s=fe.call(this._minWeekdaysParse,k),s!==-1||(s=fe.call(this._weekdaysParse,k),s!==-1)?s:(s=fe.call(this._shortWeekdaysParse,k),s!==-1?s:null))}function so(e,t,n){var i,s,f;if(this._weekdaysParseExact)return ao.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(s=p([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(s,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(s,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(s,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(f="^"+this.weekdays(s,"")+"|^"+this.weekdaysShort(s,"")+"|^"+this.weekdaysMin(s,""),this._weekdaysParse[i]=new RegExp(f.replace(".",""),"i")),n&&t==="dddd"&&this._fullWeekdaysParse[i].test(e))return i;if(n&&t==="ddd"&&this._shortWeekdaysParse[i].test(e))return i;if(n&&t==="dd"&&this._minWeekdaysParse[i].test(e))return i;if(!n&&this._weekdaysParse[i].test(e))return i}}function oo(e){if(!this.isValid())return e!=null?this:NaN;var t=wt(this,"Day");return e!=null?(e=Zs(e,this.localeData()),this.add(e-t,"d")):t}function lo(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function uo(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=Js(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function co(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||An.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=Xs),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function fo(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||An.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=eo),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function mo(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||An.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=to),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function An(){function e(ke,Be){return Be.length-ke.length}var t=[],n=[],i=[],s=[],f,k,C,G,V;for(f=0;f<7;f++)k=p([2e3,1]).day(f),C=Ye(this.weekdaysMin(k,"")),G=Ye(this.weekdaysShort(k,"")),V=Ye(this.weekdays(k,"")),t.push(C),n.push(G),i.push(V),s.push(C),s.push(G),s.push(V);t.sort(e),n.sort(e),i.sort(e),s.sort(e),this._weekdaysRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i");}function In(){return this.hours()%12||12}function po(){return this.hours()||24}A("H",["HH",2],0,"hour"),A("h",["hh",2],0,In),A("k",["kk",2],0,po),A("hmm",0,0,function(){return ""+In.apply(this)+z(this.minutes(),2)}),A("hmmss",0,0,function(){return ""+In.apply(this)+z(this.minutes(),2)+z(this.seconds(),2)}),A("Hmm",0,0,function(){return ""+this.hours()+z(this.minutes(),2)}),A("Hmmss",0,0,function(){return ""+this.hours()+z(this.minutes(),2)+z(this.seconds(),2)});function Pr(e,t){A(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)});}Pr("a",true),Pr("A",false);function $r(e,t){return t._meridiemParse}Y("a",$r),Y("A",$r),Y("H",te,Sn),Y("h",te,it),Y("k",te,it),Y("HH",te,Te),Y("hh",te,Te),Y("kk",te,Te),Y("hmm",Sr),Y("hmmss",Nr),Y("Hmm",Sr),Y("Hmmss",Nr),ee(["H","HH"],ge),ee(["k","kk"],function(e,t,n){var i=H(e);t[ge]=i===24?0:i;}),ee(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e;}),ee(["h","hh"],function(e,t,n){t[ge]=H(e),w(n).bigHour=true;}),ee("hmm",function(e,t,n){var i=e.length-2;t[ge]=H(e.substr(0,i)),t[Ae]=H(e.substr(i)),w(n).bigHour=true;}),ee("hmmss",function(e,t,n){var i=e.length-4,s=e.length-2;t[ge]=H(e.substr(0,i)),t[Ae]=H(e.substr(i,2)),t[Ee]=H(e.substr(s)),w(n).bigHour=true;}),ee("Hmm",function(e,t,n){var i=e.length-2;t[ge]=H(e.substr(0,i)),t[Ae]=H(e.substr(i));}),ee("Hmmss",function(e,t,n){var i=e.length-4,s=e.length-2;t[ge]=H(e.substr(0,i)),t[Ae]=H(e.substr(i,2)),t[Ee]=H(e.substr(s));});function ho(e){return (e+"").toLowerCase().charAt(0)==="p"}var go=/[ap]\.?m?\.?/i,bo=at("Hours",true);function yo(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}var Gr={calendar:ye,longDateFormat:nt,invalidDate:yt,ordinal:ms,dayOfMonthOrdinalParse:ps,relativeTime:gs,months:Ys,monthsShort:Ar,week:Rs,weekdays:Ks,weekdaysMin:Qs,weekdaysShort:Fr,meridiemParse:go},se={},St={},Nt;function vo(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n<i;n+=1)if(e[n]!==t[n])return n;return i}function Wr(e){return e&&e.toLowerCase().replace("_","-")}function xo(e){for(var t=0,n,i,s,f;t<e.length;){for(f=Wr(e[t]).split("-"),n=f.length,i=Wr(e[t+1]),i=i?i.split("-"):null;n>0;){if(s=Ht(f.slice(0,n).join("-")),s)return s;if(i&&i.length>=n&&vo(f,i)>=n-1)break;n--;}t++;}return Nt}function ko(e){return !!(e&&e.match("^[^/\\\\]*$"))}function Ht(e){var t=null,n;if(se[e]===void 0&&typeof ft<"u"&&ft&&ft.exports&&ko(e))try{t=Nt._abbr,n=dt,n("./locale/"+e),Le(t);}catch{se[e]=null;}return se[e]}function Le(e,t){var n;return e&&(b(t)?n=Pe(e):n=Cn(e,t),n?Nt=n:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),Nt._abbr}function Cn(e,t){if(t!==null){var n,i=Gr;if(t.abbr=e,se[e]!=null)ue("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=se[e]._config;else if(t.parentLocale!=null)if(se[t.parentLocale]!=null)i=se[t.parentLocale]._config;else if(n=Ht(t.parentLocale),n!=null)i=n._config;else return St[t.parentLocale]||(St[t.parentLocale]=[]),St[t.parentLocale].push({name:e,config:t}),null;return se[e]=new Z(j(i,t)),St[e]&&St[e].forEach(function(s){Cn(s.name,s.config);}),Le(e),se[e]}else return delete se[e],null}function wo(e,t){if(t!=null){var n,i,s=Gr;se[e]!=null&&se[e].parentLocale!=null?se[e].set(j(se[e]._config,t)):(i=Ht(e),i!=null&&(s=i._config),t=j(s,t),i==null&&(t.abbr=e),n=new Z(t),n.parentLocale=se[e],se[e]=n),Le(e);}else se[e]!=null&&(se[e].parentLocale!=null?(se[e]=se[e].parentLocale,e===Le()&&Le(e)):se[e]!=null&&delete se[e]);return se[e]}function Pe(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Nt;if(!l(e)){if(t=Ht(e),t)return t;e=[e];}return xo(e)}function To(){return W(se)}function Yn(e){var t,n=e._a;return n&&w(e).overflow===-2&&(t=n[Oe]<0||n[Oe]>11?Oe:n[Ce]<1||n[Ce]>Mn(n[xe],n[Oe])?Ce:n[ge]<0||n[ge]>24||n[ge]===24&&(n[Ae]!==0||n[Ee]!==0||n[qe]!==0)?ge:n[Ae]<0||n[Ae]>59?Ae:n[Ee]<0||n[Ee]>59?Ee:n[qe]<0||n[qe]>999?qe:-1,w(e)._overflowDayOfYear&&(t<xe||t>Ce)&&(t=Ce),w(e)._overflowWeeks&&t===-1&&(t=Ns),w(e)._overflowWeekday&&t===-1&&(t=Ms),w(e).overflow=t),e}var _o=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,So=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,No=/Z|[+-]\d\d(?::?\d\d)?/,Vt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,false],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,false],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,false],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,false],["YYYY",/\d{4}/,false]],On=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mo=/^\/?Date\((-?\d+)/i,Do=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Ao={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Br(e){var t,n,i=e._i,s=_o.exec(i)||So.exec(i),f,k,C,G,V=Vt.length,ke=On.length;if(s){for(w(e).iso=true,t=0,n=V;t<n;t++)if(Vt[t][1].exec(s[1])){k=Vt[t][0],f=Vt[t][2]!==false;break}if(k==null){e._isValid=false;return}if(s[3]){for(t=0,n=ke;t<n;t++)if(On[t][1].exec(s[3])){C=(s[2]||" ")+On[t][0];break}if(C==null){e._isValid=false;return}}if(!f&&C!=null){e._isValid=false;return}if(s[4])if(No.exec(s[4]))G="Z";else {e._isValid=false;return}e._f=k+(C||"")+(G||""),Fn(e);}else e._isValid=false;}function Io(e,t,n,i,s,f){var k=[Co(e),Ar.indexOf(t),parseInt(n,10),parseInt(i,10),parseInt(s,10)];return f&&k.push(parseInt(f,10)),k}function Co(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function Yo(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function Oo(e,t,n){if(e){var i=Fr.indexOf(e),s=new Date(t[0],t[1],t[2]).getDay();if(i!==s)return w(n).weekdayMismatch=true,n._isValid=false,false}return true}function Eo(e,t,n){if(e)return Ao[e];if(t)return 0;var i=parseInt(n,10),s=i%100,f=(i-s)/100;return f*60+s}function zr(e){var t=Do.exec(Yo(e._i)),n;if(t){if(n=Io(t[4],t[3],t[2],t[5],t[6],t[7]),!Oo(t[1],n,e))return;e._a=n,e._tzm=Eo(t[8],t[9],t[10]),e._d=Tt.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),w(e).rfc2822=true;}else e._isValid=false;}function Fo(e){var t=Mo.exec(e._i);if(t!==null){e._d=new Date(+t[1]);return}if(Br(e),e._isValid===false)delete e._isValid;else return;if(zr(e),e._isValid===false)delete e._isValid;else return;e._strict?e._isValid=false:a.createFromInputFallback(e);}a.createFromInputFallback=$("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""));});function st(e,t,n){return e??t??n}function Po(e){var t=new Date(a.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function En(e){var t,n,i=[],s,f,k;if(!e._d){for(s=Po(e),e._w&&e._a[Ce]==null&&e._a[Oe]==null&&$o(e),e._dayOfYear!=null&&(k=st(e._a[xe],s[xe]),(e._dayOfYear>kt(k)||e._dayOfYear===0)&&(w(e)._overflowDayOfYear=true),n=Tt(k,0,e._dayOfYear),e._a[Oe]=n.getUTCMonth(),e._a[Ce]=n.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=i[t]=s[t];for(;t<7;t++)e._a[t]=i[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[ge]===24&&e._a[Ae]===0&&e._a[Ee]===0&&e._a[qe]===0&&(e._nextDay=true,e._a[ge]=0),e._d=(e._useUTC?Tt:Ls).apply(null,i),f=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&typeof e._w.d<"u"&&e._w.d!==f&&(w(e).weekdayMismatch=true);}}function $o(e){var t,n,i,s,f,k,C,G,V;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(f=1,k=4,n=st(t.GG,e._a[xe],_t(ne(),1,4).year),i=st(t.W,1),s=st(t.E,1),(s<1||s>7)&&(G=true)):(f=e._locale._week.dow,k=e._locale._week.doy,V=_t(ne(),f,k),n=st(t.gg,e._a[xe],V.year),i=st(t.w,V.week),t.d!=null?(s=t.d,(s<0||s>6)&&(G=true)):t.e!=null?(s=t.e+f,(t.e<0||t.e>6)&&(G=true)):s=f),i<1||i>Fe(n,f,k)?w(e)._overflowWeeks=true:G!=null?w(e)._overflowWeekday=true:(C=Er(n,i,s,f,k),e._a[xe]=C.year,e._dayOfYear=C.dayOfYear);}a.ISO_8601=function(){},a.RFC_2822=function(){};function Fn(e){if(e._f===a.ISO_8601){Br(e);return}if(e._f===a.RFC_2822){zr(e);return}e._a=[],w(e).empty=true;var t=""+e._i,n,i,s,f,k,C=t.length,G=0,V,ke;for(s=we(e._f,e._locale).match(J)||[],ke=s.length,n=0;n<ke;n++)f=s[n],i=(t.match(Ts(f,e))||[])[0],i&&(k=t.substr(0,t.indexOf(i)),k.length>0&&w(e).unusedInput.push(k),t=t.slice(t.indexOf(i)+i.length),G+=i.length),Q[f]?(i?w(e).empty=false:w(e).unusedTokens.push(f),Ss(f,i,e)):e._strict&&!i&&w(e).unusedTokens.push(f);w(e).charsLeftOver=C-G,t.length>0&&w(e).unusedInput.push(t),e._a[ge]<=12&&w(e).bigHour===true&&e._a[ge]>0&&(w(e).bigHour=void 0),w(e).parsedDateParts=e._a.slice(0),w(e).meridiem=e._meridiem,e._a[ge]=Go(e._locale,e._a[ge],e._meridiem),V=w(e).era,V!==null&&(e._a[xe]=e._locale.erasConvertYear(V,e._a[xe])),En(e),Yn(e);}function Go(e,t,n){var i;return n==null?t:e.meridiemHour!=null?e.meridiemHour(t,n):(e.isPM!=null&&(i=e.isPM(n),i&&t<12&&(t+=12),!i&&t===12&&(t=0)),t)}function Wo(e){var t,n,i,s,f,k,C=false,G=e._f.length;if(G===0){w(e).invalidFormat=true,e._d=new Date(NaN);return}for(s=0;s<G;s++)f=0,k=false,t=O({},e),e._useUTC!=null&&(t._useUTC=e._useUTC),t._f=e._f[s],Fn(t),x(t)&&(k=true),f+=w(t).charsLeftOver,f+=w(t).unusedTokens.length*10,w(t).score=f,C?f<i&&(i=f,n=t):(i==null||f<i||k)&&(i=f,n=t,k&&(C=true));m(e,n||t);}function Bo(e){if(!e._d){var t=wn(e._i),n=t.day===void 0?t.date:t.day;e._a=y([t.year,t.month,n,t.hour,t.minute,t.second,t.millisecond],function(i){return i&&parseInt(i,10)}),En(e);}}function zo(e){var t=new E(Yn(Lr(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function Lr(e){var t=e._i,n=e._f;return e._locale=e._locale||Pe(e._l),t===null||n===void 0&&t===""?v({nullInput:true}):(typeof t=="string"&&(e._i=t=e._locale.preparse(t)),D(t)?new E(Yn(t)):(h(t)?e._d=t:l(n)?Wo(e):n?Fn(e):Lo(e),x(e)||(e._d=null),e))}function Lo(e){var t=e._i;b(t)?e._d=new Date(a.now()):h(t)?e._d=new Date(t.valueOf()):typeof t=="string"?Fo(e):l(t)?(e._a=y(t.slice(0),function(n){return parseInt(n,10)}),En(e)):u(t)?Bo(e):g(t)?e._d=new Date(t):a.createFromInputFallback(e);}function jr(e,t,n,i,s){var f={};return (t===true||t===false)&&(i=t,t=void 0),(n===true||n===false)&&(i=n,n=void 0),(u(e)&&d(e)||l(e)&&e.length===0)&&(e=void 0),f._isAMomentObject=true,f._useUTC=f._isUTC=s,f._l=n,f._i=e,f._f=t,f._strict=i,zo(f)}function ne(e,t,n,i){return jr(e,t,n,i,false)}var jo=$("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=ne.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:v()}),Ro=$("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=ne.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:v()});function Rr(e,t){var n,i;if(t.length===1&&l(t[0])&&(t=t[0]),!t.length)return ne();for(n=t[0],i=1;i<t.length;++i)(!t[i].isValid()||t[i][e](n))&&(n=t[i]);return n}function Ho(){var e=[].slice.call(arguments,0);return Rr("isBefore",e)}function Vo(){var e=[].slice.call(arguments,0);return Rr("isAfter",e)}var qo=function(){return Date.now?Date.now():+new Date},Mt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Uo(e){var t,n=false,i,s=Mt.length;for(t in e)if(c(e,t)&&!(fe.call(Mt,t)!==-1&&(e[t]==null||!isNaN(e[t]))))return false;for(i=0;i<s;++i)if(e[Mt[i]]){if(n)return false;parseFloat(e[Mt[i]])!==H(e[Mt[i]])&&(n=true);}return true}function Zo(){return this._isValid}function Jo(){return Ie(NaN)}function qt(e){var t=wn(e),n=t.year||0,i=t.quarter||0,s=t.month||0,f=t.week||t.isoWeek||0,k=t.day||0,C=t.hour||0,G=t.minute||0,V=t.second||0,ke=t.millisecond||0;this._isValid=Uo(t),this._milliseconds=+ke+V*1e3+G*6e4+C*1e3*60*60,this._days=+k+f*7,this._months=+s+i*3+n*12,this._data={},this._locale=Pe(),this._bubble();}function Ut(e){return e instanceof qt}function Pn(e){return e<0?Math.round(-1*e)*-1:Math.round(e)}function Ko(e,t,n){var i=Math.min(e.length,t.length),s=Math.abs(e.length-t.length),f=0,k;for(k=0;k<i;k++)(H(e[k])!==H(t[k]))&&f++;return f+s}function Hr(e,t){A(e,0,0,function(){var n=this.utcOffset(),i="+";return n<0&&(n=-n,i="-"),i+z(~~(n/60),2)+t+z(~~n%60,2)});}Hr("Z",":"),Hr("ZZ",""),Y("Z",zt),Y("ZZ",zt),ee(["Z","ZZ"],function(e,t,n){n._useUTC=true,n._tzm=$n(zt,e);});var Qo=/([\+\-]|\d\d)/gi;function $n(e,t){var n=(t||"").match(e),i,s,f;return n===null?null:(i=n[n.length-1]||[],s=(i+"").match(Qo)||["-",0,0],f=+(s[1]*60)+H(s[2]),f===0?0:s[0]==="+"?f:-f)}function Gn(e,t){var n,i;return t._isUTC?(n=t.clone(),i=(D(e)||h(e)?e.valueOf():ne(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+i),a.updateOffset(n,false),n):ne(e).local()}function Wn(e){return -Math.round(e._d.getTimezoneOffset())}a.updateOffset=function(){};function Xo(e,t,n){var i=this._offset||0,s;if(!this.isValid())return e!=null?this:NaN;if(e!=null){if(typeof e=="string"){if(e=$n(zt,e),e===null)return this}else Math.abs(e)<16&&!n&&(e=e*60);return !this._isUTC&&t&&(s=Wn(this)),this._offset=e,this._isUTC=true,s!=null&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?Zr(this,Ie(e-i,"m"),1,false):this._changeInProgress||(this._changeInProgress=true,a.updateOffset(this,true),this._changeInProgress=null)),this}else return this._isUTC?i:Wn(this)}function el(e,t){return e!=null?(typeof e!="string"&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function tl(e){return this.utcOffset(0,e)}function nl(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=false,e&&this.subtract(Wn(this),"m")),this}function rl(){if(this._tzm!=null)this.utcOffset(this._tzm,false,true);else if(typeof this._i=="string"){var e=$n(ks,this._i);e!=null?this.utcOffset(e):this.utcOffset(0,true);}return this}function il(e){return this.isValid()?(e=e?ne(e).utcOffset():0,(this.utcOffset()-e)%60===0):false}function al(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function sl(){if(!b(this._isDSTShifted))return this._isDSTShifted;var e={},t;return O(e,this),e=Lr(e),e._a?(t=e._isUTC?p(e._a):ne(e._a),this._isDSTShifted=this.isValid()&&Ko(e._a,t.toArray())>0):this._isDSTShifted=false,this._isDSTShifted}function ol(){return this.isValid()?!this._isUTC:false}function ll(){return this.isValid()?this._isUTC:false}function Vr(){return this.isValid()?this._isUTC&&this._offset===0:false}var ul=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,cl=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ie(e,t){var n=e,i=null,s,f,k;return Ut(e)?n={ms:e._milliseconds,d:e._days,M:e._months}:g(e)||!isNaN(+e)?(n={},t?n[t]=+e:n.milliseconds=+e):(i=ul.exec(e))?(s=i[1]==="-"?-1:1,n={y:0,d:H(i[Ce])*s,h:H(i[ge])*s,m:H(i[Ae])*s,s:H(i[Ee])*s,ms:H(Pn(i[qe]*1e3))*s}):(i=cl.exec(e))?(s=i[1]==="-"?-1:1,n={y:Ue(i[2],s),M:Ue(i[3],s),w:Ue(i[4],s),d:Ue(i[5],s),h:Ue(i[6],s),m:Ue(i[7],s),s:Ue(i[8],s)}):n==null?n={}:typeof n=="object"&&("from"in n||"to"in n)&&(k=dl(ne(n.from),ne(n.to)),n={},n.ms=k.milliseconds,n.M=k.months),f=new qt(n),Ut(e)&&c(e,"_locale")&&(f._locale=e._locale),Ut(e)&&c(e,"_isValid")&&(f._isValid=e._isValid),f}Ie.fn=qt.prototype,Ie.invalid=Jo;function Ue(e,t){var n=e&&parseFloat(e.replace(",","."));return (isNaN(n)?0:n)*t}function qr(e,t){var n={};return n.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function dl(e,t){var n;return e.isValid()&&t.isValid()?(t=Gn(t,e),e.isBefore(t)?n=qr(e,t):(n=qr(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Ur(e,t){return function(n,i){var s,f;return i!==null&&!isNaN(+i)&&(ue(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=n,n=i,i=f),s=Ie(n,i),Zr(this,s,e),this}}function Zr(e,t,n,i){var s=t._milliseconds,f=Pn(t._days),k=Pn(t._months);e.isValid()&&(i=i??true,k&&Cr(e,wt(e,"Month")+k*n),f&&Dr(e,"Date",wt(e,"Date")+f*n),s&&e._d.setTime(e._d.valueOf()+s*n),i&&a.updateOffset(e,f||k));}var fl=Ur(1,"add"),ml=Ur(-1,"subtract");function Jr(e){return typeof e=="string"||e instanceof String}function pl(e){return D(e)||h(e)||Jr(e)||g(e)||gl(e)||hl(e)||e===null||e===void 0}function hl(e){var t=u(e)&&!d(e),n=false,i=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],s,f,k=i.length;for(s=0;s<k;s+=1)f=i[s],n=n||c(e,f);return t&&n}function gl(e){var t=l(e),n=false;return t&&(n=e.filter(function(i){return !g(i)&&Jr(e)}).length===0),t&&n}function bl(e){var t=u(e)&&!d(e),n=false,i=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],s,f;for(s=0;s<i.length;s+=1)f=i[s],n=n||c(e,f);return t&&n}function yl(e,t){var n=e.diff(t,"days",true);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function vl(e,t){arguments.length===1&&(arguments[0]?pl(arguments[0])?(e=arguments[0],t=void 0):bl(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var n=e||ne(),i=Gn(n,this).startOf("day"),s=a.calendarFormat(this,i)||"sameElse",f=t&&(U(t[s])?t[s].call(this,n):t[s]);return this.format(f||this.localeData().calendar(s,this,ne(n)))}function xl(){return new E(this)}function kl(e,t){var n=D(e)?e:ne(e);return this.isValid()&&n.isValid()?(t=Se(t)||"millisecond",t==="millisecond"?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf()):false}function wl(e,t){var n=D(e)?e:ne(e);return this.isValid()&&n.isValid()?(t=Se(t)||"millisecond",t==="millisecond"?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf()):false}function Tl(e,t,n,i){var s=D(e)?e:ne(e),f=D(t)?t:ne(t);return this.isValid()&&s.isValid()&&f.isValid()?(i=i||"()",(i[0]==="("?this.isAfter(s,n):!this.isBefore(s,n))&&(i[1]===")"?this.isBefore(f,n):!this.isAfter(f,n))):false}function _l(e,t){var n=D(e)?e:ne(e),i;return this.isValid()&&n.isValid()?(t=Se(t)||"millisecond",t==="millisecond"?this.valueOf()===n.valueOf():(i=n.valueOf(),this.clone().startOf(t).valueOf()<=i&&i<=this.clone().endOf(t).valueOf())):false}function Sl(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function Nl(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function Ml(e,t,n){var i,s,f;if(!this.isValid())return NaN;if(i=Gn(e,this),!i.isValid())return NaN;switch(s=(i.utcOffset()-this.utcOffset())*6e4,t=Se(t),t){case "year":f=Zt(this,i)/12;break;case "month":f=Zt(this,i);break;case "quarter":f=Zt(this,i)/3;break;case "second":f=(this-i)/1e3;break;case "minute":f=(this-i)/6e4;break;case "hour":f=(this-i)/36e5;break;case "day":f=(this-i-s)/864e5;break;case "week":f=(this-i-s)/6048e5;break;default:f=this-i;}return n?f:Ne(f)}function Zt(e,t){if(e.date()<t.date())return -Zt(t,e);var n=(t.year()-e.year())*12+(t.month()-e.month()),i=e.clone().add(n,"months"),s,f;return t-i<0?(s=e.clone().add(n-1,"months"),f=(t-i)/(i-s)):(s=e.clone().add(n+1,"months"),f=(t-i)/(s-i)),-(n+f)||0}a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function Dl(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function Al(e){if(!this.isValid())return null;var t=e!==true,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?ae(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):U(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",ae(n,"Z")):ae(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Il(){if(!this.isValid())return "moment.invalid(/* "+this._i+" */)";var e="moment",t="",n,i,s,f;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),n="["+e+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",s="-MM-DD[T]HH:mm:ss.SSS",f=t+'[")]',this.format(n+i+s+f)}function Cl(e){e||(e=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var t=ae(this,e);return this.localeData().postformat(t)}function Yl(e,t){return this.isValid()&&(D(e)&&e.isValid()||ne(e).isValid())?Ie({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Ol(e){return this.from(ne(),e)}function El(e,t){return this.isValid()&&(D(e)&&e.isValid()||ne(e).isValid())?Ie({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Fl(e){return this.to(ne(),e)}function Kr(e){var t;return e===void 0?this._locale._abbr:(t=Pe(e),t!=null&&(this._locale=t),this)}var Qr=$("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function Xr(){return this._locale}var Jt=1e3,ot=60*Jt,Kt=60*ot,ei=(365*400+97)*24*Kt;function lt(e,t){return (e%t+t)%t}function ti(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-ei:new Date(e,t,n).valueOf()}function ni(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-ei:Date.UTC(e,t,n)}function Pl(e){var t,n;if(e=Se(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?ni:ti,e){case "year":t=n(this.year(),0,1);break;case "quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case "month":t=n(this.year(),this.month(),1);break;case "week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case "isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case "day":case "date":t=n(this.year(),this.month(),this.date());break;case "hour":t=this._d.valueOf(),t-=lt(t+(this._isUTC?0:this.utcOffset()*ot),Kt);break;case "minute":t=this._d.valueOf(),t-=lt(t,ot);break;case "second":t=this._d.valueOf(),t-=lt(t,Jt);break}return this._d.setTime(t),a.updateOffset(this,true),this}function $l(e){var t,n;if(e=Se(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(n=this._isUTC?ni:ti,e){case "year":t=n(this.year()+1,0,1)-1;break;case "quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case "month":t=n(this.year(),this.month()+1,1)-1;break;case "week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case "isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case "day":case "date":t=n(this.year(),this.month(),this.date()+1)-1;break;case "hour":t=this._d.valueOf(),t+=Kt-lt(t+(this._isUTC?0:this.utcOffset()*ot),Kt)-1;break;case "minute":t=this._d.valueOf(),t+=ot-lt(t,ot)-1;break;case "second":t=this._d.valueOf(),t+=Jt-lt(t,Jt)-1;break}return this._d.setTime(t),a.updateOffset(this,true),this}function Gl(){return this._d.valueOf()-(this._offset||0)*6e4}function Wl(){return Math.floor(this.valueOf()/1e3)}function Bl(){return new Date(this.valueOf())}function zl(){var e=this;return [e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Ll(){var e=this;return {years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function jl(){return this.isValid()?this.toISOString():null}function Rl(){return x(this)}function Hl(){return m({},w(this))}function Vl(){return w(this).overflow}function ql(){return {input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}A("N",0,0,"eraAbbr"),A("NN",0,0,"eraAbbr"),A("NNN",0,0,"eraAbbr"),A("NNNN",0,0,"eraName"),A("NNNNN",0,0,"eraNarrow"),A("y",["y",1],"yo","eraYear"),A("y",["yy",2],0,"eraYear"),A("y",["yyy",3],0,"eraYear"),A("y",["yyyy",4],0,"eraYear"),Y("N",Bn),Y("NN",Bn),Y("NNN",Bn),Y("NNNN",iu),Y("NNNNN",au),ee(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,i){var s=n._locale.erasParse(e,i,n._strict);s?w(n).era=s:w(n).invalidEra=e;}),Y("y",rt),Y("yy",rt),Y("yyy",rt),Y("yyyy",rt),Y("yo",su),ee(["y","yy","yyy","yyyy"],xe),ee(["yo"],function(e,t,n,i){var s;n._locale._eraYearOrdinalRegex&&(s=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[xe]=n._locale.eraYearOrdinalParse(e,s):t[xe]=parseInt(e,10);});function Ul(e,t){var n,i,s,f=this._eras||Pe("en")._eras;for(n=0,i=f.length;n<i;++n){switch(typeof f[n].since){case "string":s=a(f[n].since).startOf("day"),f[n].since=s.valueOf();break}switch(typeof f[n].until){case "undefined":f[n].until=1/0;break;case "string":s=a(f[n].until).startOf("day").valueOf(),f[n].until=s.valueOf();break}}return f}function Zl(e,t,n){var i,s,f=this.eras(),k,C,G;for(e=e.toUpperCase(),i=0,s=f.length;i<s;++i)if(k=f[i].name.toUpperCase(),C=f[i].abbr.toUpperCase(),G=f[i].narrow.toUpperCase(),n)switch(t){case "N":case "NN":case "NNN":if(C===e)return f[i];break;case "NNNN":if(k===e)return f[i];break;case "NNNNN":if(G===e)return f[i];break}else if([k,C,G].indexOf(e)>=0)return f[i]}function Jl(e,t){var n=e.since<=e.until?1:-1;return t===void 0?a(e.since).year():a(e.since).year()+(t-e.offset)*n}function Kl(){var e,t,n,i=this.localeData().eras();for(e=0,t=i.length;e<t;++e)if(n=this.clone().startOf("day").valueOf(),i[e].since<=n&&n<=i[e].until||i[e].until<=n&&n<=i[e].since)return i[e].name;return ""}function Ql(){var e,t,n,i=this.localeData().eras();for(e=0,t=i.length;e<t;++e)if(n=this.clone().startOf("day").valueOf(),i[e].since<=n&&n<=i[e].until||i[e].until<=n&&n<=i[e].since)return i[e].narrow;return ""}function Xl(){var e,t,n,i=this.localeData().eras();for(e=0,t=i.length;e<t;++e)if(n=this.clone().startOf("day").valueOf(),i[e].since<=n&&n<=i[e].until||i[e].until<=n&&n<=i[e].since)return i[e].abbr;return ""}function eu(){var e,t,n,i,s=this.localeData().eras();for(e=0,t=s.length;e<t;++e)if(n=s[e].since<=s[e].until?1:-1,i=this.clone().startOf("day").valueOf(),s[e].since<=i&&i<=s[e].until||s[e].until<=i&&i<=s[e].since)return (this.year()-a(s[e].since).year())*n+s[e].offset;return this.year()}function tu(e){return c(this,"_erasNameRegex")||zn.call(this),e?this._erasNameRegex:this._erasRegex}function nu(e){return c(this,"_erasAbbrRegex")||zn.call(this),e?this._erasAbbrRegex:this._erasRegex}function ru(e){return c(this,"_erasNarrowRegex")||zn.call(this),e?this._erasNarrowRegex:this._erasRegex}function Bn(e,t){return t.erasAbbrRegex(e)}function iu(e,t){return t.erasNameRegex(e)}function au(e,t){return t.erasNarrowRegex(e)}function su(e,t){return t._eraYearOrdinalRegex||rt}function zn(){var e=[],t=[],n=[],i=[],s,f,k,C,G,V=this.eras();for(s=0,f=V.length;s<f;++s)k=Ye(V[s].name),C=Ye(V[s].abbr),G=Ye(V[s].narrow),t.push(k),e.push(C),n.push(G),i.push(k),i.push(C),i.push(G);this._erasRegex=new RegExp("^("+i.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+n.join("|")+")","i");}A(0,["gg",2],0,function(){return this.weekYear()%100}),A(0,["GG",2],0,function(){return this.isoWeekYear()%100});function Qt(e,t){A(0,[e,e.length],0,t);}Qt("gggg","weekYear"),Qt("ggggg","weekYear"),Qt("GGGG","isoWeekYear"),Qt("GGGGG","isoWeekYear"),Y("G",Bt),Y("g",Bt),Y("GG",te,Te),Y("gg",te,Te),Y("GGGG",_n,Tn),Y("gggg",_n,Tn),Y("GGGGG",Wt,$t),Y("ggggg",Wt,$t),xt(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,i){t[i.substr(0,2)]=H(e);}),xt(["gg","GG"],function(e,t,n,i){t[i]=a.parseTwoDigitYear(e);});function ou(e){return ri.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function lu(e){return ri.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function uu(){return Fe(this.year(),1,4)}function cu(){return Fe(this.isoWeekYear(),1,4)}function du(){var e=this.localeData()._week;return Fe(this.year(),e.dow,e.doy)}function fu(){var e=this.localeData()._week;return Fe(this.weekYear(),e.dow,e.doy)}function ri(e,t,n,i,s){var f;return e==null?_t(this,i,s).year:(f=Fe(e,i,s),t>f&&(t=f),mu.call(this,e,t,n,i,s))}function mu(e,t,n,i,s){var f=Er(e,t,n,i,s),k=Tt(f.year,0,f.dayOfYear);return this.year(k.getUTCFullYear()),this.month(k.getUTCMonth()),this.date(k.getUTCDate()),this}A("Q",0,"Qo","quarter"),Y("Q",Tr),ee("Q",function(e,t){t[Oe]=(H(e)-1)*3;});function pu(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}A("D",["DD",2],"Do","date"),Y("D",te,it),Y("DD",te,Te),Y("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ee(["D","DD"],Ce),ee("Do",function(e,t){t[Ce]=H(e.match(te)[0]);});var ii=at("Date",true);A("DDD",["DDDD",3],"DDDo","dayOfYear"),Y("DDD",Gt),Y("DDDD",_r),ee(["DDD","DDDD"],function(e,t,n){n._dayOfYear=H(e);});function hu(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}A("m",["mm",2],0,"minute"),Y("m",te,Sn),Y("mm",te,Te),ee(["m","mm"],Ae);var gu=at("Minutes",false);A("s",["ss",2],0,"second"),Y("s",te,Sn),Y("ss",te,Te),ee(["s","ss"],Ee);var bu=at("Seconds",false);A("S",0,0,function(){return ~~(this.millisecond()/100)}),A(0,["SS",2],0,function(){return ~~(this.millisecond()/10)}),A(0,["SSS",3],0,"millisecond"),A(0,["SSSS",4],0,function(){return this.millisecond()*10}),A(0,["SSSSS",5],0,function(){return this.millisecond()*100}),A(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),A(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),A(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),A(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),Y("S",Gt,Tr),Y("SS",Gt,Te),Y("SSS",Gt,_r);var je,ai;for(je="SSSS";je.length<=9;je+="S")Y(je,rt);function yu(e,t){t[qe]=H(("0."+e)*1e3);}for(je="S";je.length<=9;je+="S")ee(je,yu);ai=at("Milliseconds",false),A("z",0,0,"zoneAbbr"),A("zz",0,0,"zoneName");function vu(){return this._isUTC?"UTC":""}function xu(){return this._isUTC?"Coordinated Universal Time":""}var T=E.prototype;T.add=fl,T.calendar=vl,T.clone=xl,T.diff=Ml,T.endOf=$l,T.format=Cl,T.from=Yl,T.fromNow=Ol,T.to=El,T.toNow=Fl,T.get=As,T.invalidAt=Vl,T.isAfter=kl,T.isBefore=wl,T.isBetween=Tl,T.isSame=_l,T.isSameOrAfter=Sl,T.isSameOrBefore=Nl,T.isValid=Rl,T.lang=Qr,T.locale=Kr,T.localeData=Xr,T.max=Ro,T.min=jo,T.parsingFlags=Hl,T.set=Is,T.startOf=Pl,T.subtract=ml,T.toArray=zl,T.toObject=Ll,T.toDate=Bl,T.toISOString=Al,T.inspect=Il,typeof Symbol<"u"&&Symbol.for!=null&&(T[Symbol.for("nodejs.util.inspect.custom")]=function(){return "Moment<"+this.format()+">"}),T.toJSON=jl,T.toString=Dl,T.unix=Wl,T.valueOf=Gl,T.creationData=ql,T.eraName=Kl,T.eraNarrow=Ql,T.eraAbbr=Xl,T.eraYear=eu,T.year=Mr,T.isLeapYear=Ds,T.weekYear=ou,T.isoWeekYear=lu,T.quarter=T.quarters=pu,T.month=Yr,T.daysInMonth=Ws,T.week=T.weeks=qs,T.isoWeek=T.isoWeeks=Us,T.weeksInYear=du,T.weeksInWeekYear=fu,T.isoWeeksInYear=uu,T.isoWeeksInISOWeekYear=cu,T.date=ii,T.day=T.days=oo,T.weekday=lo,T.isoWeekday=uo,T.dayOfYear=hu,T.hour=T.hours=bo,T.minute=T.minutes=gu,T.second=T.seconds=bu,T.millisecond=T.milliseconds=ai,T.utcOffset=Xo,T.utc=tl,T.local=nl,T.parseZone=rl,T.hasAlignedHourOffset=il,T.isDST=al,T.isLocal=ol,T.isUtcOffset=ll,T.isUtc=Vr,T.isUTC=Vr,T.zoneAbbr=vu,T.zoneName=xu,T.dates=$("dates accessor is deprecated. Use date instead.",ii),T.months=$("months accessor is deprecated. Use month instead",Yr),T.years=$("years accessor is deprecated. Use year instead",Mr),T.zone=$("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",el),T.isDSTShifted=$("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",sl);function ku(e){return ne(e*1e3)}function wu(){return ne.apply(null,arguments).parseZone()}function si(e){return e}var K=Z.prototype;K.calendar=P,K.longDateFormat=Pt,K.invalidDate=kn,K.ordinal=hs,K.preparse=si,K.postformat=si,K.relativeTime=bs,K.pastFuture=ys,K.set=de,K.eras=Ul,K.erasParse=Zl,K.erasConvertYear=Jl,K.erasAbbrRegex=nu,K.erasNameRegex=tu,K.erasNarrowRegex=ru,K.months=Fs,K.monthsShort=Ps,K.monthsParse=Gs,K.monthsRegex=zs,K.monthsShortRegex=Bs,K.week=js,K.firstDayOfYear=Vs,K.firstDayOfWeek=Hs,K.weekdays=no,K.weekdaysMin=io,K.weekdaysShort=ro,K.weekdaysParse=so,K.weekdaysRegex=co,K.weekdaysShortRegex=fo,K.weekdaysMinRegex=mo,K.isPM=ho,K.meridiem=yo;function Xt(e,t,n,i){var s=Pe(),f=p().set(i,t);return s[n](f,e)}function oi(e,t,n){if(g(e)&&(t=e,e=void 0),e=e||"",t!=null)return Xt(e,t,n,"month");var i,s=[];for(i=0;i<12;i++)s[i]=Xt(e,i,n,"month");return s}function Ln(e,t,n,i){typeof e=="boolean"?(g(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=false,g(t)&&(n=t,t=void 0),t=t||"");var s=Pe(),f=e?s._week.dow:0,k,C=[];if(n!=null)return Xt(t,(n+f)%7,i,"day");for(k=0;k<7;k++)C[k]=Xt(t,(k+f)%7,i,"day");return C}function Tu(e,t){return oi(e,t,"months")}function _u(e,t){return oi(e,t,"monthsShort")}function Su(e,t,n){return Ln(e,t,n,"weekdays")}function Nu(e,t,n){return Ln(e,t,n,"weekdaysShort")}function Mu(e,t,n){return Ln(e,t,n,"weekdaysMin")}Le("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=H(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+n}}),a.lang=$("moment.lang is deprecated. Use moment.locale instead.",Le),a.langData=$("moment.langData is deprecated. Use moment.localeData instead.",Pe);var $e=Math.abs;function Du(){var e=this._data;return this._milliseconds=$e(this._milliseconds),this._days=$e(this._days),this._months=$e(this._months),e.milliseconds=$e(e.milliseconds),e.seconds=$e(e.seconds),e.minutes=$e(e.minutes),e.hours=$e(e.hours),e.months=$e(e.months),e.years=$e(e.years),this}function li(e,t,n,i){var s=Ie(t,n);return e._milliseconds+=i*s._milliseconds,e._days+=i*s._days,e._months+=i*s._months,e._bubble()}function Au(e,t){return li(this,e,t,1)}function Iu(e,t){return li(this,e,t,-1)}function ui(e){return e<0?Math.floor(e):Math.ceil(e)}function Cu(){var e=this._milliseconds,t=this._days,n=this._months,i=this._data,s,f,k,C,G;return e>=0&&t>=0&&n>=0||e<=0&&t<=0&&n<=0||(e+=ui(jn(n)+t)*864e5,t=0,n=0),i.milliseconds=e%1e3,s=Ne(e/1e3),i.seconds=s%60,f=Ne(s/60),i.minutes=f%60,k=Ne(f/60),i.hours=k%24,t+=Ne(k/24),G=Ne(ci(t)),n+=G,t-=ui(jn(G)),C=Ne(n/12),n%=12,i.days=t,i.months=n,i.years=C,this}function ci(e){return e*4800/146097}function jn(e){return e*146097/4800}function Yu(e){if(!this.isValid())return NaN;var t,n,i=this._milliseconds;if(e=Se(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+i/864e5,n=this._months+ci(t),e){case "month":return n;case "quarter":return n/3;case "year":return n/12}else switch(t=this._days+Math.round(jn(this._months)),e){case "week":return t/7+i/6048e5;case "day":return t+i/864e5;case "hour":return t*24+i/36e5;case "minute":return t*1440+i/6e4;case "second":return t*86400+i/1e3;case "millisecond":return Math.floor(t*864e5)+i;default:throw new Error("Unknown unit "+e)}}function Ge(e){return function(){return this.as(e)}}var di=Ge("ms"),Ou=Ge("s"),Eu=Ge("m"),Fu=Ge("h"),Pu=Ge("d"),$u=Ge("w"),Gu=Ge("M"),Wu=Ge("Q"),Bu=Ge("y"),zu=di;function Lu(){return Ie(this)}function ju(e){return e=Se(e),this.isValid()?this[e+"s"]():NaN}function Ze(e){return function(){return this.isValid()?this._data[e]:NaN}}var Ru=Ze("milliseconds"),Hu=Ze("seconds"),Vu=Ze("minutes"),qu=Ze("hours"),Uu=Ze("days"),Zu=Ze("months"),Ju=Ze("years");function Ku(){return Ne(this.days()/7)}var We=Math.round,ut={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Qu(e,t,n,i,s){return s.relativeTime(t||1,!!n,e,i)}function Xu(e,t,n,i){var s=Ie(e).abs(),f=We(s.as("s")),k=We(s.as("m")),C=We(s.as("h")),G=We(s.as("d")),V=We(s.as("M")),ke=We(s.as("w")),Be=We(s.as("y")),Re=f<=n.ss&&["s",f]||f<n.s&&["ss",f]||k<=1&&["m"]||k<n.m&&["mm",k]||C<=1&&["h"]||C<n.h&&["hh",C]||G<=1&&["d"]||G<n.d&&["dd",G];return n.w!=null&&(Re=Re||ke<=1&&["w"]||ke<n.w&&["ww",ke]),Re=Re||V<=1&&["M"]||V<n.M&&["MM",V]||Be<=1&&["y"]||["yy",Be],Re[2]=t,Re[3]=+e>0,Re[4]=i,Qu.apply(null,Re)}function ec(e){return e===void 0?We:typeof e=="function"?(We=e,true):false}function tc(e,t){return ut[e]===void 0?false:t===void 0?ut[e]:(ut[e]=t,e==="s"&&(ut.ss=t-1),true)}function nc(e,t){if(!this.isValid())return this.localeData().invalidDate();var n=false,i=ut,s,f;return typeof e=="object"&&(t=e,e=false),typeof e=="boolean"&&(n=e),typeof t=="object"&&(i=Object.assign({},ut,t),t.s!=null&&t.ss==null&&(i.ss=t.s-1)),s=this.localeData(),f=Xu(this,!n,i,s),n&&(f=s.pastFuture(+this,f)),s.postformat(f)}var Rn=Math.abs;function ct(e){return (e>0)-(e<0)||+e}function en(){if(!this.isValid())return this.localeData().invalidDate();var e=Rn(this._milliseconds)/1e3,t=Rn(this._days),n=Rn(this._months),i,s,f,k,C=this.asSeconds(),G,V,ke,Be;return C?(i=Ne(e/60),s=Ne(i/60),e%=60,i%=60,f=Ne(n/12),n%=12,k=e?e.toFixed(3).replace(/\.?0+$/,""):"",G=C<0?"-":"",V=ct(this._months)!==ct(C)?"-":"",ke=ct(this._days)!==ct(C)?"-":"",Be=ct(this._milliseconds)!==ct(C)?"-":"",G+"P"+(f?V+f+"Y":"")+(n?V+n+"M":"")+(t?ke+t+"D":"")+(s||i||e?"T":"")+(s?Be+s+"H":"")+(i?Be+i+"M":"")+(e?Be+k+"S":"")):"P0D"}var q=qt.prototype;q.isValid=Zo,q.abs=Du,q.add=Au,q.subtract=Iu,q.as=Yu,q.asMilliseconds=di,q.asSeconds=Ou,q.asMinutes=Eu,q.asHours=Fu,q.asDays=Pu,q.asWeeks=$u,q.asMonths=Gu,q.asQuarters=Wu,q.asYears=Bu,q.valueOf=zu,q._bubble=Cu,q.clone=Lu,q.get=ju,q.milliseconds=Ru,q.seconds=Hu,q.minutes=Vu,q.hours=qu,q.days=Uu,q.weeks=Ku,q.months=Zu,q.years=Ju,q.humanize=nc,q.toISOString=en,q.toString=en,q.toJSON=en,q.locale=Kr,q.localeData=Xr,q.toIsoString=$("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",en),q.lang=Qr,A("X",0,0,"unix"),A("x",0,0,"valueOf"),Y("x",Bt),Y("X",ws),ee("X",function(e,t,n){n._d=new Date(parseFloat(e)*1e3);}),ee("x",function(e,t,n){n._d=new Date(H(e));});return a.version="2.30.1",o(ne),a.fn=T,a.min=Ho,a.max=Vo,a.now=qo,a.utc=p,a.unix=ku,a.months=Tu,a.isDate=h,a.locale=Le,a.invalid=v,a.duration=Ie,a.isMoment=D,a.weekdays=Su,a.parseZone=wu,a.localeData=Pe,a.isDuration=Ut,a.monthsShort=_u,a.weekdaysMin=Mu,a.defineLocale=Cn,a.updateLocale=wo,a.locales=To,a.weekdaysShort=Nu,a.normalizeUnits=Se,a.relativeTimeRounding=ec,a.relativeTimeThreshold=tc,a.calendarFormat=yl,a.prototype=T,a.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},a}));});var qn=L((Vn,gi)=>{(function(r,a){typeof Vn=="object"&&typeof gi<"u"&&typeof dt=="function"?a(hi()):typeof define=="function"&&define.amd?define(["../moment"],a):a(r.moment);})(Vn,(function(r){var a="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),o="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),l=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],u=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,c=r.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(d,b){return d?/-MMM-/.test(b)?o[d.month()]:a[d.month()]:a},monthsRegex:u,monthsShortRegex:u,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:l,longMonthsParse:l,shortMonthsParse:l,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:true,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xE9\xE9n minuut",mm:"%d minuten",h:"\xE9\xE9n uur",hh:"%d uur",d:"\xE9\xE9n dag",dd:"%d dagen",w:"\xE9\xE9n week",ww:"%d weken",M:"\xE9\xE9n maand",MM:"%d maanden",y:"\xE9\xE9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(d){return d+(d===1||d===8||d>=20?"ste":"de")},week:{dow:1,doy:4}});return c}));});var mt=L((vm,_i)=>{var vi=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],mc=["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],xi={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};function He(r){let[a,o]=r.split(":").map(Number);return a*60+o}function ki(r){let a=He(r);for(let[o,l]of Object.entries(xi)){let u=He(l.start),c=He(l.end);if(a>=u&&a<c)return o}return null}function wi(r,a,o){let l=`openinghours-${o}`;if(!r[l])return null;let c=r[l].schemeSettings[a];return c?{...c}:null}function pc(r,a){r.maxCapacityEnabled===false&&(a&&a.zitplaatsen?(r.maxCapacity=a.zitplaatsen,r.maxCapacityEnabled=true):(r.maxCapacity="0",r.maxCapacityEnabled=true));}function hc(r){let a=120;return r["general-settings"]&&r["general-settings"].duurReservatie&&parseInt(r["general-settings"].duurReservatie,10)>0&&(a=parseInt(r["general-settings"].duurReservatie,10)),a}function gc(r,a){let o=hc(a),u=He(r.endTime)+o,c=String(Math.floor(u/60)).padStart(2,"0"),d=String(u%60).padStart(2,"0");r.endTime=`${c}:${d}`;}function Ti(r,a,o){let l=new Date(a);if(isNaN(l))return null;let u=l.getDay(),c=vi[u],d=wi(r,c,o);return !d||d.enabled!==true?null:(pc(d,r["general-settings"]),gc(d,r),d)}function bc(r,a,o){let l=ki(o);if(!l)return null;let u=Ti(r,a,l);if(!u)return null;let c=He(o),d=He(u.startTime),b=He(u.endTime);return c>=d&&c<b?u:null}_i.exports={getDataByDayAndMeal:wi,getDataByDateAndMeal:Ti,getDataByDateAndTime:bc,daysOfWeekEnglish:vi,daysOfWeekDutch:mc,getMealTypeByTime:ki,parseTime:He,shifts:xi};});var nn=L((Tm,Ni)=>{var{getDataByDateAndMeal:yc,getDataByDateAndTime:xm,getMealTypeByTime:vc,parseTime:tn,shifts:km,daysOfWeekEnglish:wm,daysOfWeekDutch:xc}=mt();function kc(r,a,o){let l=new Date(r),u=new Date(a),c=new Date(o);return isNaN(l)||isNaN(u)||isNaN(c)?false:l>=u&&l<=c}function wc(r){let a=r.getDay();return xc[a]}function Tc(r,a,o,l){let{timeframe:u,startDate:c,endDate:d,daysOfWeek:b}=r;return !kc(a,c,d)||Array.isArray(b)&&b.length>0&&!b.map(h=>h.toLowerCase()).includes(o)?false:u==="Volledige Dag"||u===l}function _c(r){let a=120;return r["general-settings"]&&r["general-settings"].duurReservatie&&parseInt(r["general-settings"].duurReservatie,10)>0&&(a=parseInt(r["general-settings"].duurReservatie,10)),a}function Sc(r,a){let o=_c(a),u=tn(r.endTime)+o,c=String(Math.floor(u/60)).padStart(2,"0"),d=String(u%60).padStart(2,"0");r.endTime=`${c}:${d}`;}function Nc(r,a){let o={enabled:true,startTime:r.startHour,endTime:r.endHour,maxCapacityEnabled:!!r.maxSeats,maxCapacity:r.maxSeats||null,shiftsEnabled:false,shifts:[]};return Sc(o,a),o}function Si(r,a,o){let l=r.exceptions||[],u=new Date(a);if(isNaN(u))return null;let c=wc(u).toLowerCase(),d=["Opening","Sluiting","Uitzondering"];for(let b of d)for(let g of l)if(g.type===b&&Tc(g,a,c,o))return b==="Sluiting"?null:Nc(g,r);return yc(r,a,o)}function Mc(r,a){return !(r==="breakfast"&&a==="11:00"||r==="lunch"&&a==="16:00")}function Dc(r,a,o){let l=vc(o);if(!l)return null;let u=Si(r,a,l);if(!u)return null;let c=tn(o),d=tn(u.startTime),b=tn(u.endTime);return (Mc(l,u.endTime)?c>=d&&c<=b:c>=d&&c<b)?u:null}Ni.exports={getDataByDateAndMealWithExceptions:Si,getDataByDateAndTimeWithExceptions:Dc};});var Un=L((_m,Di)=>{function Mi(r){let[a,o]=r.split(":").map(Number);return a*60+o}function Ac(r){let a=120;return r["general-settings"]&&r["general-settings"].duurReservatie&&parseInt(r["general-settings"].duurReservatie,10)>0&&(a=parseInt(r["general-settings"].duurReservatie,10)),a}function Ic(r,a,o,l){let u=Ac(r),c=Mi(o),d=0;for(let b of a){if(b.date!==l)continue;let g=Mi(b.time),h=g+u;c>=g&&c<h&&(d+=parseInt(b.guests,10));}return d}Di.exports={getGuestCountAtHour:Ic};});var rn=L((Sm,Yi)=>{var{getDataByDateAndMealWithExceptions:Ci}=nn(),{parseTime:Ai}=mt(),{getGuestCountAtHour:Ii}=Un();function Cc(r){let a=15;return r["general-settings"]&&r["general-settings"].intervalReservatie&&parseInt(r["general-settings"].intervalReservatie,10)>0&&(a=parseInt(r["general-settings"].intervalReservatie,10)),a}function Yc(r,a){let o=["breakfast","lunch","dinner"],l=[];for(let u of o){let c=Ci(r,a,u);c&&c.shiftsEnabled&&Array.isArray(c.shifts)&&c.shifts.length>0&&l.push(u);}return l}function Oc(r,a){return !(r==="breakfast"&&a==="11:00"||r==="lunch"&&a==="16:00")}function Ec(r,a,o,l){let u=Ci(r,a,o);if(!u)return null;let c={},d=[],b=Cc(r);if(u.shiftsEnabled&&Array.isArray(u.shifts)&&u.shifts.length>0){let g=u.shifts;for(let h of g){let y=h.time,m=Ii(r,l,y,a);c[y]=u.maxCapacity-m,d.push({mealType:o,shiftName:h.name,time:y,availableSeats:u.maxCapacity-m});}}else {let g=u.startTime,h=u.endTime,y=Oc(o,h),m=Ai(g),p=Ai(h);for(;y?m<=p:m<p;){let M=Math.floor(m/60).toString().padStart(2,"0"),w=(m%60).toString().padStart(2,"0"),S=`${M}:${w}`,x=Ii(r,l,S,a);c[S]=u.maxCapacity-x,m+=b;}}return {guestCounts:c,shiftsInfo:d}}Yi.exports={getGuestCountsForMeal:Ec,getMealTypesWithShifts:Yc};});var Zn=L((Nm,Oi)=>{var{getGuestCountsForMeal:Fc}=rn();function Pc(r,a,o){let l=["breakfast","lunch","dinner"],u={},c=[],d={breakfast:1,lunch:2,dinner:3};for(let g of l){let h=Fc(r,a,g,o);if(h){let{guestCounts:y,shiftsInfo:m}=h;for(let[p,M]of Object.entries(y))if(u.hasOwnProperty(p)){let w=u[p].mealPriority,S=d[g];S>=w&&(u[p]={availableSeats:M,mealPriority:S});}else u[p]={availableSeats:M,mealPriority:d[g]};m&&m.length>0&&c.push(...m);}}let b={};for(let[g,h]of Object.entries(u))b[g]=h.availableSeats;return {guestCounts:b,shiftsInfo:c}}Oi.exports={getDailyGuestCounts:Pc};});var an=L((Dm,Fi)=>{var{getDailyGuestCounts:$c}=Zn(),{getMealTypesWithShifts:Gc}=rn(),{getDataByDateAndMealWithExceptions:Wc}=nn(),{getMealTypeByTime:Bc,parseTime:Mm}=mt();function Ke(r){let[a,o]=r.split(":").map(Number);return a*60+o}function zc(r){let a=15;return r["general-settings"]&&r["general-settings"].intervalReservatie&&parseInt(r["general-settings"].intervalReservatie,10)>0&&(a=parseInt(r["general-settings"].intervalReservatie,10)),a}function Lc(r){let a=120;return r["general-settings"]&&r["general-settings"].duurReservatie&&parseInt(r["general-settings"].duurReservatie,10)>0&&(a=parseInt(r["general-settings"].duurReservatie,10)),a}function Ei(r,a,o,l){let u=Bc(o);if(!u)return false;let c=Wc(r,a,u);if(!c)return false;let d=Ke(c.startTime),b=Ke(c.endTime),g=Ke(o);return g>=d&&g+l<=b}function jc(r,a,o,l){let u=Lc(r),c=zc(r),d=Math.ceil(u/c),{guestCounts:b,shiftsInfo:g}=$c(r,a,o),h={};if(Gc(r,a).length>0&&g&&g.length>0)for(let m of g){let{time:p,availableSeats:M}=m;M>=l&&Ei(r,a,p,u)&&(h[p]={name:p});}if(b&&Object.keys(b).length>0){let m=Object.keys(b).sort((p,M)=>Ke(p)-Ke(M));for(let p=0;p<=m.length-d;p++){let M=true;if(b[m[p]]<l)continue;let w=Ke(m[p]);for(let S=1;S<d;S++){let x=m[p+S],v=Ke(x);if(v-w!==c||b[x]<l){M=false;break}w=v;}M&&Ei(r,a,m[p],u)&&(h[m[p]]={name:m[p]});}}return h}Fi.exports={timeblocksAvailable:jc};});var Jn=L((Am,Pi)=>{function Rc({restaurantSettings:r,allTables:a,guests:o,date:l,time:u,requiredSlots:c,tableOccupiedSlots:d,isTemporaryTableValid:b,isTableFreeForAllSlots:g}){let h=r["grouping-settings"]||{},y=h.enable===true,m=h.strict===true,p=Number.isFinite(h.maxSubtables)?h.maxSubtables:void 0,M=h.orderStrategy||"smallest-first";h.seed??0;let S=Array.isArray(r.pinnedGroups)?r.pinnedGroups:[];if(!y||S.length===0)return null;let x=new Map(a.map(D=>[String(D.tableId),D])),v=new Map(a.filter(D=>typeof D.tableNumber=="number").map(D=>[D.tableNumber,D]));if(a.some(D=>D.minCapacity<=o&&o<=D.maxCapacity&&b(D,l,u)&&g(D.tableNumber,c,d)))return null;let _=[...S].sort((D,I)=>{let $=String(D.id||D.name||""),B=String(I.id||I.name||"");return $.localeCompare(B)}),E=(D,I)=>{if(M==="closest-fit"){let ue=(D.maxCapacity||0)-(D.minCapacity||0),U=(I.maxCapacity||0)-(I.minCapacity||0);if(ue!==U)return ue-U}if(D.maxCapacity!==I.maxCapacity)return D.maxCapacity-I.maxCapacity;if(D.tableNumber!==I.tableNumber)return D.tableNumber-I.tableNumber;let $=String(D.tableId),B=String(I.tableId);return $.localeCompare(B)};for(let D of _){let I=Array.isArray(D.tableIds)?D.tableIds.map(String):[],$=Array.isArray(D.tableNumbers)?D.tableNumbers.filter(W=>typeof W=="number"):[],B=[];if(I.length?B=I.map(W=>x.get(W)).filter(Boolean):$.length&&(B=$.map(W=>v.get(W)).filter(Boolean)),p&&B.length>p&&(B=B.slice(0,p)),B.length<2||!B.every(W=>b(W,l,u)&&g(W.tableNumber,c,d)))continue;let ue=B.reduce((W,ye)=>W+(ye.maxCapacity||0),0),U=B.reduce((W,ye)=>W+(ye.minCapacity||0),0);if(o<U||o>ue)continue;let de=[...B].sort(E),j=new Map(de.map(W=>[W.tableNumber,Math.max(0,W.minCapacity||0)])),Z=o-[...j.values()].reduce((W,ye)=>W+ye,0);if(!(Z<0)){for(let W of de){if(Z<=0)break;let ye=j.get(W.tableNumber),P=Math.max(0,(W.maxCapacity||0)-ye),z=Math.min(P,Z);j.set(W.tableNumber,ye+z),Z-=z;}if(Z===0)return {tables:de.map(W=>W.tableNumber),tableIds:de.map(W=>W.tableId),viaGroup:String(D.id||D.name||"pinned-group")}}}if(m)throw new Error("No matching pinned group found (strict grouping)");return null}Pi.exports={tryGroupTables:Rc};});var Bi=L((Im,Wi)=>{var{tryGroupTables:Hc}=Jn();function Kn(r){if(!r||typeof r!="string")return NaN;let a=r.split(":");if(a.length!==2)return NaN;let o=parseInt(a[0],10),l=parseInt(a[1],10);return isNaN(o)||isNaN(l)||o<0||o>23||l<0||l>59?NaN:o*60+l}var Vc={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};function qc(r){let a=Kn(r);if(isNaN(a))return null;for(let[o,l]of Object.entries(Vc)){let u=Kn(l.start),c=Kn(l.end);if(!(isNaN(u)||isNaN(c))&&a>=u&&a<c)return o}return null}function Qn(r,a,o){if(!r.isTemporary)return true;if(!r.startDate||!r.endDate||a<r.startDate||a>r.endDate)return false;let l=qc(o);return !(!l||r.application!==l)}function $i(r,a,o){if(!/^([01]\d|2[0-3]):([0-5]\d)$/.test(r))throw new Error("Invalid time format. Expected 'HH:MM'.");let[u,c]=r.split(":").map(Number),d=u*60+c,b=Math.ceil(a/o),g=[];for(let h=0;h<b;h++)g.push(d+h*o);return g}function Xn(r,a,o){let l=o[r]||new Set;return !a.some(u=>l.has(u))}function Uc(r,a){let o=r.x-a.x,l=r.y-a.y;return Math.sqrt(o*o+l*l)}function Zc(r){let a=0;for(let o=0;o<r.length;o++)for(let l=o+1;l<r.length;l++)a+=Uc(r[o],r[l]);return a}function Gi(r,a,o,l,u,c,d,b,g,h){if(!h){h=new Array(r.length+1).fill(0);for(let p=r.length-1;p>=0;p--)h[p]=h[p+1]+r[p].maxCapacity;}let y=0,m=0;for(let p of l)y+=p.minCapacity,m+=p.maxCapacity;if(!(y>a)&&!(m+h[o]<a)){if(y<=a&&a<=m){let p=Zc(l);p<u.minDistance&&(u.minDistance=p,u.tables=[...l]);}for(let p=o;p<r.length;p++){let M=r[p];Qn(M,b,g)&&Xn(M.tableNumber,c,d)&&(l.push(M),Gi(r,a,p+1,l,u,c,d,b,g,h),l.pop());}}}async function Jc({db:r,reservation:a,enforceTableAvailability:o}){let l=a.restaurantId,u=a.date,c=a.time,d=a.guests,b=await r.collection("restaurants").findOne({_id:l});if(!b){if(o)throw new Error("Restaurant settings not found.");return}let g=b.floors;if(!g||!Array.isArray(g)||g.length===0){if(o)throw new Error("No floors data found in restaurant document.");return}let h=[];if(g.forEach(x=>{x.tables&&Array.isArray(x.tables)&&x.tables.forEach(v=>{v.objectType==="Tafel"&&h.push({tableId:v.id,tableNumber:parseInt(v.tableNumber.$numberInt||v.tableNumber),minCapacity:parseInt(v.minCapacity.$numberInt||v.minCapacity),maxCapacity:parseInt(v.maxCapacity.$numberInt||v.maxCapacity),priority:parseInt(v.priority.$numberInt||v.priority),x:parseInt(v.x.$numberInt||v.x),y:parseInt(v.y.$numberInt||v.y),isTemporary:v.isTemporary===true,startDate:v.startDate||null,endDate:v.endDate||null,application:v.application||null});});}),!h.length){if(o)throw new Error("No tables found for this restaurant.");return}h.sort((x,v)=>x.maxCapacity!==v.maxCapacity?x.maxCapacity-v.maxCapacity:x.priority!==v.priority?x.priority-v.priority:x.minCapacity-v.minCapacity);let y=parseInt(b["general-settings"]?.duurReservatie?.$numberInt||b["general-settings"]?.duurReservatie||120),m=parseInt(b["general-settings"]?.intervalReservatie?.$numberInt||b["general-settings"]?.intervalReservatie||30),p=$i(c,y,m),M=await r.collection("reservations").find({restaurantId:l,date:u}).toArray(),w={};for(let x of M){let v=y,N=$i(x.time,v,m);if(x.tables)for(let _ of x.tables)w[_]||(w[_]=new Set),N.forEach(O=>{w[_].add(O);});}try{let x=Hc({restaurantSettings:b,allTables:h,guests:d,date:u,time:c,requiredSlots:p,tableOccupiedSlots:w,isTemporaryTableValid:Qn,isTableFreeForAllSlots:Xn});if(x){a.tables=x.tables,a.tableIds=x.tableIds,a._viaGroup=x.viaGroup,console.log(`[Grouping] via '${a._viaGroup}' -> tables ${a.tables.join(",")}`);return}}catch(x){throw x}for(let x of h)if(Qn(x,u,c)&&x.minCapacity<=d&&d<=x.maxCapacity&&Xn(x.tableNumber,p,w)){a.tables=[x.tableNumber],a.tableIds=[x.tableId],console.log(`Reservation assigned to table: ${x.tableNumber}`);return}let S={minDistance:1/0,tables:[]};if(Gi(h,d,0,[],S,p,w,u,c),S.tables.length>0){a.tables=S.tables.map(x=>x.tableNumber),a.tableIds=S.tables.map(x=>x.tableId),console.log(`Reservation assigned to tables: ${a.tables.join(", ")}`);return}else {if(o)throw new Error("Unable to find enough tables for this reservation with enforcement on.");console.log("No tables available, but non-enforcing mode => continuing without assignment.");}}Wi.exports={assignTablesIfPossible:Jc};});var sn=L((Cm,zi)=>{var{timeblocksAvailable:Kc}=an();function Qc(r,a,o){let[l,u,c]=r.split("-").map(Number),[d,b]=a.split(":").map(Number),g=new Date(Date.UTC(l,u-1,c,d,b));return new Date(g.toLocaleString("en-US",{timeZone:o}))}function Xc(r,a,o,l){let u=4;r["general-settings"]&&r["general-settings"].uurOpVoorhand&&parseInt(r["general-settings"].uurOpVoorhand,10)>=0&&(u=parseInt(r["general-settings"].uurOpVoorhand,10));let c=90;r["general-settings"]&&r["general-settings"].dagenInToekomst&&parseInt(r["general-settings"].dagenInToekomst,10)>0&&(c=parseInt(r["general-settings"].dagenInToekomst,10));let d="Europe/Amsterdam",b=new Date,g=new Date(b.toLocaleString("en-US",{timeZone:d})),h=new Date(g.getTime());h.setDate(h.getDate()+c),h.setHours(23,59,59,999);let[y,m,p]=a.split("-").map(Number),M=new Date(Date.UTC(y,m-1,p)),w=new Date(M.toLocaleString("en-US",{timeZone:d}));if(w>h)return {};let S=g.toDateString()===w.toDateString(),x=Kc(r,a,o,l);if(S&&u>=0){let v=new Date(g.getTime());v.setHours(v.getHours()+u);for(let[N,_]of Object.entries(x))Qc(a,N,d)<v&&delete x[N];}return x}zi.exports={getAvailableTimeblocks:Xc};});var er=L((Ym,Li)=>{var{getAvailableTimeblocks:ed}=sn();function td(r,a){let o=90;r["general-settings"]&&r["general-settings"].dagenInToekomst&&parseInt(r["general-settings"].dagenInToekomst,10)>0&&(o=parseInt(r["general-settings"].dagenInToekomst,10));let l="Europe/Amsterdam",u=new Date,c=new Date(u.toLocaleString("en-US",{timeZone:l})),d=new Date(c.getTime());d.setDate(d.getDate()+o),d.setHours(23,59,59,999);let[b,g,h]=a.split("-").map(Number),y=new Date(Date.UTC(b,g-1,h));return new Date(y.toLocaleString("en-US",{timeZone:l}))<=d}function nd(r,a,o,l){if(!td(r,a))return false;let u=ed(r,a,o,l);return Object.keys(u).length>0}Li.exports={isDateAvailable:nd};});var tr=L((Om,ji)=>{var{timeblocksAvailable:rd}=an();function id(r,a,o,l,u){let c=rd(r,a,l,u);return Object.prototype.hasOwnProperty.call(c,o)}ji.exports={isTimeAvailable:id};});var ln=L((Em,Vi)=>{function on(r){if(!r||typeof r!="string")return NaN;let a=r.split(":");if(a.length!==2)return NaN;let o=parseInt(a[0],10),l=parseInt(a[1],10);return isNaN(o)||isNaN(l)||o<0||o>23||l<0||l>59?NaN:o*60+l}var Ri={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};function Hi(r){let a=on(r);if(isNaN(a))return null;for(let[o,l]of Object.entries(Ri)){let u=on(l.start),c=on(l.end);if(!(isNaN(u)||isNaN(c))&&a>=u&&a<c)return o}return null}function ad(r){let a=[];return r?.floors&&Array.isArray(r.floors)?r.floors.forEach(o=>{o?.tables&&Array.isArray(o.tables)&&o.tables.forEach(l=>{let u=l.tableNumber?.$numberInt??l.tableNumber,c=l.minCapacity?.$numberInt??l.minCapacity,d=l.maxCapacity?.$numberInt??l.maxCapacity,b=l.priority?.$numberInt??l.priority,g=l.x?.$numberInt??l.x,h=l.y?.$numberInt??l.y;l.objectType==="Tafel"&&u!==void 0&&c!==void 0&&d!==void 0&&b!==void 0&&g!==void 0&&h!==void 0?a.push({tableId:l.id,tableNumber:parseInt(u,10),minCapacity:parseInt(c,10),maxCapacity:parseInt(d,10),priority:parseInt(b,10),x:parseInt(g,10),y:parseInt(h,10),isTemporary:l.isTemporary===true,startDate:l.startDate||null,endDate:l.endDate||null,application:l.application||null}):l.objectType==="Tafel"&&console.warn(`Skipping table due to missing essential properties: ${JSON.stringify(l)}`);});}):console.warn("Restaurant data is missing 'floors' array."),a.sort((o,l)=>o.maxCapacity!==l.maxCapacity?o.maxCapacity-l.maxCapacity:o.priority!==l.priority?o.priority-l.priority:o.minCapacity-l.minCapacity),a=a.filter(o=>!isNaN(o.tableNumber)&&!isNaN(o.minCapacity)&&!isNaN(o.maxCapacity)&&!isNaN(o.priority)&&!isNaN(o.x)&&!isNaN(o.y)),a}function sd(r,a,o){if(!r.isTemporary)return true;if(!r.startDate||!r.endDate)return console.log(`Temporary Table ${r.tableNumber} skipped: Missing start/end date.`),false;if(a<r.startDate||a>r.endDate)return false;let l=Hi(o);return l?r.application===l:(console.log(`Temporary Table ${r.tableNumber} skipped: Could not determine meal type for time ${o}.`),false)}Vi.exports={shifts:Ri,parseTime:on,getMealTypeByTime:Hi,getAllTables:ad,isTemporaryTableValid:sd};});var ir=L((Fm,Ki)=>{var{getAllTables:nr,isTemporaryTableValid:At}=ln();function Qe(r,a){if(console.log("[safeParseInt] Parsing value:",r,"with type:",typeof r),r==null)return a;if(typeof r=="object"&&r!==null&&"$numberInt"in r){try{let o=parseInt(r.$numberInt,10);if(console.log("[safeParseInt] Parsed $numberInt format:",o),!isNaN(o))return o}catch(o){console.log("[safeParseInt] Error parsing $numberInt:",o);}return a}if(typeof r=="number"&&!isNaN(r))return console.log("[safeParseInt] Using numeric value directly:",r),r;if(typeof r=="string")try{let o=parseInt(r,10);if(console.log("[safeParseInt] Parsed string:",o),!isNaN(o))return o}catch(o){console.log("[safeParseInt] Error parsing string:",o);}return console.log("[safeParseInt] Could not parse, using default:",a),a}function od(r){return Array.isArray(r)?r.map(a=>Qe(a,null)).filter(a=>a!==null):[]}function qi(r){if(r.tables&&Array.isArray(r.tables)){let a=od(r.tables);return console.log("[getActualTableAssignment] Found actual table assignment for reservation:",a),a}return console.log("[getActualTableAssignment] No actual table assignment found for reservation"),[]}function It(r,a,o){if(!r||!/^([01]\d|2[0-3]):([0-5]\d)$/.test(r))return console.error(`Invalid time format for computeRequiredSlots: ${r}. Expected 'HH:MM'.`),[];let[u,c]=r.split(":").map(Number),d=u*60+c;if(o<=0)return console.error("Interval must be positive in computeRequiredSlots."),[d];let b=Math.ceil(a/o);console.log(`Computing ${b} slots for time ${r} (duration: ${a}min, interval: ${o}min)`);let g=[];for(let h=0;h<b;h++)g.push(d+h*o);return g}function Ct(r,a,o){let l=o[r]||new Set;for(let u of a)if(l.has(u))return false;return true}function ld(r,a){if(r?.x===void 0||r?.y===void 0||a?.x===void 0||a?.y===void 0)return 1/0;let o=r.x-a.x,l=r.y-a.y;return Math.sqrt(o*o+l*l)}function rr(r,a,o,l,u,c,d,b,g){if(a<=0){let y=0;for(let m=0;m<l.length;m++)for(let p=m+1;p<l.length;p++)y+=ld(l[m],l[p]);(l.length<u.tableCount||l.length===u.tableCount&&y<u.minDistance)&&(u.minDistance=y,u.tables=[...l],u.tableCount=l.length,console.log(`Found new best table combination: ${u.tables.map(m=>m.tableNumber).join(", ")} for ${a} guests`));return}if(o>=r.length||l.length>=u.tableCount&&u.tableCount!==1/0)return;let h=0;for(let y=o;y<r.length;y++){let m=r[y];At(m,b,g)&&Ct(m.tableNumber,c,d)&&(h+=m.maxCapacity);}if(!(h<a))for(let y=o;y<r.length;y++){let m=r[y];if(!At(m,b,g)||!Ct(m.tableNumber,c,d))continue;let p=Math.min(m.maxCapacity,a);p<m.minCapacity&&p<a||p<=0||(l.push(m),console.log(`Trying table ${m.tableNumber} (${m.minCapacity}-${m.maxCapacity}) for ${p}/${a} guests`),rr(r,a-p,y+1,l,u,c,d,b,g),l.pop());}}function Ui(r,a,o,l,u,c=null){console.log(`[assignTablesForGivenTime] Processing ${a} ${o} for ${l} guests`);let d=r["general-settings"]||{};console.log("[assignTablesForGivenTime] General settings:",d),console.log("[assignTablesForGivenTime] duurReservatie format:",typeof d.duurReservatie),console.log("[assignTablesForGivenTime] intervalReservatie format:",typeof d.intervalReservatie),typeof d.duurReservatie=="object"&&d.duurReservatie?.$numberInt&&console.log("[assignTablesForGivenTime] duurReservatie is in MongoDB format:",d.duurReservatie?.$numberInt),typeof d.intervalReservatie=="object"&&d.intervalReservatie?.$numberInt&&console.log("[assignTablesForGivenTime] intervalReservatie is in MongoDB format:",d.intervalReservatie?.$numberInt);let b=120,g=15;if(b=Qe(d.duurReservatie,120),g=Qe(d.intervalReservatie,15),console.log(`[assignTablesForGivenTime] Using duration: ${b}min, interval: ${g}min`),g<=0)return console.error("Invalid interval settings."),[];let h=It(o,b,g);if(!h||h.length===0)return console.error(`Could not compute required slots for ${o}`),[];let y=nr(r,c);console.log(`[assignTablesForGivenTime] Checking ${y.length} tables`);for(let p of y)if(At(p,a,o)&&p.minCapacity<=l&&l<=p.maxCapacity&&Ct(p.tableNumber,h,u))return console.log(`[assignTablesForGivenTime] Assigned single table ${p.tableNumber} for ${l} guests`),[p.tableNumber];console.log("[assignTablesForGivenTime] No single table found, trying combinations...");let m={minDistance:1/0,tables:[],tableCount:1/0};return rr(y,l,0,[],m,h,u,a,o),m.tables.length>0?console.log(`[assignTablesForGivenTime] Found multi-table solution: ${m.tables.map(p=>p.tableNumber).join(", ")}`):console.log(`[assignTablesForGivenTime] No table combination found for ${l} guests`),m.tables.map(p=>p.tableNumber)}function Zi(r,a,o,l,u,c=null){console.log(`
5
- [isTimeAvailableSync] Checking ${a} ${o} for ${l} guests`),l<0&&(console.log(`[isTimeAvailableSync] Detected negative guest count (${l}), adjusting to default of 2`),l=2);let d=r?.["table-settings"]||{},b=d.isInstalled===true&&d.assignmentMode==="automatic";if(console.log(`[isTimeAvailableSync] Table assignment enabled? ${b}`),console.log(`- Table settings installed: ${d.isInstalled===true}`),console.log(`- Assignment mode: ${d.assignmentMode}`),!b)return console.log("[isTimeAvailableSync] No table assignment needed, returning true"),true;try{if(!r?.floors||!Array.isArray(r.floors))return console.error(`[isTimeAvailableSync] Missing floors data for ${a} ${o}`),!1;if(l<=0)return console.error(`[isTimeAvailableSync] Invalid guest count: ${l}`),!1;let g=r["general-settings"]||{},h=120,y=15;if(h=Qe(g.duurReservatie,120),y=Qe(g.intervalReservatie,15),console.log(`[isTimeAvailableSync] Using duration: ${h}min, interval: ${y}min`),y<=0)return console.error(`[isTimeAvailableSync] Invalid interval settings for ${a} ${o}`),!1;let m=It(o,h,y);if(!m||m.length===0)return console.error(`[isTimeAvailableSync] Could not compute required slots for ${a} ${o}`),!1;let p={},M=u.filter(v=>v.date===a&&v.time&&v.guests>0).sort((v,N)=>{let _=v.time.split(":").map(Number),O=N.time.split(":").map(Number);return _[0]*60+_[1]-(O[0]*60+O[1])});console.log(`[isTimeAvailableSync] Processing ${M.length} existing reservations on ${a}`);for(let v of M){let N=qi(v),_=[];if(N.length>0?(_=N,console.log(`[isTimeAvailableSync] Using actual table assignment for reservation: ${_.join(", ")}`)):(console.log("[isTimeAvailableSync] No actual table data, simulating assignment for reservation"),_=Ui(r,v.date,v.time,v.guests,p)),_.length>0){let O=It(v.time,h,y);if(!O||O.length===0)continue;_.forEach(E=>{p[E]||(p[E]=new Set),O.forEach(D=>p[E].add(D));}),console.log(`[isTimeAvailableSync] Marked tables ${_.join(", ")} as occupied for time ${v.time}`);}}console.log("[isTimeAvailableSync] Occupancy map built, checking availability for new reservation");let w=nr(r,c);console.log(`[isTimeAvailableSync] Checking ${w.length} tables for new reservation`);for(let v of w)if(At(v,a,o)&&v.minCapacity<=l&&l<=v.maxCapacity&&Ct(v.tableNumber,m,p))return console.log(`[isTimeAvailableSync] Found single table ${v.tableNumber} for ${l} guests at ${o}`),!0;console.log("[isTimeAvailableSync] No single table found, trying combinations...");let S={minDistance:1/0,tables:[],tableCount:1/0};rr(w,l,0,[],S,m,p,a,o);let x=S.tables.length>0;return console.log(x?`[isTimeAvailableSync] Multi-table assignment possible: ${S.tables.map(v=>v.tableNumber).join(", ")}`:"[isTimeAvailableSync] No table combination available"),x}catch(g){return console.error(`[isTimeAvailableSync] Error during check for ${a} ${o}:`,g),false}}function Ji(r,a,o,l,u,c=null){console.log(`[filterTimeblocksByTableAvailability] Filtering timeblocks for ${a} with ${l} guests`),l<0&&(console.log(`[filterTimeblocksByTableAvailability] Detected negative guest count (${l}), adjusting to default of 2`),l=0);let d=r?.["table-settings"]||{};if(!(d.isInstalled===true&&d.assignmentMode==="automatic"))return console.log("[filterTimeblocksByTableAvailability] No table assignment enabled, returning all timeblocks"),o;console.log(`[filterTimeblocksByTableAvailability] Starting with ${Object.keys(o).length} timeblocks`);let g={},h=0,y=0;for(let m in o)Zi(r,a,m,l,u,c)?(g[m]=o[m],h++):y++;return console.log(`[filterTimeblocksByTableAvailability] Result: ${h} available, ${y} unavailable times`),h>0&&console.log(`[filterTimeblocksByTableAvailability] Available times: ${Object.keys(g).join(", ")}`),g}function ud(r,a,o,l,u,c=null){return Ji(r,a,o,l,u,c)}function cd(r,a,o,l,u,c=null){try{l<0&&(console.log(`[getAvailableTablesForTime] Detected negative guest count (${l}), adjusting to default of 2`),l=0);let d=r?.["table-settings"]||{};if(!(d.isInstalled===!0&&d.assignmentMode==="automatic"))return [];if(!r?.floors||!Array.isArray(r.floors))return console.error(`[getAvailableTablesForTime] Missing floors data for ${a} ${o}`),[];if(l<=0)return [];let g=r["general-settings"]||{},h=Qe(g.duurReservatie,120),y=Qe(g.intervalReservatie,15);if(y<=0)return console.error(`[getAvailableTablesForTime] Invalid interval settings for ${a} ${o}`),[];console.log(`
6
- [getAvailableTablesForTime] Finding available tables for ${l} guests on ${a} at ${o}`);let m=It(o,h,y);if(!m||m.length===0)return console.error(`[getAvailableTablesForTime] Could not compute required slots for ${a} ${o}`),[];let p={},M=u.filter(x=>x.date===a&&x.time&&x.guests>0).sort((x,v)=>{let N=x.time.split(":").map(Number),_=v.time.split(":").map(Number);return N[0]*60+N[1]-(_[0]*60+_[1])});console.log(`[getAvailableTablesForTime] Building occupancy map (Processing ${M.length} existing reservations)`);for(let x of M){let v=qi(x),N=[];if(v.length>0?N=v:N=Ui(r,x.date,x.time,x.guests,p,null),N.length>0){let _=It(x.time,h,y);if(!_||_.length===0)continue;N.forEach(O=>{p[O]||(p[O]=new Set),_.forEach(E=>p[O].add(E));});}}console.log("[getAvailableTablesForTime] Occupancy map built");let w=nr(r,c),S=[];console.log(`[getAvailableTablesForTime] Checking ${w.length} tables for individual availability`);for(let x of w)At(x,a,o)&&x.minCapacity<=l&&l<=x.maxCapacity&&Ct(x.tableNumber,m,p)&&(console.log(`[getAvailableTablesForTime] Table ${x.tableNumber} is available`),S.push(x));return console.log(`[getAvailableTablesForTime] Found ${S.length} individually available tables: ${S.map(x=>x.tableNumber).join(", ")}`),S.sort((x,v)=>x.tableNumber-v.tableNumber),S}catch(d){return console.error(`[getAvailableTablesForTime] Error for ${a} ${o}:`,d),[]}}Ki.exports={isTimeAvailableSync:Zi,filterTimeblocksByTableAvailability:Ji,getAvailableTimeblocksWithTableCheck:ud,getAvailableTablesForTime:cd};});var Xi=L((Pm,Qi)=>{var un=dt("moment-timezone"),{isDateAvailable:dd}=er(),{getAvailableTimeblocks:fd}=sn(),{isTimeAvailableSync:md}=ir(),{daysOfWeekEnglish:pd,getMealTypeByTime:hd}=mt(),cn="Europe/Brussels";function gd(r,a,o,l){if(!l||!l.trim())return true;let u=hd(o);if(!u)return false;let c=un.tz(a,"YYYY-MM-DD",cn);if(!c.isValid())return false;let d=pd[c.day()],b=`openinghours-${u}`,g=r[b]&&r[b].schemeSettings&&r[b].schemeSettings[d]?r[b].schemeSettings[d]:null;return g?g.giftcardsEnabled!==true||!Array.isArray(g.giftcards)||g.giftcards.length===0?false:g.giftcards.includes(l):(console.error(`No day settings found for ${d} ${u}`),false)}function bd(r,a,o,l,u){let c=typeof window<"u"?window.currentReservationTicketItem:null;if(c&&!c.normalOpeningTimes){let p=un.tz(a,"YYYY-MM-DD",cn).startOf("day"),M=c.filterStartDate?un.tz(c.filterStartDate,"YYYY-MM-DD",cn).startOf("day"):null,w=c.filterEndDate?un.tz(c.filterEndDate,"YYYY-MM-DD",cn).endOf("day"):null;if(M&&p.isBefore(M))return console.log(`Date ${a} is before the allowed start ${c.filterStartDate}`),false;if(w&&p.isAfter(w))return console.log(`Date ${a} is after the allowed end ${c.filterEndDate}`),false}console.log(`
7
- ===== Checking date availability for ${l} guests on ${a} =====`),console.log("Restaurant data floors:",r.floors?"present":"missing"),console.log("Table settings:",JSON.stringify(r["table-settings"]||{},null,2));let d=r?.["table-settings"]||{},b=d.isInstalled===true&&d.assignmentMode==="automatic"&&r.floors&&Array.isArray(r.floors);if(console.log(`Table assignment is ${b?"ENABLED":"DISABLED"} for date ${a}`),!dd(r,a,o,l,u))return console.log(`Date ${a} fails basic availability check`),false;if(!b)return console.log(`Table assignment disabled, date ${a} is available`),true;console.log(`Getting available timeblocks for ${a}`);let h=fd(r,a,o,l);if(console.log(`Found ${Object.keys(h).length} available timeblocks before table check`),Object.keys(h).length===0)return console.log(`No available timeblocks on ${a}, date is unavailable`),false;console.log(`Checking table availability for each timeblock on ${a}`);let y=false,m=0;for(let p of Object.keys(h)){if(m++,u&&!gd(r,a,p,u)){console.log(`Time ${p} doesn't match giftcard meal requirements`);continue}if(console.log(`Checking table availability for ${p} on ${a} for ${l} guests`),md(r,a,p,l,o)){console.log(`Found available time ${p} with table assignment!`),y=true;break}}return console.log(`Checked ${m}/${Object.keys(h).length} timeblocks`),console.log(`Date ${a} with table check: ${y?"Available":"Unavailable"}`),y}Qi.exports={isDateAvailableWithTableCheck:bd};});var na=L(()=>{var{isTimeAvailable:yd}=tr(),vd={_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"}},xd=[{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 ea="2024-12-10",ta=1e3,kd=["12:00","12:15","13:00","19:00","20:00","20:15"];kd.forEach(r=>{let a=yd(vd,ea,r,xd,ta);console.log(`Is ${r} on ${ea} available for ${ta} guests?`,a);});});var aa=L((Bm,ia)=>{var ra=dt("moment-timezone"),{shifts:Wm,parseTime:ar,getMealTypeByTime:wd}=ln();function Td(){let r=ra().tz("Europe/Brussels");return r.hours()*60+r.minutes()}function _d(r,a,o){let l=ra().tz("Europe/Brussels").format("YYYY-MM-DD");if(o!==l)return r;console.log(`Applying stop time filter for today (${o})`);let u=a?.["general-settings"]||{},c=Td(),d=u.ontbijtStop||null,b=u.lunchStop||null,g=u.dinerStop||null,h=d?ar(d):null,y=b?ar(b):null,m=g?ar(g):null,p={},M=0,w=0,S=0;for(let x in r){if(!r.hasOwnProperty(x))continue;let v=wd(x),N=false;v==="breakfast"&&h!==null&&!isNaN(h)&&c>=h?(N=true,M++):v==="lunch"&&y!==null&&!isNaN(y)&&c>=y?(N=true,w++):v==="dinner"&&m!==null&&!isNaN(m)&&c>=m&&(N=true,S++),N||(p[x]=r[x]);}return M>0&&console.log(`Stop time filter removed ${M} breakfast slots.`),w>0&&console.log(`Stop time filter removed ${w} lunch slots.`),S>0&&console.log(`Stop time filter removed ${S} dinner slots.`),p}ia.exports={filterTimeblocksByStopTimes:_d};});var oa=L((zm,sa)=>{function Sd(r){let a=parseInt(r.split(":")[0],10);return a>=4&&a<11?"breakfast":a>=11&&a<16?"lunch":a>=16&&a<23?"dinner":null}function Nd(r){if(!r)return null;if(r.$numberInt)return parseInt(r.$numberInt,10);if(typeof r=="number")return r;if(typeof r=="string"){let a=parseInt(r,10);return isNaN(a)?null:a}return null}function Md(r,a,o){return r.filter(l=>l.date===a&&l.time===o).reduce((l,u)=>l+(parseInt(u.guests,10)||0),0)}function Dd(r,a,o,l,u){let c={};for(let[d,b]of Object.entries(o)){let g=Sd(d);if(!g){c[d]=b;continue}let h=r[`max-arrivals-${g}`];if(!h){c[d]=b;continue}let y=Nd(h[d]);if(y===null){c[d]=b;continue}Md(l,a,d)+u<=y&&(c[d]=b);}return c}sa.exports={filterTimeblocksByMaxArrivals:Dd};});var ua=L((Lm,la)=>{function sr(r){let a=parseInt(r.split(":")[0],10);return a>=4&&a<11?"breakfast":a>=11&&a<16?"lunch":a>=16&&a<23?"dinner":null}function ie(r,...a){console.log(`[MaxGroupsFilter] ${r}`,...a);}function Id(r){if(r==null)return null;if(typeof r=="object"&&r!==null&&"$numberInt"in r){let a=parseInt(r.$numberInt,10);return isNaN(a)?null:a}if(typeof r=="number")return Number.isInteger(r)?r:null;if(typeof r=="string"){let a=parseInt(r,10);return isNaN(a)?null:a}return null}function Cd(r,a,o,l,u){ie(`--- Running MaxGroupsFilter for Date: ${a}, Guests: ${u} ---`);let c=Object.keys(r).filter(y=>y.startsWith("max-groups-"));ie("Received restaurantData max-group keys:",c.length>0?c:"None found");let d={},b=parseInt(u,10);if(isNaN(b)||b<=0)return ie(`Invalid guest count (${u}). Returning all ${Object.keys(o).length} input blocks unfiltered.`),o;let g=l.filter(y=>y.date===a);ie(`Relevant reservations on ${a}: ${g.length}`),ie(`Input timeblocks count: ${Object.keys(o).length}`);let h={};g.forEach(y=>{let m=sr(y.time);m&&(h[m]||(h[m]=[]),h[m].push(y));}),ie("Reservations grouped by meal type:",h);for(let[y,m]of Object.entries(o)){let p=sr(y);if(ie(`
8
- Checking Time: ${y} -> Determined Meal: ${p}`),!p){ie(` Time ${y} has no associated meal type. Keeping block.`),d[y]=m;continue}let M=`max-groups-${p}`,w=r[M];if(ie(` Looking for settings using key: "${M}"`),!w||typeof w!="object"){ie(` No settings found for key "${M}". Filter doesn't apply. Keeping block.`),d[y]=m;continue}ie(` Found settings for ${p}:`,JSON.stringify(w));let S=true,x=Object.keys(w).map(v=>parseInt(v,10)).filter(v=>!isNaN(v)&&v>0).sort((v,N)=>v-N);ie(` Defined numeric limit sizes to check for ${p}: [${x.join(", ")}]`);for(let v of x){let N=String(v);if(ie(` Checking Limit Condition: Groups of size >= ${v}`),b>=v){ie(` Applicable: Booking guests (${b}) >= Limit threshold (${v})`);let _=Id(w[N]);if(ie(` Max groups allowed for >=${v} is: ${_} (raw setting: ${JSON.stringify(w[N])})`),_===null||_<0){ie(` Skipping check: Invalid or non-positive max count defined for size ${v}.`);continue}let E=(h[p]||[]).filter(D=>{let I=parseInt(D.guests,10);return !isNaN(I)&&I>=v}).length;if(ie(` Count of existing groups >=${v} found in ${p}: ${E}`),E+1>_){ie(` *** VIOLATION DETECTED *** for limit >=${v}.`),ie(` (Existing Groups: ${E} + New Group: 1 = ${E+1}, which is > Max Allowed: ${_})`),ie(` Blocking time ${y} due to this violation.`),S=false;break}else ie(` OK: Limit for >=${v} not exceeded. (Existing: ${E} + New: 1 <= Max: ${_})`);}else ie(` Not Applicable: Booking guests (${b}) < Limit threshold (${v}). Skipping this check.`);}S?(ie(` \u2705 Result for time ${y}: ALLOWED (passed all applicable checks)`),d[y]=m):ie(` \u274C Result for time ${y}: BLOCKED (failed at least one limit check)`);}return ie(`--- MaxGroupsFilter Finished. Output timeblocks count: ${Object.keys(d).length} ---`),d}la.exports={filterTimeblocksByMaxGroups:Cd,getMealType:sr};});var pt=L((jm,ca)=>{function Yd(r,a){if(r==null)return a;if(typeof r=="object"&&r!==null&&"$numberInt"in r){try{let o=parseInt(r.$numberInt,10);if(!isNaN(o))return o}catch{}return a}if(typeof r=="number"&&!isNaN(r))return r;if(typeof r=="string")try{let o=parseInt(r,10);if(!isNaN(o))return o}catch{}return a}ca.exports=Yd;});var Yt=L((Rm,da)=>{function Od(r,a,o){if(!r||!/^([01]\d|2[0-3]):([0-5]\d)$/.test(r))return [];let[u,c]=r.split(":").map(Number),d=u*60+c;if(o<=0)return [d];let b=Math.ceil(a/o),g=[];for(let h=0;h<b;h++)g.push(d+h*o);return g}da.exports=Od;});var or=L((Hm,fa)=>{function Ed(r){if(!r||typeof r!="string")return NaN;let a=r.split(":");if(a.length!==2)return NaN;let o=parseInt(a[0],10),l=parseInt(a[1],10);return isNaN(o)||isNaN(l)||o<0||o>23||l<0||l>59?NaN:o*60+l}fa.exports=Ed;});var lr=L((Vm,ma)=>{var Fd={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};ma.exports={shifts:Fd};});var cr=L((qm,pa)=>{var ur=or(),{shifts:Pd}=lr();function $d(r){let a=ur(r);if(isNaN(a))return null;for(let[o,l]of Object.entries(Pd)){let u=ur(l.start),c=ur(l.end);if(!(isNaN(u)||isNaN(c))&&a>=u&&a<c)return o}return null}pa.exports=$d;});var ht=L((Um,ha)=>{var Gd=cr();function Wd(r,a,o){if(!r.isTemporary)return true;if(!r.startDate||!r.endDate||a<r.startDate||a>r.endDate)return false;let l=Gd(o);return !(!l||r.application!==l)}ha.exports=Wd;});var dn=L((Zm,ga)=>{function Bd(r,a=null){let o=[];return r?.floors&&Array.isArray(r.floors)?r.floors.forEach(l=>{l?.tables&&Array.isArray(l.tables)&&l.tables.forEach(u=>{let c=u.tableNumber?.$numberInt??u.tableNumber,d=u.minCapacity?.$numberInt??u.minCapacity,b=u.maxCapacity?.$numberInt??u.maxCapacity,g=u.priority?.$numberInt??u.priority,h=u.x?.$numberInt??u.x,y=u.y?.$numberInt??u.y;a&&a.trim()!==""&&u.zitplaats!==a||(u.objectType==="Tafel"&&c!==void 0&&d!==void 0&&b!==void 0&&g!==void 0&&h!==void 0&&y!==void 0?o.push({tableId:u.id,tableNumber:parseInt(c,10),minCapacity:parseInt(d,10),maxCapacity:parseInt(b,10),priority:parseInt(g,10),x:parseInt(h,10),y:parseInt(y,10),isTemporary:u.isTemporary===true,startDate:u.startDate||null,endDate:u.endDate||null,application:u.application||null,zitplaats:u.zitplaats||null}):u.objectType==="Tafel"&&console.warn(`Skipping table due to missing essential properties: ${JSON.stringify(u)}`));});}):console.warn("Restaurant data is missing 'floors' array."),o.sort((l,u)=>l.maxCapacity!==u.maxCapacity?l.maxCapacity-u.maxCapacity:l.priority!==u.priority?l.priority-u.priority:l.minCapacity-u.minCapacity),o=o.filter(l=>!isNaN(l.tableNumber)&&!isNaN(l.minCapacity)&&!isNaN(l.maxCapacity)&&!isNaN(l.priority)&&!isNaN(l.x)&&!isNaN(l.y)),o}ga.exports=Bd;});var ya=L((Jm,ba)=>{var zd=pt();function Ld(r){return Array.isArray(r)?r.map(a=>zd(a,null)).filter(a=>a!==null):[]}ba.exports=Ld;});var dr=L((Km,va)=>{var jd=ya();function Rd(r){return r.tables&&Array.isArray(r.tables)?jd(r.tables):[]}va.exports=Rd;});var Ot=L((Qm,xa)=>{function Hd(r,a,o){let l=o[r]||new Set;for(let u of a)if(l.has(u))return false;return true}xa.exports=Hd;});var fr=L((Xm,ka)=>{function Vd(r,a){if(r?.x===void 0||r?.y===void 0||a?.x===void 0||a?.y===void 0)return 1/0;let o=r.x-a.x,l=r.y-a.y;return Math.sqrt(o*o+l*l)}ka.exports=Vd;});var fn=L((e0,Sa)=>{var wa=ht(),Ta=Ot(),qd=fr();function _a(r,a,o,l,u,c,d,b,g){if(a<=0){let y=0;for(let m=0;m<l.length;m++)for(let p=m+1;p<l.length;p++)y+=qd(l[m],l[p]);(l.length<u.tableCount||l.length===u.tableCount&&y<u.minDistance)&&(u.minDistance=y,u.tables=[...l],u.tableCount=l.length);return}if(o>=r.length||l.length>=u.tableCount&&u.tableCount!==1/0)return;let h=0;for(let y=o;y<r.length;y++){let m=r[y];wa(m,b,g)&&Ta(m.tableNumber,c,d)&&(h+=m.maxCapacity);}if(!(h<a))for(let y=o;y<r.length;y++){let m=r[y];if(!wa(m,b,g)||!Ta(m.tableNumber,c,d))continue;let p=Math.min(m.maxCapacity,a);p<m.minCapacity&&p<a||p<=0||(l.push(m),_a(r,a-p,y+1,l,u,c,d,b,g),l.pop());}}Sa.exports=_a;});var mn=L((t0,Ma)=>{var Na=pt(),Ud=Yt(),Zd=dn(),Jd=ht(),Kd=fn(),Qd=Ot();function Xd(r,a,o,l,u,c=null){let d=r["general-settings"]||{};typeof d.duurReservatie=="object"&&d.duurReservatie?.$numberInt,typeof d.intervalReservatie=="object"&&d.intervalReservatie?.$numberInt;let b=120,g=15;if(b=Na(d.duurReservatie,120),g=Na(d.intervalReservatie,15),g<=0)return console.error("Invalid interval settings."),[];let h=Ud(o,b,g);if(!h||h.length===0)return console.error(`Could not compute required slots for ${o}`),[];let y=Zd(r,c);for(let p of y)if(Jd(p,a,o)&&p.minCapacity<=l&&l<=p.maxCapacity&&Qd(p.tableNumber,h,u))return [p.tableNumber];let m={minDistance:1/0,tables:[],tableCount:1/0};return Kd(y,l,0,[],m,h,u,a,o),m.tables.length>0,m.tables.map(p=>p.tableNumber)}Ma.exports=Xd;});var pn=L((n0,Ia)=>{var Da=pt(),Aa=Yt(),ef=ht(),tf=dn(),nf=dr(),rf=mn(),af=Ot(),sf=fn();function of(r,a,o,l,u,c=null){l<0&&(l=2);let d=r?.["table-settings"]||{};if(!(d.isInstalled===true&&d.assignmentMode==="automatic"))return true;try{if(!r?.floors||!Array.isArray(r.floors))return console.error(`[isTimeAvailableSync] Missing floors data for ${a} ${o}`),!1;if(l<=0)return console.error(`[isTimeAvailableSync] Invalid guest count: ${l}`),!1;let g=r["general-settings"]||{},h=120,y=15;if(h=Da(g.duurReservatie,120),y=Da(g.intervalReservatie,15),y<=0)return console.error(`[isTimeAvailableSync] Invalid interval settings for ${a} ${o}`),!1;let m=Aa(o,h,y);if(!m||m.length===0)return console.error(`[isTimeAvailableSync] Could not compute required slots for ${a} ${o}`),!1;let p={},M=u.filter(v=>v.date===a&&v.time&&v.guests>0).sort((v,N)=>{let _=v.time.split(":").map(Number),O=N.time.split(":").map(Number);return _[0]*60+_[1]-(O[0]*60+O[1])});for(let v of M){let N=nf(v),_=[];if(N.length>0?_=N:_=rf(r,v.date,v.time,v.guests,p),_.length>0){let O=Aa(v.time,h,y);if(!O||O.length===0)continue;_.forEach(E=>{p[E]||(p[E]=new Set),O.forEach(D=>p[E].add(D));});}}let w=tf(r,c);for(let v of w)if(ef(v,a,o)&&v.minCapacity<=l&&l<=v.maxCapacity&&af(v.tableNumber,m,p))return !0;let S={minDistance:1/0,tables:[],tableCount:1/0};sf(w,l,0,[],S,m,p,a,o);let x=S.tables.length>0;return x}catch{return false}}Ia.exports=of;});var mr=L((r0,Oa)=>{var Ca=pt(),Ya=Yt(),lf=dn(),uf=ht(),cf=dr(),df=mn();function ff(r,a,o,l,u,c=null){try{l<0&&(l=0);let d=r?.["table-settings"]||{};if(!(d.isInstalled===!0&&d.assignmentMode==="automatic"))return [];if(!r?.floors||!Array.isArray(r.floors))return [];if(l<=0)return [];let g=r["general-settings"]||{},h=Ca(g.duurReservatie,120),y=Ca(g.intervalReservatie,15);if(y<=0)return [];let m=Ya(o,h,y);if(!m||m.length===0)return [];let p={},M=u.filter(x=>x.date===a&&x.time&&x.guests>0).sort((x,v)=>{let N=x.time.split(":").map(Number),_=v.time.split(":").map(Number);return N[0]*60+N[1]-(_[0]*60+_[1])});for(let x of M){let v=cf(x),N=[];if(v.length>0?N=v:N=df(r,x.date,x.time,x.guests,p,null),N.length>0){let _=Ya(x.time,h,y);if(!_||_.length===0)continue;N.forEach(O=>{p[O]||(p[O]=new Set),_.forEach(E=>p[O].add(E));});}}let w=lf(r,c),S=[];for(let x of w)uf(x,a,o)&&x.minCapacity<=l&&l<=x.maxCapacity&&(p&&m&&Array.isArray(m),(function(){let N=p[x.tableNumber]||new Set;for(let _ of m)if(N.has(_))return !1;return !0})()&&S.push(x));return S.sort((x,v)=>x.tableNumber-v.tableNumber),S}catch{return []}}Oa.exports=ff;});var pr=L((i0,Ea)=>{var mf=pn();function pf(r,a,o,l,u,c=null){l<0&&(l=0);let d=r?.["table-settings"]||{};if(!(d.isInstalled===true&&d.assignmentMode==="automatic"))return o;let g={},h=0,y=0;for(let m in o)mf(r,a,m,l,u,c)?(g[m]=o[m],h++):y++;return g}Ea.exports=pf;});var $a=L((a0,Pa)=>{var hf=pn(),gf=mr(),Fa=pr(),bf=(r,a,o,l,u,c=null)=>Fa(r,a,o,l,u,c);Pa.exports={isTimeAvailableSync:hf,filterTimeblocksByTableAvailability:Fa,getAvailableTimeblocksWithTableCheck:bf,getAvailableTablesForTime:gf};});var hn=L((s0,Ga)=>{var yf={...Zn(),...rn(),...an()},vf={...Un()},xf={...nn(),...mt()},kf={...Bi(),...sn(),...Jn(),...er(),...tr(),...ir(),...Xi(),...ln(),...na()},wf={...aa(),...oa(),...ua()},Tf={...$a(),...pn(),...mr(),...fn(),...pr(),...mn(),...pt(),...ht(),...Ot(),...fr(),...lr().shifts,...or(),...cr(),...Yt()};Ga.exports={...yf,...vf,...xf,...kf,...wf,...Tf};});function re(r,{insertAt:a}={}){if(!r||typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css",a==="top"&&o.firstChild?o.insertBefore(l,o.firstChild):o.appendChild(l),l.styleSheet?l.styleSheet.cssText=r:l.appendChild(document.createTextNode(r));}re(`.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 dc=({setGuests:r,value:a,onChange:o})=>{let l=[1,2,3,"4+"],[u,c]=X.useState(a||""),[d,b]=X.useState(false),g=m=>{m==="4+"?(b(true),c(4),r(4),o({target:{name:"guests",value:4}})):(b(false),c(m),r(m),o({target:{name:"guests",value:m}}));},h=m=>{let p=m.target.value;c(p),r(p),o({target:{name:"guests",value:p}});},y=m=>{let p=m.target.value;c(p),r(p),o({target:{name:"guests",value:p}});};return X__default.default.createElement("div",{className:"value-selector",translate:"no"},X__default.default.createElement("div",{className:"predefined-values"},l.map(m=>X__default.default.createElement("button",{key:m,type:"button",className:`predefined-value-button ${u==m||m==="4+"&&d?"active":""}`,onClick:()=>g(m)},m==="4+"?"4+":`${m} p`))),X__default.default.createElement(framerMotion.AnimatePresence,null,d&&X__default.default.createElement(framerMotion.motion.div,{className:"slider-container",initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0}},X__default.default.createElement("input",{type:"range",min:"4",max:"15",step:"1",value:u,onChange:h,className:"slider non-absolute"}),X__default.default.createElement("input",{type:"number",name:"guests",value:u,onChange:y,className:"value-input",min:"4",max:"100",step:"1"}))))},pi=dc;Dt(qn());var bi=r=>{let a=Xe__default.default().tz("Europe/Brussels").startOf("day");return r.clone().add(6,"days").endOf("day").isBefore(a)},yi=(r,a)=>r.isSame(a,"day");re(`.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}}
10
- `);var ze=Dt(hn());var Ve={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."}}};Xe__default.default.locale("nl");var Sf=({guests:r,selectedDate:a,onSelectDate:o,autoExpand:l,reservationMode:u,restaurantData:c,startDate:d,onWeekChange:b,reservations:g,giftcard:h,zitplaats:y})=>{let m=localStorage.getItem("preferredLanguage")||"nl",p=Ve[m].calendar,[M,w]=X.useState(l||false),[S,x]=X.useState(false),v=X.useRef(null),N=X.useRef(null),_=Xe__default.default().tz("Europe/Amsterdam").add(1,"year").endOf("day");X.useEffect(()=>{l&&w(true);},[l]),X.useEffect(()=>{let P=z=>{v.current&&!v.current.contains(z.target)&&(w(false),x(false));};return document.addEventListener("mousedown",P),()=>{document.removeEventListener("mousedown",P);}},[]),X.useEffect(()=>()=>{N.current&&(clearTimeout(N.current),N.current=null);},[]);let O=()=>{N.current&&(clearTimeout(N.current),N.current=null),x(true);},E=(P=1e3)=>{N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{x(false),N.current=null;},P);},D=(P,z)=>{if(P.isBefore(z,"day")||P.isAfter(_,"day"))return 0;let J=P.format("YYYY-MM-DD");if(S){let A=c?.["table-settings"]||{},oe=A.isInstalled===true&&A.assignmentMode==="automatic",ce=0;for(let ae=1;ae<=21;ae++){let we;oe?we=(0, ze.isDateAvailableWithTableCheck)(c,J,g,ae,h||null):we=(0, ze.isDateAvailable)(c,J,g,ae,h||null),we&&(ce=ae);}return ce}if(u==="vrije_keuze")return 21;if(u!=="met_limieten")return (0, ze.isDateAvailable)(c,J,g,-1e4,null)?21:0;let F=c?.["table-settings"]||{},R=F.isInstalled===true&&F.assignmentMode==="automatic"&&u==="met_limieten",Q=0;for(let A=1;A<=21;A++){let oe;R?oe=(0, ze.isDateAvailableWithTableCheck)(c,J,g,A,h||null):oe=(0, ze.isDateAvailable)(c,J,g,A,h||null),oe&&(Q=A);}return Q},I=P=>{let z=[],J=Xe__default.default().tz("Europe/Amsterdam").startOf("day"),F=P.clone().startOf("month"),R=P.clone().endOf("month"),Q=c?.["table-settings"]||{},A=Q.isInstalled===true&&Q.assignmentMode==="automatic"&&u==="met_limieten",oe=F.clone();for(;oe.isSameOrBefore(R,"day");){let ce=oe.format("YYYY-MM-DD"),ae;if(u==="vrije_keuze")ae=oe.isBetween(J,_,null,"[]");else {let nt=u!=="met_limieten"?-1e4:r;A?ae=(0, ze.isDateAvailableWithTableCheck)(c,ce,g,nt,u==="met_limieten"?h:null):ae=(0, ze.isDateAvailable)(c,ce,g,nt,u==="met_limieten"?h:null);}let we=D(oe,J);z.push({date:oe.clone(),isPast:oe.isBefore(J,"day"),isFuture:oe.isAfter(_,"day"),isAvailable:ae,maxGuestsAvailable:we}),oe.add(1,"day");}return z},$=P=>{P.isAvailable&&!P.isPast&&!P.isFuture&&(o(P.date.format("YYYY-MM-DD")),w(false),x(false));},B=()=>{let P=d.clone().subtract(1,"month").startOf("month"),z=Xe__default.default().tz("Europe/Amsterdam").startOf("day");if(P.clone().endOf("month").isBefore(z,"day")){console.log("Cannot go to previous month. It is in the past.");return}b(P);},ue=()=>{let P=d.clone().add(1,"month").startOf("month");b(P);},U=()=>{if(!a)return p.selectDatePlaceholder;let P=Xe__default.default(a,"YYYY-MM-DD").tz("Europe/Amsterdam").startOf("day"),z=Xe__default.default().tz("Europe/Amsterdam").startOf("day"),J=z.clone().add(1,"day");return P.isSame(z,"day")?p.today:P.isSame(J,"day")?p.tomorrow:P.format("dddd D MMMM YYYY")},de=P=>{let J=d.clone().startOf("month").day(),F=J===0?6:J-1,R=[];for(let ce=0;ce<F;ce++)R.push(null);R.push(...P);let Q=R.length,A=Math.ceil(Q/7);for(;R.length<A*7;)R.push(null);let oe=[];for(let ce=0;ce<A;ce++){let ae=R.slice(ce*7,ce*7+7);oe.push(ae);}return oe},j=d?I(d):[],Z=d?de(j):[],W=p.dayHeaders,ye=P=>P>=21?"20+":String(P);return X__default.default.createElement("div",{className:"calendar-container",ref:v},X__default.default.createElement("div",{className:"calendar-display",onClick:()=>w(!M)},X__default.default.createElement("span",null,U()),X__default.default.createElement("span",{className:"arrow"},X__default.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:M?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},X__default.default.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),M&&d&&X__default.default.createElement("div",{className:"calendar"},X__default.default.createElement("div",{className:"calendar-header"},X__default.default.createElement("button",{type:"button",onClick:B,"aria-label":p.prevWeek},"<"),X__default.default.createElement("span",null,d.format("MMMM YYYY")),X__default.default.createElement("button",{type:"button",onClick:ue,"aria-label":p.nextWeek},">"),X__default.default.createElement("button",{type:"button",className:`availability-hold-btn ${S?"active":""}`,"aria-pressed":S,"aria-label":"Houd ingedrukt om beschikbaarheden te tonen",onMouseDown:O,onMouseUp:()=>E(1e3),onMouseLeave:()=>E(1e3),onTouchStart:O,onTouchEnd:()=>E(1e3),onTouchCancel:()=>E(1e3),onKeyDown:P=>{(P.key===" "||P.key==="Enter")&&O();},onKeyUp:P=>{(P.key===" "||P.key==="Enter")&&E(1e3);},style:{fontSize:"15px",color:"gray",fontWeight:"450",textDecoration:"underline"}},p.seatsQuestion)),X__default.default.createElement("div",{className:"calendar-weeks-wrapper"},X__default.default.createElement("table",{className:"calendar-table"},X__default.default.createElement("thead",null,X__default.default.createElement("tr",{translate:"no"},W.map((P,z)=>X__default.default.createElement("th",{key:z},P)))),X__default.default.createElement("tbody",null,Z.map((P,z)=>X__default.default.createElement("tr",{key:z,translate:"no"},P.map((J,F)=>{if(!J)return X__default.default.createElement("td",{key:F,className:"empty-day"});let R=a&&yi(J.date,Xe__default.default(a,"YYYY-MM-DD").tz("Europe/Amsterdam")),Q=[];return J.isPast?Q.push("gray-out"):J.isAvailable?Q.push("available"):Q.push("unavailable"),R&&Q.push("selected"),X__default.default.createElement("td",{key:F,className:Q.join(" "),onClick:()=>$(J),style:{"--animation-order":F+z*7}},X__default.default.createElement("div",{className:`day-square ${S?"showing-availabilities":""}`},X__default.default.createElement("span",{className:"day-number"},S?ye(J.maxGuestsAvailable):J.date.date())))}))))))))},za=Sf;var Nf=({guests:r,formData:a,handleChange:o,resetFormDataFields:l,restaurantData:u,reservations:c,startDate:d,onWeekChange:b,reservationMode:g})=>{let h=m=>{let p=Xe__default.default(m).format("YYYY-MM-DD");console.log("Selected date:",p),o({target:{name:"date",value:p}}),l(["time"]);},y=d?d.clone().startOf("month"):Xe__default.default().startOf("month");return X__default.default.createElement("div",{className:"form-group date-selector-container"},X__default.default.createElement(za,{guests:r,selectedDate:a.date||null,onSelectDate:h,autoExpand:false,reservationMode:g,restaurantData:u,startDate:y,onWeekChange:b,reservations:c,giftcard:a.giftcard,zitplaats:a.zitplaats}))},Ra=Nf;re(`.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
- `);var gn=Dt(hn()),Df=({guests:r,formData:a,handleChange:o,field:l,selectedDate:u,expanded:c,setCurrentExpandedField:d,restaurantData:b,reservations:g,reservationMode:h})=>{let y=localStorage.getItem("preferredLanguage")||"nl",m=Ve[y].timeSelector,[p,M]=X.useState(c||false),[w,S]=X.useState([]),[x,v]=X.useState(null),N=X.useRef(null),_={breakfast:{start:"07:00",end:"11:00",label:m.shifts.breakfast},lunch:{start:"11:00",end:"16:00",label:m.shifts.lunch},dinner:{start:"16:00",end:"23:00",label:m.shifts.dinner}};X.useEffect(()=>{if(!u||!r){S([]);return}if(h==="vrije_keuze")if(x){let I=_[x],$=Xe__default.default.tz(`${u} ${I.start}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),B=Xe__default.default.tz(`${u} ${I.end}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),ue=[],U=$.clone();for(;U.isBefore(B);)ue.push({value:U.format("HH:mm"),label:U.format("HH:mm")}),U.add(15,"minutes");S(ue);}else S([]);else if(b&&g){let I=h!=="met_limieten"?-1e4:r,$=b?.["table-settings"]||{},B=h==="met_limieten"&&$.isInstalled===true&&$.assignmentMode==="automatic",ue=h==="met_limieten"?a.giftcard:null,U=(0, gn.getAvailableTimeblocks)(b,u,g,I,ue),de=B?(0, gn.getAvailableTimeblocksWithTableCheck)(b,u,U,I,g):U,j=Object.keys(de).map(Z=>({value:Z,label:de[Z].name||Z}));j.sort((Z,W)=>{let[ye,P]=Z.value.split(":").map(Number),[z,J]=W.value.split(":").map(Number);return ye*60+P-(z*60+J)}),S(j),a[l.id]&&!j.some(Z=>Z.value===a[l.id])&&o({target:{name:l.id,value:""}});}else S([]);},[u,r,b,g,h,l.id,x,a[l.id],o]),X.useEffect(()=>{h==="vrije_keuze"&&(v(null),a[l.id]&&o({target:{name:l.id,value:""}}));},[u,h]);let O=I=>{o({target:{name:l.id,value:I}}),M(false),d?.(null);},E=I=>{x!==I&&a[l.id]&&o({target:{name:l.id,value:""}}),v(I);},D=()=>{if(h==="vrije_keuze")return x?a[l.id]?`${_[x].label} \u2013 ${a[l.id]}`:`${_[x].label} \u2013 ${m.selectTime}`:m.selectMeal;if(a[l.id]){let I=w.find($=>$.value===a[l.id]);return I?I.label:m.selectTime}return m.selectTime};return l?X__default.default.createElement("div",{className:"form-group time-selector-container",ref:N},u?X__default.default.createElement(X__default.default.Fragment,null,X__default.default.createElement("div",{className:"time-display",onClick:()=>{M(!p),p||d?.(l.id);}},X__default.default.createElement("span",null,D()),X__default.default.createElement("span",{className:"arrow"},X__default.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:p?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},X__default.default.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),p&&X__default.default.createElement("div",{className:"time-selector"},h==="vrije_keuze"?x?X__default.default.createElement("div",{className:"time-period"},X__default.default.createElement("div",{className:"time-period-label"},_[x].label,X__default.default.createElement("button",{onClick:()=>v(null),style:{marginLeft:"10px",background:"none",border:"none",cursor:"pointer",color:"#006600",fontSize:"0.9rem",padding:0}},"\u2190 ",m.back)),X__default.default.createElement("div",{className:"time-options"},w.length===0?X__default.default.createElement("div",{className:"no-times"},m.noTimes):w.map(I=>X__default.default.createElement("div",{key:I.value,className:`time-option ${a[l.id]===I.value?"selected":""}`,onClick:()=>O(I.value)},I.label)))):X__default.default.createElement("div",{className:"time-options"},Object.keys(_).map(I=>X__default.default.createElement("div",{key:I,className:`time-option ${x===I?"selected":""}`,onClick:()=>E(I)},_[I].label))):X__default.default.createElement("div",{className:"time-options"},w.length===0?X__default.default.createElement("div",{className:"no-times"},m.noTimes):w.map(I=>X__default.default.createElement("div",{key:I.value,className:`time-option ${a[l.id]===I.value?"selected":""}`,onClick:()=>O(I.value)},I.label))))):X__default.default.createElement("p",{className:"info-text"},m.noDateSelected)):null},qa=Df;re(`.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
- `);var Af=({availableTables:r=[],isFetching:a=false,formData:o={},handleChange:l,setFormData:u})=>{let c=localStorage.getItem("preferredLanguage")||"nl",d=Ve?.[c]?.tableSelector||{},b={label:d.label||"Tafels",noTables:d.noTables||"Geen tafels beschikbaar voor deze selectie.",table:d.table||"Tafel",max:d.max||"Max"},g=Array.isArray(o.selectedTableNumbers)?o.selectedTableNumbers:[],h=Array.isArray(o.selectedTableIds)?o.selectedTableIds:[],y=(p,M)=>{if(typeof l=="function"){l({target:{multiple:true,updates:{selectedTableNumbers:p,selectedTableIds:M}}});return}typeof u=="function"&&u(w=>({...w,selectedTableNumbers:p,selectedTableIds:M}));},m=p=>M=>{let w=M.target.checked,S=r.find(N=>N.tableNumber===p);if(!S)return;let x=[...g],v=[...h];w?(x.includes(p)||x.push(p),v.includes(S.tableId)||v.push(S.tableId)):(x=x.filter(N=>N!==p),v=v.filter(N=>N!==S.tableId)),x.sort((N,_)=>N-_),y(x,v);};return a?X__default.default.createElement("div",{className:"form-group table-selector-container"},X__default.default.createElement("label",{className:"table-selector-label"},b.label),X__default.default.createElement("p",{className:"info-text"},"Laden\u2026")):!r||r.length===0?X__default.default.createElement("div",{className:"form-group table-selector-container"},X__default.default.createElement("label",{className:"table-selector-label"},b.label),X__default.default.createElement("p",{className:"info-text"},b.noTables)):X__default.default.createElement("div",{className:"form-group table-selector-container"},X__default.default.createElement("label",{className:"table-selector-label"},b.label),X__default.default.createElement("div",{className:"table-options"},r.map(p=>{let M=p.tableNumber,w=p.maxCapacity??p.capacity??p.seats??"-",S=g.includes(M);return X__default.default.createElement("div",{key:`${p.tableId||M}`,className:"table-option"},X__default.default.createElement("label",null,X__default.default.createElement("input",{type:"checkbox",value:M,checked:S,onChange:m(M)}),b.table," ",M," (",b.max,": ",w,")"))})))},Ua=Af;re(`.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
- `);var Cf=()=>{let r=X.useCallback(()=>localStorage.getItem("accessToken"),[]),a=X.useCallback((u,c={})=>{let{params:d,...b}=c,g=r();return Za__default.default.get(u,{...b,params:d,headers:{...b.headers,...g?{Authorization:`Bearer ${g}`}:{}}}).then(h=>h.data).catch(h=>{throw console.error("Error fetching data:",h),h})},[r]),o=X.useCallback((u,c,d=null,b={})=>{let g=r();return Za__default.default({method:u,url:c,data:d,...b,headers:{...b.headers,...g?{Authorization:`Bearer ${g}`}:{}}}).then(h=>h.data).catch(h=>{throw console.error(`Error with ${u} request:`,h),h})},[r]);return X.useMemo(()=>({get:a,post:(u,c,d)=>o("POST",u,c,d),put:(u,c,d)=>o("PUT",u,c,d),patch:(u,c,d)=>o("PATCH",u,c,d),delete:(u,c)=>o("DELETE",u,null,c)}),[a,o])},et=Cf;var Ka=Dt(hn()),Ef=({formData:r,errors:a,handleChange:o,handleStepOneSubmit:l,setFormData:u,timeblocks:c,loadingTimeblocks:d,timeblocksError:b,restaurantData:g})=>{let h=localStorage.getItem("preferredLanguage")||"nl",y=Ve[h].reservationStepOne,[m,p]=X.useState(r.guests||2),[M,w]=X.useState(null),[S,x]=X.useState([]),[v,N]=X.useState([]),[_,O]=X.useState(false),E=et(),D=X.useRef(false),I=X.useRef({numbers:r.selectedTableNumbers||[],ids:r.selectedTableIds||[]}),$=X.useCallback(F=>{u(R=>{let Q={...R};return F.forEach(A=>{Q[A]="";}),(F.includes("date")||F.includes("time")||F.includes("guests"))&&(Q.selectedTableNumbers=[],Q.selectedTableIds=[],N([]),I.current={numbers:[],ids:[]}),Q});},[u]);X.useEffect(()=>{let R=Xe__default.default().tz("Europe/Amsterdam").startOf("day").clone().startOf("isoWeek");for(;bi(R);)R.add(1,"week");w(R);},[]),X.useEffect(()=>{(async()=>{if(M&&["met_limieten","zonder_regels"].includes(r.reservationMode)){let R=g?.["table-settings"]||{},Q=R.isInstalled&&R.assignmentMode==="automatic";if(r.reservationMode==="met_limieten"||r.reservationMode==="zonder_regels"&&Q){let A=M.format("YYYY-MM-DD"),oe=M.clone().add(13,"days").format("YYYY-MM-DD"),ce=localStorage.getItem("username"),ae=`${window.baseDomain}api/slots/${ce}/${A}/${oe}`;try{let we=await E.get(ae,{noCache:!0});x(we||[]);}catch(we){console.error("Error fetching reservations:",we),x([]);}}else x([]);}else x([]);})();},[M,E,r.reservationMode,g]);let B=F=>{w(F),$(["date","time","selectedTableNumbers","selectedTableIds"]);};X.useEffect(()=>{if(!D.current){let F={},R=false;r.reservationMode||(F.reservationMode="met_limieten",R=true),(!r.guests||r.guests==="")&&(F.guests=m,R=true),Array.isArray(r.selectedTableNumbers)||(F.selectedTableNumbers=[],R=true),Array.isArray(r.selectedTableIds)||(F.selectedTableIds=[],R=true),R&&setTimeout(()=>{o({target:{multiple:true,updates:F}});},0),D.current=true;}},[r,m,o]),X.useEffect(()=>{let F=g?.["table-settings"]||{};if(F.isInstalled&&F.assignmentMode==="automatic"&&r.date&&r.time&&r.guests>0&&g&&S){O(true);let Q=(0, Ka.getAvailableTablesForTime)(g,r.date,r.time,r.guests,S);N(Q);let A=r.selectedTableNumbers||[],oe=r.selectedTableIds||[],ce=[],ae=[];A.forEach(Pt=>{let yt=Q.find(kn=>kn.tableNumber===Pt);yt&&oe.includes(yt.tableId)&&(ce.push(Pt),ae.push(yt.tableId));});let we=ce.toString()!==I.current.numbers.toString(),nt=ae.toString()!==I.current.ids.toString();(we||nt)&&(I.current={numbers:ce,ids:ae},o({target:{multiple:true,updates:{selectedTableNumbers:ce,selectedTableIds:ae}}})),O(false);}else N([]),I.current={numbers:[],ids:[]};},[r.date,r.time,r.guests,g,S,o]);let ue=F=>{let R=parseInt(F.target.value,10)||1;p(R),o(F),$(["time","selectedTableNumbers","selectedTableIds"]);};X.useEffect(()=>{$(["date","time","selectedTableNumbers","selectedTableIds"]);},[r.reservationMode,$]);let U=F=>{F==="met_limieten"?o({target:{name:"reservationMode",value:"met_limieten"}}):F==="onbeperkt_parent"&&(["zonder_regels","vrije_keuze"].includes(r.reservationMode)||o({target:{name:"reservationMode",value:"zonder_regels"}}));},de=F=>{o({target:{name:"reservationMode",value:F}});},j=r.reservationMode,Z=["met_limieten","zonder_regels","vrije_keuze"].includes(j),W=g?.["table-settings"]||{},ye=Z&&r.date&&r.time&&r.guests>0&&W.isInstalled&&W.assignmentMode==="automatic"&&v.length>0,P=!!g?.["general-settings"]?.seatSelectionEnabled,z=["Terras","Restaurant"],J=F=>u(R=>({...R,zitplaats:F}));return b?X__default.default.createElement("div",null,y.errors.openingHoursNotSet," ",X__default.default.createElement("a",{href:"https://happychef.cloud/#/openinghours/dinner",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-blue)",textDecoration:"underline"}},y.errors.clickHereToSet)):X__default.default.createElement("form",{className:"account-manage-form",noValidate:true},X__default.default.createElement("div",{className:"form-group reservation-mode"},X__default.default.createElement("div",{className:"reservation-modes-container"},X__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${j==="met_limieten"?"active":""}`,onClick:()=>U("met_limieten"),"aria-pressed":j==="met_limieten"},y.modes.withLimits),X__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(j)?"active":""}`,onClick:()=>U("onbeperkt_parent"),"aria-pressed":["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(j)},y.modes.unlimited)),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(j)&&X__default.default.createElement("div",{className:"reservation-modes-container sub-modes"},X__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${j==="zonder_regels"?"active":""}`,onClick:()=>de("zonder_regels"),"aria-pressed":j==="zonder_regels"},y.modes.openingHours),X__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${j==="vrije_keuze"?"active":""}`,onClick:()=>de("vrije_keuze"),"aria-pressed":j==="vrije_keuze"},y.modes.free))),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes(j)&&X__default.default.createElement("div",{className:"unlimited-mode-warning"},X__default.default.createElement("div",{className:"warning-text"},y.warnings?.unlimitedMode||(h==="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."))),X__default.default.createElement(pi,{value:r.guests||m,onChange:ue,error:a.guests,setGuests:p}),Z&&r.guests>0&&X__default.default.createElement(Ra,{guests:r.guests,formData:r,handleChange:o,resetFormDataFields:$,restaurantData:g,reservations:S,startDate:M,onWeekChange:B,reservationMode:j}),Z&&r.date&&X__default.default.createElement(qa,{guests:r.guests,formData:r,handleChange:o,field:{id:"time",label:y.fields.time},selectedDate:r.date,setCurrentExpandedField:()=>{},restaurantData:g,reservations:S,reservationMode:j}),P&&X__default.default.createElement("div",{className:"form-row",style:{marginTop:12}},X__default.default.createElement("div",{className:"reservation-mode-buttons"},z.map(F=>X__default.default.createElement("button",{key:F,type:"button",className:`reservation-mode-button ${r.zitplaats===F?"active":""}`,onClick:()=>J(F),"aria-pressed":r.zitplaats===F},F))),a.zitplaats&&X__default.default.createElement("small",{className:"error"},a.zitplaats)),ye&&X__default.default.createElement(Ua,{availableTables:v,isFetching:_,formData:r,setFormData:u,handleChange:o}))},yr=Ef;var vr=()=>localStorage.getItem("preferredLanguage")||"nl",De=(r,a,o="nl")=>{let l=vr();return (r[l]||r[o]||{})[a]||{}};var Qa={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 Xa={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"}}}};re(`.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 Bf=({label:r,name:a,type:o="text",icon:l,value:u,onChange:c,onBlur:d,error:b,placeholder:g,halfWidth:h,options:y=[],selectPlaceholder:m,rightIcon:p,onRightIconClick:M,tooltipContent:w})=>{let S=De(Xa,"formField"),x=m||S.selectPlaceholder,[v,N]=X.useState(false),_=X.useRef(null),O=X.useRef(null),E=p,D=l;X.useEffect(()=>{let B=ue=>{_.current&&!_.current.contains(ue.target)&&(O.current&&clearTimeout(O.current),N(false));};return v&&document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[v]);let I={name:a,value:u,onChange:c,onBlur:d,"aria-label":r,className:`form-control ${b?"input-error":""}`};return X__default.default.createElement("div",{className:`form-group ${h?"half-width":""}`,style:{position:"relative"}},X__default.default.createElement("div",{className:"input-container"},D&&X__default.default.createElement(D,{className:"input-icon"}),o==="select"?X__default.default.createElement("select",{...I},X__default.default.createElement("option",{value:""},x),y.map(B=>X__default.default.createElement("option",{key:B.value,value:B.value},B.label))):o==="textarea"?X__default.default.createElement("textarea",{...I,placeholder:g}):X__default.default.createElement("input",{type:o,...I,placeholder:g}),E&&X__default.default.createElement("div",{className:"magic-wand-container",onClick:M,onMouseEnter:()=>{O.current&&clearTimeout(O.current),N(true);},onMouseLeave:()=>{O.current=setTimeout(()=>N(false),1200);},style:{position:"absolute",top:"50%",right:"10px",transform:"translateY(-50%)",cursor:"pointer"}},X__default.default.createElement(E,{className:"magic-wand-icon",style:{color:"#B567C2"}}),v&&w&&X__default.default.createElement("div",{ref:_,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"}},X__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}},X__default.default.createElement(Wf__default.default,{animationData:Qa,loop:true,style:{width:"100%",height:"100%",opacity:.5}})),X__default.default.createElement("div",{style:{position:"relative",zIndex:2,padding:"12px 20px"}},X__default.default.createElement("div",{style:{borderBottom:"1px solid #eee",marginBottom:"8px",paddingBottom:"4px"}},w),X__default.default.createElement("div",{style:{fontWeight:"bold",fontSize:"13px",textAlign:"center",marginTop:"8px"}},S.tooltip?.confirm),X__default.default.createElement("div",{style:{fontSize:"0.7rem",textAlign:"center",color:"#999",marginTop:"4px"}},S.tooltip?.source))))),b&&X__default.default.createElement("p",{className:"form-error"},b))},_e=X__default.default.memo(Bf);Dt(qn());var ts={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"}}};re(`.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}
15
- `);var is=X__default.default.memo(({formData:r,errors:a,handleChange:o,setFormData:l,menuData:u})=>{let c=vr(),d=De(ts,"reservationStepTwoFiltering"),[b,g]=X.useState([]),[h,y]=X.useState(false),[m,p]=X.useState(null),M=et(),w=fa.FaMagic,S=()=>{m&&v();};X.useEffect(()=>{if(Xe__default.default.locale(c),!r.date||!r.time||!u.length)return g([]);let _=Xe__default.default(`${r.date} ${r.time}`,"YYYY-MM-DD HH:mm"),O=u.filter(E=>{let D=_.isBetween(Xe__default.default(E.startDate,"YYYY-MM-DD"),Xe__default.default(E.endDate,"YYYY-MM-DD"),"day","[]"),I=Xe__default.default(r.time,"HH:mm").isBetween(Xe__default.default(E.startHour,"HH:mm"),Xe__default.default(E.endHour,"HH:mm"),"minute","[]"),$=_.format("dddd").toLowerCase(),B=(E.daysOfWeek||[]).map(U=>U.toLowerCase()),ue=!B.length||B.includes($);return D&&I&&ue});g(O);},[r.date,r.time,u,c]);let x=async()=>{if(h||m)return;let _=(r.email||"").trim().toLowerCase(),O=(r.phone||"").trim(),E=_&&[".com",".net",".be",".nl"].some($=>_.endsWith($)),D=!!O&&(O.startsWith("+32")?O.length>=12:O.length>=10);if(!E&&!D)return;let I=[];E&&I.push("email"),D&&I.push("phone");try{let $=await M.post(`${window.baseDomain}api/autofill`,{email:_,phone:O});$?.firstName&&$?.lastName&&$?.email&&$?.phone&&p({...$,sources:I});}catch{console.error("Autofill error");}};X.useEffect(()=>{x();},[r.email,r.phone]);let v=()=>{m&&(l(_=>({..._,firstName:m.firstName,lastName:m.lastName,email:m.email,phone:m.phone})),y(true),p(null));},N=X.useMemo(()=>{if(!m)return {email:{},phone:{}};let _=m.sources.includes("email")&&(r.email||"").trim().toLowerCase()===m.email.trim().toLowerCase(),O=m.sources.includes("phone")&&(r.phone||"").trim()===m.phone.trim(),E={rightIcon:w,onRightIconClick:S};return {email:_?{...E,tooltipContent:X__default.default.createElement("div",null,X__default.default.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},d.magic?.title),X__default.default.createElement("div",null,m.firstName," ",m.lastName),X__default.default.createElement("div",null,m.phone))}:{},phone:O?{...E,tooltipContent:X__default.default.createElement("div",null,X__default.default.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},d.magic?.title),X__default.default.createElement("div",null,m.firstName," ",m.lastName),X__default.default.createElement("div",null,m.email))}:{}}},[m,r.email,r.phone,d.magic?.title]);return X__default.default.createElement("div",{className:"reservation-step-two"},X__default.default.createElement("div",{className:"account-manage-form"},b.length>0&&X__default.default.createElement(_e,{label:d.labels?.menu||"Menu",name:"menu",type:"select",options:b.map(_=>({value:_.name,label:_.name})),value:r.menu,onChange:o,error:a.menu}),X__default.default.createElement("div",{className:"name-fields"},X__default.default.createElement(_e,{label:d.labels?.firstName||"Voornaam",name:"firstName",placeholder:d.placeholders?.firstName||"",value:r.firstName,onChange:o,error:a.firstName,icon:fa.FaUser}),X__default.default.createElement(_e,{label:d.labels?.lastName||"Achternaam",name:"lastName",placeholder:d.placeholders?.lastName||"",value:r.lastName,onChange:o,error:a.lastName,icon:fa.FaUser})),X__default.default.createElement(_e,{label:d.labels?.email||"Email",name:"email",type:"email",placeholder:d.placeholders?.email||"",value:r.email,onChange:o,onBlur:x,error:a.email,icon:fa.FaEnvelope,...N.email}),X__default.default.createElement(_e,{label:d.labels?.phone||"Telefoon",name:"phone",type:"tel",placeholder:d.placeholders?.phone||"",value:r.phone,onChange:o,onBlur:x,error:a.phone,icon:fa.FaPhone,...N.phone}),X__default.default.createElement(_e,{label:d.labels?.extraInfo||"Extra info",name:"extraInfo",type:"textarea",placeholder:d.placeholders?.extraInfo||"",value:r.extraInfo,onChange:o,error:a.extraInfo,icon:fa.FaInfoCircle})))});is.displayName="ReservationStepTwo";var bn=is;var as={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"}}};re(`.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
- `);var Uf=({formData:r,onNewReservation:a})=>{let o=De(as,"reservationSummary");return X__default.default.createElement("div",{className:"reservation-summary"},X__default.default.createElement("ul",{className:"reservation-details"},X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.title)),X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.guests,":")," ",r.guests),X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.date,":")," ",r.date),X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.time,":")," ",r.time),X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.firstName,":")," ",r.firstName),X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.lastName,":")," ",r.lastName),X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.email,":")," ",r.email),X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.phone,":")," ",r.phone),r.menu&&X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.menu,":")," ",r.menu),r.personeel&&X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.staff,":")," ",r.personeel),r.giftcard&&X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.giftcard,":")," ",r.giftcard),r.extraInfo&&X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.extraInfo,":")," ",r.extraInfo),r.zitplaats&&X__default.default.createElement("li",null,X__default.default.createElement("strong",null,o.seatPlace,":")," ",r.zitplaats)),X__default.default.createElement("button",{className:"button-style-3",onClick:a},o.newReservationButton))},yn=Uf;var ss={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"}}}};re(`.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
- `);var Qf=({restaurantData:r,formData:a,handleChange:o,resetFormDataFields:l})=>{let u=De(ss,"giftcardSelection"),[c,d]=X.useState([]);if(X.useEffect(()=>{if(!r)return;let h=["breakfast","lunch","dinner"],y=new Set;h.forEach(m=>{let p=r[`openinghours-${m}`]?.schemeSettings||{};Object.values(p).forEach(M=>{M?.giftcardsEnabled&&Array.isArray(M.giftcards)&&M.giftcards.forEach(w=>w?.trim()&&y.add(w));});}),d([...y]);},[r]),!c.length)return null;let b=c.map(h=>({value,label:h})),g=h=>{o({target:{name:"giftcard",value:h.target.value}}),l(["date","time"]);};return X__default.default.createElement("div",{className:"giftcard-selection"},X__default.default.createElement(_e,{label:u.labels?.giftcard||"Giftcard",name:"giftcard",type:"select",options:b,value:a.giftcard||"",onChange:g,selectPlaceholder:u.options?.noGiftcard||"Geen giftcard"}))},vn=Qf;var ls={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"}}}};re(`.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}
18
- `);var nm=({restaurantData:r,formData:a,handleChange:o,resetFormDataFields:l})=>{let[u,c]=X.useState([]),d=De(ls,"zitplaatsSelection");X.useEffect(()=>{if(!r?.floors||!Array.isArray(r.floors))return;let y=new Set;r.floors.forEach(m=>(m.tables||[]).forEach(p=>p.zitplaats?.trim()&&y.add(p.zitplaats))),c([...y].sort());},[r]);let b=y=>{let{value:m}=y.target;o({target:{name:"zitplaats",value:m}}),l(["date","time","selectedTableNumbers","selectedTableIds"]);},g=r?.["table-settings"]||{};return !(g.isInstalled===true&&g.assignmentMode==="automatic")||u.length===0?null:X__default.default.createElement("div",{className:"zitplaats-selection"},X__default.default.createElement("label",{htmlFor:"zitplaats",className:"form-label"},d.labels?.seating||"Zitplaats"),X__default.default.createElement("div",{className:"input-container select-field"},X__default.default.createElement("select",{id:"zitplaats",name:"zitplaats",value:a.zitplaats||"",onChange:b},X__default.default.createElement("option",{value:""},d.options?.noPreference||"Geen voorkeur"),u.map(y=>X__default.default.createElement("option",{key:y,value:y,className:"notranslate",translate:"no"},y)))))},xn=nm;var us={nl:{reservationSidebar:{saveButton:"Opslaan",saveButtonLoading:"Opslaan..."}},en:{reservationSidebar:{saveButton:"Save",saveButtonLoading:"Saving..."}},fr:{reservationSidebar:{saveButton:"Enregistrer",saveButtonLoading:"Enregistrement..."}}};re(`.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}.admin-title{text-align:center;margin-bottom:30px}.reservation-sidebar-component.open{right:0}.reservation-sidebar-content{padding:60px 20px 20px}.close-sidebar-button{position:absolute;top:10px;left:10px;background-color:transparent;border:none;cursor:pointer}.close-sidebar-button svg{color:#000}.sidebar-section-one,.sidebar-section-two{margin-bottom:20px}.reservation-footer{margin-top:auto}.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}.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}.open-sidebar-button:hover{background-color:var(--color-blue-hover-accent)!important}.open-sidebar-button svg{position:relative;top:2px}@media screen and (max-width:480px){.reservation-sidebar-component{width:100%}}.sidebar-section-personeel{margin-bottom:10px}
19
- `);var am=({isOpen:r,onClose:a,formData:o,errors:l,handleChange:u,handleFinalSubmit:c,setFormData:d,isSubmitting:b,reservationSubmitted:g,onNewReservation:h,apiBaseDomain:y})=>{X.useEffect(()=>{y&&!window.baseDomain&&(window.baseDomain=y);},[y]);let m=et(),[p,M]=X.useState([]),[w,S]=X.useState(false),[x,v]=X.useState(null),[N,_]=X.useState([]),[O,E]=X.useState({}),[D,I]=X.useState([]),$=X.useMemo(()=>De(us,"reservationSidebar"),[]),B=X.useCallback(de=>{d(j=>{let Z={...j};return de.forEach(W=>{Z[W]="";}),Z});},[d]);X.useEffect(()=>{if(!r)return;S(true),(async()=>{try{let j=window.baseDomain||"",[Z,W]=await Promise.all([m.get(`${j}api/auth-restaurant/`,{noCache:!0}),m.get(`${j}api/personeel`,{noCache:!0})]);M(Z.timeblocks||[]),window.timeblocks=Z.timeblocks||[],window.generalSettings=Z["general-settings"]||{},_(Z.menu||[]),E(Z||{});let ye=Xe__default.default().tz("Europe/Amsterdam").startOf("day"),P=(W||[]).filter(z=>{let J=Xe__default.default(z.startDate,"YYYY-MM-DD").tz("Europe/Amsterdam").startOf("day"),F=Xe__default.default(z.endDate,"YYYY-MM-DD").tz("Europe/Amsterdam").endOf("day");return ye.isBetween(J,F,null,"[]")});I(P);}catch(j){v(j),console.error("Error fetching data:",j);}finally{S(false);}})();},[r,m]);let ue=X.useCallback(()=>{d({guest:2,date:"",time:"",firstName:"",lastName:"",email:"",phone:"",extraInfo:"",menu:"",personeel:"",giftcard:"",zitplaats:"",selectedTableNumbers:[],selectedTableIds:[],reservationMode:"met_limieten"}),h();},[h,d]),U=X.useMemo(()=>!!O?.["general-settings"]?.seatSelectionEnabled,[O]);return X__default.default.createElement("div",{className:`reservation-sidebar-component ${r?"open":""}`},X__default.default.createElement("div",{className:"reservation-sidebar-content"},X__default.default.createElement("h2",{className:"admin-title"},"Admin Reservatie"),X__default.default.createElement("button",{className:"close-sidebar-button",onClick:a,"aria-label":"Sluiten"},X__default.default.createElement(fa.FaTimes,{size:20,color:"#000"})),g?X__default.default.createElement(yn,{formData:o,onNewReservation:ue}):X__default.default.createElement(X__default.default.Fragment,null,O&&Object.keys(O).length>0&&X__default.default.createElement("div",{className:"sidebar-section-giftcard"},X__default.default.createElement(vn,{restaurantData:O,formData:o,handleChange:u,resetFormDataFields:B})),O&&Object.keys(O).length>0&&U&&X__default.default.createElement("div",{className:"sidebar-section-zitplaats"},X__default.default.createElement(xn,{restaurantData:O,formData:o,handleChange:u,resetFormDataFields:B})),D.length>0&&X__default.default.createElement("div",{className:"sidebar-section-personeel"},X__default.default.createElement(_e,{label:"",name:"personeel",type:"select",options:D.map(de=>{let j=`${de.voornaam} ${de.achternaam}`;return {value:de.id,label:j}}),value:o.personeel,onChange:u,error:l.personeel,selectPlaceholder:"Toewijzen aan persoon"})),X__default.default.createElement("div",{className:"sidebar-section-one"},X__default.default.createElement(yr,{formData:o,errors:l,handleChange:u,setFormData:d,timeblocks:p,loadingTimeblocks:w,timeblocksError:x,restaurantData:O})),X__default.default.createElement("div",{className:"sidebar-section-two"},X__default.default.createElement(bn,{formData:o,errors:l,handleChange:u,setFormData:d,isSubmitting:b,menuData:N})),X__default.default.createElement("div",{className:"reservation-footer"},X__default.default.createElement("button",{type:"button",className:"store-reservation-button",onClick:c,disabled:b},b?$.saveButtonLoading||"Opslaan...":$.saveButton||"Opslaan")))))},sm=am;re(`.account-manage-title{text-align:center;margin-bottom:30px}.account-manage-container{max-width:800px;margin:0 auto}.account-manage-form{display:flex;flex-direction:column;gap:15px}.input-container{position:relative}.input-icon{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:#6c757d;pointer-events:none}.input-container input,.input-container textarea{width:100%;padding:10px 10px 10px 35px;border:1px solid #ccc;border-radius:5px;font-size:1rem;transition:border-color .3s ease}.form-error{color:#dc3545;font-size:.9rem;margin-top:5px;display:flex;align-items:center;gap:5px}.account-manage__button{padding:12px;background-color:var(--color-blue);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:10px;transition:background-color .3s ease}
20
- `);/*! Bundled license information:
21
-
22
- moment/moment.js:
23
- (*! moment.js *)
24
- (*! version : 2.30.1 *)
25
- (*! authors : Tim Wood, Iskren Chernev, Moment.js contributors *)
26
- (*! license : MIT *)
27
- (*! momentjs.com *)
28
-
29
- moment/locale/nl.js:
30
- (*! moment.js locale configuration *)
31
- (*! locale : Dutch [nl] *)
32
- (*! author : Joris Röling : https://github.com/jorisroling *)
33
- (*! author : Jacob Middag : https://github.com/middagj *)
34
- */exports.FormField=_e;exports.GiftcardSelection=vn;exports.ReservationSidebar=sm;exports.ReservationStepOne=yr;exports.ReservationStepTwo=bn;exports.ReservationSummary=yn;exports.ZitplaatsSelection=xn;exports.getPreferredLanguage=vr;exports.getSection=De;exports.useApi=et;
1
+ 'use strict';var D=require('react'),framerMotion=require('framer-motion'),ce=require('moment-timezone');require('moment/locale/nl');var ai=require('axios'),ao=require('lottie-react'),fa=require('react-icons/fa');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var D__default=/*#__PURE__*/_interopDefault(D);var ce__default=/*#__PURE__*/_interopDefault(ce);var ai__default=/*#__PURE__*/_interopDefault(ai);var ao__default=/*#__PURE__*/_interopDefault(ao);var Ni=Object.create;var kt=Object.defineProperty;var wi=Object.getOwnPropertyDescriptor;var Ai=Object.getOwnPropertyNames;var Si=Object.getPrototypeOf,Ii=Object.prototype.hasOwnProperty;var Tt=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ci=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of Ai(t))!Ii.call(e,a)&&a!==n&&kt(e,a,{get:()=>t[a],enumerable:!(i=wi(t,a))||i.enumerable});return e};var Ve=(e,t,n)=>(n=e!=null?Ni(Si(e)):{},Ci(!e||!e.__esModule?kt(n,"default",{value:e,enumerable:true}):n,e));var de=I((Po,Dt)=>{var It=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Bi=["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],Ct={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};function ae(e){let[t,n]=e.split(":").map(Number);return t*60+n}function Et(e){let t=ae(e);for(let[n,i]of Object.entries(Ct)){let a=ae(i.start),s=ae(i.end);if(t>=a&&t<s)return n}return null}function $t(e,t,n){let i=`openinghours-${n}`;if(!e[i])return null;let s=e[i].schemeSettings[t];return s?{...s}:null}function Fi(e,t){e.maxCapacityEnabled===false&&(t&&t.zitplaatsen?(e.maxCapacity=t.zitplaatsen,e.maxCapacityEnabled=true):(e.maxCapacity="0",e.maxCapacityEnabled=true));}function Gi(e){let t=120;return e["general-settings"]&&e["general-settings"].duurReservatie&&parseInt(e["general-settings"].duurReservatie,10)>0&&(t=parseInt(e["general-settings"].duurReservatie,10)),t}function zi(e,t){let n=Gi(t),a=ae(e.endTime)+n,s=String(Math.floor(a/60)).padStart(2,"0"),r=String(a%60).padStart(2,"0");e.endTime=`${s}:${r}`;}function Mt(e,t,n){let i=new Date(t);if(isNaN(i))return null;let a=i.getDay(),s=It[a],r=$t(e,s,n);return !r||r.enabled!==true?null:(Fi(r,e["general-settings"]),zi(r,e),r)}function Pi(e,t,n){let i=Et(n);if(!i)return null;let a=Mt(e,t,i);if(!a)return null;let s=ae(n),r=ae(a.startTime),m=ae(a.endTime);return s>=r&&s<m?a:null}Dt.exports={getDataByDayAndMeal:$t,getDataByDateAndMeal:Mt,getDataByDateAndTime:Pi,daysOfWeekEnglish:It,daysOfWeekDutch:Bi,getMealTypeByTime:Et,parseTime:ae,shifts:Ct};});var Se=I((Yo,Ft)=>{var{getDataByDateAndMeal:Oi,getDataByDateAndTime:Oo,getMealTypeByTime:qi,parseTime:Ae,shifts:qo,daysOfWeekEnglish:jo,daysOfWeekDutch:ji}=de();function Yi(e,t,n){let i=new Date(e),a=new Date(t),s=new Date(n);return isNaN(i)||isNaN(a)||isNaN(s)?false:i>=a&&i<=s}function Hi(e){let t=e.getDay();return ji[t]}function Li(e,t,n,i){let{timeframe:a,startDate:s,endDate:r,daysOfWeek:m}=e;return !Yi(t,s,r)||Array.isArray(m)&&m.length>0&&!m.map(c=>c.toLowerCase()).includes(n)?false:a==="Volledige Dag"||a===i}function Wi(e){let t=120;return e["general-settings"]&&e["general-settings"].duurReservatie&&parseInt(e["general-settings"].duurReservatie,10)>0&&(t=parseInt(e["general-settings"].duurReservatie,10)),t}function Vi(e,t){let n=Wi(t),a=Ae(e.endTime)+n,s=String(Math.floor(a/60)).padStart(2,"0"),r=String(a%60).padStart(2,"0");e.endTime=`${s}:${r}`;}function _i(e,t){let n={enabled:true,startTime:e.startHour,endTime:e.endHour,maxCapacityEnabled:!!e.maxSeats,maxCapacity:e.maxSeats||null,shiftsEnabled:false,shifts:[]};return Vi(n,t),n}function Bt(e,t,n){let i=e.exceptions||[],a=new Date(t);if(isNaN(a))return null;let s=Hi(a).toLowerCase(),r=["Opening","Sluiting","Uitzondering"];for(let m of r)for(let u of i)if(u.type===m&&Li(u,t,s,n))return m==="Sluiting"?null:_i(u,e);return Oi(e,t,n)}function Ri(e,t){return !(e==="breakfast"&&t==="11:00"||e==="lunch"&&t==="16:00")}function Zi(e,t,n){let i=qi(n);if(!i)return null;let a=Bt(e,t,i);if(!a)return null;let s=Ae(n),r=Ae(a.startTime),m=Ae(a.endTime);return (Ri(i,a.endTime)?s>=r&&s<=m:s>=r&&s<m)?a:null}Ft.exports={getDataByDateAndMealWithExceptions:Bt,getDataByDateAndTimeWithExceptions:Zi};});var _e=I((Ho,zt)=>{function Gt(e){let[t,n]=e.split(":").map(Number);return t*60+n}function Ui(e){let t=120;return e["general-settings"]&&e["general-settings"].duurReservatie&&parseInt(e["general-settings"].duurReservatie,10)>0&&(t=parseInt(e["general-settings"].duurReservatie,10)),t}function Ki(e,t,n,i){let a=Ui(e),s=Gt(n),r=0;for(let m of t){if(m.date!==i)continue;let u=Gt(m.time),c=u+a;s>=u&&s<c&&(r+=parseInt(m.guests,10));}return r}zt.exports={getGuestCountAtHour:Ki};});var Ie=I((Lo,jt)=>{var{getDataByDateAndMealWithExceptions:qt}=Se(),{parseTime:Pt}=de(),{getGuestCountAtHour:Ot}=_e();function Ji(e){let t=15;return e["general-settings"]&&e["general-settings"].intervalReservatie&&parseInt(e["general-settings"].intervalReservatie,10)>0&&(t=parseInt(e["general-settings"].intervalReservatie,10)),t}function Qi(e,t){let n=["breakfast","lunch","dinner"],i=[];for(let a of n){let s=qt(e,t,a);s&&s.shiftsEnabled&&Array.isArray(s.shifts)&&s.shifts.length>0&&i.push(a);}return i}function Xi(e,t){return !(e==="breakfast"&&t==="11:00"||e==="lunch"&&t==="16:00")}function ea(e,t,n,i){let a=qt(e,t,n);if(!a)return null;let s={},r=[],m=Ji(e);if(a.shiftsEnabled&&Array.isArray(a.shifts)&&a.shifts.length>0){let u=a.shifts;for(let c of u){let d=c.time,o=Ot(e,i,d,t);s[d]=a.maxCapacity-o,r.push({mealType:n,shiftName:c.name,time:d,availableSeats:a.maxCapacity-o});}}else {let u=a.startTime,c=a.endTime,d=Xi(n,c),o=Pt(u),l=Pt(c);for(;d?o<=l:o<l;){let x=Math.floor(o/60).toString().padStart(2,"0"),v=(o%60).toString().padStart(2,"0"),b=`${x}:${v}`,p=Ot(e,i,b,t);s[b]=a.maxCapacity-p,o+=m;}}return {guestCounts:s,shiftsInfo:r}}jt.exports={getGuestCountsForMeal:ea,getMealTypesWithShifts:Qi};});var Re=I((Wo,Yt)=>{var{getGuestCountsForMeal:ta}=Ie();function na(e,t,n){let i=["breakfast","lunch","dinner"],a={},s=[],r={breakfast:1,lunch:2,dinner:3};for(let u of i){let c=ta(e,t,u,n);if(c){let{guestCounts:d,shiftsInfo:o}=c;for(let[l,x]of Object.entries(d))if(a.hasOwnProperty(l)){let v=a[l].mealPriority,b=r[u];b>=v&&(a[l]={availableSeats:x,mealPriority:b});}else a[l]={availableSeats:x,mealPriority:r[u]};o&&o.length>0&&s.push(...o);}}let m={};for(let[u,c]of Object.entries(a))m[u]=c.availableSeats;return {guestCounts:m,shiftsInfo:s}}Yt.exports={getDailyGuestCounts:na};});var Ce=I((_o,Lt)=>{var{getDailyGuestCounts:ia}=Re(),{getMealTypesWithShifts:aa}=Ie(),{getDataByDateAndMealWithExceptions:ra}=Se(),{getMealTypeByTime:oa,parseTime:Vo}=de();function se(e){let[t,n]=e.split(":").map(Number);return t*60+n}function sa(e){let t=15;return e["general-settings"]&&e["general-settings"].intervalReservatie&&parseInt(e["general-settings"].intervalReservatie,10)>0&&(t=parseInt(e["general-settings"].intervalReservatie,10)),t}function la(e){let t=120;return e["general-settings"]&&e["general-settings"].duurReservatie&&parseInt(e["general-settings"].duurReservatie,10)>0&&(t=parseInt(e["general-settings"].duurReservatie,10)),t}function Ht(e,t,n,i){let a=oa(n);if(!a)return false;let s=ra(e,t,a);if(!s)return false;let r=se(s.startTime),m=se(s.endTime),u=se(n);return u>=r&&u+i<=m}function ca(e,t,n,i){let a=la(e),s=sa(e),r=Math.ceil(a/s),{guestCounts:m,shiftsInfo:u}=ia(e,t,n),c={};if(aa(e,t).length>0&&u&&u.length>0)for(let o of u){let{time:l,availableSeats:x}=o;x>=i&&Ht(e,t,l,a)&&(c[l]={name:l});}if(m&&Object.keys(m).length>0){let o=Object.keys(m).sort((l,x)=>se(l)-se(x));for(let l=0;l<=o.length-r;l++){let x=true;if(m[o[l]]<i)continue;let v=se(o[l]);for(let b=1;b<r;b++){let p=o[l+b],f=se(p);if(f-v!==s||m[p]<i){x=false;break}v=f;}x&&Ht(e,t,o[l],a)&&(c[o[l]]={name:o[l]});}}return c}Lt.exports={timeblocksAvailable:ca};});var Ze=I((Ro,Wt)=>{function ua({restaurantSettings:e,allTables:t,guests:n,date:i,time:a,requiredSlots:s,tableOccupiedSlots:r,isTemporaryTableValid:m,isTableFreeForAllSlots:u}){let c=e["grouping-settings"]||{},d=c.enable===true,o=c.strict===true,l=Number.isFinite(c.maxSubtables)?c.maxSubtables:void 0,x=c.orderStrategy||"smallest-first";c.seed??0;let b=Array.isArray(e.pinnedGroups)?e.pinnedGroups:[];if(!d||b.length===0)return null;let p=new Map(t.map(h=>[String(h.tableId),h])),f=new Map(t.filter(h=>typeof h.tableNumber=="number").map(h=>[h.tableNumber,h]));if(t.some(h=>h.minCapacity<=n&&n<=h.maxCapacity&&m(h,i,a)&&u(h.tableNumber,s,r)))return null;let g=[...b].sort((h,k)=>{let C=String(h.id||h.name||""),E=String(k.id||k.name||"");return C.localeCompare(E)}),N=(h,k)=>{if(x==="closest-fit"){let R=(h.maxCapacity||0)-(h.minCapacity||0),j=(k.maxCapacity||0)-(k.minCapacity||0);if(R!==j)return R-j}if(h.maxCapacity!==k.maxCapacity)return h.maxCapacity-k.maxCapacity;if(h.tableNumber!==k.tableNumber)return h.tableNumber-k.tableNumber;let C=String(h.tableId),E=String(k.tableId);return C.localeCompare(E)};for(let h of g){let k=Array.isArray(h.tableIds)?h.tableIds.map(String):[],C=Array.isArray(h.tableNumbers)?h.tableNumbers.filter(S=>typeof S=="number"):[],E=[];if(k.length?E=k.map(S=>p.get(S)).filter(Boolean):C.length&&(E=C.map(S=>f.get(S)).filter(Boolean)),l&&E.length>l&&(E=E.slice(0,l)),E.length<2||!E.every(S=>m(S,i,a)&&u(S.tableNumber,s,r)))continue;let R=E.reduce((S,Q)=>S+(Q.maxCapacity||0),0),j=E.reduce((S,Q)=>S+(Q.minCapacity||0),0);if(n<j||n>R)continue;let Z=[...E].sort(N),$=new Map(Z.map(S=>[S.tableNumber,Math.max(0,S.minCapacity||0)])),B=n-[...$.values()].reduce((S,Q)=>S+Q,0);if(!(B<0)){for(let S of Z){if(B<=0)break;let Q=$.get(S.tableNumber),w=Math.max(0,(S.maxCapacity||0)-Q),G=Math.min(w,B);$.set(S.tableNumber,Q+G),B-=G;}if(B===0)return {tables:Z.map(S=>S.tableNumber),tableIds:Z.map(S=>S.tableId),viaGroup:String(h.id||h.name||"pinned-group")}}}if(o)throw new Error("No matching pinned group found (strict grouping)");return null}Wt.exports={tryGroupTables:ua};});var Zt=I((Zo,Rt)=>{var{tryGroupTables:ma}=Ze();function Ue(e){if(!e||typeof e!="string")return NaN;let t=e.split(":");if(t.length!==2)return NaN;let n=parseInt(t[0],10),i=parseInt(t[1],10);return isNaN(n)||isNaN(i)||n<0||n>23||i<0||i>59?NaN:n*60+i}var da={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};function pa(e){let t=Ue(e);if(isNaN(t))return null;for(let[n,i]of Object.entries(da)){let a=Ue(i.start),s=Ue(i.end);if(!(isNaN(a)||isNaN(s))&&t>=a&&t<s)return n}return null}function Ke(e,t,n){if(!e.isTemporary)return true;if(!e.startDate||!e.endDate||t<e.startDate||t>e.endDate)return false;let i=pa(n);return !(!i||e.application!==i)}function Vt(e,t,n){if(!/^([01]\d|2[0-3]):([0-5]\d)$/.test(e))throw new Error("Invalid time format. Expected 'HH:MM'.");let[a,s]=e.split(":").map(Number),r=a*60+s,m=Math.ceil(t/n),u=[];for(let c=0;c<m;c++)u.push(r+c*n);return u}function Je(e,t,n){let i=n[e]||new Set;return !t.some(a=>i.has(a))}function fa(e,t){let n=e.x-t.x,i=e.y-t.y;return Math.sqrt(n*n+i*i)}function ga(e){let t=0;for(let n=0;n<e.length;n++)for(let i=n+1;i<e.length;i++)t+=fa(e[n],e[i]);return t}function _t(e,t,n,i,a,s,r,m,u,c){if(!c){c=new Array(e.length+1).fill(0);for(let l=e.length-1;l>=0;l--)c[l]=c[l+1]+e[l].maxCapacity;}let d=0,o=0;for(let l of i)d+=l.minCapacity,o+=l.maxCapacity;if(!(d>t)&&!(o+c[n]<t)){if(d<=t&&t<=o){let l=ga(i);l<a.minDistance&&(a.minDistance=l,a.tables=[...i]);}for(let l=n;l<e.length;l++){let x=e[l];Ke(x,m,u)&&Je(x.tableNumber,s,r)&&(i.push(x),_t(e,t,l+1,i,a,s,r,m,u,c),i.pop());}}}async function ba({db:e,reservation:t,enforceTableAvailability:n}){let i=t.restaurantId,a=t.date,s=t.time,r=t.guests,m=await e.collection("restaurants").findOne({_id:i});if(!m){if(n)throw new Error("Restaurant settings not found.");return}let u=m.floors;if(!u||!Array.isArray(u)||u.length===0){if(n)throw new Error("No floors data found in restaurant document.");return}let c=[];if(u.forEach(p=>{p.tables&&Array.isArray(p.tables)&&p.tables.forEach(f=>{f.objectType==="Tafel"&&c.push({tableId:f.id,tableNumber:parseInt(f.tableNumber.$numberInt||f.tableNumber),minCapacity:parseInt(f.minCapacity.$numberInt||f.minCapacity),maxCapacity:parseInt(f.maxCapacity.$numberInt||f.maxCapacity),priority:parseInt(f.priority.$numberInt||f.priority),x:parseInt(f.x.$numberInt||f.x),y:parseInt(f.y.$numberInt||f.y),isTemporary:f.isTemporary===true,startDate:f.startDate||null,endDate:f.endDate||null,application:f.application||null});});}),!c.length){if(n)throw new Error("No tables found for this restaurant.");return}c.sort((p,f)=>p.maxCapacity!==f.maxCapacity?p.maxCapacity-f.maxCapacity:p.priority!==f.priority?p.priority-f.priority:p.minCapacity-f.minCapacity);let d=parseInt(m["general-settings"]?.duurReservatie?.$numberInt||m["general-settings"]?.duurReservatie||120),o=parseInt(m["general-settings"]?.intervalReservatie?.$numberInt||m["general-settings"]?.intervalReservatie||30),l=Vt(s,d,o),x=await e.collection("reservations").find({restaurantId:i,date:a}).toArray(),v={};for(let p of x){let f=d,y=Vt(p.time,f,o);if(p.tables)for(let g of p.tables)v[g]||(v[g]=new Set),y.forEach(T=>{v[g].add(T);});}try{let p=ma({restaurantSettings:m,allTables:c,guests:r,date:a,time:s,requiredSlots:l,tableOccupiedSlots:v,isTemporaryTableValid:Ke,isTableFreeForAllSlots:Je});if(p){t.tables=p.tables,t.tableIds=p.tableIds,t._viaGroup=p.viaGroup,console.log(`[Grouping] via '${t._viaGroup}' -> tables ${t.tables.join(",")}`);return}}catch(p){throw p}for(let p of c)if(Ke(p,a,s)&&p.minCapacity<=r&&r<=p.maxCapacity&&Je(p.tableNumber,l,v)){t.tables=[p.tableNumber],t.tableIds=[p.tableId],console.log(`Reservation assigned to table: ${p.tableNumber}`);return}let b={minDistance:1/0,tables:[]};if(_t(c,r,0,[],b,l,v,a,s),b.tables.length>0){t.tables=b.tables.map(p=>p.tableNumber),t.tableIds=b.tables.map(p=>p.tableId),console.log(`Reservation assigned to tables: ${t.tables.join(", ")}`);return}else {if(n)throw new Error("Unable to find enough tables for this reservation with enforcement on.");console.log("No tables available, but non-enforcing mode => continuing without assignment.");}}Rt.exports={assignTablesIfPossible:ba};});var Ee=I((Uo,Ut)=>{var{timeblocksAvailable:ya}=Ce();function xa(e,t,n){let[i,a,s]=e.split("-").map(Number),[r,m]=t.split(":").map(Number),u=new Date(Date.UTC(i,a-1,s,r,m));return new Date(u.toLocaleString("en-US",{timeZone:n}))}function va(e,t,n,i){let a=4;e["general-settings"]&&e["general-settings"].uurOpVoorhand&&parseInt(e["general-settings"].uurOpVoorhand,10)>=0&&(a=parseInt(e["general-settings"].uurOpVoorhand,10));let s=90;e["general-settings"]&&e["general-settings"].dagenInToekomst&&parseInt(e["general-settings"].dagenInToekomst,10)>0&&(s=parseInt(e["general-settings"].dagenInToekomst,10));let r="Europe/Amsterdam",m=new Date,u=new Date(m.toLocaleString("en-US",{timeZone:r})),c=new Date(u.getTime());c.setDate(c.getDate()+s),c.setHours(23,59,59,999);let[d,o,l]=t.split("-").map(Number),x=new Date(Date.UTC(d,o-1,l)),v=new Date(x.toLocaleString("en-US",{timeZone:r}));if(v>c)return {};let b=u.toDateString()===v.toDateString(),p=ya(e,t,n,i);if(b&&a>=0){let f=new Date(u.getTime());f.setHours(f.getHours()+a);for(let[y,g]of Object.entries(p))xa(t,y,r)<f&&delete p[y];}return p}Ut.exports={getAvailableTimeblocks:va};});var Qe=I((Ko,Kt)=>{var{getAvailableTimeblocks:ha}=Ee();function ka(e,t){let n=90;e["general-settings"]&&e["general-settings"].dagenInToekomst&&parseInt(e["general-settings"].dagenInToekomst,10)>0&&(n=parseInt(e["general-settings"].dagenInToekomst,10));let i="Europe/Amsterdam",a=new Date,s=new Date(a.toLocaleString("en-US",{timeZone:i})),r=new Date(s.getTime());r.setDate(r.getDate()+n),r.setHours(23,59,59,999);let[m,u,c]=t.split("-").map(Number),d=new Date(Date.UTC(m,u-1,c));return new Date(d.toLocaleString("en-US",{timeZone:i}))<=r}function Ta(e,t,n,i){if(!ka(e,t))return false;let a=ha(e,t,n,i);return Object.keys(a).length>0}Kt.exports={isDateAvailable:Ta};});var Xe=I((Jo,Jt)=>{var{timeblocksAvailable:Na}=Ce();function wa(e,t,n,i,a){let s=Na(e,t,i,a);return Object.prototype.hasOwnProperty.call(s,n)}Jt.exports={isTimeAvailable:wa};});var Me=I((Qo,en)=>{function $e(e){if(!e||typeof e!="string")return NaN;let t=e.split(":");if(t.length!==2)return NaN;let n=parseInt(t[0],10),i=parseInt(t[1],10);return isNaN(n)||isNaN(i)||n<0||n>23||i<0||i>59?NaN:n*60+i}var Qt={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};function Xt(e){let t=$e(e);if(isNaN(t))return null;for(let[n,i]of Object.entries(Qt)){let a=$e(i.start),s=$e(i.end);if(!(isNaN(a)||isNaN(s))&&t>=a&&t<s)return n}return null}function Aa(e){let t=[];return e?.floors&&Array.isArray(e.floors)?e.floors.forEach(n=>{n?.tables&&Array.isArray(n.tables)&&n.tables.forEach(i=>{let a=i.tableNumber?.$numberInt??i.tableNumber,s=i.minCapacity?.$numberInt??i.minCapacity,r=i.maxCapacity?.$numberInt??i.maxCapacity,m=i.priority?.$numberInt??i.priority,u=i.x?.$numberInt??i.x,c=i.y?.$numberInt??i.y;i.objectType==="Tafel"&&a!==void 0&&s!==void 0&&r!==void 0&&m!==void 0&&u!==void 0&&c!==void 0?t.push({tableId:i.id,tableNumber:parseInt(a,10),minCapacity:parseInt(s,10),maxCapacity:parseInt(r,10),priority:parseInt(m,10),x:parseInt(u,10),y:parseInt(c,10),isTemporary:i.isTemporary===true,startDate:i.startDate||null,endDate:i.endDate||null,application:i.application||null}):i.objectType==="Tafel"&&console.warn(`Skipping table due to missing essential properties: ${JSON.stringify(i)}`);});}):console.warn("Restaurant data is missing 'floors' array."),t.sort((n,i)=>n.maxCapacity!==i.maxCapacity?n.maxCapacity-i.maxCapacity:n.priority!==i.priority?n.priority-i.priority:n.minCapacity-i.minCapacity),t=t.filter(n=>!isNaN(n.tableNumber)&&!isNaN(n.minCapacity)&&!isNaN(n.maxCapacity)&&!isNaN(n.priority)&&!isNaN(n.x)&&!isNaN(n.y)),t}function Sa(e,t,n){if(!e.isTemporary)return true;if(!e.startDate||!e.endDate)return console.log(`Temporary Table ${e.tableNumber} skipped: Missing start/end date.`),false;if(t<e.startDate||t>e.endDate)return false;let i=Xt(n);return i?e.application===i:(console.log(`Temporary Table ${e.tableNumber} skipped: Could not determine meal type for time ${n}.`),false)}en.exports={shifts:Qt,parseTime:$e,getMealTypeByTime:Xt,getAllTables:Aa,isTemporaryTableValid:Sa};});var nt=I((Xo,on)=>{var{getAllTables:et,isTemporaryTableValid:ye}=Me();function le(e,t){if(console.log("[safeParseInt] Parsing value:",e,"with type:",typeof e),e==null)return t;if(typeof e=="object"&&e!==null&&"$numberInt"in e){try{let n=parseInt(e.$numberInt,10);if(console.log("[safeParseInt] Parsed $numberInt format:",n),!isNaN(n))return n}catch(n){console.log("[safeParseInt] Error parsing $numberInt:",n);}return t}if(typeof e=="number"&&!isNaN(e))return console.log("[safeParseInt] Using numeric value directly:",e),e;if(typeof e=="string")try{let n=parseInt(e,10);if(console.log("[safeParseInt] Parsed string:",n),!isNaN(n))return n}catch(n){console.log("[safeParseInt] Error parsing string:",n);}return console.log("[safeParseInt] Could not parse, using default:",t),t}function Ia(e){return Array.isArray(e)?e.map(t=>le(t,null)).filter(t=>t!==null):[]}function tn(e){if(e.tables&&Array.isArray(e.tables)){let t=Ia(e.tables);return console.log("[getActualTableAssignment] Found actual table assignment for reservation:",t),t}return console.log("[getActualTableAssignment] No actual table assignment found for reservation"),[]}function xe(e,t,n){if(!e||!/^([01]\d|2[0-3]):([0-5]\d)$/.test(e))return console.error(`Invalid time format for computeRequiredSlots: ${e}. Expected 'HH:MM'.`),[];let[a,s]=e.split(":").map(Number),r=a*60+s;if(n<=0)return console.error("Interval must be positive in computeRequiredSlots."),[r];let m=Math.ceil(t/n);console.log(`Computing ${m} slots for time ${e} (duration: ${t}min, interval: ${n}min)`);let u=[];for(let c=0;c<m;c++)u.push(r+c*n);return u}function ve(e,t,n){let i=n[e]||new Set;for(let a of t)if(i.has(a))return false;return true}function Ca(e,t){if(e?.x===void 0||e?.y===void 0||t?.x===void 0||t?.y===void 0)return 1/0;let n=e.x-t.x,i=e.y-t.y;return Math.sqrt(n*n+i*i)}function tt(e,t,n,i,a,s,r,m,u){if(t<=0){let d=0;for(let o=0;o<i.length;o++)for(let l=o+1;l<i.length;l++)d+=Ca(i[o],i[l]);(i.length<a.tableCount||i.length===a.tableCount&&d<a.minDistance)&&(a.minDistance=d,a.tables=[...i],a.tableCount=i.length,console.log(`Found new best table combination: ${a.tables.map(o=>o.tableNumber).join(", ")} for ${t} guests`));return}if(n>=e.length||i.length>=a.tableCount&&a.tableCount!==1/0)return;let c=0;for(let d=n;d<e.length;d++){let o=e[d];ye(o,m,u)&&ve(o.tableNumber,s,r)&&(c+=o.maxCapacity);}if(!(c<t))for(let d=n;d<e.length;d++){let o=e[d];if(!ye(o,m,u)||!ve(o.tableNumber,s,r))continue;let l=Math.min(o.maxCapacity,t);l<o.minCapacity&&l<t||l<=0||(i.push(o),console.log(`Trying table ${o.tableNumber} (${o.minCapacity}-${o.maxCapacity}) for ${l}/${t} guests`),tt(e,t-l,d+1,i,a,s,r,m,u),i.pop());}}function nn(e,t,n,i,a,s=null){console.log(`[assignTablesForGivenTime] Processing ${t} ${n} for ${i} guests`);let r=e["general-settings"]||{};console.log("[assignTablesForGivenTime] General settings:",r),console.log("[assignTablesForGivenTime] duurReservatie format:",typeof r.duurReservatie),console.log("[assignTablesForGivenTime] intervalReservatie format:",typeof r.intervalReservatie),typeof r.duurReservatie=="object"&&r.duurReservatie?.$numberInt&&console.log("[assignTablesForGivenTime] duurReservatie is in MongoDB format:",r.duurReservatie?.$numberInt),typeof r.intervalReservatie=="object"&&r.intervalReservatie?.$numberInt&&console.log("[assignTablesForGivenTime] intervalReservatie is in MongoDB format:",r.intervalReservatie?.$numberInt);let m=120,u=15;if(m=le(r.duurReservatie,120),u=le(r.intervalReservatie,15),console.log(`[assignTablesForGivenTime] Using duration: ${m}min, interval: ${u}min`),u<=0)return console.error("Invalid interval settings."),[];let c=xe(n,m,u);if(!c||c.length===0)return console.error(`Could not compute required slots for ${n}`),[];let d=et(e,s);console.log(`[assignTablesForGivenTime] Checking ${d.length} tables`);for(let l of d)if(ye(l,t,n)&&l.minCapacity<=i&&i<=l.maxCapacity&&ve(l.tableNumber,c,a))return console.log(`[assignTablesForGivenTime] Assigned single table ${l.tableNumber} for ${i} guests`),[l.tableNumber];console.log("[assignTablesForGivenTime] No single table found, trying combinations...");let o={minDistance:1/0,tables:[],tableCount:1/0};return tt(d,i,0,[],o,c,a,t,n),o.tables.length>0?console.log(`[assignTablesForGivenTime] Found multi-table solution: ${o.tables.map(l=>l.tableNumber).join(", ")}`):console.log(`[assignTablesForGivenTime] No table combination found for ${i} guests`),o.tables.map(l=>l.tableNumber)}function an(e,t,n,i,a,s=null){console.log(`
2
+ [isTimeAvailableSync] Checking ${t} ${n} for ${i} guests`),i<0&&(console.log(`[isTimeAvailableSync] Detected negative guest count (${i}), adjusting to default of 2`),i=2);let r=e?.["table-settings"]||{},m=r.isInstalled===true&&r.assignmentMode==="automatic";if(console.log(`[isTimeAvailableSync] Table assignment enabled? ${m}`),console.log(`- Table settings installed: ${r.isInstalled===true}`),console.log(`- Assignment mode: ${r.assignmentMode}`),!m)return console.log("[isTimeAvailableSync] No table assignment needed, returning true"),true;try{if(!e?.floors||!Array.isArray(e.floors))return console.error(`[isTimeAvailableSync] Missing floors data for ${t} ${n}`),!1;if(i<=0)return console.error(`[isTimeAvailableSync] Invalid guest count: ${i}`),!1;let u=e["general-settings"]||{},c=120,d=15;if(c=le(u.duurReservatie,120),d=le(u.intervalReservatie,15),console.log(`[isTimeAvailableSync] Using duration: ${c}min, interval: ${d}min`),d<=0)return console.error(`[isTimeAvailableSync] Invalid interval settings for ${t} ${n}`),!1;let o=xe(n,c,d);if(!o||o.length===0)return console.error(`[isTimeAvailableSync] Could not compute required slots for ${t} ${n}`),!1;let l={},x=a.filter(f=>f.date===t&&f.time&&f.guests>0).sort((f,y)=>{let g=f.time.split(":").map(Number),T=y.time.split(":").map(Number);return g[0]*60+g[1]-(T[0]*60+T[1])});console.log(`[isTimeAvailableSync] Processing ${x.length} existing reservations on ${t}`);for(let f of x){let y=tn(f),g=[];if(y.length>0?(g=y,console.log(`[isTimeAvailableSync] Using actual table assignment for reservation: ${g.join(", ")}`)):(console.log("[isTimeAvailableSync] No actual table data, simulating assignment for reservation"),g=nn(e,f.date,f.time,f.guests,l)),g.length>0){let T=xe(f.time,c,d);if(!T||T.length===0)continue;g.forEach(N=>{l[N]||(l[N]=new Set),T.forEach(h=>l[N].add(h));}),console.log(`[isTimeAvailableSync] Marked tables ${g.join(", ")} as occupied for time ${f.time}`);}}console.log("[isTimeAvailableSync] Occupancy map built, checking availability for new reservation");let v=et(e,s);console.log(`[isTimeAvailableSync] Checking ${v.length} tables for new reservation`);for(let f of v)if(ye(f,t,n)&&f.minCapacity<=i&&i<=f.maxCapacity&&ve(f.tableNumber,o,l))return console.log(`[isTimeAvailableSync] Found single table ${f.tableNumber} for ${i} guests at ${n}`),!0;console.log("[isTimeAvailableSync] No single table found, trying combinations...");let b={minDistance:1/0,tables:[],tableCount:1/0};tt(v,i,0,[],b,o,l,t,n);let p=b.tables.length>0;return console.log(p?`[isTimeAvailableSync] Multi-table assignment possible: ${b.tables.map(f=>f.tableNumber).join(", ")}`:"[isTimeAvailableSync] No table combination available"),p}catch(u){return console.error(`[isTimeAvailableSync] Error during check for ${t} ${n}:`,u),false}}function rn(e,t,n,i,a,s=null){console.log(`[filterTimeblocksByTableAvailability] Filtering timeblocks for ${t} with ${i} guests`),i<0&&(console.log(`[filterTimeblocksByTableAvailability] Detected negative guest count (${i}), adjusting to default of 2`),i=0);let r=e?.["table-settings"]||{};if(!(r.isInstalled===true&&r.assignmentMode==="automatic"))return console.log("[filterTimeblocksByTableAvailability] No table assignment enabled, returning all timeblocks"),n;console.log(`[filterTimeblocksByTableAvailability] Starting with ${Object.keys(n).length} timeblocks`);let u={},c=0,d=0;for(let o in n)an(e,t,o,i,a,s)?(u[o]=n[o],c++):d++;return console.log(`[filterTimeblocksByTableAvailability] Result: ${c} available, ${d} unavailable times`),c>0&&console.log(`[filterTimeblocksByTableAvailability] Available times: ${Object.keys(u).join(", ")}`),u}function Ea(e,t,n,i,a,s=null){return rn(e,t,n,i,a,s)}function $a(e,t,n,i,a,s=null){try{i<0&&(console.log(`[getAvailableTablesForTime] Detected negative guest count (${i}), adjusting to default of 2`),i=0);let r=e?.["table-settings"]||{};if(!(r.isInstalled===!0&&r.assignmentMode==="automatic"))return [];if(!e?.floors||!Array.isArray(e.floors))return console.error(`[getAvailableTablesForTime] Missing floors data for ${t} ${n}`),[];if(i<=0)return [];let u=e["general-settings"]||{},c=le(u.duurReservatie,120),d=le(u.intervalReservatie,15);if(d<=0)return console.error(`[getAvailableTablesForTime] Invalid interval settings for ${t} ${n}`),[];console.log(`
3
+ [getAvailableTablesForTime] Finding available tables for ${i} guests on ${t} at ${n}`);let o=xe(n,c,d);if(!o||o.length===0)return console.error(`[getAvailableTablesForTime] Could not compute required slots for ${t} ${n}`),[];let l={},x=a.filter(p=>p.date===t&&p.time&&p.guests>0).sort((p,f)=>{let y=p.time.split(":").map(Number),g=f.time.split(":").map(Number);return y[0]*60+y[1]-(g[0]*60+g[1])});console.log(`[getAvailableTablesForTime] Building occupancy map (Processing ${x.length} existing reservations)`);for(let p of x){let f=tn(p),y=[];if(f.length>0?y=f:y=nn(e,p.date,p.time,p.guests,l,null),y.length>0){let g=xe(p.time,c,d);if(!g||g.length===0)continue;y.forEach(T=>{l[T]||(l[T]=new Set),g.forEach(N=>l[T].add(N));});}}console.log("[getAvailableTablesForTime] Occupancy map built");let v=et(e,s),b=[];console.log(`[getAvailableTablesForTime] Checking ${v.length} tables for individual availability`);for(let p of v)ye(p,t,n)&&p.minCapacity<=i&&i<=p.maxCapacity&&ve(p.tableNumber,o,l)&&(console.log(`[getAvailableTablesForTime] Table ${p.tableNumber} is available`),b.push(p));return console.log(`[getAvailableTablesForTime] Found ${b.length} individually available tables: ${b.map(p=>p.tableNumber).join(", ")}`),b.sort((p,f)=>p.tableNumber-f.tableNumber),b}catch(r){return console.error(`[getAvailableTablesForTime] Error for ${t} ${n}:`,r),[]}}on.exports={isTimeAvailableSync:an,filterTimeblocksByTableAvailability:rn,getAvailableTimeblocksWithTableCheck:Ea,getAvailableTablesForTime:$a};});var ln=I((es,sn)=>{var De=Tt("moment-timezone"),{isDateAvailable:Ma}=Qe(),{getAvailableTimeblocks:Da}=Ee(),{isTimeAvailableSync:Ba}=nt(),{daysOfWeekEnglish:Fa,getMealTypeByTime:Ga}=de(),Be="Europe/Brussels";function za(e,t,n,i){if(!i||!i.trim())return true;let a=Ga(n);if(!a)return false;let s=De.tz(t,"YYYY-MM-DD",Be);if(!s.isValid())return false;let r=Fa[s.day()],m=`openinghours-${a}`,u=e[m]&&e[m].schemeSettings&&e[m].schemeSettings[r]?e[m].schemeSettings[r]:null;return u?u.giftcardsEnabled!==true||!Array.isArray(u.giftcards)||u.giftcards.length===0?false:u.giftcards.includes(i):(console.error(`No day settings found for ${r} ${a}`),false)}function Pa(e,t,n,i,a){let s=typeof window<"u"?window.currentReservationTicketItem:null;if(s&&!s.normalOpeningTimes){let l=De.tz(t,"YYYY-MM-DD",Be).startOf("day"),x=s.filterStartDate?De.tz(s.filterStartDate,"YYYY-MM-DD",Be).startOf("day"):null,v=s.filterEndDate?De.tz(s.filterEndDate,"YYYY-MM-DD",Be).endOf("day"):null;if(x&&l.isBefore(x))return console.log(`Date ${t} is before the allowed start ${s.filterStartDate}`),false;if(v&&l.isAfter(v))return console.log(`Date ${t} is after the allowed end ${s.filterEndDate}`),false}console.log(`
4
+ ===== Checking date availability for ${i} guests on ${t} =====`),console.log("Restaurant data floors:",e.floors?"present":"missing"),console.log("Table settings:",JSON.stringify(e["table-settings"]||{},null,2));let r=e?.["table-settings"]||{},m=r.isInstalled===true&&r.assignmentMode==="automatic"&&e.floors&&Array.isArray(e.floors);if(console.log(`Table assignment is ${m?"ENABLED":"DISABLED"} for date ${t}`),!Ma(e,t,n,i,a))return console.log(`Date ${t} fails basic availability check`),false;if(!m)return console.log(`Table assignment disabled, date ${t} is available`),true;console.log(`Getting available timeblocks for ${t}`);let c=Da(e,t,n,i);if(console.log(`Found ${Object.keys(c).length} available timeblocks before table check`),Object.keys(c).length===0)return console.log(`No available timeblocks on ${t}, date is unavailable`),false;console.log(`Checking table availability for each timeblock on ${t}`);let d=false,o=0;for(let l of Object.keys(c)){if(o++,a&&!za(e,t,l,a)){console.log(`Time ${l} doesn't match giftcard meal requirements`);continue}if(console.log(`Checking table availability for ${l} on ${t} for ${i} guests`),Ba(e,t,l,i,n)){console.log(`Found available time ${l} with table assignment!`),d=true;break}}return console.log(`Checked ${o}/${Object.keys(c).length} timeblocks`),console.log(`Date ${t} with table check: ${d?"Available":"Unavailable"}`),d}sn.exports={isDateAvailableWithTableCheck:Pa};});var mn=I(()=>{var{isTimeAvailable:Oa}=Xe(),qa={_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"}},ja=[{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 cn="2024-12-10",un=1e3,Ya=["12:00","12:15","13:00","19:00","20:00","20:15"];Ya.forEach(e=>{let t=Oa(qa,cn,e,ja,un);console.log(`Is ${e} on ${cn} available for ${un} guests?`,t);});});var fn=I((as,pn)=>{var dn=Tt("moment-timezone"),{shifts:is,parseTime:it,getMealTypeByTime:Ha}=Me();function La(){let e=dn().tz("Europe/Brussels");return e.hours()*60+e.minutes()}function Wa(e,t,n){let i=dn().tz("Europe/Brussels").format("YYYY-MM-DD");if(n!==i)return e;console.log(`Applying stop time filter for today (${n})`);let a=t?.["general-settings"]||{},s=La(),r=a.ontbijtStop||null,m=a.lunchStop||null,u=a.dinerStop||null,c=r?it(r):null,d=m?it(m):null,o=u?it(u):null,l={},x=0,v=0,b=0;for(let p in e){if(!e.hasOwnProperty(p))continue;let f=Ha(p),y=false;f==="breakfast"&&c!==null&&!isNaN(c)&&s>=c?(y=true,x++):f==="lunch"&&d!==null&&!isNaN(d)&&s>=d?(y=true,v++):f==="dinner"&&o!==null&&!isNaN(o)&&s>=o&&(y=true,b++),y||(l[p]=e[p]);}return x>0&&console.log(`Stop time filter removed ${x} breakfast slots.`),v>0&&console.log(`Stop time filter removed ${v} lunch slots.`),b>0&&console.log(`Stop time filter removed ${b} dinner slots.`),l}pn.exports={filterTimeblocksByStopTimes:Wa};});var bn=I((rs,gn)=>{function Va(e){let t=parseInt(e.split(":")[0],10);return t>=4&&t<11?"breakfast":t>=11&&t<16?"lunch":t>=16&&t<23?"dinner":null}function _a(e){if(!e)return null;if(e.$numberInt)return parseInt(e.$numberInt,10);if(typeof e=="number")return e;if(typeof e=="string"){let t=parseInt(e,10);return isNaN(t)?null:t}return null}function Ra(e,t,n){return e.filter(i=>i.date===t&&i.time===n).reduce((i,a)=>i+(parseInt(a.guests,10)||0),0)}function Za(e,t,n,i,a){let s={};for(let[r,m]of Object.entries(n)){let u=Va(r);if(!u){s[r]=m;continue}let c=e[`max-arrivals-${u}`];if(!c){s[r]=m;continue}let d=_a(c[r]);if(d===null){s[r]=m;continue}Ra(i,t,r)+a<=d&&(s[r]=m);}return s}gn.exports={filterTimeblocksByMaxArrivals:Za};});var xn=I((os,yn)=>{function at(e){let t=parseInt(e.split(":")[0],10);return t>=4&&t<11?"breakfast":t>=11&&t<16?"lunch":t>=16&&t<23?"dinner":null}function P(e,...t){console.log(`[MaxGroupsFilter] ${e}`,...t);}function Ka(e){if(e==null)return null;if(typeof e=="object"&&e!==null&&"$numberInt"in e){let t=parseInt(e.$numberInt,10);return isNaN(t)?null:t}if(typeof e=="number")return Number.isInteger(e)?e:null;if(typeof e=="string"){let t=parseInt(e,10);return isNaN(t)?null:t}return null}function Ja(e,t,n,i,a){P(`--- Running MaxGroupsFilter for Date: ${t}, Guests: ${a} ---`);let s=Object.keys(e).filter(d=>d.startsWith("max-groups-"));P("Received restaurantData max-group keys:",s.length>0?s:"None found");let r={},m=parseInt(a,10);if(isNaN(m)||m<=0)return P(`Invalid guest count (${a}). Returning all ${Object.keys(n).length} input blocks unfiltered.`),n;let u=i.filter(d=>d.date===t);P(`Relevant reservations on ${t}: ${u.length}`),P(`Input timeblocks count: ${Object.keys(n).length}`);let c={};u.forEach(d=>{let o=at(d.time);o&&(c[o]||(c[o]=[]),c[o].push(d));}),P("Reservations grouped by meal type:",c);for(let[d,o]of Object.entries(n)){let l=at(d);if(P(`
5
+ Checking Time: ${d} -> Determined Meal: ${l}`),!l){P(` Time ${d} has no associated meal type. Keeping block.`),r[d]=o;continue}let x=`max-groups-${l}`,v=e[x];if(P(` Looking for settings using key: "${x}"`),!v||typeof v!="object"){P(` No settings found for key "${x}". Filter doesn't apply. Keeping block.`),r[d]=o;continue}P(` Found settings for ${l}:`,JSON.stringify(v));let b=true,p=Object.keys(v).map(f=>parseInt(f,10)).filter(f=>!isNaN(f)&&f>0).sort((f,y)=>f-y);P(` Defined numeric limit sizes to check for ${l}: [${p.join(", ")}]`);for(let f of p){let y=String(f);if(P(` Checking Limit Condition: Groups of size >= ${f}`),m>=f){P(` Applicable: Booking guests (${m}) >= Limit threshold (${f})`);let g=Ka(v[y]);if(P(` Max groups allowed for >=${f} is: ${g} (raw setting: ${JSON.stringify(v[y])})`),g===null||g<0){P(` Skipping check: Invalid or non-positive max count defined for size ${f}.`);continue}let N=(c[l]||[]).filter(h=>{let k=parseInt(h.guests,10);return !isNaN(k)&&k>=f}).length;if(P(` Count of existing groups >=${f} found in ${l}: ${N}`),N+1>g){P(` *** VIOLATION DETECTED *** for limit >=${f}.`),P(` (Existing Groups: ${N} + New Group: 1 = ${N+1}, which is > Max Allowed: ${g})`),P(` Blocking time ${d} due to this violation.`),b=false;break}else P(` OK: Limit for >=${f} not exceeded. (Existing: ${N} + New: 1 <= Max: ${g})`);}else P(` Not Applicable: Booking guests (${m}) < Limit threshold (${f}). Skipping this check.`);}b?(P(` \u2705 Result for time ${d}: ALLOWED (passed all applicable checks)`),r[d]=o):P(` \u274C Result for time ${d}: BLOCKED (failed at least one limit check)`);}return P(`--- MaxGroupsFilter Finished. Output timeblocks count: ${Object.keys(r).length} ---`),r}yn.exports={filterTimeblocksByMaxGroups:Ja,getMealType:at};});var pe=I((ss,vn)=>{function Qa(e,t){if(e==null)return t;if(typeof e=="object"&&e!==null&&"$numberInt"in e){try{let n=parseInt(e.$numberInt,10);if(!isNaN(n))return n}catch{}return t}if(typeof e=="number"&&!isNaN(e))return e;if(typeof e=="string")try{let n=parseInt(e,10);if(!isNaN(n))return n}catch{}return t}vn.exports=Qa;});var he=I((ls,hn)=>{function Xa(e,t,n){if(!e||!/^([01]\d|2[0-3]):([0-5]\d)$/.test(e))return [];let[a,s]=e.split(":").map(Number),r=a*60+s;if(n<=0)return [r];let m=Math.ceil(t/n),u=[];for(let c=0;c<m;c++)u.push(r+c*n);return u}hn.exports=Xa;});var rt=I((cs,kn)=>{function er(e){if(!e||typeof e!="string")return NaN;let t=e.split(":");if(t.length!==2)return NaN;let n=parseInt(t[0],10),i=parseInt(t[1],10);return isNaN(n)||isNaN(i)||n<0||n>23||i<0||i>59?NaN:n*60+i}kn.exports=er;});var ot=I((us,Tn)=>{var tr={breakfast:{start:"07:00",end:"11:00"},lunch:{start:"11:00",end:"16:00"},dinner:{start:"16:00",end:"23:00"}};Tn.exports={shifts:tr};});var lt=I((ms,Nn)=>{var st=rt(),{shifts:nr}=ot();function ir(e){let t=st(e);if(isNaN(t))return null;for(let[n,i]of Object.entries(nr)){let a=st(i.start),s=st(i.end);if(!(isNaN(a)||isNaN(s))&&t>=a&&t<s)return n}return null}Nn.exports=ir;});var fe=I((ds,wn)=>{var ar=lt();function rr(e,t,n){if(!e.isTemporary)return true;if(!e.startDate||!e.endDate||t<e.startDate||t>e.endDate)return false;let i=ar(n);return !(!i||e.application!==i)}wn.exports=rr;});var Fe=I((ps,An)=>{function or(e,t=null){let n=[];return e?.floors&&Array.isArray(e.floors)?e.floors.forEach(i=>{i?.tables&&Array.isArray(i.tables)&&i.tables.forEach(a=>{let s=a.tableNumber?.$numberInt??a.tableNumber,r=a.minCapacity?.$numberInt??a.minCapacity,m=a.maxCapacity?.$numberInt??a.maxCapacity,u=a.priority?.$numberInt??a.priority,c=a.x?.$numberInt??a.x,d=a.y?.$numberInt??a.y;t&&t.trim()!==""&&a.zitplaats!==t||(a.objectType==="Tafel"&&s!==void 0&&r!==void 0&&m!==void 0&&u!==void 0&&c!==void 0&&d!==void 0?n.push({tableId:a.id,tableNumber:parseInt(s,10),minCapacity:parseInt(r,10),maxCapacity:parseInt(m,10),priority:parseInt(u,10),x:parseInt(c,10),y:parseInt(d,10),isTemporary:a.isTemporary===true,startDate:a.startDate||null,endDate:a.endDate||null,application:a.application||null,zitplaats:a.zitplaats||null}):a.objectType==="Tafel"&&console.warn(`Skipping table due to missing essential properties: ${JSON.stringify(a)}`));});}):console.warn("Restaurant data is missing 'floors' array."),n.sort((i,a)=>i.maxCapacity!==a.maxCapacity?i.maxCapacity-a.maxCapacity:i.priority!==a.priority?i.priority-a.priority:i.minCapacity-a.minCapacity),n=n.filter(i=>!isNaN(i.tableNumber)&&!isNaN(i.minCapacity)&&!isNaN(i.maxCapacity)&&!isNaN(i.priority)&&!isNaN(i.x)&&!isNaN(i.y)),n}An.exports=or;});var In=I((fs,Sn)=>{var sr=pe();function lr(e){return Array.isArray(e)?e.map(t=>sr(t,null)).filter(t=>t!==null):[]}Sn.exports=lr;});var ct=I((gs,Cn)=>{var cr=In();function ur(e){return e.tables&&Array.isArray(e.tables)?cr(e.tables):[]}Cn.exports=ur;});var ke=I((bs,En)=>{function mr(e,t,n){let i=n[e]||new Set;for(let a of t)if(i.has(a))return false;return true}En.exports=mr;});var ut=I((ys,$n)=>{function dr(e,t){if(e?.x===void 0||e?.y===void 0||t?.x===void 0||t?.y===void 0)return 1/0;let n=e.x-t.x,i=e.y-t.y;return Math.sqrt(n*n+i*i)}$n.exports=dr;});var Ge=I((xs,Fn)=>{var Mn=fe(),Dn=ke(),pr=ut();function Bn(e,t,n,i,a,s,r,m,u){if(t<=0){let d=0;for(let o=0;o<i.length;o++)for(let l=o+1;l<i.length;l++)d+=pr(i[o],i[l]);(i.length<a.tableCount||i.length===a.tableCount&&d<a.minDistance)&&(a.minDistance=d,a.tables=[...i],a.tableCount=i.length);return}if(n>=e.length||i.length>=a.tableCount&&a.tableCount!==1/0)return;let c=0;for(let d=n;d<e.length;d++){let o=e[d];Mn(o,m,u)&&Dn(o.tableNumber,s,r)&&(c+=o.maxCapacity);}if(!(c<t))for(let d=n;d<e.length;d++){let o=e[d];if(!Mn(o,m,u)||!Dn(o.tableNumber,s,r))continue;let l=Math.min(o.maxCapacity,t);l<o.minCapacity&&l<t||l<=0||(i.push(o),Bn(e,t-l,d+1,i,a,s,r,m,u),i.pop());}}Fn.exports=Bn;});var ze=I((vs,zn)=>{var Gn=pe(),fr=he(),gr=Fe(),br=fe(),yr=Ge(),xr=ke();function vr(e,t,n,i,a,s=null){let r=e["general-settings"]||{};typeof r.duurReservatie=="object"&&r.duurReservatie?.$numberInt,typeof r.intervalReservatie=="object"&&r.intervalReservatie?.$numberInt;let m=120,u=15;if(m=Gn(r.duurReservatie,120),u=Gn(r.intervalReservatie,15),u<=0)return console.error("Invalid interval settings."),[];let c=fr(n,m,u);if(!c||c.length===0)return console.error(`Could not compute required slots for ${n}`),[];let d=gr(e,s);for(let l of d)if(br(l,t,n)&&l.minCapacity<=i&&i<=l.maxCapacity&&xr(l.tableNumber,c,a))return [l.tableNumber];let o={minDistance:1/0,tables:[],tableCount:1/0};return yr(d,i,0,[],o,c,a,t,n),o.tables.length>0,o.tables.map(l=>l.tableNumber)}zn.exports=vr;});var Pe=I((hs,qn)=>{var Pn=pe(),On=he(),hr=fe(),kr=Fe(),Tr=ct(),Nr=ze(),wr=ke(),Ar=Ge();function Sr(e,t,n,i,a,s=null){i<0&&(i=2);let r=e?.["table-settings"]||{};if(!(r.isInstalled===true&&r.assignmentMode==="automatic"))return true;try{if(!e?.floors||!Array.isArray(e.floors))return console.error(`[isTimeAvailableSync] Missing floors data for ${t} ${n}`),!1;if(i<=0)return console.error(`[isTimeAvailableSync] Invalid guest count: ${i}`),!1;let u=e["general-settings"]||{},c=120,d=15;if(c=Pn(u.duurReservatie,120),d=Pn(u.intervalReservatie,15),d<=0)return console.error(`[isTimeAvailableSync] Invalid interval settings for ${t} ${n}`),!1;let o=On(n,c,d);if(!o||o.length===0)return console.error(`[isTimeAvailableSync] Could not compute required slots for ${t} ${n}`),!1;let l={},x=a.filter(f=>f.date===t&&f.time&&f.guests>0).sort((f,y)=>{let g=f.time.split(":").map(Number),T=y.time.split(":").map(Number);return g[0]*60+g[1]-(T[0]*60+T[1])});for(let f of x){let y=Tr(f),g=[];if(y.length>0?g=y:g=Nr(e,f.date,f.time,f.guests,l),g.length>0){let T=On(f.time,c,d);if(!T||T.length===0)continue;g.forEach(N=>{l[N]||(l[N]=new Set),T.forEach(h=>l[N].add(h));});}}let v=kr(e,s);for(let f of v)if(hr(f,t,n)&&f.minCapacity<=i&&i<=f.maxCapacity&&wr(f.tableNumber,o,l))return !0;let b={minDistance:1/0,tables:[],tableCount:1/0};Ar(v,i,0,[],b,o,l,t,n);let p=b.tables.length>0;return p}catch{return false}}qn.exports=Sr;});var mt=I((ks,Hn)=>{var jn=pe(),Yn=he(),Ir=Fe(),Cr=fe(),Er=ct(),$r=ze();function Mr(e,t,n,i,a,s=null){try{i<0&&(i=0);let r=e?.["table-settings"]||{};if(!(r.isInstalled===!0&&r.assignmentMode==="automatic"))return [];if(!e?.floors||!Array.isArray(e.floors))return [];if(i<=0)return [];let u=e["general-settings"]||{},c=jn(u.duurReservatie,120),d=jn(u.intervalReservatie,15);if(d<=0)return [];let o=Yn(n,c,d);if(!o||o.length===0)return [];let l={},x=a.filter(p=>p.date===t&&p.time&&p.guests>0).sort((p,f)=>{let y=p.time.split(":").map(Number),g=f.time.split(":").map(Number);return y[0]*60+y[1]-(g[0]*60+g[1])});for(let p of x){let f=Er(p),y=[];if(f.length>0?y=f:y=$r(e,p.date,p.time,p.guests,l,null),y.length>0){let g=Yn(p.time,c,d);if(!g||g.length===0)continue;y.forEach(T=>{l[T]||(l[T]=new Set),g.forEach(N=>l[T].add(N));});}}let v=Ir(e,s),b=[];for(let p of v)Cr(p,t,n)&&p.minCapacity<=i&&i<=p.maxCapacity&&(l&&o&&Array.isArray(o),(function(){let y=l[p.tableNumber]||new Set;for(let g of o)if(y.has(g))return !1;return !0})()&&b.push(p));return b.sort((p,f)=>p.tableNumber-f.tableNumber),b}catch{return []}}Hn.exports=Mr;});var dt=I((Ts,Ln)=>{var Dr=Pe();function Br(e,t,n,i,a,s=null){i<0&&(i=0);let r=e?.["table-settings"]||{};if(!(r.isInstalled===true&&r.assignmentMode==="automatic"))return n;let u={},c=0,d=0;for(let o in n)Dr(e,t,o,i,a,s)?(u[o]=n[o],c++):d++;return u}Ln.exports=Br;});var _n=I((Ns,Vn)=>{var Fr=Pe(),Gr=mt(),Wn=dt(),zr=(e,t,n,i,a,s=null)=>Wn(e,t,n,i,a,s);Vn.exports={isTimeAvailableSync:Fr,filterTimeblocksByTableAvailability:Wn,getAvailableTimeblocksWithTableCheck:zr,getAvailableTablesForTime:Gr};});var Oe=I((ws,Rn)=>{var Pr={...Re(),...Ie(),...Ce()},Or={..._e()},qr={...Se(),...de()},jr={...Zt(),...Ee(),...Ze(),...Qe(),...Xe(),...nt(),...ln(),...Me(),...mn()},Yr={...fn(),...bn(),...xn()},Hr={..._n(),...Pe(),...mt(),...Ge(),...dt(),...ze(),...pe(),...fe(),...ke(),...ut(),...ot().shifts,...rt(),...lt(),...he()};Rn.exports={...Pr,...Or,...qr,...jr,...Yr,...Hr};});function z(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css",t==="top"&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e));}z(`.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}
6
+ `);var Mi=({setGuests:e,value:t,onChange:n})=>{let i=[1,2,3,"4+"],[a,s]=D.useState(t||""),[r,m]=D.useState(false),u=o=>{o==="4+"?(m(true),s(4),e(4),n({target:{name:"guests",value:4}})):(m(false),s(o),e(o),n({target:{name:"guests",value:o}}));},c=o=>{let l=o.target.value;s(l),e(l),n({target:{name:"guests",value:l}});},d=o=>{let l=o.target.value;s(l),e(l),n({target:{name:"guests",value:l}});};return D__default.default.createElement("div",{className:"value-selector",translate:"no"},D__default.default.createElement("div",{className:"predefined-values"},i.map(o=>D__default.default.createElement("button",{key:o,type:"button",className:`predefined-value-button ${a==o||o==="4+"&&r?"active":""}`,onClick:()=>u(o)},o==="4+"?"4+":`${o} p`))),D__default.default.createElement(framerMotion.AnimatePresence,null,r&&D__default.default.createElement(framerMotion.motion.div,{className:"slider-container",initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0}},D__default.default.createElement("input",{type:"range",min:"4",max:"15",step:"1",value:a,onChange:c,className:"slider non-absolute"}),D__default.default.createElement("input",{type:"number",name:"guests",value:a,onChange:d,className:"value-input",min:"4",max:"100",step:"1"}))))},wt=Mi;var At=e=>{let t=ce__default.default().tz("Europe/Brussels").startOf("day");return e.clone().add(6,"days").endOf("day").isBefore(t)},St=(e,t)=>e.isSame(t,"day");z(`.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}}
7
+ `);var ie=Ve(Oe());var re={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."}}};ce__default.default.locale("nl");var Wr=({guests:e,selectedDate:t,onSelectDate:n,autoExpand:i,reservationMode:a,restaurantData:s,startDate:r,onWeekChange:m,reservations:u,giftcard:c,zitplaats:d})=>{let o=localStorage.getItem("preferredLanguage")||"nl",l=re[o].calendar,[x,v]=D.useState(i||false),[b,p]=D.useState(false),f=D.useRef(null),y=D.useRef(null),g=ce__default.default().tz("Europe/Amsterdam").add(1,"year").endOf("day");D.useEffect(()=>{i&&v(true);},[i]),D.useEffect(()=>{let w=G=>{f.current&&!f.current.contains(G.target)&&(v(false),p(false));};return document.addEventListener("mousedown",w),()=>{document.removeEventListener("mousedown",w);}},[]),D.useEffect(()=>()=>{y.current&&(clearTimeout(y.current),y.current=null);},[]);let T=()=>{y.current&&(clearTimeout(y.current),y.current=null),p(true);},N=(w=1e3)=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{p(false),y.current=null;},w);},h=(w,G)=>{if(w.isBefore(G,"day")||w.isAfter(g,"day"))return 0;let F=w.format("YYYY-MM-DD");if(b){let L=s?.["table-settings"]||{},Y=L.isInstalled===true&&L.assignmentMode==="automatic",W=0;for(let U=1;U<=21;U++){let ne;Y?ne=(0, ie.isDateAvailableWithTableCheck)(s,F,u,U,c||null):ne=(0, ie.isDateAvailable)(s,F,u,U,c||null),ne&&(W=U);}return W}if(a==="vrije_keuze")return 21;if(a!=="met_limieten")return (0, ie.isDateAvailable)(s,F,u,-1e4,null)?21:0;let A=s?.["table-settings"]||{},M=A.isInstalled===true&&A.assignmentMode==="automatic"&&a==="met_limieten",O=0;for(let L=1;L<=21;L++){let Y;M?Y=(0, ie.isDateAvailableWithTableCheck)(s,F,u,L,c||null):Y=(0, ie.isDateAvailable)(s,F,u,L,c||null),Y&&(O=L);}return O},k=w=>{let G=[],F=ce__default.default().tz("Europe/Amsterdam").startOf("day"),A=w.clone().startOf("month"),M=w.clone().endOf("month"),O=s?.["table-settings"]||{},L=O.isInstalled===true&&O.assignmentMode==="automatic"&&a==="met_limieten",Y=A.clone();for(;Y.isSameOrBefore(M,"day");){let W=Y.format("YYYY-MM-DD"),U;if(a==="vrije_keuze")U=Y.isBetween(F,g,null,"[]");else {let we=a!=="met_limieten"?-1e4:e;L?U=(0, ie.isDateAvailableWithTableCheck)(s,W,u,we,a==="met_limieten"?c:null):U=(0, ie.isDateAvailable)(s,W,u,we,a==="met_limieten"?c:null);}let ne=h(Y,F);G.push({date:Y.clone(),isPast:Y.isBefore(F,"day"),isFuture:Y.isAfter(g,"day"),isAvailable:U,maxGuestsAvailable:ne}),Y.add(1,"day");}return G},C=w=>{w.isAvailable&&!w.isPast&&!w.isFuture&&(n(w.date.format("YYYY-MM-DD")),v(false),p(false));},E=()=>{let w=r.clone().subtract(1,"month").startOf("month"),G=ce__default.default().tz("Europe/Amsterdam").startOf("day");if(w.clone().endOf("month").isBefore(G,"day")){console.log("Cannot go to previous month. It is in the past.");return}m(w);},R=()=>{let w=r.clone().add(1,"month").startOf("month");m(w);},j=()=>{if(!t)return l.selectDatePlaceholder;let w=ce__default.default(t,"YYYY-MM-DD").tz("Europe/Amsterdam").startOf("day"),G=ce__default.default().tz("Europe/Amsterdam").startOf("day"),F=G.clone().add(1,"day");return w.isSame(G,"day")?l.today:w.isSame(F,"day")?l.tomorrow:w.format("dddd D MMMM YYYY")},Z=w=>{let F=r.clone().startOf("month").day(),A=F===0?6:F-1,M=[];for(let W=0;W<A;W++)M.push(null);M.push(...w);let O=M.length,L=Math.ceil(O/7);for(;M.length<L*7;)M.push(null);let Y=[];for(let W=0;W<L;W++){let U=M.slice(W*7,W*7+7);Y.push(U);}return Y},$=r?k(r):[],B=r?Z($):[],S=l.dayHeaders,Q=w=>w>=21?"20+":String(w);return D__default.default.createElement("div",{className:"calendar-container",ref:f},D__default.default.createElement("div",{className:"calendar-display",onClick:()=>v(!x)},D__default.default.createElement("span",null,j()),D__default.default.createElement("span",{className:"arrow"},D__default.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:x?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},D__default.default.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),x&&r&&D__default.default.createElement("div",{className:"calendar"},D__default.default.createElement("div",{className:"calendar-header"},D__default.default.createElement("button",{type:"button",onClick:E,"aria-label":l.prevWeek},"<"),D__default.default.createElement("span",null,r.format("MMMM YYYY")),D__default.default.createElement("button",{type:"button",onClick:R,"aria-label":l.nextWeek},">"),D__default.default.createElement("button",{type:"button",className:`availability-hold-btn ${b?"active":""}`,"aria-pressed":b,"aria-label":"Houd ingedrukt om beschikbaarheden te tonen",onMouseDown:T,onMouseUp:()=>N(1e3),onMouseLeave:()=>N(1e3),onTouchStart:T,onTouchEnd:()=>N(1e3),onTouchCancel:()=>N(1e3),onKeyDown:w=>{(w.key===" "||w.key==="Enter")&&T();},onKeyUp:w=>{(w.key===" "||w.key==="Enter")&&N(1e3);},style:{fontSize:"15px",color:"gray",fontWeight:"450",textDecoration:"underline"}},l.seatsQuestion)),D__default.default.createElement("div",{className:"calendar-weeks-wrapper"},D__default.default.createElement("table",{className:"calendar-table"},D__default.default.createElement("thead",null,D__default.default.createElement("tr",{translate:"no"},S.map((w,G)=>D__default.default.createElement("th",{key:G},w)))),D__default.default.createElement("tbody",null,B.map((w,G)=>D__default.default.createElement("tr",{key:G,translate:"no"},w.map((F,A)=>{if(!F)return D__default.default.createElement("td",{key:A,className:"empty-day"});let M=t&&St(F.date,ce__default.default(t,"YYYY-MM-DD").tz("Europe/Amsterdam")),O=[];return F.isPast?O.push("gray-out"):F.isAvailable?O.push("available"):O.push("unavailable"),M&&O.push("selected"),D__default.default.createElement("td",{key:A,className:O.join(" "),onClick:()=>C(F),style:{"--animation-order":A+G*7}},D__default.default.createElement("div",{className:`day-square ${b?"showing-availabilities":""}`},D__default.default.createElement("span",{className:"day-number"},b?Q(F.maxGuestsAvailable):F.date.date())))}))))))))},Kn=Wr;var Vr=({guests:e,formData:t,handleChange:n,resetFormDataFields:i,restaurantData:a,reservations:s,startDate:r,onWeekChange:m,reservationMode:u})=>{let c=o=>{let l=ce__default.default(o).format("YYYY-MM-DD");console.log("Selected date:",l),n({target:{name:"date",value:l}}),i(["time"]);},d=r?r.clone().startOf("month"):ce__default.default().startOf("month");return D__default.default.createElement("div",{className:"form-group date-selector-container"},D__default.default.createElement(Kn,{guests:e,selectedDate:t.date||null,onSelectDate:c,autoExpand:false,reservationMode:u,restaurantData:a,startDate:d,onWeekChange:m,reservations:s,giftcard:t.giftcard,zitplaats:t.zitplaats}))},Xn=Vr;z(`.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}}
8
+ `);var qe=Ve(Oe()),Rr=({guests:e,formData:t,handleChange:n,field:i,selectedDate:a,expanded:s,setCurrentExpandedField:r,restaurantData:m,reservations:u,reservationMode:c})=>{let d=localStorage.getItem("preferredLanguage")||"nl",o=re[d].timeSelector,[l,x]=D.useState(s||false),[v,b]=D.useState([]),[p,f]=D.useState(null),y=D.useRef(null),g={breakfast:{start:"07:00",end:"11:00",label:o.shifts.breakfast},lunch:{start:"11:00",end:"16:00",label:o.shifts.lunch},dinner:{start:"16:00",end:"23:00",label:o.shifts.dinner}};D.useEffect(()=>{if(!a||!e){b([]);return}if(c==="vrije_keuze")if(p){let k=g[p],C=ce__default.default.tz(`${a} ${k.start}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),E=ce__default.default.tz(`${a} ${k.end}`,"YYYY-MM-DD HH:mm","Europe/Brussels"),R=[],j=C.clone();for(;j.isBefore(E);)R.push({value:j.format("HH:mm"),label:j.format("HH:mm")}),j.add(15,"minutes");b(R);}else b([]);else if(m&&u){let k=c!=="met_limieten"?-1e4:e,C=m?.["table-settings"]||{},E=c==="met_limieten"&&C.isInstalled===true&&C.assignmentMode==="automatic",R=c==="met_limieten"?t.giftcard:null,j=(0, qe.getAvailableTimeblocks)(m,a,u,k,R),Z=E?(0, qe.getAvailableTimeblocksWithTableCheck)(m,a,j,k,u):j,$=Object.keys(Z).map(B=>({value:B,label:Z[B].name||B}));$.sort((B,S)=>{let[Q,w]=B.value.split(":").map(Number),[G,F]=S.value.split(":").map(Number);return Q*60+w-(G*60+F)}),b($),t[i.id]&&!$.some(B=>B.value===t[i.id])&&n({target:{name:i.id,value:""}});}else b([]);},[a,e,m,u,c,i.id,p,t[i.id],n]),D.useEffect(()=>{c==="vrije_keuze"&&(f(null),t[i.id]&&n({target:{name:i.id,value:""}}));},[a,c]);let T=k=>{n({target:{name:i.id,value:k}}),x(false),r?.(null);},N=k=>{p!==k&&t[i.id]&&n({target:{name:i.id,value:""}}),f(k);},h=()=>{if(c==="vrije_keuze")return p?t[i.id]?`${g[p].label} \u2013 ${t[i.id]}`:`${g[p].label} \u2013 ${o.selectTime}`:o.selectMeal;if(t[i.id]){let k=v.find(C=>C.value===t[i.id]);return k?k.label:o.selectTime}return o.selectTime};return i?D__default.default.createElement("div",{className:"form-group time-selector-container",ref:y},a?D__default.default.createElement(D__default.default.Fragment,null,D__default.default.createElement("div",{className:"time-display",onClick:()=>{x(!l),l||r?.(i.id);}},D__default.default.createElement("span",null,h()),D__default.default.createElement("span",{className:"arrow"},D__default.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",style:{transform:l?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}},D__default.default.createElement("path",{d:"M7 10l5 5 5-5",fill:"none",stroke:"currentColor",strokeWidth:"2"})))),l&&D__default.default.createElement("div",{className:"time-selector"},c==="vrije_keuze"?p?D__default.default.createElement("div",{className:"time-period"},D__default.default.createElement("div",{className:"time-period-label"},g[p].label,D__default.default.createElement("button",{onClick:()=>f(null),style:{marginLeft:"10px",background:"none",border:"none",cursor:"pointer",color:"#006600",fontSize:"0.9rem",padding:0}},"\u2190 ",o.back)),D__default.default.createElement("div",{className:"time-options"},v.length===0?D__default.default.createElement("div",{className:"no-times"},o.noTimes):v.map(k=>D__default.default.createElement("div",{key:k.value,className:`time-option ${t[i.id]===k.value?"selected":""}`,onClick:()=>T(k.value)},k.label)))):D__default.default.createElement("div",{className:"time-options"},Object.keys(g).map(k=>D__default.default.createElement("div",{key:k,className:`time-option ${p===k?"selected":""}`,onClick:()=>N(k)},g[k].label))):D__default.default.createElement("div",{className:"time-options"},v.length===0?D__default.default.createElement("div",{className:"no-times"},o.noTimes):v.map(k=>D__default.default.createElement("div",{key:k.value,className:`time-option ${t[i.id]===k.value?"selected":""}`,onClick:()=>T(k.value)},k.label))))):D__default.default.createElement("p",{className:"info-text"},o.noDateSelected)):null},ni=Rr;z(`.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}
9
+ `);var Zr=({availableTables:e=[],isFetching:t=false,formData:n={},handleChange:i,setFormData:a})=>{let s=localStorage.getItem("preferredLanguage")||"nl",r=re?.[s]?.tableSelector||{},m={label:r.label||"Tafels",noTables:r.noTables||"Geen tafels beschikbaar voor deze selectie.",table:r.table||"Tafel",max:r.max||"Max"},u=Array.isArray(n.selectedTableNumbers)?n.selectedTableNumbers:[],c=Array.isArray(n.selectedTableIds)?n.selectedTableIds:[],d=(l,x)=>{if(typeof i=="function"){i({target:{multiple:true,updates:{selectedTableNumbers:l,selectedTableIds:x}}});return}typeof a=="function"&&a(v=>({...v,selectedTableNumbers:l,selectedTableIds:x}));},o=l=>x=>{let v=x.target.checked,b=e.find(y=>y.tableNumber===l);if(!b)return;let p=[...u],f=[...c];v?(p.includes(l)||p.push(l),f.includes(b.tableId)||f.push(b.tableId)):(p=p.filter(y=>y!==l),f=f.filter(y=>y!==b.tableId)),p.sort((y,g)=>y-g),d(p,f);};return t?D__default.default.createElement("div",{className:"form-group table-selector-container"},D__default.default.createElement("label",{className:"table-selector-label"},m.label),D__default.default.createElement("p",{className:"info-text"},"Laden\u2026")):!e||e.length===0?D__default.default.createElement("div",{className:"form-group table-selector-container"},D__default.default.createElement("label",{className:"table-selector-label"},m.label),D__default.default.createElement("p",{className:"info-text"},m.noTables)):D__default.default.createElement("div",{className:"form-group table-selector-container"},D__default.default.createElement("label",{className:"table-selector-label"},m.label),D__default.default.createElement("div",{className:"table-options"},e.map(l=>{let x=l.tableNumber,v=l.maxCapacity??l.capacity??l.seats??"-",b=u.includes(x);return D__default.default.createElement("div",{key:`${l.tableId||x}`,className:"table-option"},D__default.default.createElement("label",null,D__default.default.createElement("input",{type:"checkbox",value:x,checked:b,onChange:o(x)}),m.table," ",x," (",m.max,": ",v,")"))})))},ii=Zr;z(`.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}
10
+ `);var Kr=()=>{let e=D.useCallback(()=>localStorage.getItem("accessToken"),[]),t=D.useCallback((a,s={})=>{let{params:r,...m}=s,u=e();return ai__default.default.get(a,{...m,params:r,headers:{...m.headers,...u?{Authorization:`Bearer ${u}`}:{}}}).then(c=>c.data).catch(c=>{throw console.error("Error fetching data:",c),c})},[e]),n=D.useCallback((a,s,r=null,m={})=>{let u=e();return ai__default.default({method:a,url:s,data:r,...m,headers:{...m.headers,...u?{Authorization:`Bearer ${u}`}:{}}}).then(c=>c.data).catch(c=>{throw console.error(`Error with ${a} request:`,c),c})},[e]);return D.useMemo(()=>({get:t,post:(a,s,r)=>n("POST",a,s,r),put:(a,s,r)=>n("PUT",a,s,r),patch:(a,s,r)=>n("PATCH",a,s,r),delete:(a,s)=>n("DELETE",a,null,s)}),[t,n])},ue=Kr;var oi=Ve(Oe()),Xr=({formData:e,errors:t,handleChange:n,handleStepOneSubmit:i,setFormData:a,timeblocks:s,loadingTimeblocks:r,timeblocksError:m,restaurantData:u})=>{let c=localStorage.getItem("preferredLanguage")||"nl",d=re[c].reservationStepOne,[o,l]=D.useState(e.guests||2),[x,v]=D.useState(null),[b,p]=D.useState([]),[f,y]=D.useState([]),[g,T]=D.useState(false),N=ue(),h=D.useRef(false),k=D.useRef({numbers:e.selectedTableNumbers||[],ids:e.selectedTableIds||[]}),C=D.useCallback(A=>{a(M=>{let O={...M};return A.forEach(L=>{O[L]="";}),(A.includes("date")||A.includes("time")||A.includes("guests"))&&(O.selectedTableNumbers=[],O.selectedTableIds=[],y([]),k.current={numbers:[],ids:[]}),O});},[a]);D.useEffect(()=>{let M=ce__default.default().tz("Europe/Amsterdam").startOf("day").clone().startOf("isoWeek");for(;At(M);)M.add(1,"week");v(M);},[]),D.useEffect(()=>{(async()=>{if(x&&["met_limieten","zonder_regels"].includes(e.reservationMode)){let M=u?.["table-settings"]||{},O=M.isInstalled&&M.assignmentMode==="automatic";if(e.reservationMode==="met_limieten"||e.reservationMode==="zonder_regels"&&O){let L=x.format("YYYY-MM-DD"),Y=x.clone().add(13,"days").format("YYYY-MM-DD"),W=localStorage.getItem("username"),U=`${window.baseDomain}api/slots/${W}/${L}/${Y}`;try{let ne=await N.get(U,{noCache:!0});p(ne||[]);}catch(ne){console.error("Error fetching reservations:",ne),p([]);}}else p([]);}else p([]);})();},[x,N,e.reservationMode,u]);let E=A=>{v(A),C(["date","time","selectedTableNumbers","selectedTableIds"]);};D.useEffect(()=>{if(!h.current){let A={},M=false;e.reservationMode||(A.reservationMode="met_limieten",M=true),(!e.guests||e.guests==="")&&(A.guests=o,M=true),Array.isArray(e.selectedTableNumbers)||(A.selectedTableNumbers=[],M=true),Array.isArray(e.selectedTableIds)||(A.selectedTableIds=[],M=true),M&&setTimeout(()=>{n({target:{multiple:true,updates:A}});},0),h.current=true;}},[e,o,n]),D.useEffect(()=>{let A=u?.["table-settings"]||{};if(A.isInstalled&&A.assignmentMode==="automatic"&&e.date&&e.time&&e.guests>0&&u&&b){T(true);let O=(0, oi.getAvailableTablesForTime)(u,e.date,e.time,e.guests,b);y(O);let L=e.selectedTableNumbers||[],Y=e.selectedTableIds||[],W=[],U=[];L.forEach(ht=>{let We=O.find(Ti=>Ti.tableNumber===ht);We&&Y.includes(We.tableId)&&(W.push(ht),U.push(We.tableId));});let ne=W.toString()!==k.current.numbers.toString(),we=U.toString()!==k.current.ids.toString();(ne||we)&&(k.current={numbers:W,ids:U},n({target:{multiple:true,updates:{selectedTableNumbers:W,selectedTableIds:U}}})),T(false);}else y([]),k.current={numbers:[],ids:[]};},[e.date,e.time,e.guests,u,b,n]);let R=A=>{let M=parseInt(A.target.value,10)||1;l(M),n(A),C(["time","selectedTableNumbers","selectedTableIds"]);};D.useEffect(()=>{C(["date","time","selectedTableNumbers","selectedTableIds"]);},[e.reservationMode,C]);let j=A=>{A==="met_limieten"?n({target:{name:"reservationMode",value:"met_limieten"}}):A==="onbeperkt_parent"&&(["zonder_regels","vrije_keuze"].includes(e.reservationMode)||n({target:{name:"reservationMode",value:"zonder_regels"}}));},Z=A=>{n({target:{name:"reservationMode",value:A}});},$=e.reservationMode,B=["met_limieten","zonder_regels","vrije_keuze"].includes($),S=u?.["table-settings"]||{},Q=B&&e.date&&e.time&&e.guests>0&&S.isInstalled&&S.assignmentMode==="automatic"&&f.length>0,w=!!u?.["general-settings"]?.seatSelectionEnabled,G=["Terras","Restaurant"],F=A=>a(M=>({...M,zitplaats:A}));return m?D__default.default.createElement("div",null,d.errors.openingHoursNotSet," ",D__default.default.createElement("a",{href:"https://happychef.cloud/#/openinghours/dinner",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-blue)",textDecoration:"underline"}},d.errors.clickHereToSet)):D__default.default.createElement("form",{className:"account-manage-form",noValidate:true},D__default.default.createElement("div",{className:"form-group reservation-mode"},D__default.default.createElement("div",{className:"reservation-modes-container"},D__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${$==="met_limieten"?"active":""}`,onClick:()=>j("met_limieten"),"aria-pressed":$==="met_limieten"},d.modes.withLimits),D__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${["onbeperkt_parent","zonder_regels","vrije_keuze"].includes($)?"active":""}`,onClick:()=>j("onbeperkt_parent"),"aria-pressed":["onbeperkt_parent","zonder_regels","vrije_keuze"].includes($)},d.modes.unlimited)),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes($)&&D__default.default.createElement("div",{className:"reservation-modes-container sub-modes"},D__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${$==="zonder_regels"?"active":""}`,onClick:()=>Z("zonder_regels"),"aria-pressed":$==="zonder_regels"},d.modes.openingHours),D__default.default.createElement("button",{type:"button",className:`reservation-mode-button ${$==="vrije_keuze"?"active":""}`,onClick:()=>Z("vrije_keuze"),"aria-pressed":$==="vrije_keuze"},d.modes.free))),["onbeperkt_parent","zonder_regels","vrije_keuze"].includes($)&&D__default.default.createElement("div",{className:"unlimited-mode-warning"},D__default.default.createElement("div",{className:"warning-text"},d.warnings?.unlimitedMode||(c==="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."))),D__default.default.createElement(wt,{value:e.guests||o,onChange:R,error:t.guests,setGuests:l}),B&&e.guests>0&&D__default.default.createElement(Xn,{guests:e.guests,formData:e,handleChange:n,resetFormDataFields:C,restaurantData:u,reservations:b,startDate:x,onWeekChange:E,reservationMode:$}),B&&e.date&&D__default.default.createElement(ni,{guests:e.guests,formData:e,handleChange:n,field:{id:"time",label:d.fields.time},selectedDate:e.date,setCurrentExpandedField:()=>{},restaurantData:u,reservations:b,reservationMode:$}),w&&D__default.default.createElement("div",{className:"form-row",style:{marginTop:12}},D__default.default.createElement("div",{className:"reservation-mode-buttons"},G.map(A=>D__default.default.createElement("button",{key:A,type:"button",className:`reservation-mode-button ${e.zitplaats===A?"active":""}`,onClick:()=>F(A),"aria-pressed":e.zitplaats===A},A))),t.zitplaats&&D__default.default.createElement("small",{className:"error"},t.zitplaats)),Q&&D__default.default.createElement(ii,{availableTables:f,isFetching:g,formData:e,setFormData:a,handleChange:n}))},bt=Xr;var yt=()=>localStorage.getItem("preferredLanguage")||"nl",te=(e,t,n="nl")=>{let i=yt();return (e[i]||e[n]||{})[t]||{}};var si={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 li={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"}}}};z(`.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)}
11
+ `);var ro=({label:e,name:t,type:n="text",icon:i,value:a,onChange:s,onBlur:r,error:m,placeholder:u,halfWidth:c,options:d=[],selectPlaceholder:o,rightIcon:l,onRightIconClick:x,tooltipContent:v})=>{let b=te(li,"formField"),p=o||b.selectPlaceholder,[f,y]=D.useState(false),g=D.useRef(null),T=D.useRef(null),N=l,h=i;D.useEffect(()=>{let E=R=>{g.current&&!g.current.contains(R.target)&&(T.current&&clearTimeout(T.current),y(false));};return f&&document.addEventListener("mousedown",E),()=>document.removeEventListener("mousedown",E)},[f]);let k={name:t,value:a,onChange:s,onBlur:r,"aria-label":e,className:`form-control ${m?"input-error":""}`};return D__default.default.createElement("div",{className:`form-group ${c?"half-width":""}`,style:{position:"relative"}},D__default.default.createElement("div",{className:"input-container"},h&&D__default.default.createElement(h,{className:"input-icon"}),n==="select"?D__default.default.createElement("select",{...k},D__default.default.createElement("option",{value:""},p),d.map(E=>D__default.default.createElement("option",{key:E.value,value:E.value},E.label))):n==="textarea"?D__default.default.createElement("textarea",{...k,placeholder:u}):D__default.default.createElement("input",{type:n,...k,placeholder:u}),N&&D__default.default.createElement("div",{className:"magic-wand-container",onClick:x,onMouseEnter:()=>{T.current&&clearTimeout(T.current),y(true);},onMouseLeave:()=>{T.current=setTimeout(()=>y(false),1200);},style:{position:"absolute",top:"50%",right:"10px",transform:"translateY(-50%)",cursor:"pointer"}},D__default.default.createElement(N,{className:"magic-wand-icon",style:{color:"#B567C2"}}),f&&v&&D__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"}},D__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}},D__default.default.createElement(ao__default.default,{animationData:si,loop:true,style:{width:"100%",height:"100%",opacity:.5}})),D__default.default.createElement("div",{style:{position:"relative",zIndex:2,padding:"12px 20px"}},D__default.default.createElement("div",{style:{borderBottom:"1px solid #eee",marginBottom:"8px",paddingBottom:"4px"}},v),D__default.default.createElement("div",{style:{fontWeight:"bold",fontSize:"13px",textAlign:"center",marginTop:"8px"}},b.tooltip?.confirm),D__default.default.createElement("div",{style:{fontSize:"0.7rem",textAlign:"center",color:"#999",marginTop:"4px"}},b.tooltip?.source))))),m&&D__default.default.createElement("p",{className:"form-error"},m))},X=D__default.default.memo(ro);var ui={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"}}};z(`.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}
12
+ `);var pi=D__default.default.memo(({formData:e,errors:t,handleChange:n,setFormData:i,menuData:a})=>{let s=yt(),r=te(ui,"reservationStepTwoFiltering"),[m,u]=D.useState([]),[c,d]=D.useState(false),[o,l]=D.useState(null),x=ue(),v=fa.FaMagic,b=()=>{o&&f();};D.useEffect(()=>{if(ce__default.default.locale(s),!e.date||!e.time||!a.length)return u([]);let g=ce__default.default(`${e.date} ${e.time}`,"YYYY-MM-DD HH:mm"),T=a.filter(N=>{let h=g.isBetween(ce__default.default(N.startDate,"YYYY-MM-DD"),ce__default.default(N.endDate,"YYYY-MM-DD"),"day","[]"),k=ce__default.default(e.time,"HH:mm").isBetween(ce__default.default(N.startHour,"HH:mm"),ce__default.default(N.endHour,"HH:mm"),"minute","[]"),C=g.format("dddd").toLowerCase(),E=(N.daysOfWeek||[]).map(j=>j.toLowerCase()),R=!E.length||E.includes(C);return h&&k&&R});u(T);},[e.date,e.time,a,s]);let p=async()=>{if(c||o)return;let g=(e.email||"").trim().toLowerCase(),T=(e.phone||"").trim(),N=g&&[".com",".net",".be",".nl"].some(C=>g.endsWith(C)),h=!!T&&(T.startsWith("+32")?T.length>=12:T.length>=10);if(!N&&!h)return;let k=[];N&&k.push("email"),h&&k.push("phone");try{let C=await x.post(`${window.baseDomain}api/autofill`,{email:g,phone:T});C?.firstName&&C?.lastName&&C?.email&&C?.phone&&l({...C,sources:k});}catch{console.error("Autofill error");}};D.useEffect(()=>{p();},[e.email,e.phone]);let f=()=>{o&&(i(g=>({...g,firstName:o.firstName,lastName:o.lastName,email:o.email,phone:o.phone})),d(true),l(null));},y=D.useMemo(()=>{if(!o)return {email:{},phone:{}};let g=o.sources.includes("email")&&(e.email||"").trim().toLowerCase()===o.email.trim().toLowerCase(),T=o.sources.includes("phone")&&(e.phone||"").trim()===o.phone.trim(),N={rightIcon:v,onRightIconClick:b};return {email:g?{...N,tooltipContent:D__default.default.createElement("div",null,D__default.default.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},r.magic?.title),D__default.default.createElement("div",null,o.firstName," ",o.lastName),D__default.default.createElement("div",null,o.phone))}:{},phone:T?{...N,tooltipContent:D__default.default.createElement("div",null,D__default.default.createElement("div",{style:{textAlign:"center",fontWeight:"bold"}},r.magic?.title),D__default.default.createElement("div",null,o.firstName," ",o.lastName),D__default.default.createElement("div",null,o.email))}:{}}},[o,e.email,e.phone,r.magic?.title]);return D__default.default.createElement("div",{className:"reservation-step-two"},D__default.default.createElement("div",{className:"account-manage-form"},m.length>0&&D__default.default.createElement(X,{label:r.labels?.menu||"Menu",name:"menu",type:"select",options:m.map(g=>({value:g.name,label:g.name})),value:e.menu,onChange:n,error:t.menu}),D__default.default.createElement("div",{className:"name-fields"},D__default.default.createElement(X,{label:r.labels?.firstName||"Voornaam",name:"firstName",placeholder:r.placeholders?.firstName||"",value:e.firstName,onChange:n,error:t.firstName,icon:fa.FaUser}),D__default.default.createElement(X,{label:r.labels?.lastName||"Achternaam",name:"lastName",placeholder:r.placeholders?.lastName||"",value:e.lastName,onChange:n,error:t.lastName,icon:fa.FaUser})),D__default.default.createElement(X,{label:r.labels?.email||"Email",name:"email",type:"email",placeholder:r.placeholders?.email||"",value:e.email,onChange:n,onBlur:p,error:t.email,icon:fa.FaEnvelope,...y.email}),D__default.default.createElement(X,{label:r.labels?.phone||"Telefoon",name:"phone",type:"tel",placeholder:r.placeholders?.phone||"",value:e.phone,onChange:n,onBlur:p,error:t.phone,icon:fa.FaPhone,...y.phone}),D__default.default.createElement(X,{label:r.labels?.extraInfo||"Extra info",name:"extraInfo",type:"textarea",placeholder:r.placeholders?.extraInfo||"",value:e.extraInfo,onChange:n,error:t.extraInfo,icon:fa.FaInfoCircle})))});pi.displayName="ReservationStepTwo";var je=pi;var fi={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"}}};z(`.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}
13
+ `);var fo=({formData:e,onNewReservation:t})=>{let n=te(fi,"reservationSummary");return D__default.default.createElement("div",{className:"reservation-summary"},D__default.default.createElement("ul",{className:"reservation-details"},D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.title)),D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.guests,":")," ",e.guests),D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.date,":")," ",e.date),D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.time,":")," ",e.time),D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.firstName,":")," ",e.firstName),D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.lastName,":")," ",e.lastName),D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.email,":")," ",e.email),D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.phone,":")," ",e.phone),e.menu&&D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.menu,":")," ",e.menu),e.personeel&&D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.staff,":")," ",e.personeel),e.giftcard&&D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.giftcard,":")," ",e.giftcard),e.extraInfo&&D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.extraInfo,":")," ",e.extraInfo),e.zitplaats&&D__default.default.createElement("li",null,D__default.default.createElement("strong",null,n.seatPlace,":")," ",e.zitplaats)),D__default.default.createElement("button",{className:"button-style-3",onClick:t},n.newReservationButton))},Ye=fo;var gi={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"}}}};z(`.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}
14
+ `);var xo=({restaurantData:e,formData:t,handleChange:n,resetFormDataFields:i})=>{let a=te(gi,"giftcardSelection"),[s,r]=D.useState([]);if(D.useEffect(()=>{if(!e)return;let c=["breakfast","lunch","dinner"],d=new Set;c.forEach(o=>{let l=e[`openinghours-${o}`]?.schemeSettings||{};Object.values(l).forEach(x=>{x?.giftcardsEnabled&&Array.isArray(x.giftcards)&&x.giftcards.forEach(v=>v?.trim()&&d.add(v));});}),r([...d]);},[e]),!s.length)return null;let m=s.map(c=>({value,label:c})),u=c=>{n({target:{name:"giftcard",value:c.target.value}}),i(["date","time"]);};return D__default.default.createElement("div",{className:"giftcard-selection"},D__default.default.createElement(X,{label:a.labels?.giftcard||"Giftcard",name:"giftcard",type:"select",options:m,value:t.giftcard||"",onChange:u,selectPlaceholder:a.options?.noGiftcard||"Geen giftcard"}))},He=xo;var yi={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"}}}};z(`.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}
15
+ `);var To=({restaurantData:e,formData:t,handleChange:n,resetFormDataFields:i})=>{let[a,s]=D.useState([]),r=te(yi,"zitplaatsSelection");D.useEffect(()=>{if(!e?.floors||!Array.isArray(e.floors))return;let d=new Set;e.floors.forEach(o=>(o.tables||[]).forEach(l=>l.zitplaats?.trim()&&d.add(l.zitplaats))),s([...d].sort());},[e]);let m=d=>{let{value:o}=d.target;n({target:{name:"zitplaats",value:o}}),i(["date","time","selectedTableNumbers","selectedTableIds"]);},u=e?.["table-settings"]||{};return !(u.isInstalled===true&&u.assignmentMode==="automatic")||a.length===0?null:D__default.default.createElement("div",{className:"zitplaats-selection"},D__default.default.createElement("label",{htmlFor:"zitplaats",className:"form-label"},r.labels?.seating||"Zitplaats"),D__default.default.createElement("div",{className:"input-container select-field"},D__default.default.createElement("select",{id:"zitplaats",name:"zitplaats",value:t.zitplaats||"",onChange:m},D__default.default.createElement("option",{value:""},r.options?.noPreference||"Geen voorkeur"),a.map(d=>D__default.default.createElement("option",{key:d,value:d,className:"notranslate",translate:"no"},d)))))},Le=To;var xi={nl:{reservationSidebar:{saveButton:"Opslaan",saveButtonLoading:"Opslaan..."}},en:{reservationSidebar:{saveButton:"Save",saveButtonLoading:"Saving..."}},fr:{reservationSidebar:{saveButton:"Enregistrer",saveButtonLoading:"Enregistrement..."}}};z(`.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}.admin-title{text-align:center;margin-bottom:30px}.reservation-sidebar-component.open{right:0}.reservation-sidebar-content{padding:60px 20px 20px}.close-sidebar-button{position:absolute;top:10px;left:10px;background-color:transparent;border:none;cursor:pointer}.close-sidebar-button svg{color:#000}.sidebar-section-one,.sidebar-section-two{margin-bottom:20px}.reservation-footer{margin-top:auto}.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}.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}.open-sidebar-button:hover{background-color:var(--color-blue-hover-accent)!important}.open-sidebar-button svg{position:relative;top:2px}@media screen and (max-width:480px){.reservation-sidebar-component{width:100%}}.sidebar-section-personeel{margin-bottom:10px}
16
+ `);var Ao=({isOpen:e,onClose:t,formData:n,errors:i,handleChange:a,handleFinalSubmit:s,setFormData:r,isSubmitting:m,reservationSubmitted:u,onNewReservation:c,apiBaseDomain:d})=>{D.useEffect(()=>{d&&!window.baseDomain&&(window.baseDomain=d);},[d]);let o=ue(),[l,x]=D.useState([]),[v,b]=D.useState(false),[p,f]=D.useState(null),[y,g]=D.useState([]),[T,N]=D.useState({}),[h,k]=D.useState([]),C=D.useMemo(()=>te(xi,"reservationSidebar"),[]),E=D.useCallback(Z=>{r($=>{let B={...$};return Z.forEach(S=>{B[S]="";}),B});},[r]);D.useEffect(()=>{if(!e)return;b(true),(async()=>{try{let $=window.baseDomain||"",[B,S]=await Promise.all([o.get(`${$}api/auth-restaurant/`,{noCache:!0}),o.get(`${$}api/personeel`,{noCache:!0})]);x(B.timeblocks||[]),window.timeblocks=B.timeblocks||[],window.generalSettings=B["general-settings"]||{},g(B.menu||[]),N(B||{});let Q=ce__default.default().tz("Europe/Amsterdam").startOf("day"),w=(S||[]).filter(G=>{let F=ce__default.default(G.startDate,"YYYY-MM-DD").tz("Europe/Amsterdam").startOf("day"),A=ce__default.default(G.endDate,"YYYY-MM-DD").tz("Europe/Amsterdam").endOf("day");return Q.isBetween(F,A,null,"[]")});k(w);}catch($){f($),console.error("Error fetching data:",$);}finally{b(false);}})();},[e,o]);let R=D.useCallback(()=>{r({guest:2,date:"",time:"",firstName:"",lastName:"",email:"",phone:"",extraInfo:"",menu:"",personeel:"",giftcard:"",zitplaats:"",selectedTableNumbers:[],selectedTableIds:[],reservationMode:"met_limieten"}),c();},[c,r]),j=D.useMemo(()=>!!T?.["general-settings"]?.seatSelectionEnabled,[T]);return D__default.default.createElement("div",{className:`reservation-sidebar-component ${e?"open":""}`},D__default.default.createElement("div",{className:"reservation-sidebar-content"},D__default.default.createElement("h2",{className:"admin-title"},"Admin Reservatie"),D__default.default.createElement("button",{className:"close-sidebar-button",onClick:t,"aria-label":"Sluiten"},D__default.default.createElement(fa.FaTimes,{size:20,color:"#000"})),u?D__default.default.createElement(Ye,{formData:n,onNewReservation:R}):D__default.default.createElement(D__default.default.Fragment,null,T&&Object.keys(T).length>0&&D__default.default.createElement("div",{className:"sidebar-section-giftcard"},D__default.default.createElement(He,{restaurantData:T,formData:n,handleChange:a,resetFormDataFields:E})),T&&Object.keys(T).length>0&&j&&D__default.default.createElement("div",{className:"sidebar-section-zitplaats"},D__default.default.createElement(Le,{restaurantData:T,formData:n,handleChange:a,resetFormDataFields:E})),h.length>0&&D__default.default.createElement("div",{className:"sidebar-section-personeel"},D__default.default.createElement(X,{label:"",name:"personeel",type:"select",options:h.map(Z=>{let $=`${Z.voornaam} ${Z.achternaam}`;return {value:Z.id,label:$}}),value:n.personeel,onChange:a,error:i.personeel,selectPlaceholder:"Toewijzen aan persoon"})),D__default.default.createElement("div",{className:"sidebar-section-one"},D__default.default.createElement(bt,{formData:n,errors:i,handleChange:a,setFormData:r,timeblocks:l,loadingTimeblocks:v,timeblocksError:p,restaurantData:T})),D__default.default.createElement("div",{className:"sidebar-section-two"},D__default.default.createElement(je,{formData:n,errors:i,handleChange:a,setFormData:r,isSubmitting:m,menuData:y})),D__default.default.createElement("div",{className:"reservation-footer"},D__default.default.createElement("button",{type:"button",className:"store-reservation-button",onClick:s,disabled:m},m?C.saveButtonLoading||"Opslaan...":C.saveButton||"Opslaan")))))},So=Ao;z(`.account-manage-title{text-align:center;margin-bottom:30px}.account-manage-container{max-width:800px;margin:0 auto}.account-manage-form{display:flex;flex-direction:column;gap:15px}.input-container{position:relative}.input-icon{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:#6c757d;pointer-events:none}.input-container input,.input-container textarea{width:100%;padding:10px 10px 10px 35px;border:1px solid #ccc;border-radius:5px;font-size:1rem;transition:border-color .3s ease}.form-error{color:#dc3545;font-size:.9rem;margin-top:5px;display:flex;align-items:center;gap:5px}.account-manage__button{padding:12px;background-color:var(--color-blue);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:10px;transition:background-color .3s ease}
17
+ `);exports.FormField=X;exports.GiftcardSelection=He;exports.ReservationSidebar=So;exports.ReservationStepOne=bt;exports.ReservationStepTwo=je;exports.ReservationSummary=Ye;exports.ZitplaatsSelection=Le;exports.getPreferredLanguage=yt;exports.getSection=te;exports.useApi=ue;