1/*! name: @uvarov.frontend/vanilla-calendar | url: https://github.com/uvarov-frontend/vanilla-calendar */ 2"undefined"!=typeof window&&function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var s=t();for(var l in s)("object"==typeof exports?exports:e)[l]=s[l]}}(self,(()=>(()=>{"use strict";var e={d:(t,s)=>{for(var l in s)e.o(s,l)&&!e.o(t,l)&&Object.defineProperty(t,l,{enumerable:!0,get:s[l]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>P});const s=e=>{if(!["default","year"].includes(e.currentType))return;const t=e.HTMLElement.querySelector(`.${e.CSSClasses.arrowPrev}`),s=e.HTMLElement.querySelector(`.${e.CSSClasses.arrowNext}`);(()=>{if(!e.dateMin||!e.dateMax||"default"!==e.currentType)return;const l=e.selectedMonth===e.dateMin.getUTCMonth(),a=e.selectedMonth===e.dateMax.getUTCMonth(),n=!e.settings.selection.year||e.selectedYear===e.dateMin.getUTCFullYear(),i=!e.settings.selection.year||e.selectedYear===e.dateMax.getUTCFullYear();l&&n||!e.settings.selection.month?t.style.visibility="hidden":t.style.visibility="",a&&i||!e.settings.selection.month?s.style.visibility="hidden":s.style.visibility=""})(),e.dateMin&&e.dateMax&&"year"===e.currentType&&void 0!==e.viewYear&&(e.dateMin.getUTCFullYear()&&e.viewYear-7<=e.dateMin.getUTCFullYear()?t.style.visibility="hidden":t.style.visibility="",e.dateMax.getUTCFullYear()&&e.viewYear+7>=e.dateMax.getUTCFullYear()?s.style.visibility="hidden":s.style.visibility="")},l=(e,t)=>{if(!e)return null;const s=new Date(e).getUTCDate(),l=new Date(e).getUTCMonth(),a=new Date(e).getUTCFullYear(),n=new Date(Date.UTC(a,l,s)),i=t?n.getUTCDay()||7:n.getUTCDay();n.setUTCDate(n.getUTCDate()+4-i);const d=new Date(Date.UTC(n.getUTCFullYear(),0,1));return{year:a,week:Math.ceil(((+n-+d)/864e5+1)/7)}},a=e=>{const t=e.getUTCFullYear();let s=e.getUTCMonth()+1,l=e.getUTCDate();return s=s<10?`0${s}`:s,l=l<10?`0${l}`:l,`${t}-${s}-${l}`},n=e=>{if(void 0===e.selectedMonth||void 0===e.selectedYear)return;const t=new Date(Date.UTC(e.selectedYear,e.selectedMonth,1)),s=new Date(Date.UTC(e.selectedYear,e.selectedMonth+1,0)).getUTCDate();let n=Number(t.getUTCDay());e.settings.iso8601&&(n=Number((0!==t.getUTCDay()?t.getUTCDay():7)-1));const i=e.HTMLElement.querySelector(`.${e.CSSClasses.days}`);if(!i)return;const d=document.createElement("div"),r=document.createElement("a");d.className=e.CSSClasses.day,r.className=e.CSSClasses.dayBtn,r.href="",e.settings.selection.day&&["single","multiple","multiple-ranged"].includes(e.settings.selection.day)&&i.classList.add(e.CSSClasses.daysSelecting),i.innerHTML="";const c=(t,s,a,n,c)=>{const o=d.cloneNode(!0),u=r.cloneNode(!0);if(c&&u.classList.add(c),u.innerText=t,u.dataset.calendarDay=a,e.settings.visibility.weekNumbers){const t=l(a,e.settings.iso8601);if(!t)return;u.dataset.calendarWeekNumber=`${t.week}`}((t,s,l,a)=>{!e.settings.visibility.weekend||0!==s&&6!==s||t.classList.add(e.CSSClasses.dayBtnWeekend),Array.isArray(e.settings.selected.holidays)&&e.settings.selected.holidays.forEach((s=>{s===l&&t.classList.add(e.CSSClasses.dayBtnHoliday)}));let n=e.date.today.getDate(),i=e.date.today.getMonth()+1;n=n<10?`0${n}`:n,i=i<10?`0${i}`:i;const d=`${e.date.today.getFullYear()}-${i}-${n}`;e.settings.visibility.today&&t.dataset.calendarDay===d&&t.classList.add(e.CSSClasses.dayBtnToday),e.selectedDates&&0===e.selectedDates.indexOf(l)||e.selectedDates&&e.selectedDates[0]&&e.selectedDates.indexOf(l)===e.selectedDates.length-1?t.classList.add(e.CSSClasses.dayBtnSelected):e.selectedDates&&e.selectedDates.indexOf(l)>0&&"multiple-ranged"===e.settings.selection.day?(t.classList.add(e.CSSClasses.dayBtnSelected),t.classList.add(e.CSSClasses.dayBtnIntermediate)):e.selectedDates&&e.selectedDates.indexOf(l)>0&&t.classList.add(e.CSSClasses.dayBtnSelected),(e.settings.range.min>
2l||e.settings.range.max<l)&&(t.classList.add(e.CSSClasses.dayBtnDisabled),t.tabIndex=-1),e.settings.selection.month||a||(t.classList.add(e.CSSClasses.dayBtnDisabled),t.tabIndex=-1),e.settings.selection.year||new Date(l).getFullYear()===e.selectedYear||(t.classList.add(e.CSSClasses.dayBtnDisabled),t.tabIndex=-1),Array.isArray(e.settings.range.disabled)?e.settings.range.disabled.forEach((s=>{s===l&&(t.classList.add(e.CSSClasses.dayBtnDisabled),t.tabIndex=-1)})):Array.isArray(e.settings.range.enabled)&&(t.classList.add(e.CSSClasses.dayBtnDisabled),t.tabIndex=-1,e.settings.range.enabled.forEach((s=>{s===l&&(t.classList.remove(e.CSSClasses.dayBtnDisabled),t.tabIndex=0)})))})(u,s,a,n),o.append(u),i.append(o)};(()=>{if(void 0===e.selectedMonth||void 0===e.selectedYear)return;let t=new Date(Date.UTC(e.selectedYear,e.selectedMonth,0)).getUTCDate()-n,s=e.selectedYear,l=e.selectedMonth;0===e.selectedMonth?(l=e.locale.months.length,s=e.selectedYear-1):e.selectedMonth<10&&(l=`0${e.selectedMonth}`);for(let a=0;a<n;a++){t+=1;const a=`${s}-${l}-${t}`,n=new Date(Date.UTC(e.selectedYear,e.selectedMonth,t-1)).getUTCMonth()-1,i=new Date(Date.UTC(e.selectedYear,n,t)).getUTCDay();c(String(t),i,a,!1,e.CSSClasses.dayBtnPrev)}})(),(()=>{if(void 0!==e.selectedMonth&&void 0!==e.selectedYear)for(let t=1;t<=s;t++){const s=new Date(Date.UTC(e.selectedYear,e.selectedMonth,t)),l=a(s),n=s.getUTCDay();c(String(t),n,l,!0,null)}})(),(()=>{if(void 0===e.selectedMonth||void 0===e.selectedYear)return;const t=n+s,l=Math.ceil(t/e.locale.weekday.length),a=e.locale.weekday.length*l-t;let i=e.selectedYear,d=String(e.selectedMonth+2);e.selectedMonth+1===e.locale.months.length?(d="01",i=e.selectedYear+1):e.selectedMonth+2<10&&(
2d=`0${e.selectedMonth+2}`);for(let t=1;t<=a;t++){const s=`${i}-${d}-${t<10?`0${t}`:String(t)}`,l=new Date(Date.UTC(e.selectedYear,e.selectedMonth,t)).getUTCMonth()+1,a=new Date(Date.UTC(e.selectedYear,l,t)).getUTCDay();c(String(t),a,s,!1,e.CSSClasses.dayBtnNext)}})(),((e,t)=>{e.popups&&Object.keys(e.popups).forEach((s=>{var l;const a=t.querySelector(`[data-calendar-day="${s}"]`);if(a){const t=null==(l=e.popups)?void 0:l[s];(null==t?void 0:t.modifier)&&t.modifier.trim().split(" ").forEach((e=>{a.classList.add(e),console.log(a),a.href="?d="+s})),(null==t?void 0:t.html)&&(a.parentNode.innerHTML+=`<div class="${e.CSSClasses.dayPopup}">${t.html}</div>`)}}))})(e,i),((e,t,s)=>{if(!e.settings.visibility.weekNumbers)return;const a=e.HTMLElement.querySelector(`.${e.CSSClasses.weekNumbers}`),n=e.HTMLElement.querySelectorAll(`.${e.CSSClasses.dayBtn}`);if(!a||!n[0])return;a.innerHTML="";const i=Math.ceil((t+s)/7),d=document.createElement("b");d.className=e.CSSClasses.weekNumbersTitle,d.innerText="#",a.append(d);const r=document.createElement("div");r.className=e.CSSClasses.weekNumbersContent,a.append(r);const c=document.createElement("span");c.className=e.CSSClasses.weekNumber;for(let t=0;t<i;t++){const s=l(n[7*t].dataset.calendarDay,e.settings.iso8601);if(!s)return;const a=c.cloneNode(!0);a.innerText=`${s.week}`,a.dataset.calendarYearWeek=`${s.year}`,r.append(a)}})(e,n,s)},i=e=>`\n\t<button type="button"\n\t\tclass="${e.CSSClasses.arrow} ${e.CSSClasses.arrowPrev}"\n\t\tdata-calendar-arrow="prev"\n\t\ttitle="Prev">\n\t</button>\n`,d=e=>`\n\t<button type="button"\n\tclass="${e.CSSClasses.arrow} ${e.CSSClasses.arrowNext}"\n\tdata-calendar-arrow="next"\n\ttitle="Next">\n\t</button>\n`,r=e=>`\n\t<button type="button"\n\t\tclass="${e.CSSClasses.month}"\n\t\tdata-calendar-selected-month>\n\t</button>\n`,c=e=>`\n\t<button type="button"\n\t\tclass="${e.CSSClasses.year}"\n\t\tdata-calendar-selected-year>\n\t</button>\n`,o=e=>`\n\t<div class="${e.CSSClasses.week}"></div>\n`,u=e=>`\n\t<div class="${e.CSSClasses.days}"></div>\n`,v=e=>`\n\t<div class="${e.CSSClasses.months}"></div>\n`,y=e=>`\n\t<div class="${e.CSSClasses.years}"></div>\n`,m=e=>e.settings.visibility.weekNumbers?`\n\t<div class="${e.CSSClasses.weekNumbers}"></div>\n`:"",g=e=>e.settings.selection.time?`\n\t<div class="${e.CSSClasses.time}"></div>\n`:"",C=(e,t)=>t.replace(/<#(.*?)\/>/g,((t,s)=>{const l=(e=>{let t=null;switch(e){case"ArrowPrev":t=i;break;case"ArrowNext":t=d;break;case"Month":t=r;break;case"Year":t=c;break;case"Week":t=o;break;case"Days":t=u;break;case"Months":t=v;break;case"Years":t=y;break;case"WeekNumbers":t=m;break;case"ControlTime":t=g}return t})(s.replace(/[\s\n\t]/g,""));return l?l(e):""})).replace(/[\n\t]/g,""),S=e=>{const t=e.HTMLElement;switch(t.classList.add(e.CSSClasses.calendar),e.currentType){case"default":t.classList.add(e.CSSClasses.calendarDefault),t.classList.remove(e.CSSClasses.calendarMonth),t.classList.remove(e.CSSClasses.calendarYear),t.innerHTML=C(e,e.DOMTemplates.default);break;case"month":t.classList.remove(e.CSSClasses.calendarDefault),t.classList.add(e.CSSClasses.calendarMonth),t.classList.remove(e.CSSClasses.calendarYear),t.innerHTML=C(e,e.DOMTemplates.month);break;case"year":t.classList.remove(e.CSSClasses.calendarDefault),t.classList.remove(e.CSSClasses.calendarMonth),t.classList.add(e.CSSClasses.calendarYear),t.innerHTML=C(e,e.DOMTemplates.year)}},h=e=>{if(void 0===e.selectedMonth)return;const t=e.HTMLElement.querySelector("[data-calendar-selected-month]");t&&(t.dataset.calendarSelectedMonth=String(e.selectedMonth),t.innerText=e.locale.months[e.selectedMonth],e.settings.selection.month?(t.tabIndex=0,t.classList.remove(e.CSSClasses.monthDisabled)):(t.tabIndex=-1,t.classList.add(e.CSSClasses.monthDisabled)))},b=e=>{if(void 0===e.selectedYear)return;const t=e.HTMLElement.querySelector("[data-calendar-selected-year]");t&&(t.dataset.calendarSelectedYear=String(e.selectedYear),t.innerText=String(e.selectedYear),e.settings.selection.year?(t.tabIndex=0,t.classList.remove(e.CSSClasses.yearDisabled)):(t.tabIndex=-1,t.classList.add(e.CSSClasses.yearDisabled)))},p=e=>{e.currentType="month",S(e),h(e),b(e);
2const t=e.HTMLElement.querySelector(`.${e.CSSClasses.months}`);if(void 0===e.selectedMonth||void 0===e.selectedYear||!e.dateMin||!e.dateMax||!t)return;e.settings.selection.month&&t.classList.add(e.CSSClasses.monthsSelecting);const s=document.createElement("button");s.type="button",s.className=e.CSSClasses.monthsMonth;for(let l=0;l<e.locale.months.length;l++){const a=e.locale.months[l],n=s.cloneNode(!0);l===e.selectedMonth&&n.classList.add(e.CSSClasses.monthsMonthSelected),l<e.dateMin.getUTCMonth()&&e.selectedYear===e.dateMin.getUTCFullYear()&&(n.classList.add(e.CSSClasses.monthsMonthDisabled),n.tabIndex=-1),l>e.dateMax.getUTCMonth()&&e.selectedYear===e.dateMax.getUTCFullYear()&&(n.classList.add(e.CSSClasses.monthsMonthDisabled),n.tabIndex=-1),n.dataset.calendarMonth=String(l),n.title=`${a}`,n.innerText=`${e.settings.visibility.monthShort?a.substring(0,3):a}`,t.append(n)}},M=e=>{const t=Number(e);let s=String(t);return 0===t?s="12":13===t?s="01":14===t?s="02":15===t?s="03":16===t?s="04":17===t?s="05":18===t?s="06":19===t?s="07":20===t?s="08":21===t?s="09":22===t?s="10":23===t&&(s="11"),s},T=(e,t)=>{const s=Number(e);let l=String(s);return"AM"===t?12===s&&(l="00"):"PM"===t&&(1===s?l="13":2===s?l="14":3===s?l="
215":4===s?l="16":5===s?l="17":6===s?l="18":7===s?l="19":8===s?l="20":9===s?l="21":10===s?l="22":11===s&&(l="23")),l},D=e=>{const t=e.HTMLElement.querySelector(`.${e.CSSClasses.time}`);if(!t)return;const s=!0===e.settings.selection.time?12:e.settings.selection.time,l="range"===e.settings.selection.controlTime;t.innerHTML=`\n\t<div class="${e.CSSClasses.timeContent}">\n\t\t<label class="${e.CSSClasses.timeHours}">\n\t\t\t<input type="text"\n\t\t\t\tname="hours"\n\t\t\t\tmaxlength="2"\n\t\t\t\tvalue="${e.selectedHours}"\n\t\t\t\t${l?"disabled":""}>\n\t\t</label>\n\t\t<label class="${e.CSSClasses.timeMinutes}">\n\t\t\t<input type="text"\n\t\t\t\tname="minutes"\n\t\t\t\tmaxlength="2"\n\t\t\t\tvalue="${e.selectedMinutes}"\n\t\t\t\t${l?"disabled":""}>\n\t\t</label>\n\t\t${12===s?`\n\t\t<button type="button"\n\t\t\tclass="${e.CSSClasses.timeKeeping}"\n\t\t\t${l?"disabled":""}>${e.selectedKeeping}</button>\n\t\t`:""}\n\t</div>\n\t<div class="${e.CSSClasses.timeRanges}">\n\t\t<label class="${e.CSSClasses.timeRange}">\n\t\t\t<input type="range"\n\t\t\t\tname="hours"\n\t\t\t\tmin="0"\n\t\t\t\tmax="23"\n\t\t\t\tstep="${e.settings.selection.stepHours}"\n\t\t\t\tvalue="${e.selectedKeeping?T(e.selectedHours,e.selectedKeeping):e.selectedHours}">\n\t\t</label>\n\t\t<label class="${e.CSSClasses.timeRange}">\n\t\t\t<input type="range"\n\t\t\t\tname="minutes"\n\t\t\t\tmin="0"\n\t\t\t\tmax="59"\n\t\t\t\tstep="${e.settings.selection.stepMinutes}"\n\t\t\t\tvalue="${e.selectedMinutes}">\n\t\t</label>\n\t</div>`,((e,t)=>{const s=e.HTMLElement.querySelector(`.${e.CSSClasses.timeRange} input[name="hours"]`),l=e.HTMLElement.querySelector(`.${e.CSSClasses.timeRange} input[name="minutes"]`),a=e.HTMLElement.querySelector(`.${e.CSSClasses.timeHours} input[name="hours"]`),n=e.HTMLElement.querySelector(`.${e.CSSClasses.timeMinutes} input[name="minutes"]`),i=e.HTMLElement.querySelector(`.${e.CSSClasses.timeKeeping}`),d=(t,s)=>{t.addEventListener("mouseover",(()=>s.classList.add(e.CSSClasses.isFocus)))},r=(t,s)=>{t.addEventListener("mouseout",(()=>s.classList.remove(e.CSSClasses.isFocus)))},c=(t,s,l)=>{"hours"===l?e.selectedHours=`${s}`:"minutes"===l&&(e.selectedMinutes=`${s}`),e.selectedTime=`${e.selectedHours}:${e.selectedMinutes}${e.selectedKeeping?` ${e.selectedKeeping}`:""}`,e.settings.selected.time=e.selectedTime,e.actions.changeTime&&e.actions.changeTime(t,e.selectedTime,e.selectedHours,e.selectedMinutes,e.selectedKeeping)},o=(t,s,l,a)=>{t.addEventListener("input",(t=>{let n=Number(t.target.value);n=n<10?`0${n}`:`${n}`,"hours"===l&&12===a?Number(t.target.value)<a&&Number(t.target.value)>0?(s.value=n,e.selectedKeeping="AM",i.innerText=e.selectedKeeping,c(t,n,l)):(0===Number(t.target.value)?(e.selectedKeeping="AM",i.innerText="AM"):(e.selectedKeeping="PM",i.innerText="PM"),s.value=M(t.target.value),c(t,M(t.target.value),l)):(s.value=n,c(t,n,l))}))},u=(t,s,l,a)=>{s.addEventListener("change",(s=>{const n=s.target;let d=Number(n.value);d=d<10?`0${d}`:`${d}`,"hours"===l&&12===a?n.value&&Number(n.value)<=a&&Number(n.value)>0?(n.value=d,t.value=T(d,e.selectedKeeping),c(s,d,l)):n.value&&Number(n.value)<24&&(Number(n.value)>a||0===Number(n.value))?(0===Number(n.value)?(e.selectedKeeping="AM",i.innerText="AM"):(e.selectedKeeping="PM",i.innerText="PM"),n.value=M(n.value),t.value=d,c(s,M(n.value),l)):n.value=e.selectedHours:n.value&&Number(n.value)<=a&&Number(n.value)>=0?(n.value=d,t.value=d,c(s,d,l)):"hours"===l?n.value=e.selectedHours:"minutes"===l&&(n.value=e.selectedMinutes)}))};d(s,a),d(l,n),r(s,a),r(l,n),o(s,a,"hours",24===t?23:12),o(l,n,"minutes",0),u(s,a,"hours",24===t?23:12),u(l,n,"minutes",59),i&&i.addEventListener("click",(t=>{i.innerText.includes("AM")?e.selectedKeeping="PM":e.selectedKeeping="AM",s.value=T(e.selectedHours,e.selectedKeeping),c(t,e.selectedHours,"hours"),i.innerText=e.selectedKeeping}))})(e,s)},w=e=>{if(void 0===e.viewYear||!e.dateMin||!e.dateMax)return;e.currentType="year",S(e),h(e),b(e),s(e);const t=e.HTMLElement.querySelector(`.${e.CSSClasses.years}`);if(!t)return;e.settings.selection.year&&t.classList.add(e.CSSClasses.yearsSelecting);const l=document.createElement("button");
2l.type="button",l.className=e.CSSClasses.yearsYear;for(let s=e.viewYear-7;s<e.viewYear+8;s++){const a=s,n=l.cloneNode(!0);a===e.selectedYear&&n.classList.add(e.CSSClasses.yearsYearSelected),a<e.dateMin.getUTCFullYear()&&(n.classList.add(e.CSSClasses.yearsYearDisabled),n.tabIndex=-1),a>e.dateMax.getUTCFullYear()&&(n.classList.add(e.CSSClasses.yearsYearDisabled),n.tabIndex=-1),n.dataset.calendarYear=String(a),n.innerText=`${a}`,t.append(n)}},$=e=>{(e=>{null!==e.settings.selected.dates?e.selectedDates=e.settings.selected.dates:e.selectedDates=[],null!==e.settings.selected.month&&e.settings.selected.month>=0&&e.settings.selected.month<12?e.selectedMonth=e.settings.selected.month:e.selectedMonth=e.date.today.getMonth(),null!==e.settings.selected.year&&e.settings.selected.year>=0&&e.settings.selected.year<=9999?e.selectedYear=e.settings.selected.year:e.selectedYear=e.date.today.getFullYear(),e.viewYear=e.selectedYear,e.dateMin=e.settings.visibility.disabled?new Date(e.date.min):new Date(e.settings.range.min),e.dateMax=e.settings.visibility.disabled?new Date(e.date.max):new Date(e.settings.range.max);const t=!0===e.settings.selection.time||12===e.settings.selection.time;if(t||24===e.settings.selection.time){if("string"==typeof e.settings.selected.time){const s=t?/^([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;e.settings.selected.time.replace(s,((s,l,a,n)=>(l&&a&&(e.userTime=!0,e.selectedHours=l,e.selectedMinutes=a),n&&t?e.selectedKeeping=n:t&&(e.selectedKeeping="AM"),"")))}!e.userTime&&t?(e.selectedHours=M(String(e.date.today.getHours())),e.selectedMinutes=String(e.date.today.getMinutes()),e.selectedKeeping=Number(e.date.today.getHours())>12?"PM":"AM"):e.userTime||(e.selectedHours=String(e.date.today.getHours()),e.selectedMinutes=String(e.date.today.getMinutes())),e.selectedHours=Number(e.selectedHours)<10?`0${Number(e.selectedHours)}`:`${e.selectedHours}`,e.selectedMinutes=Number(e.selectedMinutes)<10?`0${Number(e.selectedMinutes)}`:`${e.selectedMinutes}`,e.selectedTime=`${e.selectedHours}:${e.selectedMinutes}${e.selectedKeeping?` ${e.selectedKeeping}`:""}`}else e.settings.selection.time&&(e.settings.selection.time=!1,console.error("The value of the time property can be: false, true, 12 or 24."))})(e),(e=>{if("define"!==e.settings.lang){e.locale.weekday=[];for(let t=0;t<7;t++){let s=new Date(0,0,t).toLocaleString(e.settings.lang,{weekday:"short"});s=`${s.charAt(0).toUpperCase()}${s.substring(1,s.length)}`,s=s.replace(/\./,""),e.locale.weekday.push(s)}e.locale.months=[];for(let t=0;t<12;t++){let s=new Date(0,t).toLocaleString(e.settings.lang,{month:"long"});s=`${s.charAt(0).toUpperCase()}${s.substring(1,s.length)}`,s=s.replace(/\./,""),e.locale.months.push(s)}}})(e),S(e),h(e),b(e),s(e),D(e),"default"===e.currentType?((e=>{const t=[...e.locale.weekday];if(!t[0])return;const s=e.HTMLElement.querySelector(`.${e.CSSClasses.week}`),l=document.createElement("b");l.className=e.CSSClasses.weekDay,e.settings.iso8601&&t.push(t.shift()),s.innerHTML="";for(let a=0;a<t.length;a++){const n=t[a],i=l.cloneNode(!0);e.settings.visibility.weekend&&e.settings.iso8601?5!==a&&6!==a||i.classList.add(e.CSSClasses.weekDayWeekend):e.settings.visibility.weekend&&!e.settings.iso8601&&(0!==a&&6!==a||i.classList.add(e.CSSClasses.weekDayWeekend)),i.innerText=`${n}`,s.append(i)}})(e),n(e)):"month"===e.currentType?p(e):"year"===e.currentType&&w(e)},f=(e,t)=>{if(void 0===e.selectedMonth||void 0===e.selectedYear)return;const l=e.locale.months.length-1;switch(t){case"prev":0!==e.selectedMonth?e.selectedMonth-=1:e.settings.selection.year&&(e.selectedYear-=1,e.selectedMonth=l);break;case"next":e.selectedMonth!==l?e.selectedMonth+=1:e.settings.selection.year&&(e.selectedYear+=1,e.selectedMonth=0)}e.settings.selected.month=e.selectedMonth,e.settings.selected.year=e.selectedYear,h(e),b(e),s(e),n(e)},Y=e=>{e.HTMLElement&&($(e),(e=>{e.HTMLElement.addEventListener("click",(t=>{const s=t.target,l=s.closest(`.${e.CSSClasses.arrow}`),i=s.closest(`.${e.CSSClasses.arrowPrev}`),d=s.closest(`.${e.CSSClasses.arrowNext}
2`),r=s.closest(`.${e.CSSClasses.dayBtn}`),c=s.closest(`.${e.CSSClasses.dayBtnPrev}`),o=s.closest(`.${e.CSSClasses.dayBtnNext}`),u=s.closest(`.${e.CSSClasses.year}`),v=s.closest(`.${e.CSSClasses.yearsYear}`),y=s.closest(`.${e.CSSClasses.month}`),m=s.closest(`.${e.CSSClasses.monthsMonth}`);l&&"year"!==e.currentType&&"month"!==e.currentType&&f(e,s.dataset.calendarArrow),l&&e.actions.clickArrow&&e.actions.clickArrow(t,Number(e.selectedYear),Number(e.selectedMonth)),(()=>{if(e.settings.selection.day&&["single","multiple","multiple-ranged"].includes(e.settings.selection.day)&&r){switch(e.settings.selection.day){case"single":e.selectedDates&&r&&r.dataset.calendarDay&&(r.classList.contains(e.CSSClasses.dayBtnSelected)?e.selectedDates.splice(e.selectedDates.indexOf(r.dataset.calendarDay),1):(e.selectedDates=[],e.selectedDates.push(r.dataset.calendarDay)));break;case"multiple":e.selectedDates&&r&&r.dataset.calendarDay&&(r.classList.contains(e.CSSClasses.dayBtnSelected)?e.selectedDates.splice(e.selectedDates.indexOf(r.dataset.calendarDay),1):e.selectedDates.push(r.dataset.calendarDay));break;case"multiple-ranged":(()=>{if(!e.selectedDates||!r||!r.dataset.calendarDay)return;if(e.selectedDates.length>1&&(e.selectedDates=[]),e.selectedDates.push(r.dataset.calendarDay),!e.selectedDates[1])return;const t=new Date(Date.UTC(new Date(e.selectedDates[0]).getUTCFullYear(),new Date(e.selectedDates[0]).getUTCMonth(),new Date(e.selectedDates[0]).getUTCDate())),s=new Date(Date.UTC(new Date(e.selectedDates[1]).getUTCFullYear(),new Date(e.selectedDates[1]).getUTCMonth(),new Date(e.selectedDates[1]).getUTCDate())),l=t=>{if(!e.selectedDates)return;const s=a(t);e.settings.range.disabled&&e.settings.range.disabled.includes(s)||e.selectedDates.push(s)};if(e.selectedDates=[],s>t)for(let e=t;e<=s;e.setUTCDate(e.getUTCDate()+1))l(e);else for(let e=t;e>=s;e.setUTCDate(e.getUTCDate()-1))l(e)})()}e.actions.clickDay&&e.actions.clickDay(t,e.selectedDates),e.settings.selected.dates=e.selectedDates,c?f(e,"prev"):o?f(e,"next"):n(e)}})(),(()=>{if(e.settings.selection.year)if(l&&"year"===e.currentType){if(void 0===e.viewYear)return;d?e.viewYear+=15:i&&(e.viewYear-=15),w(e)}else if("year"!==e.currentType&&u)w(e);else if("year"===e.currentType&&u)e.currentType=e.type,$(e);else if(v){if(void 0===e.selectedMonth||!e.dateMin||!e.dateMax)return;e.selectedYear=Number(v.dataset.calendarYear),e.currentType=e.type,e.selectedMonth<e.dateMin.getUTCMonth()&&e.selectedYear===e.dateMin.getUTCFullYear()&&(e.settings.selected.month=e.dateMin.getUTCMonth()),e.selectedMonth>e.dateMax.getUTCMonth()&&e.selectedYear===e.dateMax.getUTCFullYear()&&(e.settings.selected.month=e.dateMax.getUTCMonth()),e.actions.clickYear&&e.actions.clickYear(t,e.selectedYear),e.settings.selected.year=e.selectedYear,$(e)}})(),e.settings.selection.month&&("month"!==e.currentType&&y?p(e):"month"===e.currentType&&y?(e.currentType=e.type,$(e)):m&&(e.selectedMonth=Number(m.dataset.calendarMonth),e.currentType=e.type,e.actions.clickMonth&&e.actions.clickMonth(t,e.selectedMonth),e.settings.selected.month=e.selectedMonth,$(e)))}))})(e))},k=e=>`\n\t<div class="${e.header}">\n\t\t<#ArrowPrev />\n\t\t<div class="${e.headerContent}">\n\t\t\t<#Month />\n\t\t\t<#Year />\n\t\t</div>\n\t\t<#ArrowNext />\n\t</div>\n\t<div class="${e.wrapper}">\n\t\t<#WeekNumbers />\n\t\t<div class="${e.content}">\n\t\t\t<#Week />\n\t\t\t<#Days />\n\t\t</div>\n\t</div>\n\t<#ControlTime />\n`,x=e=>`\n\t<div class="${e.header}">\n\t\t<div class="${e.headerContent}">\n\t\t\t<#Month />\n\t\t\t<#Year />\n\t\t</div>\n\t</div>\n\t<div class="${e.wrapper}">\n\t\t<div class="${e.content}">\n\t\t\t<#Months />\n\t\t</div>\n\t</div>\n`,L=e=>`\n\t<div class="${e.header}">\n\t\t<#ArrowPrev />\n\t\t<div class="${e.headerContent}">\n\t\t\t<#Month />\n\t\t\t<#Year />\n\t\t</div>\n\t\t<#ArrowNext />\n\t</div>\n\t<div class="${e.wrapper}">\n\t\t<div class="${e.content}">\n\t\t\t<#Years />\n\t\t</div>\n\t</div>\n`,_={calendar:"vanilla-calendar",calendarDefault:"vanilla-calendar_default",calendarMonth:"vanilla-calendar_month",calendarYear:"vanilla-calendar_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",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",dayBtnDisabled:"vanilla-calendar-day__btn_disabled",dayBtnIntermediate:"vanilla-calendar-day__btn_intermediate",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"};var N=Object.defineProperty,U=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,A=(e,t,s)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;class B{constructor(e,t){var s,l,a,n,i,d,r,c,o,u,v,y,m,g,C,S,h,b,p,M,T,D,w,f,N,B,P,K,O,F,q,I,j,W,R,V,z,G,J,Q,X,Z,ee,te,se,le,ae,ne,ie,de,re,ce,oe,ue,ve,ye,me,ge,Ce,Se,he,be,pe,Me,Te,De,we,$e,fe,Ye,ke,xe,Le,_e,Ne,Ue,He,Ee,Ae,Be,Pe,Ke,Oe,Fe,qe,Ie,je,We,Re,Ve,ze,Ge,Je,Qe,Xe;this.update=()=>$(this),this.init=()=>Y(this),this.HTMLElement="string"==typeof e?document.querySelector(e):e,this.HTMLElement&&(this.t
2ype=null!=(s=null==t?void 0:t.type)?s:"default",this.date={min:null!=(a=null==(l=null==t?void 0:t.date)?void 0:l.min)?a:"1970-01-01",max:null!=(i=null==(n=null==t?void 0:t.date)?void 0:n.max)?i:"2470-12-31",today:null!=(r=null==(d=null==t?void 0:t.date)?void 0:d.today)?r:new Date},this.settings={lang:null!=(o=null==(c=null==t?void 0:t.settings)?void 0:c.lang)?o:"en",iso8601:null==(v=null==(u=null==t?void 0:t.settings)?void 0:u.iso8601)||v,range:{min:null!=(g=null==(m=null==(y=null==t?void 0:t.settings)?void 0:y.range)?void 0:m.min)?g:"1970-01-01",max:null!=(h=null==(S=null==(C=null==t?void 0:t.settings)?void 0:C.range)?void 0:S.max)?h:"2470-12-31",disabled:null!=(M=null==(p=null==(b=null==t?void 0:t.settings)?void 0:b.range)?void 0:p.disabled)?M:null,enabled:null!=(w=null==(D=null==(T=null==t?void 0:t.settings)?void 0:T.range)?void 0:D.enabled)?w:null},selection:{day:null!=(B=null==(N=null==(f=null==t?void 0:t.settings)?void 0:f.selection)?void 0:N.day)?B:"single",month:null==(O=null==(K=null==(P=null==t?void 0:t.settings)?void 0:P.selection)?void 0:K.month)||O,year:null==(I=null==(q=null==(F=null==t?void 0:t.settings)?void 0:F.selection)?void 0:q.year)||I,time:null!=(R=null==(W=null==(j=null==t?void 0:t.settings)?void 0:j.selection)?void 0:W.time)&&R,controlTime:null!=(G=null==(z=null==(V=null==t?void 0:t.settings)?void 0:V.selection)?void 0:z.controlTime)?G:"all",stepHours:null!=(X=null==(Q=null==(J=null==t?void 0:t.settings)?void 0:J.selection)?void 0:Q.stepHours)?X:1,stepMinutes:null!=(te=null==(ee=null==(Z=null==t?void 0:t.settings)?void 0:Z.selection)?void 0:ee.stepMinutes)?te:1},selected:{dates:null!=(ae=null==(le=null==(se=null==t?void 0:t.settings)?void 0:se.selected)?void 0:le.dates)?ae:null,month:null!=(de=null==(ie=null==(ne=null==t?void 0:t.settings)?void 0:ne.selected)?void 0:ie.month)?de:null,year:null!=(oe=null==(ce=null==(re=null==t?void 0:t.settings)?void 0:re.selected)?void 0:ce.year)?oe:null,holidays:null!=(ye=null==(ve=null==(ue=null==t?void 0:t.settings)?void 0:ue.selected)?void 0:ve.holidays)?ye:null,time:null!=(Ce=null==(ge=null==(me=null==t?void 0:t.settings)?void 0:me.selected)?void 0:ge.time)?Ce:null},visibility:{monthShort:null==(be=null==(he=null==(Se=null==t?void 0:t.settings)?void 0:Se.visibility)?void 0:he.monthShort)||be,weekNumbers:null!=(Te=null==(Me=null==(pe=null==t?void 0:t.settings)?void 0:pe.visibility)?void 0:Me.weekNumbers)&&Te,weekend:null==($e=null==(we=null==(De=null==t?void 0:t.settings)?void 0:De.visibility)?void 0:we.weekend)||$e,today:null==(ke=null==(Ye=null==(fe=null==t?void 0:t.settings)?void 0:fe.visibility)?void 0:Ye.today)||ke,disabled:null!=(_e=null==(Le=null==(xe=null==t?void 0:t.settings)?void 0:xe.visibility)?void 0:Le.disabled)&&_e}},this.locale={months:null!=(Ue=null==(Ne=null==t?void 0:t.locale)?void 0:Ne.months)?Ue:[],weekday:null!=(Ee=null==(He=null==t?void 0:t.locale)?void 0:He.weekday)?Ee:[]},this.actions={clickDay:null!=(Be=null==(Ae=null==t?void 0:t.actions)?void 0:Ae.clickDay)?Be:null,clickMonth:null!=(Ke=null==(Pe=null==t?void 0:t.actions)?void 0:Pe.clickMonth)?Ke:null,clickYear:null!=(Fe=null==(Oe=null==t?void 0:t.actions)?void 0:Oe.clickYear)?Fe:null,clickArrow:null!=(Ie=null==(qe=null==t?void 0:t.actions)?void 0:qe.clickArrow)?Ie:null,changeTime:null!=(We=null==(je=null==t?void 0:t.actions)?void 0:je.changeTime)?We:null},this.popups=null!=(Re=null==t?void 0:t.popups)?Re:null,this.CSSClasses=(()=>{const e=((e,t)=>{for(var s in t||(t={}))H.call(t,s)&&A(e,s,t[s]);if(U)for(var s of U(t))E.call(t,s)&&A(e,s,t[s]);return e})({},_);return Object.keys(_).forEach((s=>{var l;(null==(l=null==t?void 0:t.CSSClasses)?void 0:l[s])?e[s]=t.CSSClasses[s]:e[s]=_[s]})),e})(),this.DOMTemplates={default:null!=(ze=null==(Ve=null==t?void 0:t.DOMTemplates)?void 0:Ve.default)?ze:k(this.CSSClasses),month:null!=(Je=null==(Ge=null==t?void 0:t.DOMTemplates)?void 0:Ge.month)?Je:x(this.CSSClasses),year:null!=(Xe=null==(Qe=null==t?void 0:t.DOMTemplates)?void 0:Qe.year)?Xe:L(this.CSSClasses)},this.currentType=this.type,this.selectedKeeping=null,this.userTime=!1)}}
2window.VanillaCalendar=B;const P=B;return t})()));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.