You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
aliseptik/local/templates/.default/js/libs/vanilla-calendar.min.js

1 lines
36 KiB

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VanillaCalendar=t()}(this,function(){"use strict";var $=Object.defineProperty,s=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,l=(e,t,a)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,i=(e,t)=>{for(var a in t=t||{})F.call(t,a)&&l(e,a,t[a]);if(s)for(var a of s(t))I.call(t,a)&&l(e,a,t[a]);return e},a=(e,t,a)=>(l(e,"symbol"!=typeof t?t+"":t,a),a);const t={calendar:"vanilla-calendar",calendarDefault:"vanilla-calendar_default",calendarMultiple:"vanilla-calendar_multiple",calendarMonth:"vanilla-calendar_month",calendarYear:"vanilla-calendar_year",calendarHidden:"vanilla-calendar_hidden",calendarToInput:"vanilla-calendar_to-input",calendarToInputTop:"vanilla-calendar_to-input_top",calendarToInputBottom:"vanilla-calendar_to-input_bottom",controls:"vanilla-calendar-controls",grid:"vanilla-calendar-grid",gridDisabled:"vanilla-calendar-grid_disabled",column:"vanilla-calendar-column",columnMonth:"vanilla-calendar-column_month",columnYear:"vanilla-calendar-column_year",header:"vanilla-calendar-header",headerContent:"vanilla-calendar-header__content",month:"vanilla-calendar-month",monthDisabled:"vanilla-calendar-month_disabled",year:"vanilla-calendar-year",yearDisabled:"vanilla-calendar-year_disabled",arrow:"vanilla-calendar-arrow",arrowPrev:"vanilla-calendar-arrow_prev",arrowNext:"vanilla-calendar-arrow_next",wrapper:"vanilla-calendar-wrapper",content:"vanilla-calendar-content",week:"vanilla-calendar-week",weekDay:"vanilla-calendar-week__day",weekDayWeekend:"vanilla-calendar-week__day_weekend",days:"vanilla-calendar-days",daysSelecting:"vanilla-calendar-days_selecting",months:"vanilla-calendar-months",monthsSelecting:"vanilla-calendar-months_selecting",monthsMonth:"vanilla-calendar-months__month",monthsMonthSelected:"vanilla-calendar-months__month_selected",monthsMonthDisabled:"vanilla-calendar-months__month_disabled",years:"vanilla-calendar-years",yearsSelecting:"vanilla-calendar-years_selecting",yearsYear:"vanilla-calendar-years__year",yearsYearSelected:"vanilla-calendar-years__year_selected",yearsYearDisabled:"vanilla-calendar-years__year_disabled",time:"vanilla-calendar-time",timeContent:"vanilla-calendar-time__content",timeHours:"vanilla-calendar-time__hours",timeMinutes:"vanilla-calendar-time__minutes",timeKeeping:"vanilla-calendar-time__keeping",timeRanges:"vanilla-calendar-time__ranges",timeRange:"vanilla-calendar-time__range",day:"vanilla-calendar-day",dayHoverFirst:"vanilla-calendar-day_hover-first",dayHoverLast:"vanilla-calendar-day_hover-last",dayHoverIntermediate:"vanilla-calendar-day_hover-intermediate",daySelectedFirst:"vanilla-calendar-day_selected-first",daySelectedLast:"vanilla-calendar-day_selected-last",daySelectedIntermediate:"vanilla-calendar-day_selected-intermediate",dayPopup:"vanilla-calendar-day__popup",dayBtn:"vanilla-calendar-day__btn",dayBtnPrev:"vanilla-calendar-day__btn_prev",dayBtnNext:"vanilla-calendar-day__btn_next",dayBtnToday:"vanilla-calendar-day__btn_today",dayBtnSelected:"vanilla-calendar-day__btn_selected",dayBtnHover:"vanilla-calendar-day__btn_hover",dayBtnDisabled:"vanilla-calendar-day__btn_disabled",dayBtnWeekend:"vanilla-calendar-day__btn_weekend",dayBtnHoliday:"vanilla-calendar-day__btn_holiday",weekNumbers:"vanilla-calendar-week-numbers",weekNumbersTitle:"vanilla-calendar-week-numbers__title",weekNumbersContent:"vanilla-calendar-week-numbers__content",weekNumber:"vanilla-calendar-week-number",isFocus:"vanilla-calendar-is-focus"};const P=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-`+String(e.getDate()).padStart(2,"0"),q=e=>new Date(e+"T00:00:00"),d=e=>e.reduce((n,e)=>(e.match(/^(\d{4}-\d{2}-\d{2})$/g)?n.push(e):e.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g,(e,t,a)=>{for(var t=q(t),s=q(a),l=new Date(t.getTime());l<=s;l.setDate(l.getDate()+1))n.push(P(l));return e}),n),[]),c=e=>e?{0:"12",13:"01",14:"02",15:"03",16:"04",17:"05",18:"06",19:"07",20:"08",21:"09",22:"10",23:"11"}[Number(e)]||String(e):"",r='The calendar has not been initialized, please initialize it using the "init()" method first.',o=e=>{e.currentType=e.type,s=void 0!==(a=e).settings.selected.month&&0<=Number(a.settings.selected.month)&&Number(a.settings.selected.month)<12,l=void 0!==a.settings.selected.year&&0<=Number(a.settings.selected.year)&&Number(a.settings.selected.year)<=9999,a.selectedMonth=s?Number(a.settings.selected.month):a.date.today.getMonth(),a.selectedYear=l?Number(a.settings.selected.year):a.date.today.getFullYear(),a.viewYear=a.selectedYear,(t=e).settings.range.min=(q(t.date.min)>=q(t.settings.range.min)?t.date:t.settings.range).min,t.settings.range.max=(q(t.date.max)<=q(t.settings.range.max)?t.date:t.settings.range).max,s=t.settings.range.disablePast&&!t.settings.range.disableAllDays&&q(t.settings.range.min)<t.date.today,t.rangeMin=s||t.settings.range.disableAllDays?P(t.date.today):t.settings.range.min,t.rangeMax=t.settings.range.disableAllDays?P(t.date.today):t.settings.range.max,t.rangeDisabled=t.settings.range.disabled&&!t.settings.range.disableAllDays?d(t.settings.range.disabled):t.settings.range.disableAllDays?[t.rangeMin]:[],1<t.rangeDisabled.length&&t.rangeDisabled.sort((e,t)=>+new Date(e)-+new Date(t)),t.rangeEnabled=t.settings.range.enabled?d(t.settings.range.enabled):[],null!=(s=t.rangeEnabled)&&s[0]&&null!=(s=t.rangeDisabled)&&s[0]&&(t.rangeDisabled=t.rangeDisabled.filter(e=>!t.rangeEnabled.includes(e))),1<t.rangeEnabled.length&&t.rangeEnabled.sort((e,t)=>+new Date(e)-+new Date(t)),null!=(s=t.rangeEnabled)&&s[0]&&t.settings.range.disableAllDays&&(t.rangeMin=t.rangeEnabled[0],t.rangeMax=t.rangeEnabled[t.rangeEnabled.length-1]),(l=e).selectedDates=null!=(a=l.settings.selected.dates)&&a[0]?d(l.settings.selected.dates):[],l.selectedHolidays=null!=(a=l.settings.selected.holidays)&&a[0]?d(l.settings.selected.holidays):[],(s=e).dateMin=s.settings.visibility.disabled?q(s.date.min):q(s.rangeMin),s.dateMax=s.settings.visibility.disabled?q(s.date.max):q(s.rangeMax);{var n=e;const r=!0===n.settings.selection.time||12===n.settings.selection.time;if(r||24===n.settings.selection.time){let l=!1;"string"==typeof n.settings.selected.time&&(a=r?/^([0-9]|0[1-9]|1[0-2]):([0-5][0-9])|(AM|PM)/g:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])/g,n.settings.selected.time.replace(a,(e,t,a,s)=>(t&&a&&(l=!0,n.selectedHours=t,n.selectedMinutes=a),s&&r?n.selectedKeeping=s:r&&(n.selectedKeeping="AM"),""))),!l&&r?(n.selectedHours=c(String(n.date.today.getHours())),n.selectedMinutes=String(n.date.today.getMinutes()),n.selectedKeeping=12<=Number(n.date.today.getHours())?"PM":"AM"):l||(n.selectedHours=String(n.date.today.getHours()),n.selectedMinutes=String(n.date.today.getMinutes())),n.selectedHours=Number(n.selectedHours)<10?"0"+Number(n.selectedHours):""+n.selectedHours,n.selectedMinutes=Number(n.selectedMinutes)<10?"0"+Number(n.selectedMinutes):""+n.selectedMinutes,n.selectedTime=n.selectedHours+":"+n.selectedMinutes+(n.selectedKeeping?" "+n.selectedKeeping:"")}else if(n.settings.selection.time)throw new Error("The value of the time property can be: false, true, 12 or 24.")}var t,a,s,l;(l=e).correctMonths="multiple"===l.type?1===l.months?2:12<l.months?12:l.months:1},u=({arrowPrev:e,arrowNext:t,isPrevHidden:a,isNextHidden:s})=>{e.style.visibility=a?"hidden":"",t.style.visibility=s?"hidden":""},p=s=>{var e;if("month"!==s.currentType){const l=null==(e=s.HTMLElement)?void 0:e.querySelector("."+s.CSSClasses.arrowPrev),n=null==(e=s.HTMLElement)?void 0:e.querySelector("."+s.CSSClasses.arrowNext);l&&n&&{default:()=>{var e=q(P(new Date(s.selectedYear,s.selectedMonth,1))),t=new Date(e.getTime()),a=new Date(e.getTime()),e=(t.setMonth(t.getMonth()-s.jumpMonths),a.setMonth(a.getMonth()+s.jumpMonths),s.settings.selection.year||(s.dateMin.setFullYear(e.getFullYear()),s.dateMax.setFullYear(e.getFullYear())),!s.settings.selection.month||t.getFullYear()<s.dateMin.getFullYear()||t.getFullYear()===s.dateMin.getFullYear()&&t.getMonth()<s.dateMin.getMonth()),t=!s.settings.selection.month||a.getFullYear()>s.dateMax.getFullYear()||a.getFullYear()===s.dateMax.getFullYear()&&a.getMonth()>s.dateMax.getMonth();u({arrowPrev:l,arrowNext:n,isPrevHidden:e,isNextHidden:t})},year:()=>{u({arrowPrev:l,arrowNext:n,isPrevHidden:s.dateMin.getFullYear()&&s.viewYear-7<=s.dateMin.getFullYear(),isNextHidden:s.dateMax.getFullYear()&&s.viewYear+7>=s.dateMax.getFullYear()})}}["multiple"===s.currentType?"default":s.currentType]()}},h=(e,t)=>{return e?(e=q(e),t=t?e.getDay()||7:e.getDay(),e.setDate(e.getDate()+4-t),t=new Date(e.getFullYear(),0,1),t=Math.ceil(((+e-+t)/864e5+1)/7),{year:e.getFullYear(),week:t}):null},W=(e,t,a,s,l)=>{var t=t[a].querySelector("."+e.CSSClasses.dayBtn),a=h(null==t?void 0:t.dataset.calendarDay,e.settings.iso8601);a&&((t=s.cloneNode(!0)).innerText=String(a.week),t.dataset.calendarYearWeek=String(a.year),l.append(t))},B=(e,t,a,s,l,n,r,i)=>{var d,c,o,u,m=document.createElement("div");m.className=e.CSSClasses.day;const g=document.createElement("button");g.className=e.CSSClasses.dayBtn+(i?" "+i:""),g.type="button",g.innerText=String(s),g.dataset.calendarDay=n,e.settings.visibility.weekNumbers&&(i=h(n,e.settings.iso8601))&&(g.dataset.calendarWeekNumber=String(i.week)),r&&!e.settings.visibility.daysOutside||m.append(g),i=n,o=null==(o=(c=e).settings.range.disableWeekday)?void 0:o.includes(l),u=c.settings.range.disableAllDays&&!(null==(u=c.rangeEnabled)||!u[0]),!o&&!u||null!=(o=c.rangeEnabled)&&o.includes(i)||null!=(u=c.rangeDisabled)&&u.includes(i)||(c.rangeDisabled.push(i),null==(o=c.rangeDisabled))||o.sort((e,t)=>+new Date(e)-+new Date(t)),u=e,i=t,c=m,o=g,t=l,l=n,r=r,(q(u.rangeMin)>q(l)||q(u.rangeMax)<q(l)||null!=(d=u.rangeDisabled)&&d.includes(l)||!u.settings.selection.month&&r||!u.settings.selection.year&&q(l).getFullYear()!==i)&&(o.classList.add(u.CSSClasses.dayBtnDisabled),o.tabIndex=-1),u.settings.visibility.today&&P(u.date.today)===l&&o.classList.add(u.CSSClasses.dayBtnToday),!u.settings.visibility.weekend||0!==t&&6!==t||o.classList.add(u.CSSClasses.dayBtnWeekend),null!=(d=u.selectedHolidays)&&d.includes(l)&&o.classList.add(u.CSSClasses.dayBtnHoliday),null!=(r=u.selectedDates)&&r.includes(l)&&(o.classList.add(u.CSSClasses.dayBtnSelected),1<u.selectedDates.length)&&"multiple-ranged"===u.settings.selection.day&&(u.selectedDates[0]===l&&c.classList.add(u.CSSClasses.daySelectedFirst),u.selectedDates[u.selectedDates.length-1]===l&&c.classList.add(u.CSSClasses.daySelectedLast),u.selectedDates[0]!==l)&&u.selectedDates[u.selectedDates.length-1]!==l&&c.classList.add(u.CSSClasses.daySelectedIntermediate),a.append(m),e.actions.getDays&&e.actions.getDays(s,n,m,g,e)},C=$=>{const e=$.HTMLElement.querySelectorAll("."+$.CSSClasses.days),F=$.HTMLElement.querySelectorAll("."+$.CSSClasses.weekNumbers),I=new Date($.selectedYear,$.selectedMonth,1);e.forEach((e,t)=>{var l,n,a=new Date(I),s=(a.setMonth(a.getMonth()+t),a.getMonth()),a=a.getFullYear(),r=new Date(a,s,1),i=new Date(a,s+1,0).getDate(),r=$.settings.iso8601?(0!==r.getDay()?r.getDay():7)-1:r.getDay();$.settings.selection.day&&e.classList.add($.CSSClasses.daysSelecting),e.innerHTML="";{var d=$,c=e,o=a,u=s,m=r;let t=new Date(o,u,0).getDate()-(m-1);var g=0===u?o-1:o,h=0===u?12:u<10?"0"+u:u;for(let e=m;0<e;e--,t++){const u=g+`-${h}-`+t,m=q(u).getDay();B(d,o,c,t,m,u,!0,d.CSSClasses.dayBtnPrev)}}var y=$,v=e,M=i,S=a,p=s;for(let e=1;e<=M;e++){const M=new Date(S,p,e),N=P(M),A=M.getDay();B(y,S,v,e,A,N,!1,null)}var C=$,b=e,f=a,w=s,D=r,D=D+i,T=7*Math.ceil(D/7)-D,L=w+1===12?f+1:f,E=w+1===12?"01":w+2<10?"0"+(w+2):w+2;for(let e=1;e<=T;e++){const w=L+`-${E}-`+(e<10?"0"+e:String(e)),D=q(w).getDay();B(C,f,b,e,D,w,!0,C.CSSClasses.dayBtnNext)}var H=$,u=r,m=i,a=F[t],s=e;if(H.settings.visibility.weekNumbers){a.innerHTML="";var D=document.createElement("b"),k=(D.className=H.CSSClasses.weekNumbersTitle,D.innerText="#",a.append(D),document.createElement("div")),Y=(k.className=H.CSSClasses.weekNumbersContent,a.append(k),document.createElement("button")),_=(Y.type="button",Y.className=H.CSSClasses.weekNumber,s.querySelectorAll("."+H.CSSClasses.day)),x=Math.ceil((u+m)/7);for(let e=0;e<x;e++)W(H,_,0===e?6:7*e,Y,k)}n=e,(l=$).popups&&null!=(w=Object.entries(l.popups))&&w.forEach(([e,t])=>{var a=n,s=l.CSSClasses.dayPopup;(a=a.querySelector(`[data-calendar-day="${e}"]`))&&(null!=t&&t.modifier&&a.classList.add(...t.modifier.trim().split(" ")),null!=t)&&t.html&&(a.parentElement.innerHTML+=`<div class="${s}">${t.html}</div>`)})})},b=l=>{var e=null==(e=l.HTMLElement)?void 0:e.querySelectorAll("[data-calendar-selected-month]"),t=null==(t=l.HTMLElement)?void 0:t.querySelectorAll("[data-calendar-selected-year]");if(null!=e&&e[0]||null==t||!t[0]){const n=new Date(l.selectedYear,l.selectedMonth,1);null!=e&&e.forEach((e,t)=>{var a=l,s=n;s=new Date(s.setMonth(a.selectedMonth+t)).getMonth(),t=!1===a.settings.selection.month||"only-arrows"===a.settings.selection.month,e.tabIndex=t?-1:0,e.classList.toggle(a.CSSClasses.monthDisabled,t),e.setAttribute("data-calendar-selected-month",String(s)),e.innerText=a.locale.months[s]}),null!=t&&t.forEach((e,t)=>{var a=l,s=n;s=new Date(s.setFullYear(a.selectedYear,a.selectedMonth+t)).getFullYear(),t=!1===a.settings.selection.year||"only-arrows"===a.settings.selection.year,e.tabIndex=t?-1:0,e.classList.toggle(a.CSSClasses.yearDisabled,t),e.setAttribute("data-calendar-selected-year",String(s)),e.innerText=String(s)})}},g=(e,t)=>{const a=q(P(new Date(e.selectedYear,e.selectedMonth,1)));({prev:()=>a.setMonth(a.getMonth()-e.jumpMonths),next:()=>a.setMonth(a.getMonth()+e.jumpMonths)})[t](),[e.selectedMonth,e.selectedYear]=[a.getMonth(),a.getFullYear()],b(e),p(e),C(e)},K=Object.freeze(Object.defineProperty({__proto__:null,ArrowNext:e=>`<button type="button"class="${e.CSSClasses.arrow} ${e.CSSClasses.arrowNext}"data-calendar-arrow="next"></button>`,ArrowPrev:e=>`<button type="button"class="${e.CSSClasses.arrow} ${e.CSSClasses.arrowPrev}"data-calendar-arrow="prev"></button>`,ControlTime:e=>e.settings.selection.time?`<div class="${e.CSSClasses.time}"></div>`:"",Days:e=>`<div class="${e.CSSClasses.days}"></div>`,Month:e=>`<button type="button"class="${e.CSSClasses.month}"data-calendar-selected-month></button>`,Months:e=>`<div class="${e.CSSClasses.months}"></div>`,Week:e=>`<div class="${e.CSSClasses.week}"></div>`,WeekNumbers:e=>e.settings.visibility.weekNumbers?`<div class="${e.CSSClasses.weekNumbers}"></div>`:"",Year:e=>`<button type="button"class="${e.CSSClasses.year}"data-calendar-selected-year></button>`,Years:e=>`<div class="${e.CSSClasses.years}"></div>`},Symbol.toStringTag,{value:"Module"})),m=(a,e)=>e.replace(/[\n\t]/g,"").replace(/<#(?!\/?Multiple)(.*?)>/g,(e,t)=>{t=t.replace(/[/\s\n\t]/g,"");t=K[t];return t?t(a):""}).replace(/[\n\t]/g,""),f=(l,s)=>{const{HTMLElement:n,CSSClasses:r,DOMTemplates:e,type:t,currentType:a,correctMonths:i}=l,d=(e,t)=>{var a;s&&((a=n.querySelector("."+r.controls))&&n.removeChild(a),n.querySelector("."+r.grid).classList.add(r.gridDisabled),(a=s.closest("."+r.column)).classList.add(e),a.innerHTML=m(l,t))},c={default:()=>{n.classList.add(r.calendarDefault),n.classList.remove(r.calendarMonth,r.calendarYear),n.innerHTML=m(l,e.default)},multiple:()=>{var s;i&&(n.classList.add(r.calendarMultiple),n.classList.remove(r.calendarMonth,r.calendarYear),n.innerHTML=(s=l,m(l,e.multiple).replace(/<#Multiple>(.*?)<#\/Multiple>/g,(e,t)=>{let a="";for(let e=0;e<s.correctMonths;e++)a+=t;return a}).replace(/[\n\t]/g,"")))},month:()=>{"multiple"!==t?(n.classList.add(r.calendarMonth),n.classList.remove(r.calendarDefault,r.calendarYear),n.innerHTML=m(l,e.month)):d(r.columnMonth,e.month)},year:()=>{"multiple"!==t?(n.classList.add(r.calendarYear),n.classList.remove(r.calendarDefault,r.calendarMonth),n.innerHTML=m(l,e.year)):d(r.columnYear,e.year)}};n.classList.add(r.calendar),c[a]()},O=(e,t,a,s,l)=>{t=t.cloneNode(!1);return t.className=""+e.CSSClasses.yearsYear+(a===l?" "+e.CSSClasses.yearsYearSelected:s?" "+e.CSSClasses.yearsYearDisabled:""),t.dataset.calendarYear=String(l),t.title=String(l),t.innerText=String(l),s&&(t.tabIndex=-1),t},w=(t,e)=>{var a=null!=e&&e.dataset.calendarSelectedYear?Number(null==e?void 0:e.dataset.calendarSelectedYear):t.selectedYear,s=(t.currentType="year",f(t,e),b(t),p(t),t.HTMLElement.querySelector("."+t.CSSClasses.years));if(t.settings.selection.year&&s){s.classList.add(t.CSSClasses.yearsSelecting);var l="multiple"!==t.type||t.selectedYear===a?0:1,n=document.createElement("button");n.type="button";for(let e=t.viewYear-7;e<t.viewYear+8;e++){var r=e<t.dateMin.getFullYear()+l||e>t.dateMax.getFullYear(),r=O(t,n,a,r,e);s.append(r),t.actions.getYears&&t.actions.getYears(e,r,t)}}},D=e=>(""+e.charAt(0).toUpperCase()+e.substring(1,e.length)).replace(/\./,""),y=t=>{var e;return"multiple"===t.type&&0<(e=[...t.HTMLElement.querySelectorAll("."+t.CSSClasses.column)].findIndex(e=>e.classList.contains(""+t.CSSClasses.columnMonth)))?e:0},j=(e,t,a,s,l,n)=>{t=t.cloneNode(!1);return t.className=""+e.CSSClasses.monthsMonth+(a===n?" "+e.CSSClasses.monthsMonthSelected:l?" "+e.CSSClasses.monthsMonthDisabled:""),t.title=s,t.innerText=""+(e.settings.visibility.monthShort?s.substring(0,3):s),t.dataset.calendarMonth=String(n),l&&(t.tabIndex=-1),t},T=(a,e)=>{var t,s;const l=null!=e&&e.dataset.calendarSelectedMonth?Number(e.dataset.calendarSelectedMonth):a.selectedMonth,n=null==(t=null==e?void 0:e.closest("."+a.CSSClasses.column))?void 0:t.querySelector("."+a.CSSClasses.year),r=n?Number(n.dataset.calendarSelectedYear):a.selectedYear;a.currentType="month",f(a,e),b(a);var i=null==(s=a.HTMLElement)?void 0:s.querySelector("."+a.CSSClasses.months);if(a.settings.selection.month&&i){i.classList.add(a.CSSClasses.monthsSelecting);var d=1<a.jumpMonths?a.locale.months.map((e,t)=>l-a.jumpMonths*t).concat(a.locale.months.map((e,t)=>l+a.jumpMonths*t)).filter(e=>0<=e&&e<=12):Array.from(Array(12).keys()),c=document.createElement("button");c.type="button";for(let e=0;e<12;e++){const t=a.locale.months[e],s=e<a.dateMin.getMonth()+y(a)&&r<=a.dateMin.getFullYear()||e>a.dateMax.getMonth()+y(a)&&r>=a.dateMax.getFullYear()||e!==l&&!d.includes(e),n=j(a,c,l,t,s,e);i.append(n),a.actions.getMonths&&a.actions.getMonths(e,n,a)}}},L=(e,t)=>e&&t?{0:{AM:"00",PM:"12"},1:{AM:"01",PM:"13"},2:{AM:"02",PM:"14"},3:{AM:"03",PM:"15"},4:{AM:"04",PM:"16"},5:{AM:"05",PM:"17"},6:{AM:"06",PM:"18"},7:{AM:"07",PM:"19"},8:{AM:"08",PM:"20"},9:{AM:"09",PM:"21"},10:{AM:"10",PM:"22"},11:{AM:"11",PM:"23"},12:{AM:"12",PM:"12"}}[Number(e)][t]:"",E=(e,t,a)=>e.querySelector("."+t+(a?` input[name="${a}"]`:"")),H=(e,t,a)=>{e.addEventListener("mouseover",()=>t.classList.add(a)),e.addEventListener("mouseout",()=>t.classList.remove(a))},k=(e,t,a,s)=>{({hours:()=>{e.selectedHours=a},minutes:()=>{e.selectedMinutes=a}})[s](),e.selectedTime=e.selectedHours+":"+e.selectedMinutes+(e.selectedKeeping?" "+e.selectedKeeping:""),e.actions.changeTime&&e.actions.changeTime(t,e),e.input&&e.HTMLInputElement&&e.actions.changeToInput&&e.actions.changeToInput(t,e)},Y=(l,e,n,r,i,d)=>{e.addEventListener("input",e=>{var t=e.target,a=Number(t.value),s=a<10?"0"+a:""+a;"hours"!==i||12!==d?(n.value=s,k(l,e,s,i)):a<d&&0<a?(n.value=s,l.selectedKeeping="AM",r.innerText=l.selectedKeeping,k(l,e,s,i)):(0===a?(l.selectedKeeping="AM",r.innerText="AM"):(l.selectedKeeping="PM",r.innerText="PM"),n.value=c(t.value),k(l,e,c(t.value),i))})},_=(l,n,e,r,i,d)=>{e.addEventListener("change",e=>{var t=e.target,a=Number(t.value),s=a<10?"0"+a:""+a;"hours"===i&&12===d?t.value&&a<=d&&0<a?(t.value=s,n.value=L(s,l.selectedKeeping),k(l,e,s,i)):t.value&&a<24&&(d<a||0===a)?(0===a?(l.selectedKeeping="AM",r.innerText="AM"):(l.selectedKeeping="PM",r.innerText="PM"),t.value=c(t.value),n.value=s,k(l,e,c(t.value),i)):t.value=l.selectedHours:t.value&&a<=d&&0<=a?(t.value=s,n.value=s,k(l,e,s,i)):"hours"===i?t.value=l.selectedHours:"minutes"===i&&(t.value=l.selectedMinutes)})},R=(e,t,a,s)=>`<label class="${t}"><input type="text"name="${e}"maxlength="2"value="${a}"${s?"disabled":""}></label>`,z=(e,t,a,s,l,n)=>`<label class="${t}"><input type="range"name="${e}"min="${a}"max="${s}"step="${l}"value="${n}"></label>`,G=i=>{const d=[...i.locale.weekday];d[0]&&(i.settings.iso8601&&d.push(d.shift()),i.HTMLElement.querySelectorAll("."+i.CSSClasses.week).forEach(e=>{var t=i,a=e,s=d,l=document.createElement("b");a.innerHTML="";for(let e=0;e<s.length;e++){var n=s[e],r=l.cloneNode(!0);r.className=""+t.CSSClasses.weekDay,r.className=""+t.CSSClasses.weekDay+(t.settings.visibility.weekend&&t.settings.iso8601?5===e||6===e?" "+t.CSSClasses.weekDayWeekend:"":!t.settings.visibility.weekend||t.settings.iso8601||0!==e&&6!==e?"":" "+t.CSSClasses.weekDayWeekend),r.innerText=""+n,a.append(r)}}))},Z=["light","dark","system"],n={value:!1,set:()=>{n.value=!0},check:()=>n.value},U=(a,s)=>Z.find(e=>{var t;return"system"!==e&&(null==(t=a.getAttribute(s))?void 0:t.includes(e))}),x=(e,t)=>{e.dataset.calendarTheme=t},V=(a,e)=>{var t=e;x(a.HTMLElement,t.matches?"dark":"light"),"system"!==a.settings.visibility.theme||n.check()||(t=t=>{var e=document.querySelectorAll("."+a.CSSClasses.calendar);null!=e&&e.forEach(e=>x(e,t.matches?"dark":"light"))},e.addEventListener?e.addEventListener("change",t):e.addListener(t),n.set())},v=e=>{var t,a,s,l,n,r,i,d,c,o,u,m={default:()=>{G(e),C(e)},multiple:()=>{G(e),C(e)},month:()=>T(e),year:()=>w(e)},g=e;if(!Z.includes(g.settings.visibility.theme))throw new Error('Incorrect name of theme in "settings.visibility.theme".');"not all"===window.matchMedia("(prefers-color-scheme)").media?x(g.HTMLElement,"light"):{light:()=>x(g.HTMLElement,"light"),dark:()=>x(g.HTMLElement,"dark"),system:()=>{var e,t,a,s,l,n,r,i;e=g,t=window.matchMedia("(prefers-color-scheme: dark)"),(i=e.settings.visibility.themeDetect?document.querySelector(e.settings.visibility.themeDetect):null)&&(a=e.settings.visibility.themeDetect.replace(/^.*\[(.+)\]/g,(e,t)=>t),s=U(i,a))?(x(e.HTMLElement,s),l=e,n=i,r=a,new MutationObserver(t=>{for(let e=0;e<t.length;e++)if(t[e].attributeName===r){const t=U(n,r);t&&x(l.HTMLElement,t);break}}).observe(n,{attributes:!0})):V(e,t)}}[g.settings.visibility.theme]();var h=e;if("define"!==h.settings.lang||!h.locale.weekday[6]||!h.locale.months[11]){if("define"===h.settings.lang)throw new Error('You specified "define" for "settings.lang" but did not provide the required values for "locale.weekday" or "locale.months".');h.locale.weekday=[],h.locale.months=[];for(let e=0;e<7;e++){var y=h;var v=e;v=new Date(`1978-01-0${v+1}T00:00:00.000Z`).toLocaleString(y.settings.lang,{weekday:"short",timeZone:"UTC"});y.locale.weekday.push(D(v))}for(let e=0;e<12;e++){var M=h;var S=e;S=new Date(`1978-${S+1<=9?"0"+(S+1):S+1}-01T00:00:00.000Z`).toLocaleString(M.settings.lang,{month:"long",timeZone:"UTC"});M.locale.months.push(D(S))}}f(e),b(e),p(e),(u=(t=e).HTMLElement.querySelector("."+t.CSSClasses.time))&&(a=!0===t.settings.selection.time?12:t.settings.selection.time,s="range"===t.settings.selection.controlTime,[l,n]=[0,23],[c,o]=[0,59],u.innerHTML=`<div class="${t.CSSClasses.timeContent}">${R("hours",t.CSSClasses.timeHours,t.selectedHours,s)}${R("minutes",t.CSSClasses.timeMinutes,t.selectedMinutes,s)}${12===a?`<button type="button" class="${t.CSSClasses.timeKeeping}"${s?"disabled":""}>${t.selectedKeeping}</button>`:""}</div><div class="${t.CSSClasses.timeRanges}">${z("hours",t.CSSClasses.timeRange,l,n,t.settings.selection.stepHours,t.selectedKeeping?L(t.selectedHours,t.selectedKeeping):t.selectedHours)}${z("minutes",t.CSSClasses.timeRange,c,o,t.settings.selection.stepMinutes,t.selectedMinutes)}</div>`,s=t,l=u,n=24===(n=a)?23:n||12,c=E(l,s.CSSClasses.timeRange,"hours"),o=E(l,s.CSSClasses.timeRange,"minutes"),t=E(l,s.CSSClasses.timeHours,"hours"),u=E(l,s.CSSClasses.timeMinutes,"minutes"),l=l.querySelector("."+s.CSSClasses.timeKeeping),H(c,t,s.CSSClasses.isFocus),H(o,u,s.CSSClasses.isFocus),Y(s,c,t,l,"hours",n),Y(s,o,u,l,"minutes",0),_(s,c,t,l,"hours",n),_(s,o,u,l,"minutes",59),l)&&(r=s,d=c,(i=l).addEventListener("click",e=>{r.selectedKeeping=i.innerText.includes("AM")?"PM":"AM",i.innerText=r.selectedKeeping,d.value=L(r.selectedHours,r.selectedKeeping),k(r,e,r.selectedHours,"hours")})),m[e.currentType]()},M={self:null,rangeMin:void 0,rangeMax:void 0},X=()=>{var e;if(null!=(e=M.self)&&e.HTMLElement){const t=M.self["CSSClasses"];M.self.HTMLElement.querySelectorAll("."+M.self.CSSClasses.dayBtnHover).forEach(e=>{e.classList.remove(M.self.CSSClasses.dayBtnHover),null!=(e=e.parentElement)&&e.classList.remove(t.dayHoverIntermediate,t.dayHoverFirst,t.dayHoverLast)})}},S=e=>{if(e.target&&null!=(t=M.self)&&t.selectedDates)if(e.target.closest("."+M.self.CSSClasses.days)){var t=e.target.closest("[data-calendar-day]");if(t){var e=t.dataset.calendarDay,t=q(M.self.selectedDates[0]),a=q(e),s=M.self.HTMLElement.querySelectorAll(`[data-calendar-day="${M.self.selectedDates[0]}"]`),e=M.self.HTMLElement.querySelectorAll(`[data-calendar-day="${e}"]`),[l,n]=t<a?[s,e]:[e,s],[e,r]=t<a?[t,a]:[a,t];X();for(var i=new Date(e);i<=r;i.setDate(i.getDate()+1))((e,t,a)=>{var s;if(null!=(s=M.self)&&s.selectedDates){const l=P(e),n=M.self["CSSClasses"];null!=(s=M.self.rangeDisabled)&&s.includes(l)||(null!=(s=null==(e=M.self.HTMLElement)?void 0:e.querySelectorAll(`[data-calendar-day="${l}"]`))&&s.forEach(e=>{e.classList.add(n.dayBtnHover),null!=(e=e.parentElement)&&e.classList.add(n.dayHoverIntermediate)}),null!=t&&t.forEach(e=>{return null==(e=e.parentElement)?void 0:e.classList.add(n.dayHoverFirst)}),null!=a&&a.forEach(e=>{return null==(e=e.parentElement)?void 0:e.classList.add(n.dayHoverLast)}))}})(i,l,n)}}else X()},N=e=>{M.self&&"Escape"===e.key&&(M.self.selectedDates=[],M.self.HTMLElement.removeEventListener("mousemove",S),document.removeEventListener("keydown",N),v(M.self))},J=(l,e)=>{if(e){const t=1===l.selectedDates.length&&l.selectedDates[0].includes(e);l.selectedDates=t&&!l.settings.selection.cancelableDay?[e,e]:t&&l.settings.selection.cancelableDay?[]:1<l.selectedDates.length?[e]:[...l.selectedDates,e],null!=(e=l.selectedDates)&&e.sort((e,t)=>+new Date(e)-+new Date(t))}l.settings.range.disableGaps&&(M.rangeMin=M.rangeMin||l.rangeMin,M.rangeMax=M.rangeMax||l.rangeMax),M.self=l;const t={set:()=>{var e;if((l.HTMLElement.addEventListener("mousemove",S),document.addEventListener("keydown",N),l.settings.range.disableGaps)&&(null!=(e=null==(e=M.self)?void 0:e.selectedDates)&&e[0]&&M.self.rangeDisabled&&!((null==(e=M.self.rangeDisabled)?void 0:e.length)<2))){const s=q(M.self.selectedDates[0]),[t,a]=M.self.rangeDisabled.map(e=>q(e)).reduce(([e,t],a)=>[s>=a?a:e,s<a&&null===t?a:t],[null,null]);t&&(M.self.rangeMin=P(new Date(t.setDate(t.getDate()+1)))),a&&(M.self.rangeMax=P(new Date(a.setDate(a.getDate()-1))))}},reset:()=>{var[e,t]=[l.selectedDates[0],l.selectedDates[l.selectedDates.length-1]];l.selectedDates=l.selectedDates[0]!==l.selectedDates[l.selectedDates.length-1]?d([e+":"+t]):[l.selectedDates[0],l.selectedDates[0]],l.HTMLElement.removeEventListener("mousemove",S),document.removeEventListener("keydown",N),l.settings.range.disableGaps&&M.self&&(M.self.rangeMin=M.rangeMin,M.self.rangeMax=M.rangeMax)}};t[1===l.selectedDates.length?"set":"reset"]()},Q=(e,t,a)=>{if(t.dataset.calendarDay){const s=t.dataset.calendarDay,l=t.classList.contains(e.CSSClasses.dayBtnSelected);l&&!e.settings.selection.cancelableDay||(e.selectedDates=l?e.selectedDates.filter(e=>e!==s):a?[...e.selectedDates,s]:[s])}},ee=(e,t,a,s,l)=>{var n=e.HTMLElement.querySelectorAll("."+e.CSSClasses.column),r=[...n].findIndex(e=>e.classList.contains(t)),n=Number(n[r].querySelector("."+a).getAttribute(l));return"month"===e.currentType&&0<=r?s-r:"year"===e.currentType&&e.selectedYear!==n?s-1:s},te=(e,t,a,s)=>{if(e.settings.selection[a]){const d=t.target,c=e=>d.closest("."+e),o=c(s.header),u=c(s.item),m=c(e.CSSClasses.grid),g=c(e.CSSClasses.column);var n,l,r,i;e.currentType!==a&&o?{year:()=>w(e,d),month:()=>T(e,d)}[a]():u?(n=e,l=t,r=s,i=u,t={year:()=>{var e,t;return null==(t=(e=n.actions).clickYear)?void 0:t.call(e,l,n)},month:()=>{var e,t;return null==(t=(e=n.actions).clickMonth)?void 0:t.call(e,l,n)}},{year:()=>{var e,t,a,s,l;"multiple"===n.type?(e=ee(n,n.CSSClasses.columnYear,n.CSSClasses.year,Number(i.dataset.calendarYear),"data-calendar-selected-year"),t=n.selectedMonth<n.dateMin.getMonth()&&e<=n.dateMin.getFullYear(),a=n.selectedMonth>n.dateMax.getMonth()&&e>=n.dateMax.getFullYear(),s=e<n.dateMin.getFullYear(),l=e>n.dateMax.getFullYear(),t||s?(n.selectedYear=n.dateMin.getFullYear(),n.selectedMonth=n.dateMin.getMonth()):a||l?(n.selectedYear=n.dateMax.getFullYear(),n.selectedMonth=n.dateMax.getMonth()):n.selectedYear=e):n.selectedYear=Number(i.dataset.calendarYear)},month:()=>{var e,t,a;"multiple"===n.type?(e=ee(n,n.CSSClasses.columnMonth,n.CSSClasses.month,Number(i.dataset.calendarMonth),"data-calendar-selected-month"),t=i.closest("."+r.column).querySelector("."+n.CSSClasses.year),n.selectedYear=Number(t.dataset.calendarSelectedYear),t=e<n.dateMin.getMonth()&&n.selectedYear<=n.dateMin.getFullYear(),a=e>n.dateMax.getMonth()&&n.selectedYear>=n.dateMax.getFullYear(),n.selectedMonth=t?n.dateMin.getMonth():a?n.dateMax.getMonth():e):n.selectedMonth=Number(i.dataset.calendarMonth)}}[s=a](),t[s](),n.currentType=n.type,v(n)):(e.currentType===a&&o||"multiple"===e.type&&e.currentType===a&&m&&!g)&&(e.currentType=e.type,v(e))}},ae=m=>{const e=e=>{s=m,(t=(a=e).target.closest("."+s.CSSClasses.arrow))&&(["default","multiple"].includes(s.currentType)?g(s,t.dataset.calendarArrow):"year"===s.currentType&&void 0!==s.viewYear&&(s.viewYear+={prev:-15,next:15}[t.dataset.calendarArrow],w(s,a.target)),s.actions.clickArrow)&&s.actions.clickArrow(a,s);var t=m,a=e;if(t.settings.visibility.weekNumbers&&t.actions.clickWeekNumber){var s=a.target.closest("."+t.CSSClasses.weekNumber),l=null==(l=t.HTMLElement)?void 0:l.querySelectorAll("[data-calendar-week-number]");if(s&&l){const r=Number(s.innerText),i=Number(s.dataset.calendarYearWeek),d=[...l].filter(e=>Number(e.dataset.calendarWeekNumber)===r);t.actions.clickWeekNumber(a,r,d,i,t)}}{var n=m;const c=(s=e).target,o=e=>c.closest("."+e),u=o(n.CSSClasses.dayBtn);n.settings.selection.day&&["single","multiple","multiple-ranged"].includes(n.settings.selection.day)&&u&&({single:()=>Q(n,u,!1),multiple:()=>Q(n,u,!0),"multiple-ranged":()=>J(n,u.dataset.calendarDay)}[n.settings.selection.day](),null!=(l=n.selectedDates)&&l.sort((e,t)=>+new Date(e)-+new Date(t)),n.actions.clickDay&&n.actions.clickDay(s,n),n.input&&n.HTMLInputElement&&n.HTMLElement&&n.actions.changeToInput&&n.actions.changeToInput(s,n),l=o(n.CSSClasses.dayBtnPrev),s=o(n.CSSClasses.dayBtnNext),{prev:()=>g(n,"prev"),next:()=>g(n,"next"),default:()=>C(n)}[l?"prev":s?"next":"default"]())}te(m,e,"month",{header:m.CSSClasses.month,item:m.CSSClasses.monthsMonth,column:m.CSSClasses.columnMonth}),te(m,e,"year",{header:m.CSSClasses.year,item:m.CSSClasses.yearsYear,column:m.CSSClasses.columnYear})};return m.HTMLElement.addEventListener("click",e),()=>m.HTMLElement.removeEventListener("click",e)},se=(e,{year:t,month:a,dates:s,holidays:l,time:n}={})=>{var r=i({},e.settings.selected);e.settings.selected.year=t?r.year:e.selectedYear,e.settings.selected.month=a?r.month:e.selectedMonth,e.settings.selected.holidays=l?r.holidays:e.selectedHolidays,e.settings.selected.time=n?r.time:e.selectedTime,e.settings.selected.dates="only-first"===s&&null!=(t=e.selectedDates)&&t[0]?[e.selectedDates[0]]:!0===s?r.dates:e.selectedDates,o(e),v(e),e.settings.selected=r,"multiple-ranged"===e.settings.selection.day&&s&&J(e)},A=(e,t,a,s)=>{var l={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},n=Array.isArray(a)?a[0]:"bottom",a=Array.isArray(a)?a[1]:a,s=(t.classList.add("bottom"===n?s.calendarToInputBottom:s.calendarToInputTop),e.getBoundingClientRect()),e=window.scrollX||document.documentElement.scrollLeft,r=window.scrollY||document.documentElement.scrollTop,r=s.top+r+l[n],n=s.left+e+l[a];Object.assign(t.style,{left:n+"px",top:r+"px"})};return class extends class{constructor(){var e;a(this,"isInit",!1),a(this,"input",!1),a(this,"type","default"),a(this,"months",2),a(this,"jumpMonths",1),a(this,"date",{min:"1970-01-01",max:"2470-12-31",today:new Date}),a(this,"settings",{lang:"en",iso8601:!0,range:{min:this.date.min,max:this.date.max,disablePast:!1,disableGaps:!1,disableAllDays:!1,disableWeekday:void 0,disabled:void 0,enabled:void 0},selection:{day:"single",month:!0,year:!0,time:!1,controlTime:"all",stepHours:1,stepMinutes:1,cancelableDay:!0},selected:{dates:void 0,month:void 0,year:void 0,holidays:void 0,time:void 0},visibility:{theme:"system",themeDetect:"html[data-theme]",monthShort:!0,weekNumbers:!1,weekend:!0,today:!0,disabled:!1,daysOutside:!0,positionToInput:"left"}}),a(this,"locale",{months:[],weekday:[]}),a(this,"actions",{clickDay:null,clickWeekNumber:null,clickMonth:null,clickYear:null,clickArrow:null,changeTime:null,changeToInput:null,getDays:null,getMonths:null,getYears:null,initCalendar:null,updateCalendar:null,destroyCalendar:null,showCalendar:null,hideCalendar:null}),a(this,"popups",{}),a(this,"CSSClasses",i({},t)),a(this,"DOMTemplates",{default:`<div class="${(e=this.CSSClasses).header}"><#ArrowPrev /><div class="${e.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${e.wrapper}"><#WeekNumbers /><div class="${e.content}"><#Week /><#Days /></div></div><#ControlTime />`,multiple:`<div class="${(e=this.CSSClasses).controls}"><#ArrowPrev /><#ArrowNext /></div><div class="${e.grid}"><#Multiple><div class="${e.column}"><div class="${e.header}"><div class="${e.headerContent}"><#Month /><#Year /></div></div><div class="${e.wrapper}"><#WeekNumbers /><div class="${e.content}"><#Week /><#Days /></div></div></div><#/Multiple></div><#ControlTime />`,month:`<div class="${(e=this.CSSClasses).header}"><div class="${e.headerContent}"><#Month /><#Year /></div></div><div class="${e.wrapper}"><div class="${e.content}"><#Months /></div></div>`,year:`<div class="${(e=this.CSSClasses).header}"><#ArrowPrev /><div class="${e.headerContent}"><#Month /><#Year /></div><#ArrowNext /></div><div class="${e.wrapper}"><div class="${e.content}"><#Years /></div></div>`}),a(this,"HTMLElement"),a(this,"HTMLOriginalElement"),a(this,"HTMLInputElement"),a(this,"rangeMin"),a(this,"rangeMax"),a(this,"rangeDisabled"),a(this,"rangeEnabled"),a(this,"selectedDates"),a(this,"selectedHolidays"),a(this,"selectedMonth"),a(this,"selectedYear"),a(this,"selectedHours"),a(this,"selectedMinutes"),a(this,"selectedKeeping"),a(this,"selectedTime"),a(this,"currentType"),a(this,"correctMonths"),a(this,"viewYear"),a(this,"dateMin"),a(this,"dateMax")}}{constructor(e,t){if(super(),a(this,"init",()=>{return(e=this).HTMLOriginalElement=e.HTMLElement.cloneNode(!0),e.isInit=!0,(e.input?a=>{let t=!0;const e=[],s=(a.HTMLInputElement=a.HTMLElement,()=>A(a.HTMLInputElement,a.HTMLElement,a.settings.visibility.positionToInput,a.CSSClasses)),l=e=>{var t;!a||e.target===a.HTMLInputElement||null!=(t=a.HTMLElement)&&t.contains(e.target)||(a.HTMLInputElement&&a.HTMLElement&&a.hide(),window.removeEventListener("resize",s),document.removeEventListener("click",l,{capture:!0}))};return a.HTMLInputElement.addEventListener("click",()=>{t?e.push((()=>{const e=document.createElement("div");return e.className=`${a.CSSClasses.calendar} ${a.CSSClasses.calendarToInput} `+a.CSSClasses.calendarHidden,a.HTMLElement=e,document.body.append(a.HTMLElement),t=!1,setTimeout(()=>{A(a.HTMLInputElement,e,a.settings.visibility.positionToInput,a.CSSClasses),a.show()},0),se(a,{year:!0,month:!0,dates:!0,holidays:!0,time:!0}),a.actions.initCalendar&&a.actions.initCalendar(a),ae(a)})()):(A(a.HTMLInputElement,a.HTMLElement,a.settings.visibility.positionToInput,a.CSSClasses),a.show()),window.addEventListener("resize",s),document.addEventListener("click",l,{capture:!0})}),()=>{e.forEach(e=>e())}}:(o(e),v(e),e.actions.initCalendar&&e.actions.initCalendar(e),ae))(e);var e}),a(this,"update",e=>{var[e,{year:t,month:a,dates:s,holidays:l,time:n}={}]=[this,e];if(!e.isInit)throw new Error(r);se(e,{year:t,month:a,dates:s,holidays:l,time:n}),e.actions.updateCalendar&&e.actions.updateCalendar(e)}),a(this,"destroy",()=>{var e,t=this;if(!t.isInit)throw new Error(r);t.input?(null!=(e=null==(e=t.HTMLElement)?void 0:e.parentElement)&&e.removeChild(t.HTMLElement),null!=(e=t.HTMLInputElement)&&e.replaceWith(t.HTMLOriginalElement),t.HTMLInputElement=void 0):null!=(e=t.HTMLElement)&&e.replaceWith(t.HTMLOriginalElement),t.HTMLElement=t.HTMLOriginalElement,t.actions.destroyCalendar&&t.actions.destroyCalendar(t)}),a(this,"show",()=>{var e;(e=this).currentType?(e.HTMLElement.classList.remove(e.CSSClasses.calendarHidden),e.actions.showCalendar&&e.actions.showCalendar(e)):e.HTMLElement.click()}),a(this,"hide",()=>{var e;(e=this).currentType&&(e.HTMLElement.classList.add(e.CSSClasses.calendarHidden),e.actions.hideCalendar)&&e.actions.hideCalendar(e)}),this.HTMLElement="string"==typeof e?document.querySelector(e):e,!this.HTMLElement)throw new Error(e+" is not found, check the first argument passed to new VanillaCalendar.");if(t){const s=(t,a)=>{Object.keys(a).forEach(e=>{"object"!=typeof t[e]||"object"!=typeof a[e]||a[e]instanceof Date?t[e]=a[e]:s(t[e],a[e])})};s(this,t)}}}});