@publidata/utils-opening-hours
Version:
Collection of methods to handle opening hours
1 lines • 21.6 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("moment"),require("opening_hours"),require("@publidata/utils-dates")):"function"==typeof define&&define.amd?define(["moment","opening_hours","@publidata/utils-dates"],t):"object"==typeof exports?exports["Utils-opening-hours"]=t(require("moment"),require("opening_hours"),require("@publidata/utils-dates")):(e.Publidata=e.Publidata||{},e.Publidata["Utils-opening-hours"]=t(e.moment,e.opening_hours,e.Publidata["Utils-dates"]))}(this,(function(e,t,n){return function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var a=n(1),r=n(2),{getDate:s,getDaysBefore:o}=n(3),u=n(4),i=new Date,l={minMonths:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],maxMonths:["january","february","march","april","may","june","july","august","september","october","november","december"],minWeekdays:["sun","mon","tue","wed","thu","fri","sat"],maxWeekdays:["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],formatdate:(e,t,n)=>{var a=new Date(e.getFullYear(),e.getMonth(),e.getDate()),r=(t.getTime()-a.getTime())/1e3/60/60/24,s=[],o=Math.floor((t.getTime()-e.getTime())/1e3/60);o<60&&s.push({key:"+minutes_minutes",params:{count:o}});var u=o%60;(o=Math.floor(o/60))<24&&""===s&&(s.push({key:"in"}),s.push({key:"+hours_hours",params:{count:o,hours:o}}),s.push({key:"and"}),s.push({key:"+minutes_minutes",params:{count:u,minutes:l.pad(u)}}));var i=o%24;(o=Math.floor(o/24))<14&&""===s?(s.push({key:"in"}),s.push({key:"in_+days_days",params:{count:o,days:o}}),s.push({key:"and"}),s.push({key:"+hours_hours",params:{count:i,hours:i}})):""===s&&(s.push({key:"in"}),s.push({key:"in_+days_days",params:{count:o,days:o}}));var g=[];(n?r<1:r<=1)?g.push({key:"today"}):(n?r<2:r<=2)?g.push({key:"tomorrow"}):(n?r<7:r<=7)&&g.push({key:"next_+day",params:{day:{key:l.maxWeekdays[t.getDay()]}}});var p=l.maxMonths[t.getMonth()],d={key:"+month_+date",params:{date:t.getDate(),month:{key:p}}},m=[];return 0!==g.length&&m.push(g),0===g.length&&0!==d.length&&m.push(d),0!==s.length&&m.push(s),m},pad:e=>e<10?"0".concat(e):e,plural:(e,t)=>e>1?"".concat(t,"s"):t,printDate:e=>"".concat(a(e).locale("fr").format("DD/MM/YYYY")),printTime:e=>a(e).locale("fr").format("HH:mm"),drawTable:(e,t,n,r)=>{var s=new Date(t);(s.getDay()+6)%7==6&&s.setDate(s.getDate()-7),s.setHours(0,0,0,0);var o=new Date(s);o.setDate(o.getDate()-(o.getDay()+!r));for(var u=[],i=0;i<7;i+=1){o.setDate(o.getDate()+1),e.setDate(o);var g=e.getState(),p=e.getUnknown(),d=o,m=o;u[i]={display:{day:"",date:""},date:new Date(o),html:"",times:[],text:[]};for(var c=0;e.advance()&&m.getTime()-o.getTime()<864e5;){m=e.getDate();var h=d.getTime()-o.getTime(),y=m.getTime()-o.getTime(),f=[],v=[];if(y>864e5&&(y=864e5),y*=.1/60/60/24,99.93055555555556!==(h*=.1/60/60/24)){c+=y-h;var w='<div class="timebar '.concat(g||p?"open":"closed",'" style="width: calc(').concat(y-h,'% - 2px)"></div>');u[i].html+=w,(g||p)&&(f.push({key:"open_from_+time_to_+time2",params:{time:l.printTime(d),time2:d.getDay()!==m.getDay()?"24:00":l.printTime(m)}}),d.getDay()===m.getDay()&&"00:00"===l.printTime(d)&&"23:59"===l.printTime(m)?v.push({key:"all_day_long"}):(v.push({key:"open"}),v.push({key:"beginning_at"}),v.push({value:l.printTime(d)})),u[i].text.push(f)),u[i].times.push({isOpen:g,to:{value:m,percent:y},from:{value:d,percent:h},text:f,output:v,html:w,percent:y-h})}d=m,g=e.getState(),p=e.getUnknown()}if(n||(g=!1),!n&&0===u[i].text.length){var x='<div class="timebar '.concat(g||p?"open":"closed",'" style="width:100%"></div>'),D=g?["Ouvert de 00:00 à 24:00"]:["Fermé"];u[i].times.push({isOpen:g,to:{value:m,percent:100},from:{value:d,percent:0},text:D,html:x,percent:100}),u[i].html=x,u[i].text=D}if((""===u[i].html||c>0&&c<100)&&u[i].times.push({isOpen:!1,from:{value:d,percent:c},to:{value:a(m).hour(23).minute(59).second(59).milliseconds(99),percent:100},text:"",percent:100-c}),""===u[i].html){u[i].html+='<div class="timebar closed" style="width: 100%"></div>'}else if(c>0&&c<100){var k='<div class="timebar closed" style="width: calc('.concat(100-c,'% - 2px)"></div>');u[i].html+=k}}var _="";for(var b in _+="<table>",_+='\n <tr class="header">\n <td class="day">\n Date | Jour\n </td>\n <td>Plages horaire</td>\n <td>Commentaires</td>\n </tr>',u){var O=a(u[b].date).isSame(a(),"day"),T=a(),C=100*(T.seconds()+60*T.minutes()+3600*T.hours())/60/24/60,H=(u[b].date.getDay()+1)%7===s.getDay(),S=O?' class="today"':H?' class="endweek"':"",M=l.printDate(u[b].date),I={key:l.maxWeekdays[a(u[b].date).day()]};u[b].display.date=M,u[b].display.weekday=I,u[b].display.isToday=O,u[b].display.todayPercent=C,u[b].display.comment=u[b].text.join(", "),_+="<tr".concat(S,'><td class="day ').concat(u[b].date.getDay()%6==0?"weekend":"workday",'">'),_+="<b>".concat(u[b].display.date,"</b> ").concat(u[b].display.weekday),_+='</td><td class="times">',_+=u[b].html,O&&(_+='<div class="today-marker" style="left: '.concat(u[b].display.todayPercent,'%"></div>')),_+="</td><td>",_+=u[b].display.comment||" ",_+="</td></tr>"}return{table:u,html:_+="</table>"}},drawTableAndComments:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,s=n?new Date(n):new Date,o=t.getDate(),u=t.getUnknown(),i=e.getState(s),g=t.getStateString(!0),p=t.advance(),d=e.getNextChange(s),m=d?e.getState(d):null,c=t.getStateString(!1),h=l.drawTable(t,o,p,r),y=e.isWeekStable(s);if(!n||a)for(var f=!1;i===m&&!f;)g=t.getStateString(!0),(d=e.getNextChange(d)).getTime()-s.getTime()>=94608e6?(f=!0,g="closed",c="close",p=!1,d=null):(c=t.getStateString(!1),h=l.drawTable(t,o,p),y=e.isWeekStable(d),i=e.getState(d));var v={date:o,is:{open:"closed"!==g,closed:"closed"===g,text:["open"===g?{key:"open"}:{key:"closed"},p?{key:"currently"}:{key:"permanently"}],comment:t.getComment(),stable:y,stableText:y?{key:"the_schedule_is_valid_in_any_given_week"}:{key:"please_note_this_schedule_may_change_for_other_weeks"}},will:{change:p,open:"open"===c,unknow:"unknow"===c,close:"close"===c,text:[],nextDate:d},html:[],weekdays:h};if(void 0!==v.is.comment&&(u?v.html.push({key:"depends_on_+comment",params:{comment:v.is.comment}}):(v.html.push({value:", "}),v.html.push({key:"comment"}),v.html.push({value:": ".concat(v.is.comment)}))),v.will.change&&d){var w=[];"string"!=typeof t.getComment()&&"string"!=typeof comment||(w.push({value:", "}),w.push({key:"comment"}),w.push({value:": "}),"string"==typeof t.getComment()?w.push({value:'"'.concat(t.getComment(),'"')}):w.push({key:"undefined"}));var x={timestring:l.formatdate(o,d,!0),comment:w};v.will.close&&(v.will.text.push({key:"but_will_close"}),v.will.text.push({value:x.timestring}),v.will.text.push({value:x.comment})),v.will.unknow&&(v.will.text.push({key:"but_may_open"}),v.will.text.push({value:x.timestring}),v.will.text.push({value:x.comment})),v.will.open&&(v.will.text.push({key:"but_will_open"}),v.will.text.push({value:x.timestring}),v.will.text.push({value:x.comment}))}return v.html+=h.html,v}},g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=h(e),s=t||new Date,o=new r(a,u.get(),2),i=o.getIterator(new Date(s));return l.drawTableAndComments(o,i,s,!1,n)},p=(e,t)=>{var n=h(e),s=new r(n,u.get()),o=t||new Date,i=s.getState(o),g=s.getIterator(o),p=g.advance(),{nextDate:d}=l.drawTableAndComments(s,g,o,!0).will,m=d?a(d).fromNow("h"):null,c=d?m.split(" "):null,y=d?c&&c[0]<=60&&"minutes"===c[1]:null;return i&&!y?{string:{key:"open"},state:"opened",isOpen:i,nextChange:d}:i&&y?{string:{key:"closing"},state:"closing",isOpen:i,nextChange:d}:!i&&y?{string:{key:"opening"},state:"opening",isOpen:i,nextChange:d}:i||p&&d?{string:{key:"closed"},state:"closed",isOpen:i,nextChange:d}:{string:{key:"long_term_closure"},state:"closed_forever",isOpen:i,nextChange:d}},d=e=>{var t=(e.match(/-(\d){1,2}\/(\d)/g)||[]).map(e=>Number(e[e.length-1]));return Math.max(0,...t)},m=e=>{if(!e)return!1;var t=new Date,n=t.getFullYear(),a=new r(e,u.get()),s=a.getNextChange(t);if(!s)return!1;if(a.getState(s))return!0;var o=a.getIterator(t),i=new Date(n+2,0,1);for(i.setHours("00","00","00");s;){if("open"===o.getStateString())return!0;s=o.advance(i)}return!1},c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,n=h(e),s=new r(n,u.get()),o=new Date(t);o.setHours("00","00","00");var i=new Date(t);i.setHours("23","59","59");var l=s.getOpenIntervals(o,i);if(l.length<=1)return!1;var g=a(t),p=null;if(g.isBefore(l[0][1]))return!0;if(g.isAfter(l[l.length-1][1]))return!1;l.forEach((e,t)=>{g.isBetween(e[0],e[1])&&(p=t)});var d=l[p+1]||null;return!!d},h=e=>e&&"off"!==e&&0!==e.length?e.replace(/ ?"[^"]*" ?/g,""):"24/7 off",y=(e,t,n)=>{for(var s=new Date(t||i),o=new Date(n||i),l=0,g=h(e),p=new r(g,u.get()),d=p.getNextChange(s);d&&!a(d).isAfter(o);){p.getState(d)&&l++,d=p.getNextChange(d)}return l},f=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e)return t?String(t):null;var n=/[1,2][0-9]{3}\s/g,a=e.match(n);return!a&&t?String(t):a[0].trim()},v=e=>{var t=f(e,i.getFullYear()),n=new Date(t,0,1),a=new Date(t,11,31);return 1===y(e,n,a)};e.exports={OpeningHoursTable:l,displayOpenings:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=h(e);if("24/7 off"===n)return{string:{key:"unknown_schedules"},open:!1};var a=new r(n,u.get()),o=a.getState(),i=a.getUnknown(),l=a.getComment(),g=a.getNextChange(),p=[];if(i?(p.push({key:"might_be_open"}),l&&p.push({key:"depends_on_+comment",params:{comment:l}})):(a.getState()?p.push({key:"open"}):p.push({key:"closed"}),l&&p.push({value:", ".concat(l)})),void 0===g)o?p.push({key:"but_will_never_close"}):p.push({key:"but_will_never_open"});else if(t){var d=d(g).format("HH[h]mm");p.push({key:"until",params:{moment:d}})}else o?a.getUnknown(g)?p.push({key:"but_may_close"}):p.push({key:"but_will_close"}):a.getUnknown(g)?p.push({key:"but_may_open"}):p.push({key:"but_will_open"}),p.push({value:s(g,!0,"à")});return{output:p,open:a.getState()}},getOpenIntervals:e=>{var t=h(e);if("24/7 off"===e)return null;var n=new Date;n.setHours("00","00","00");var a=new Date;a.setHours("23","59","59");var s=new r(t,u.get());return[s.getOpenIntervals(n,a)[0],s.getOpenIntervals(n,a)[1]]},getRegularOpeningDays:e=>{var t=[],n="";return e.split(" ")[0].split(",").forEach(e=>{"Mo"===e?(n={key:"monday"},t.push(n)):"Tu"===e?(n={key:"tuesday"},t.push(n)):"We"===e?(n={key:"wednesday"},t.push(n)):"Th"===e?(n={key:"thursday"},t.push(n)):"Fr"===e?(n={key:"friday"},t.push(n)):"Sa"===e?(n={key:"saturday"},t.push(n)):"Su"===e&&(n={key:"sunday"},t.push(n))}),t},getTable:g,getOhYear:f,openOnceAYear:v,getCollectsOpeningsDates:e=>{var t=[],n={},s=h(e);if("24/7 off"!==s){for(var o=new r(s),u=o.getNextChange(),i=o.getIterator(),l=0;l<100;l++)i.advance()&&(n={date:a(i.getDate()).format("YYYY-MM-DD"),hours:{key:"all_day_long"}},t.push(n));return n={date:a(u).format("YYYY-MM-DD"),hours:{key:"all_day_long"}},t.push(n),t}return n={date:{key:"unknown_schedules"}},t.push(n),t},collectTimeRewritting:e=>{var t=e.split(" ");if("Ouvert mais ne fermera jamais"===e)return"Ouvert 24h/24 - 7j/7";if("Fermé mais n'ouvrira jamais"===e)return"Aucune collecte programmée";if("Ouvert mais fermera le"==="".concat(t[0]," ").concat(t[1]," ").concat(t[2]," ").concat(t[3])){var n=e.replace("Ouvert mais fermera",i18next.t("next_collect"));n=n.replace(" le "," ");for(var a=0;a<n.split(" ").length;a++)"à"===n.split(" ")[a]&&"23h59"===n.split(" ")[a+1]&&(n=(n=n.replace("à","")).replace("23h59",""));return n}if("Fermé mais ouvrira le"==="".concat(t[0]," ").concat(t[1]," ").concat(t[2]," ").concat(t[3])){for(var r=e.replace("Fermé mais ouvrira",i18next.t("next_collect")),s=0;s<r.split(" ").length;s++)"à"===r.split(" ")[s]&&"00h00"===r.split(" ")[s+1]&&(r=(r=r.replace("à","")).replace("00h00",""));return r}return e},getCollectsDate:(e,t)=>{var n=h(e),r=t.year();if("24/7 off"!==n){var s=n.getIterator(new Date(a(t).year(r)));return l.drawTableAndComments(n,s,t)}return null},getOpeningState:p,handleCustomOpeningDateOutput:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Date,s=h(e);if("24/7 off"===s)return{output:{key:"no_schedules"},state:"disabled"};var i,l=new r(s,u.get()),g=new Date(n);if(m(e)){var c=d(e),y=new Date,f=l.getState(y);if(f)i=y;else if(c){var w=7*c,x=Array.from({length:w},(e,t)=>{var n=new Date((new Date).setDate(g.getDate()+t));return l.getNextChange(n)});x=x.filter(e=>e),i=new Date(Math.min(...x))}if(!i)for(i=l.getNextChange(g);!l.getState(i)&&i;)i=l.getNextChange(i)}if(!i)return{string:{key:"long_term_closure"},state:"closed_forever"};var D=l.getState(g),{nextChange:k,isOpen:_}=p(s,g),b=a(i).isSame(a(g),"day")||D,O=a(g).isBefore(i,"day")&&1===o(i),T=a(g).isBefore(i,"day")&&o(i)>1,C=new Date(k);C.setHours("00","00","00");var H=new Date(k);H.setHours("23","59","59");var S=l.getOpenIntervals(C,H)[0],M=S&&S[0]?S[0].getHours():null,I=S&&S[0]?S[0].getMinutes():null,j=S&&S[1]?S[1].getHours():null,N=S&&S[1]?S[1].getMinutes():null,Y=g.getHours(),F=k?k.getHours():null,P={nextDate:i,nextDateOpeningTimeInHours:M,nextDateOpeningTimeInMinutes:I,nextDateClosingTimeInHours:j,nextDateClosingTimeInMinutes:N};if(t){var A,{morningStartInHours:U,afternoonStartInHours:B,eveningStartInHours:L}=t;if(M>=U&&M<B?A="morning":M>=B&&M<L?A="afternoon":M>=L&&(A="evening"),b)return{output:{key:"today"},state:"warning",nextDateOpeningTimeInHours:M,nextDate:P,translatedNextOpeningTime:A};if(O)return{output:{key:"tomorrow"},state:"success",nextDateOpeningTimeInHours:M,nextDate:P,translatedNextOpeningTime:A};if(v(e))return{output:{key:"the_+date",params:{date:a(i).format("LL")}},state:"disabled",nextDateOpeningTimeInHours:M,nextDate:P,translatedNextOpeningTime:A};if(T){var W=o(i)<=30,q=W?{key:"in_+days_days",params:{count:o(i),days:o(i)}}:{key:"from_+date",params:{date:a(i).format("LL")}};return{output:q,state:"disabled",nextDateOpeningTimeInHours:M,nextDate:P,translatedNextOpeningTime:A}}return{translatedNextOpeningTime:A}}if(0===M&&I||23===j&&59===N){if(b)return{output:{key:"today"},state:"warning",nextDateOpeningTimeInHours:M,nextDate:P};if(O)return{output:{key:"tomorrow"},state:"success",nextDateOpeningTimeInHours:M,nextDate:P}}return b&&M<=12&&Y<M?{output:{key:"this_morning"},state:"warning",nextDate:P}:b&&M>=12&&M<18&&Y>=12?{output:{key:"this_afternoon"},state:"warning",nextDate:P}:b&&M>=12&&M<18&&Y<M&&Y<=12?{output:{key:"this_afternoon"},state:"success",nextDate:P}:b&&M>=18&&M<=23&&Y<M&&Y>=18?{output:{key:"this_evening"},state:"warning",nextDate:P}:b&&M>=18&&Y<M&&Y<=18?{output:{key:"this_evening"},state:"success",nextDate:P}:O&&!_&&F>=0&&F<12?{output:{key:"tomorrow_morning"},state:"success",nextDate:P}:O&&!_&&F>=12&&F<18?{output:{key:"tomorrow_afternoon"},state:"success",nextDate:P}:O&&!_&&F>=18&&F<=23?{output:{key:"tomorrow_evening"},state:"success",nextDate:P}:b&&M<=12&&j<=23&&Y<=F||_?{output:{key:"today"},state:"warning",nextDate:P}:v(e)?{output:{key:"the_+date",params:{date:a(i).format("LL")}},state:"disabled",nextDateOpeningTimeInHours:M,nextDate:P}:T?{output:{key:"in_+days_days",params:{count:o(i),days:o(i)}},state:"disabled",nextDateOpeningTimeInHours:M,nextDate:P}:{output:{key:"no_schedules"},state:"disabled"}},getOpeningWeekDays:e=>{var t=[];if(!e)return t;if("24/7"===e)return[{key:"monday"},{key:"tuesday"},{key:"wednesday"},{key:"thursday"},{key:"friday"},{key:"saturday"},{key:"sunday"}];var n=g(e),{weekdays:a}=n;return a&&a.table.map(e=>(e.times&&e.times.map(n=>{var a=t.indexOf(e.display.weekday);return n.isOpen&&-1===a&&t.push(e.display.weekday),t}),t)),t},willOpenAgain:m,getOpeningCountsFromRange:y,willOpenAgainToday:c,getTodaysNextOpening:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,n=h(e),s=new r(n,u.get());if(!c(e,t))return null;var o=new Date(t);o.setHours("00","00","00");var i=new Date(t);i.setHours("23","59","59");var l=s.getOpenIntervals(o,i),g=a(t),p=g.isBefore(l[0][0]);if(p)return l[0][0];var d=null;return l.forEach((e,t)=>{g.isAfter(e[0])&&(d=t+1)}),l[d][0]||null},cleanOpeningHoursString:h,displayCustomOpenings:(e,t)=>{var n=h(e);if("24/7 off"===e)return{string:t.unknown,open:!1};var o=new r(n,u.get()),i=o.getState(),l=o.getUnknown(),g=o.getComment(),p=o.getNextChange(),{open:d,closed:m}=t,c=[];return l?c.push({value:t.unknown}):(o.getState()?d.state.display&&c.push({value:d.state.string}):d.state.display&&c.push({value:m.state.string}),g&&c.push({value:", (".concat(g,")")})),void 0!==p?i&&d.next_change.display?(c.push({value:" ".concat(d.next_change.string)}),d.next_change.date?"aujourd'hui"===s(p)?c.push({key:"today"}):c.push({key:"the_+date",params:{date:s(p)}}):c.push({value:""}),d.next_change.time?c.push({key:"at_+time",params:a(p).format("HH[h]mm")}):c.push({value:""})):!i&&m.next_change.display&&(c.push({value:" ".concat(m.next_change.string)}),m.next_change.date?"aujourd'hui"===s(p)?c.push({key:"today"}):c.push({key:"the_+date",params:{date:s(p)}}):c.push({value:""}),m.next_change.time?c.push({key:"at_+time",params:{time:a(p).format("HH[h]mm")}}):c.push({value:""})):(function(e){throw new Error('"'+e+'" is read-only')}("output"),c=i?d.next_change.undefined:m.next_change.undefined),{output:c,open:o.getState()}},getAvailabilityState:e=>{var t=h(e);if("24/7 off"===t)return{output:{key:"no_schedules"},state:"disabled"};var n=new r(t,u.get()),s=new Date,{nextDate:i}=g(t).will,{nextChange:l,isOpen:d}=p(t),m=a(i).format("DD-MM")===a(s).format("DD-MM"),c=a(s).isBefore(i,"day")&&1===o(i),y=a(s).isBefore(i,"day")&&o(i)>1,f=new Date(l);f.setHours("00","00","00");var v=new Date(l);v.setHours("23","59","59");var w=n.getOpenIntervals(f,v)[0],x=w&&w[0]?w[0].getHours():null,D=w&&w[0]?w[0].getMinutes():null,k=w&&w[1]?w[1].getHours():null,_=w&&w[1]?w[1].getMinutes():null,b=s.getHours(),O=l?l.getHours():null,T={nextDate:i,nextDateOpeningTimeInHours:x,nextDateOpeningTimeInMinutes:D,nextDateClosingTimeInHours:k,nextDateClosingTimeInMinutes:_};if(0===x&&D||23===k&&59===_){if(m)return{output:{key:"available"},state:"success",nextDateOpeningTimeInHours:x,nextDate:T,nextChange:l};if(c)return{output:{key:"tomorrow"},state:"warning",nextDateOpeningTimeInHours:x,nextDate:T,nextChange:l}}return y?{output:{key:"in_+days_days",params:{count:o(i),days:o(i)}},state:"disabled",nextDateOpeningTimeInHours:x,nextDate:T,nextChange:l}:m&&x<=12&&b<x?{output:{key:"this_morning"},state:"warning",nextDate:T,nextChange:l}:m&&x>=12&&x<18&&b>=12||m&&x>=12&&x<18&&b<x&&b<=12?{output:{key:"this_afternoon"},state:"warning",nextDate:T,nextChange:l}:m&&x>=18&&x<=23&&b<x&&b>=18||m&&x>=18&&b<x&&b<=18?{output:{key:"this_evening"},state:"warning",nextDate:T,nextChange:l}:c&&!d&&O>=0&&O<12?{output:{key:"tomorrow_morning"},state:"warning",nextDate:T,nextChange:l}:c&&!d&&O>=12&&O<18?{output:{key:"tomorrow_afternoon"},state:"warning",nextDate:T,nextChange:l}:c&&!d&&O>=18&&O<=23?{output:{key:"tomorrow_evening"},state:"warning",nextDate:T,nextChange:l}:m&&x<=12&&k<=23&&b<=O||d?{output:{key:"available"},state:"success",nextDate:T,nextChange:l}:{output:{key:"no_schedules"},state:"disabled"}},getPublicHolidaysFromDateMonth:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.get(),n=new Date(e),a=n.getMonth();t.address&&t.address.county&&(t.address.state=t.address.county);var s=[],o=new r("PH",t),i=new Date(n);i.setMonth(a-1);var l=i.getMonth(),g=new Date(n);g.setMonth(a+1);var p,d=g.getMonth();for(p=o.getNextChange(i);p.getMonth()===l||p.getMonth()===d||p.getMonth()===a;){if(o.getState(p)){var m=o.getComment(p);s.push({date:p,name:m})}p=o.getNextChange(p)}return s},getLastKnownOpeningDate:e=>{var t,n=(new Date).getFullYear(),a=new Date(n-1,0,1),s=h(e),o=new r(s,u.get()).getIterator(a),i=new Date(n+2,0,1);i.setHours("00","00","00");for(var l,g=o.advance(i);g;)l="open"===o.getStateString(),g&&l&&(t=o.getDate()),g=o.advance(i);return o.advance()&&o.getDate()>=i?void 0:t},nominatim:u}},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){var n={place_id:"178940152",licence:"Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright",osm_type:"relation",osm_id:"8649",lat:"48.6443057",lon:"2.7537863",display_name:"Île-de-France, France métropolitaine, France",address:{state:"Île-de-France",country:"France",country_code:"fr"},boundingbox:["48.1201456","49.241431","1.4462445","3.5592208"]};e.exports={get:()=>n,set:e=>{n=e}}}])}));