Socket
Socket
Sign inDemoInstall

air-datepicker

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

air-datepicker - npm Package Compare versions

Comparing version 3.1.0 to 3.1.1

locale/si.d.ts

2

air-datepicker.js

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AirDatepicker=t():e.AirDatepicker=t()}(this,(function(){return(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{default:()=>Ce});const i="days",n="months",a="years",s="day",r="month",o="year",l="changeViewDate",c="changeCurrentView",u="changeFocusDate",h="changeSelectedDate",d="changeTime",p="changeLastSelectedDate",f="selectDate",v="unselectDate",m="-weekend-",y={classes:"",inline:!1,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:i,minView:i,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1};function g(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var n,a,s=[],r=!0,o=!1;try{for(i=i.call(e);!(r=(n=i.next()).done)&&(s.push(n.value),!t||s.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return s}}(e,t)||w(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){if(e){if("string"==typeof e)return _(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_(e,t):void 0}}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return"string"==typeof e?t.querySelector(e):e}function $(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.tagName,n=void 0===i?"div":i,a=t.className,s=void 0===a?"":a,r=t.innerHtml,o=void 0===r?"":r,l=t.id,c=void 0===l?"":l,u=t.attrs,h=void 0===u?{}:u,d=document.createElement(n);if(s&&(e=d.classList).add.apply(e,k(s.split(" "))),c&&(d.id=c),o&&(d.innerHTML=o),h)for(var p in h)d.setAttribute(p,h[p]);return d}function C(e,t){for(var i=0,n=Object.entries(t);i<n.length;i++){var a=b(n[i],2),s=a[0],r=a[1];e.setAttribute(s,r)}return e}function S(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function T(e){var t=e.getHours(),i=t%12==0?12:t%12;return{year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?"0"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:A(t),hours12:i,fullHours12:A(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes()}}function A(e){return e<10?"0"+e:e}function F(e){var t=10*Math.floor(e.getFullYear()/10);return[t,t+9]}function O(){for(var e=[],t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];return i.forEach((function(t){if("object"===D(t))for(var i in t)t[i]&&e.push(i);else t&&e.push(t)})),e.join(" ")}function E(e,t){var s,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i;if(!e||!t)return!1;var o=T(e),l=T(t),c=(g(s={},i,o.date===l.date&&o.month===l.month&&o.year===l.year),g(s,n,o.month===l.month&&o.year===l.year),g(s,a,o.year===l.year),s);return c[r]}function V(e,t,i){var n=H(e,!1).getTime(),a=H(t,!1).getTime();return i?n>=a:n>a}function x(e,t){return!V(e,t,!0)}function H(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return"boolean"!=typeof t||t||I(i),i}function I(e){return e.setHours(0,0,0,0),e}function L(e,t,i){e.length?e.forEach((function(e){e.addEventListener(t,i)})):e.addEventListener(t,i)}function N(e,t){return!(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:N(e.parentNode,t))}function j(e,t,i){return e>i?i:e<t?t:e}function P(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return i.filter((function(e){return e})).forEach((function(t){for(var i=0,n=Object.entries(t);i<n.length;i++){var a=b(n[i],2),s=a[0],r=a[1];if(void 0!==r&&"[object Object]"===r.toString()){var o=void 0!==e[s]?e[s].toString():void 0,l=r.toString(),c=Array.isArray(r)?[]:{};e[s]=e[s]?o!==l?c:e[s]:c,P(e[s],r)}else e[s]=r}})),e}function R(e){var t=e;return e instanceof Date||(t=new Date(e)),isNaN(t.getTime())&&(console.log('Unable to convert value "'.concat(e,'" to Date object')),t=!1),t}function B(e){var t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function U(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Y(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function W(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var q,J=function(){function e(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=i.type,a=i.date,s=i.dp,r=i.opts,o=i.body;U(this,e),W(this,"focus",(function(){t.$cell.classList.add("-focus-"),t.focused=!0})),W(this,"removeFocus",(function(){t.$cell.classList.remove("-focus-"),t.focused=!1})),W(this,"select",(function(){t.$cell.classList.add("-selected-"),t.selected=!0})),W(this,"removeSelect",(function(){t.$cell.classList.remove("-selected-","-range-from-","-range-to-"),t.selected=!1})),W(this,"onChangeSelectedDate",(function(){t.isDisabled||(t._handleSelectedStatus(),t.opts.range&&t._handleRangeStatus())})),W(this,"onChangeFocusDate",(function(e){if(e){var i=E(e,t.date,t.type);i?t.focus():!i&&t.focused&&t.removeFocus(),t.opts.range&&t._handleRangeStatus()}else t.focused&&t.removeFocus()})),W(this,"render",(function(){return t.$cell.innerHTML=t._getHtml(),t.$cell.adpCell=t,t.$cell})),this.type=n,this.singleType=this.type.slice(0,-1),this.date=a,this.dp=s,this.opts=r,this.body=o,this.customData=!1,this.init()}var t,s;return t=e,(s=[{key:"init",value:function(){var e=this.opts,t=e.range,i=e.onRenderCell;i&&(this.customData=i({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),t&&this._handleRangeStatus())}},{key:"_bindDatepickerEvents",value:function(){this.dp.on(h,this.onChangeSelectedDate),this.dp.on(u,this.onChangeFocusDate)}},{key:"unbindDatepickerEvents",value:function(){this.dp.off(h,this.onChangeSelectedDate),this.dp.off(u,this.onChangeFocusDate)}},{key:"_createElement",value:function(){var e=T(this.date),t=e.year,i=e.month,n=e.date;this.$cell=$({className:this._getClassName(),attrs:{"data-year":t,"data-month":i,"data-date":n}})}},{key:"_getClassName",value:function(){var e,t,s=new Date,r=this.opts,o=r.selectOtherMonths,l=r.selectOtherYears,c=this.dp,u=c.minDate,h=c.maxDate,d=T(this.date).day,p=this._isOutOfMinMaxRange(),f=null===(e=this.customData)||void 0===e?void 0:e.disabled,v=O("air-datepicker-cell","-".concat(this.singleType,"-"),{"-current-":E(s,this.date,this.type),"-min-date-":u&&E(u,this.date,this.type),"-max-date-":h&&E(h,this.date,this.type)}),m="";switch(this.type){case i:m=O({"-weekend-":this.dp.isWeekend(d),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!o||p||f});break;case n:m=O({"-disabled-":p||f});break;case a:m=O({"-other-decade-":this.isOtherDecade,"-disabled-":p||this.isOtherDecade&&!l||f})}return O(v,m,null===(t=this.customData)||void 0===t?void 0:t.classes)}},{key:"_getHtml",value:function(){var e,t=T(this.date),s=t.year,r=t.month,o=t.date,l=this.opts,c=l.showOtherMonths,u=l.showOtherYears;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i:return!c&&this.isOtherMonth?"":o;case n:return this.dp.locale[this.opts.monthsField][r];case a:return!u&&this.isOtherDecade?"":s}}},{key:"_isOutOfMinMaxRange",value:function(){var e=this.dp,t=e.minDate,n=e.maxDate,s=this.type,r=T(this.date),o=r.month,l=r.year,c=r.date,u=s===i,h=s===a,d=!!t&&new Date(l,h?t.getMonth():o,u?c:t.getDate()),p=!!n&&new Date(l,h?n.getMonth():o,u?c:n.getDate());return t&&n?x(d,t)||V(p,n):t?x(d,t):n?V(p,n):void 0}},{key:"destroy",value:function(){this.unbindDatepickerEvents()}},{key:"_handleRangeStatus",value:function(){var e,t,i,n,a,s=this.dp,r=s.rangeDateFrom,o=s.rangeDateTo,l=O({"-in-range-":r&&o&&(e=this.date,t=r,i=o,V(e,t)&&x(e,i)),"-range-from-":r&&E(this.date,r,this.type),"-range-to-":o&&E(this.date,o,this.type)});this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),l&&(n=this.$cell.classList).add.apply(n,function(e){if(Array.isArray(e))return K(e)}(a=l.split(" "))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return K(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?K(e,t):void 0}}(a)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}},{key:"_handleSelectedStatus",value:function(){var e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}},{key:"_handleInitialFocusStatus",value:function(){E(this.dp.focusDate,this.date,this.type)&&this.focus()}},{key:"isDisabled",get:function(){return this.$cell.matches(".-disabled-")}},{key:"isOtherMonth",get:function(){return this.dp.isOtherMonth(this.date)}},{key:"isOtherDecade",get:function(){return this.dp.isOtherDecade(this.date)}}])&&Y(t.prototype,s),e}();function z(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function X(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var G=(X(q={},i,'<div class="air-datepicker-body--day-names"></div>'+'<div class="air-datepicker-body--cells -'.concat(i,'-"></div>')),X(q,n,'<div class="air-datepicker-body--cells -'.concat(n,'-"></div>')),X(q,a,'<div class="air-datepicker-body--cells -'.concat(a,'-"></div>')),q),Q=function(){function e(t){var s=this,r=t.dp,o=t.type,l=t.opts;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),X(this,"handleClick",(function(e){var t=N(e.target,".air-datepicker-cell");if(t){var i=t.adpCell;if(!i.isDisabled)if(s.dp.isMinViewReached){var n=s.dp._checkIfDateIsSelected(i.date,i.type);n?s.dp._handleAlreadySelectedDates(n,i.date):s.dp.selectDate(i.date)}else s.dp.down()}})),X(this,"onChangeCurrentView",(function(e){e!==s.type?s.hide():(s.show(),s.render())})),X(this,"onMouseOverCell",(function(e){var t=N(e.target,".air-datepicker-cell");s.dp.setFocusDate(!!t&&t.adpCell.date)})),X(this,"onMouseOutCell",(function(){s.dp.setFocusDate(!1)})),X(this,"onClickCell",(function(e){s.handleClick(e)})),X(this,"onMouseDown",(function(e){s.pressed=!0;var t=N(e.target,".air-datepicker-cell"),i=t&&t.adpCell;E(i.date,s.dp.rangeDateFrom)&&(s.rangeFromFocused=!0),E(i.date,s.dp.rangeDateTo)&&(s.rangeToFocused=!0)})),X(this,"onMouseMove",(function(e){if(s.pressed&&s.dp.isMinViewReached){e.preventDefault();var t=N(e.target,".air-datepicker-cell"),i=t&&t.adpCell,n=s.dp,a=n.selectedDates,r=n.rangeDateTo,o=n.rangeDateFrom;if(i&&!i.isDisabled){var l=i.date;if(2===a.length){if(s.rangeFromFocused&&!V(l,r)){var c=T(o),u=c.hours,h=c.minutes;l.setHours(u),l.setMinutes(h),s.dp.rangeDateFrom=l,s.dp.replaceDate(o,l)}if(s.rangeToFocused&&!x(l,o)){var d=T(r),p=d.hours,f=d.minutes;l.setHours(p),l.setMinutes(f),s.dp.rangeDateTo=l,s.dp.replaceDate(r,l)}}}}})),X(this,"onMouseUp",(function(){s.pressed=!1,s.rangeFromFocused=!1,s.rangeToFocused=!1})),X(this,"onChangeViewDate",(function(e,t){if(s.isVisible){var r=F(e),o=F(t);switch(s.dp.currentView){case i:if(E(e,t,n))return;break;case n:if(E(e,t,a))return;break;case a:if(r[0]===o[0]&&r[1]===o[1])return}s.render()}})),X(this,"render",(function(){s.destroyCells(),s._generateCells(),s.cells.forEach((function(e){s.$cells.appendChild(e.render())}))})),this.dp=r,this.type=o,this.opts=l,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}var t,s;return t=e,s=[{key:"init",value:function(){this._buildBaseHtml(),this.type===i&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}},{key:"_bindEvents",value:function(){var e=this.opts,t=e.range,i=e.dynamicRange;L(this.$el,"mouseover",this.onMouseOverCell),L(this.$el,"mouseout",this.onMouseOutCell),L(this.$el,"click",this.onClickCell),t&&i&&(L(this.$el,"mousedown",this.onMouseDown),L(this.$el,"mousemove",this.onMouseMove),L(window.document,"mouseup",this.onMouseUp))}},{key:"_bindDatepickerEvents",value:function(){this.dp.on(l,this.onChangeViewDate),this.dp.on(c,this.onChangeCurrentView)}},{key:"_buildBaseHtml",value:function(){this.$el=$({className:"air-datepicker-body -".concat(this.type,"-"),innerHtml:G[this.type]}),this.$names=M(".air-datepicker-body--day-names",this.$el),this.$cells=M(".air-datepicker-body--cells",this.$el)}},{key:"_getDayNamesHtml",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",i=this.dp.isWeekend,n=e,a=0;a<7;){var s=n%7,r=O("air-datepicker-body--day-name",X({},m,i(s))),o=this.dp.locale.daysMin[s];t+='<div class="'.concat(r,'">').concat(o,"</div>"),a++,n++}return t}},{key:"_getDaysCells",value:function(){var e=this.dp,t=e.viewDate,i=e.locale.firstDay,n=S(t),a=T(t),s=a.year,r=a.month,o=new Date(s,r,1),l=new Date(s,r,n),c=o.getDay()-i,u=6-l.getDay()+i;u=u>6?u-7:u;for(var h=function(e,t){var i=T(e),n=i.year,a=i.month,s=i.date;return new Date(n,a,s-t)}(o,c=c<0?c+7:c),d=n+c+u,p=h.getDate(),f=T(h),v=f.year,m=f.month,y=0;y<d;){var g=new Date(v,m,p+y);this._generateCell(g),y++}}},{key:"_generateCell",value:function(e){var t=this.type,i=this.dp,n=this.opts,a=new J({type:t,dp:i,opts:n,date:e,body:this});return this.cells.push(a),a}},{key:"_generateDayCells",value:function(){this._getDaysCells()}},{key:"_generateMonthCells",value:function(){for(var e=this.dp.parsedViewDate.year,t=0;t<12;)this.cells.push(this._generateCell(new Date(e,t))),t++}},{key:"_generateYearCells",value:function(){for(var e=F(this.dp.viewDate),t=e[0]-1,i=e[1]+1,n=t;n<=i;)this.cells.push(this._generateCell(new Date(n,0))),n++}},{key:"renderDayNames",value:function(){this.$names.innerHTML=this._getDayNamesHtml()}},{key:"_generateCells",value:function(){switch(this.type){case i:this._generateDayCells();break;case n:this._generateMonthCells();break;case a:this._generateYearCells()}}},{key:"show",value:function(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}},{key:"hide",value:function(){this.isVisible=!1,this.$el.classList.add("-hidden-")}},{key:"destroyCells",value:function(){this.cells.forEach((function(e){return e.destroy()})),this.cells=[],this.$cells.innerHTML=""}},{key:"destroy",value:function(){this.destroyCells(),this.dp.off(l,this.onChangeViewDate),this.dp.off(c,this.onChangeCurrentView)}}],s&&z(t.prototype,s),e}();function Z(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ee(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var te=function(){function e(t){var i=this,n=t.dp,a=t.opts;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ee(this,"onClickNav",(function(e){var t=N(e.target,".air-datepicker-nav--action");if(t){var n=t.dataset.action;i.dp[n]()}})),ee(this,"onChangeViewDate",(function(){i.render(),i._resetNavStatus(),i.handleNavStatus()})),ee(this,"onChangeCurrentView",(function(){i.render(),i._resetNavStatus(),i.handleNavStatus()})),ee(this,"onClickNavTitle",(function(){i.dp.isFinalView||i.dp.up()})),ee(this,"update",(function(){var e=i.opts,t=e.prevHtml,n=e.nextHtml;i.$prev.innerHTML=t,i.$next.innerHTML=n,i._resetNavStatus(),i.render(),i.handleNavStatus()})),ee(this,"renderDelay",(function(){setTimeout(i.render)})),ee(this,"render",(function(){i.$title.innerHTML=i._getTitle(),function(e,t){for(var i in t)t[i]?e.classList.add(i):e.classList.remove(i)}(i.$title,{"-disabled-":i.dp.isFinalView})})),this.dp=n,this.opts=a,this.init()}var t,s;return t=e,s=[{key:"init",value:function(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}},{key:"_defineDOM",value:function(){this.$title=M(".air-datepicker-nav--title",this.$el),this.$prev=M('[data-action="prev"]',this.$el),this.$next=M('[data-action="next"]',this.$el)}},{key:"_bindEvents",value:function(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}},{key:"_bindDatepickerEvents",value:function(){this.dp.on(l,this.onChangeViewDate),this.dp.on(c,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(h,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(d,this.render))}},{key:"destroy",value:function(){this.dp.off(l,this.onChangeViewDate),this.dp.off(c,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(h,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(d,this.render))}},{key:"_createElement",value:function(){this.$el=$({tagName:"nav",className:"air-datepicker-nav"})}},{key:"_getTitle",value:function(){var e=this.dp,t=this.opts.navTitles[e.currentView];return"function"==typeof t?t(e):e.formatDate(e.viewDate,t)}},{key:"handleNavStatus",value:function(){var e=this.opts.disableNavWhenOutOfRange,t=this.dp,s=t.minDate,r=t.maxDate;if((s||r)&&e){var o=this.dp.parsedViewDate,l=o.year,c=o.month,u=!!s&&T(s),h=!!r&&T(r);switch(this.dp.currentView){case i:s&&u.month>=c&&u.year>=l&&this._disableNav("prev"),r&&h.month<=c&&h.year<=l&&this._disableNav("next");break;case n:s&&u.year>=l&&this._disableNav("prev"),r&&h.year<=l&&this._disableNav("next");break;case a:var d=F(this.dp.viewDate);s&&u.year>=d[0]&&this._disableNav("prev"),r&&h.year<=d[1]&&this._disableNav("next")}}}},{key:"_disableNav",value:function(e){M('[data-action="'+e+'"]',this.$el).classList.add("-disabled-")}},{key:"_resetNavStatus",value:function(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];var a;e.length?e.forEach((function(e){var t;(t=e.classList).remove.apply(t,i)})):(a=e.classList).remove.apply(a,i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}},{key:"_buildBaseHtml",value:function(){var e=this.opts,t=e.prevHtml,i=e.nextHtml;this.$el.innerHTML='<div class="air-datepicker-nav--action" data-action="prev">'.concat(t,"</div>")+'<div class="air-datepicker-nav--title"></div>'+'<div class="air-datepicker-nav--action" data-action="next">'.concat(i,"</div>")}},{key:"isNavIsFunction",get:function(){var e=this.opts.navTitles;return Object.keys(e).find((function(t){return"function"==typeof e[t]}))}}],s&&Z(t.prototype,s),e}();const ie={today:{content:function(e){return e.locale.today},onClick:function(e){return e.setViewDate(new Date)}},clear:{content:function(e){return e.locale.clear},onClick:function(e){return e.clear()}}};function ne(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var ae=function(){function e(t){var i=t.dp,n=t.opts;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.dp=i,this.opts=n,this.init()}var t,i;return t=e,(i=[{key:"init",value:function(){this.createElement(),this.render()}},{key:"createElement",value:function(){this.$el=$({className:"air-datepicker-buttons"})}},{key:"destroy",value:function(){this.$el.parentNode.removeChild(this.$el)}},{key:"clearHtml",value:function(){return this.$el.innerHTML="",this}},{key:"generateButtons",value:function(){var e=this,t=this.opts.buttons;Array.isArray(t)||(t=[t]),t.forEach((function(t){var i=t;"string"==typeof t&&ie[t]&&(i=ie[t]);var n=e.createButton(i);i.onClick&&e.attachEventToButton(n,i.onClick),e.$el.appendChild(n)}))}},{key:"attachEventToButton",value:function(e,t){var i=this;e.addEventListener("click",(function(){t(i.dp)}))}},{key:"createButton",value:function(e){var t=e.content,i=e.className,n=e.tagName,a=void 0===n?"button":n,s=e.attrs,r=void 0===s?{}:s,o="function"==typeof t?t(this.dp):t;return $({tagName:a,innerHtml:"<span tabindex='-1'>".concat(o,"</span>"),className:O("air-datepicker-button",i),attrs:r})}},{key:"render",value:function(){this.generateButtons()}}])&&ne(t.prototype,i),e}();function se(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function re(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function oe(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var le=function(){function e(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=i.opts,a=i.dp;se(this,e),oe(this,"toggleTimepickerIsActive",(function(e){t.dp.timepickerIsActive=e})),oe(this,"onChangeSelectedDate",(function(e){var i=e.date,n=e.updateTime,a=void 0!==n&&n;i&&(t.setMinMaxTime(i),t.setCurrentTime(!!a&&i),t.addTimeToDate(i))})),oe(this,"onChangeLastSelectedDate",(function(e){e&&(t.setTime(e),t.render())})),oe(this,"onChangeInputRange",(function(e){var i=e.target,n=i.getAttribute("name");t[n]=i.value,t.updateText(),t.dp.trigger(d,{hours:t.hours,minutes:t.minutes})})),oe(this,"onMouseEnterLeave",(function(e){var i=e.target.getAttribute("name"),n=t.$minutesText;"hours"===i&&(n=t.$hoursText),n.classList.toggle("-focus-")})),oe(this,"onFocus",(function(){t.toggleTimepickerIsActive(!0)})),oe(this,"onBlur",(function(){t.toggleTimepickerIsActive(!1)})),this.opts=n,this.dp=a;var s=this.dp.locale.timeFormat;s&&(s.match(B("h"))||s.match(B("hh")))&&(this.ampm=!0),this.init()}var t,i;return t=e,(i=[{key:"init",value:function(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}},{key:"bindDatepickerEvents",value:function(){this.dp.on(h,this.onChangeSelectedDate),this.dp.on(p,this.onChangeLastSelectedDate)}},{key:"bindDOMEvents",value:function(){var e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),L(this.$ranges,e,this.onChangeInputRange),L(this.$ranges,"mouseenter",this.onMouseEnterLeave),L(this.$ranges,"mouseleave",this.onMouseEnterLeave),L(this.$ranges,"focus",this.onFocus),L(this.$ranges,"blur",this.onBlur)}},{key:"createElement",value:function(){this.$el=$({className:O("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}},{key:"destroy",value:function(){this.dp.off(h,this.onChangeSelectedDate),this.dp.off(p,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}},{key:"buildHtml",value:function(){var e=this.ampm,t=this.hours,i=this.displayHours,n=this.minutes,a=this.minHours,s=this.minMinutes,r=this.maxHours,o=this.maxMinutes,l=this.dayPeriod,c=this.opts,u=c.hoursStep,h=c.minutesStep;this.$el.innerHTML='<div class="air-datepicker-time--current">'+' <span class="air-datepicker-time--current-hours">'.concat(A(i),"</span>")+' <span class="air-datepicker-time--current-colon">:</span>'+' <span class="air-datepicker-time--current-minutes">'.concat(A(n),"</span>")+" ".concat(e?"<span class='air-datepicker-time--current-ampm'>".concat(l,"</span>"):"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+' <input type="range" name="hours" value="'.concat(t,'" min="').concat(a,'" max="').concat(r,'" step="').concat(u,'"/>')+' </div> <div class="air-datepicker-time--row">'+' <input type="range" name="minutes" value="'.concat(n,'" min="').concat(s,'" max="').concat(o,'" step="').concat(h,'"/>')+" </div></div>"}},{key:"defineDOM",value:function(){var e=this,t=function(t){return M(t,e.$el)};this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=t('[name="hours"]'),this.$minutes=t('[name="minutes"]'),this.$hoursText=t(".air-datepicker-time--current-hours"),this.$minutesText=t(".air-datepicker-time--current-minutes"),this.$ampm=t(".air-datepicker-time--current-ampm")}},{key:"setTime",value:function(e){this.setMinMaxTime(e),this.setCurrentTime(e)}},{key:"addTimeToDate",value:function(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}},{key:"setMinMaxTime",value:function(e){if(this.setMinMaxTimeFromOptions(),e){var t=this.dp,i=t.minDate,n=t.maxDate;i&&E(e,i)&&this.setMinTimeFromMinDate(i),n&&E(e,n)&&this.setMaxTimeFromMaxDate(n)}}},{key:"setCurrentTime",value:function(e){var t=e?T(e):this,i=t.hours,n=t.minutes;this.hours=j(i,this.minHours,this.maxHours),this.minutes=j(n,this.minMinutes,this.maxMinutes)}},{key:"setMinMaxTimeFromOptions",value:function(){var e=this.opts,t=e.minHours,i=e.minMinutes,n=e.maxHours,a=e.maxMinutes;this.minHours=j(t,0,23),this.minMinutes=j(i,0,59),this.maxHours=j(n,0,23),this.maxMinutes=j(a,0,59)}},{key:"setMinTimeFromMinDate",value:function(e){var t=this.dp.lastSelectedDate;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}},{key:"setMaxTimeFromMaxDate",value:function(e){var t=this.dp.lastSelectedDate;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes()}},{key:"getDayPeriod",value:function(e,t){var i=e,n=Number(e);e instanceof Date&&(i=T(e),n=Number(i.hours));var a="am";if(t||this.ampm){switch(!0){case 12===n:case n>11:a="pm"}n=n%12==0?12:n%12}return{hours:n,dayPeriod:a}}},{key:"updateSliders",value:function(){C(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,C(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}},{key:"updateText",value:function(){this.$hoursText.innerHTML=A(this.displayHours),this.$minutesText.innerHTML=A(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}},{key:"hours",get:function(){return this._hours},set:function(e){this._hours=e;var t=this.getDayPeriod(e),i=t.hours,n=t.dayPeriod;this.displayHours=i,this.dayPeriod=n}},{key:"render",value:function(){this.updateSliders(),this.updateText()}}])&&re(t.prototype,i),e}();function ce(e,t){if(e){if("string"==typeof e)return ue(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?ue(e,t):void 0}}function ue(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function he(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function de(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var pe=function(){function e(t){var i=this,n=t.dp,a=t.opts;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),de(this,"pressedKeys",new Set),de(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],function(e){return e.month++}],[[["Control","ArrowLeft"],["Control","ArrowDown"]],function(e){return e.month--}],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],function(e){return e.year++}],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],function(e){return e.year--}],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],function(e){return e.year+=10}],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],function(e){return e.year-=10}],[["Control","Shift","ArrowUp"],function(e,t){return t.up()}]])),de(this,"handleHotKey",(function(e){var t=i.hotKeys.get(e),n=T(i.getInitialFocusDate());t(n,i.dp);var a=n.year,s=n.month,r=n.date,o=S(new Date(a,s));o<r&&(r=o);var l=i.dp.getClampedDate(new Date(a,s,r));i.dp.setFocusDate(l,{viewDateTransition:!0})})),de(this,"isHotKeyPressed",(function(){var e,t=!1,n=i.pressedKeys.size,a=function(e){return i.pressedKeys.has(e)},s=function(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=ce(e))){i&&(e=i);var n=0,a=function(){};return{s:a,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,r=!0,o=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return r=e.done,e},e:function(e){o=!0,s=e},f:function(){try{r||null==i.return||i.return()}finally{if(o)throw s}}}}(i.hotKeys);try{var r=function(){var i,s,r=(i=e.value,s=1,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var n,a,s=[],r=!0,o=!1;try{for(i=i.call(e);!(r=(n=i.next()).done)&&(s.push(n.value),!t||s.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return s}}(i,s)||ce(i,s)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];if(t)return"break";if(Array.isArray(r[0]))r.forEach((function(e){t||n!==e.length||(t=e.every(a)&&r)}));else{if(n!==r.length)return"continue";t=r.every(a)&&r}};for(s.s();!(e=s.n()).done;){if("break"===r())break}}catch(e){s.e(e)}finally{s.f()}return t})),de(this,"isArrow",(function(e){return e>=37&&e<=40})),de(this,"onKeyDown",(function(e){var t=e.key,n=e.which,a=i.dp,s=i.dp.focusDate,r=i.opts;i.registerKey(t);var o=i.isHotKeyPressed();if(o)return e.preventDefault(),void i.handleHotKey(o);if(i.isArrow(n))return e.preventDefault(),void i.focusNextCell(t);if("Enter"===t){if(a.currentView!==r.minView)return void a.down();if(s){var l=a._checkIfDateIsSelected(s);return void(l?a._handleAlreadySelectedDates(l,s):a.selectDate(s))}}"Escape"===t&&i.dp.hide()})),de(this,"onKeyUp",(function(e){i.removeKey(e.key)})),this.dp=n,this.opts=a,this.init()}var t,s;return t=e,(s=[{key:"init",value:function(){this.bindKeyboardEvents()}},{key:"bindKeyboardEvents",value:function(){var e=this.dp.$el;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}},{key:"destroy",value:function(){var e=this.dp.$el;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}},{key:"getInitialFocusDate",value:function(){var e=this.dp,t=e.focusDate,s=e.currentView,r=e.selectedDates,o=e.parsedViewDate,l=o.year,c=o.month,u=t||r[r.length-1];if(!u)switch(s){case i:u=new Date(l,c,(new Date).getDate());break;case n:u=new Date(l,c,1);break;case a:u=new Date(l,0,1)}return u}},{key:"focusNextCell",value:function(e){var t=this.getInitialFocusDate(),s=this.dp.currentView,r=i,o=n,l=a,c=T(t),u=c.year,h=c.month,d=c.date;switch(e){case"ArrowLeft":s===r&&(d-=1),s===o&&(h-=1),s===l&&(u-=1);break;case"ArrowUp":s===r&&(d-=7),s===o&&(h-=3),s===l&&(u-=4);break;case"ArrowRight":s===r&&(d+=1),s===o&&(h+=1),s===l&&(u+=1);break;case"ArrowDown":s===r&&(d+=7),s===o&&(h+=3),s===l&&(u+=4)}var p=this.dp.getClampedDate(new Date(u,h,d));this.dp.setFocusDate(p,{viewDateTransition:!0})}},{key:"registerKey",value:function(e){this.pressedKeys.add(e)}},{key:"removeKey",value:function(e){this.pressedKeys.delete(e)}}])&&he(t.prototype,s),e}(),fe={on:function(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t]},off:function(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((function(e){return e!==t})))},removeAllEvents:function(){this.__events={}},trigger:function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];this.__events&&this.__events[e]&&this.__events[e].forEach((function(e){e.apply(void 0,i)}))}};function ve(e){return function(e){if(Array.isArray(e))return ge(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ye(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function me(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var n,a,s=[],r=!0,o=!1;try{for(i=i.call(e);!(r=(n=i.next()).done)&&(s.push(n.value),!t||s.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return s}}(e,t)||ye(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ye(e,t){if(e){if("string"==typeof e)return ge(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?ge(e,t):void 0}}function ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function De(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function be(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var ke,we="",_e="",Me="",$e=!1,Ce=function(){function e(t,s){var r=this;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),be(this,"viewIndexes",[i,n,a]),be(this,"next",(function(){var e=r.parsedViewDate,t=e.year,s=e.month;switch(r.currentView){case i:r.setViewDate(new Date(t,s+1,1));break;case n:r.setViewDate(new Date(t+1,s,1));break;case a:r.setViewDate(new Date(t+10,0,1))}})),be(this,"prev",(function(){var e=r.parsedViewDate,t=e.year,s=e.month;switch(r.currentView){case i:r.setViewDate(new Date(t,s-1,1));break;case n:r.setViewDate(new Date(t-1,s,1));break;case a:r.setViewDate(new Date(t-10,0,1))}})),be(this,"_finishHide",(function(){r.hideAnimation=!1,r._destroyComponents(),r.$container.removeChild(r.$datepicker)})),be(this,"setPosition",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"!=typeof(e=e||r.opts.position)){var i,n,a=r.opts.isMobile,s=r.$el.getBoundingClientRect(),o=r.$el.getBoundingClientRect(),l=r.$datepicker.offsetParent,c=r.$el.offsetParent,u=r.$datepicker.getBoundingClientRect(),h=e.split(" "),d=window.scrollY,p=window.scrollX,f=r.opts.offset,v=h[0],m=h[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else{if(l===c&&l!==document.body&&(o={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:s.width,height:r.$el.offsetHeight},d=0,p=0),l!==c&&l!==document.body){var y=l.getBoundingClientRect();o={top:s.top-y.top,left:s.left-y.left,width:s.width,height:s.height},d=0,p=0}switch(v){case"top":i=o.top-u.height-f;break;case"right":n=o.left+o.width+f;break;case"bottom":i=o.top+o.height+f;break;case"left":n=o.left-u.width-f}switch(m){case"top":i=o.top;break;case"right":n=o.left+o.width-u.width;break;case"bottom":i=o.top+o.height-u.height;break;case"left":n=o.left;break;case"center":/left|right/.test(v)?i=o.top+o.height/2-u.height/2:n=o.left+o.width/2-u.width/2}r.$datepicker.style.cssText="left: ".concat(n+p,"px; top: ").concat(i+d,"px")}}else r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide})})),be(this,"_setInputValue",(function(){var e=r.opts,t=r.$altField,i=r.locale.dateFormat,n=e.altFieldDateFormat;e.altField&&t&&(t.value=r._getInputValue(n)),r.$el.value=r._getInputValue(i)})),be(this,"_getInputValue",(function(e){var t=r.selectedDates,i=r.opts,n=i.multipleDates,a=i.multipleDatesSeparator;if(!t.length)return"";var s="function"==typeof e,o=s?e(n?t:t[0]):t.map((function(t){return r.formatDate(t,e)}));return s?o:o.join(a)})),be(this,"_checkIfDateIsSelected",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,n=!1;return r.selectedDates.some((function(i){var a=E(e,i,t);return n=a&&i,a})),n})),be(this,"_scheduleCallAfterTransition",(function(e){r._cancelScheduledCall(),e&&e(!1),r._onTransitionEnd=function(){e&&e(!0)},r.$datepicker.addEventListener("transitionend",r._onTransitionEnd,{once:!0})})),be(this,"_cancelScheduledCall",(function(){r.$datepicker.removeEventListener("transitionend",r._onTransitionEnd)})),be(this,"setViewDate",(function(e){if((e=R(e))instanceof Date&&!E(e,r.viewDate)){var t=r.viewDate;r.viewDate=e;var i=r.opts.onChangeViewDate;if(i){var n=r.parsedViewDate;i({month:n.month,year:n.year,decade:r.curDecade})}r.trigger(l,e,t)}})),be(this,"setFocusDate",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=R(e))instanceof Date)&&(r.focusDate=e,r.opts.range&&e&&r._handleRangeOnFocus(),r.trigger(u,e,t))})),be(this,"setCurrentView",(function(e){if(r.viewIndexes.includes(e)){if(r.currentView=e,r.elIsInput&&r.visible&&r.setPosition(void 0,!0),r.trigger(c,e),!r.views[e]){var t=r.views[e]=new Q({dp:r,opts:r.opts,type:e});r.$content.appendChild(t.$el)}r.opts.onChangeView&&r.opts.onChangeView(e)}})),be(this,"_updateLastSelectedDate",(function(e){r.lastSelectedDate=e,r.trigger(p,e)})),be(this,"destroy",(function(){var e=r.opts,t=e.showEvent,i=e.isMobile,n=r.$datepicker.parentNode;n&&n.removeChild(r.$datepicker),r.$el.removeEventListener(t,r._onFocus),r.$el.removeEventListener("blur",r._onBlur),i&&r._removeMobileAttributes(),r.keyboardNav&&r.keyboardNav.destroy(),r.views=null,r.nav=null,r.$datepicker=null,r.opts=null,r.$customContainer=null,r.viewDate=null,r.focusDate=null,r.selectedDates=null,r.rangeDateFrom=null,r.rangeDateTo=null})),be(this,"update",(function(e){var t=P({},r.opts);P(r.opts,e);var n=r.opts,a=n.timepicker,s=n.buttons,o=n.range,l=n.selectedDates,c=n.isMobile,u=r.visible||r.treatAsInline;r._createMinMaxDates(),r._limitViewDateByMaxMinDates(),r._handleLocale(),!t.selectedDates&&l&&r.selectDate(l),e.view&&r.setCurrentView(e.view),r._setInputValue(),t.range&&!o?(r.rangeDateTo=!1,r.rangeDateFrom=!1):!t.range&&o&&r.selectedDates.length&&(r.rangeDateFrom=r.selectedDates[0],r.rangeDateTo=r.selectedDates[1]),t.timepicker&&!a?(u&&r.timepicker.destroy(),r.timepicker=!1,r.$timepicker.parentNode.removeChild(r.$timepicker)):!t.timepicker&&a&&r._addTimepicker(),!t.buttons&&s?r._addButtons():t.buttons&&!s?(r.buttons.destroy(),r.$buttons.parentNode.removeChild(r.$buttons)):u&&t.buttons&&s&&r.buttons.clearHtml().render(),!t.isMobile&&c?(r.treatAsInline||Me||r._createMobileOverlay(),r._addMobileAttributes()):t.isMobile&&!c&&r._removeMobileAttributes(),u&&(r.nav.update(),r.views[r.currentView].render(),r.currentView===i&&r.views[r.currentView].renderDayNames())})),be(this,"isOtherMonth",(function(e){return T(e).month!==r.parsedViewDate.month})),be(this,"isOtherYear",(function(e){return T(e).year!==r.parsedViewDate.year})),be(this,"isOtherDecade",(function(e){var t=T(e).year,i=me(F(r.viewDate),2),n=i[0],a=i[1];return t<n||t>a})),be(this,"_onChangeSelectedDate",(function(e){var t=e.silent;setTimeout((function(){r._setInputValue(),r.opts.onSelect&&!t&&r._triggerOnSelect()}))})),be(this,"_onChangeFocusedDate",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.viewDateTransition;if(e){var n=!1;i&&(n=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),n&&r.setViewDate(e)}})),be(this,"_onChangeTime",(function(e){var t=e.hours,i=e.minutes,n=new Date,a=r.lastSelectedDate,s=r.opts.onSelect,o=a;a||(o=n);var l=r.getCell(o),c=l&&l.adpCell;c&&c.isDisabled||(o.setHours(t),o.setMinutes(i),a?(r._setInputValue(),s&&r._triggerOnSelect()):r.selectDate(o))})),be(this,"_onFocus",(function(e){r.visible||r.show()})),be(this,"_onBlur",(function(e){r.inFocus||!r.visible||r.opts.isMobile||r.hide()})),be(this,"_onMouseDown",(function(e){r.inFocus=!0})),be(this,"_onMouseUp",(function(e){r.inFocus=!1,r.$el.focus()})),be(this,"_onClickOverlay",(function(){r.visible&&r.hide()})),be(this,"isWeekend",(function(e){return r.opts.weekends.includes(e)})),be(this,"getClampedDate",(function(e){var t=r.minDate,i=r.maxDate,n=e;return i&&V(e,i)?n=i:t&&x(e,t)&&(n=t),n})),this.$el=M(t),this.$el){this.$datepicker=$({className:"air-datepicker"}),this.opts=P({},y,s),this.$customContainer=!!this.opts.container&&M(this.opts.container),this.$altField=M(this.opts.altField||!1),we||(we=M("body"));var o=this.opts,h=o.view;o.startDate||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=R(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=h,this.selectedDates=[],this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}}var t,m,g;return t=e,m=[{key:"init",value:function(){var t,i=this.opts,n=this.treatAsInline,a=this.opts,s=a.inline,r=a.isMobile,o=a.selectedDates,l=a.keyboardNav,c=a.onlyTimepicker;$e||s||!this.elIsInput||(t=e.defaultContainerId,$e=!0,_e=$({className:t,id:t}),we.appendChild(_e)),!r||Me||n||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(s||this._bindEvents(),l&&!c&&(this.keyboardNav=new pe({dp:this,opts:i}))),o&&this.selectDate(o,{silent:!0}),this.opts.visible&&!n&&this.show(),n&&this._createComponents()}},{key:"_createMobileOverlay",value:function(){Me=$({className:"air-datepicker-overlay"}),_e.appendChild(Me)}},{key:"_createComponents",value:function(){var e,t=this.opts,i=this.treatAsInline,n=this.opts,a=n.inline,s=n.buttons,r=n.timepicker,o=n.position,l=n.classes,c=n.onlyTimepicker,u=n.isMobile;this._buildBaseHtml(),this.elIsInput&&(a||this._setPositionClasses(o)),!a&&this.elIsInput||this.$datepicker.classList.add("-inline-"),l&&(e=this.$datepicker.classList).add.apply(e,ve(l.split(" "))),c&&this.$datepicker.classList.add("-only-timepicker-"),u&&!i&&this._addMobileAttributes(),this.views[this.currentView]=new Q({dp:this,type:this.currentView,opts:t}),this.nav=new te({dp:this,opts:t}),r&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}},{key:"_destroyComponents",value:function(){for(var e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}},{key:"_addMobileAttributes",value:function(){Me.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}},{key:"_removeMobileAttributes",value:function(){Me.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}},{key:"_createMinMaxDates",value:function(){var e=this.opts,t=e.minDate,i=e.maxDate;this.minDate=!!t&&R(t),this.maxDate=!!i&&R(i)}},{key:"_addTimepicker",value:function(){this.$timepicker=$({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new le({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}},{key:"_addButtons",value:function(){this.$buttons=$({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new ae({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}},{key:"_bindSubEvents",value:function(){this.on(h,this._onChangeSelectedDate),this.on(u,this._onChangeFocusedDate),this.on(d,this._onChangeTime)}},{key:"_buildBaseHtml",value:function(){var e,t,i=this.opts.inline;this.elIsInput?i?(e=this.$datepicker,(t=this.$el).parentNode.insertBefore(e,t.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=M(".air-datepicker--content",this.$datepicker),this.$pointer=M(".air-datepicker--pointer",this.$datepicker),this.$nav=M(".air-datepicker--navigation",this.$datepicker)}},{key:"_handleLocale",value:function(){var e,t=this.opts,i=t.locale,n=t.dateFormat,a=t.firstDay,s=t.timepicker,r=t.onlyTimepicker,o=t.timeFormat,l=t.dateTimeSeparator;this.locale=(e=i,JSON.parse(JSON.stringify(e))),n&&(this.locale.dateFormat=n),void 0!==o&&""!==o&&(this.locale.timeFormat=o);var c=this.locale.timeFormat;if(""!==a&&(this.locale.firstDay=a),s&&"function"!=typeof n){var u=c?l:"";this.locale.dateFormat=[this.locale.dateFormat,c||""].join(u)}r&&(this.locale.dateFormat=this.locale.timeFormat)}},{key:"_setPositionClasses",value:function(e){var t;if("function"!=typeof e){var i=(e=e.split(" "))[0],n=e[1],a="air-datepicker -".concat(i,"-").concat(n,"- -from-").concat(i,"-");(t=this.$datepicker.classList).add.apply(t,ve(a.split(" ")))}else this.$datepicker.classList.add("-custom-position-")}},{key:"_bindEvents",value:function(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp)}},{key:"_limitViewDateByMaxMinDates",value:function(){var e=this.viewDate,t=this.minDate,i=this.maxDate;i&&V(e,i)&&this.setViewDate(i),t&&x(e,t)&&this.setViewDate(t)}},{key:"formatDate",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,i=arguments.length>1?arguments[1]:void 0;if((t=R(t))instanceof Date){var n=i,a=this.locale,s=T(t),r=F(t),o=e.replacer,l="am";this.opts.timepicker&&this.timepicker&&(l=this.timepicker.getDayPeriod(t).dayPeriod);for(var c={T:t.getTime(),m:s.minutes,mm:s.fullMinutes,h:s.hours12,hh:s.fullHours12,H:s.hours,HH:s.fullHours,aa:l,AA:l.toUpperCase(),E:a.daysShort[s.day],EEEE:a.days[s.day],d:s.date,dd:s.fullDate,M:s.month+1,MM:s.fullMonth,MMM:a.monthsShort[s.month],MMMM:a.months[s.month],yy:s.year.toString().slice(-2),yyyy:s.year,yyyy1:r[0],yyyy2:r[1]},u=0,h=Object.entries(c);u<h.length;u++){var d=me(h[u],2),p=d[0],f=d[1];n=o(n,B(p),f)}return n}}},{key:"down",value:function(e){this._handleUpDownActions(e,"down")}},{key:"up",value:function(e){this._handleUpDownActions(e,"up")}},{key:"selectDate",value:function(e){var t,n=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.currentView,o=this.parsedViewDate,l=this.selectedDates,c=s.updateTime,u=this.opts,d=u.moveToOtherMonthsOnSelect,p=u.moveToOtherYearsOnSelect,v=u.multipleDates,m=u.range,y=u.autoClose,g=l.length;if(Array.isArray(e))return e.forEach((function(e){n.selectDate(e,s)})),new Promise((function(e){setTimeout(e)}));if((e=R(e))instanceof Date){if(r===i&&e.getMonth()!==o.month&&d&&(t=new Date(e.getFullYear(),e.getMonth(),1)),r===a&&e.getFullYear()!==o.year&&p&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),v&&!m){if(g===v)return;this._checkIfDateIsSelected(e)||l.push(e)}else if(m)switch(g){case 1:l.push(e),this.rangeDateTo||(this.rangeDateTo=e),V(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(h,{action:f,silent:null==s?void 0:s.silent,date:e,updateTime:c}),this._updateLastSelectedDate(e),y&&!this.timepickerIsActive&&this.visible&&(v||m?m&&2===g&&this.hide():this.hide()),new Promise((function(e){setTimeout(e)}))}}},{key:"unselectDate",value:function(e){var t=this,i=this.selectedDates,n=this;if((e=R(e))instanceof Date)return i.some((function(a,s){if(E(a,e))return i.splice(s,1),n.selectedDates.length?n._updateLastSelectedDate(n.selectedDates[n.selectedDates.length-1]):(n.rangeDateFrom="",n.rangeDateTo="",n._updateLastSelectedDate(!1)),t.trigger(h,{action:v,date:e}),!0}))}},{key:"replaceDate",value:function(e,t){var i=this,n=this.selectedDates.find((function(t){return E(t,e,i.currentView)})),a=this.selectedDates.indexOf(n);a<0||E(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(h,{action:f,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}},{key:"clear",value:function(){this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.trigger(h,{action:v})}},{key:"show",value:function(){var e=this.opts,t=e.onShow,i=e.isMobile;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,t&&this._scheduleCallAfterTransition(t),i&&Me.classList.add("-active-")}},{key:"hide",value:function(){var e=this,t=this.opts,i=t.onHide,n=t.isMobile,a=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((function(t){!e.customHide&&(t&&a||!t&&!a)&&e._finishHide(),i&&i(t)})),n&&Me.classList.remove("-active-")}},{key:"_triggerOnSelect",value:function(){var e=this,t=[],i=[],n=this,a=n.selectedDates,s=n.locale,r=n.opts,o=r.onSelect,l=r.multipleDates,c="function"==typeof s.dateFormat;a.length&&(t=a.map(H),i=c?l?s.dateFormat(t):t.map((function(e){return s.dateFormat(e)})):t.map((function(t){return e.formatDate(t,s.dateFormat)}))),o({date:l?t:t[0],formattedDate:l?i:i[0],datepicker:n})}},{key:"_handleAlreadySelectedDates",value:function(e,t){var i=this.opts,n=i.range,a=i.toggleSelected;n?a?this.unselectDate(t):2!==this.selectedDates.length&&this.selectDate(t):a&&this.unselectDate(t),a||this._updateLastSelectedDate(e)}},{key:"_handleUpDownActions",value:function(e,t){if((e=R(e||this.focusDate||this.viewDate))instanceof Date){var i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}}},{key:"_handleRangeOnFocus",value:function(){1===this.selectedDates.length&&(V(this.selectedDates[0],this.focusDate)?(this.rangeDateTo=this.selectedDates[0],this.rangeDateFrom=this.focusDate):(this.rangeDateTo=this.focusDate,this.rangeDateFrom=this.selectedDates[0]))}},{key:"getCell",value:function(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s;if((c=R(e))instanceof Date){var n=T(c),a=n.year,l=n.month,c=n.date,u='[data-year="'.concat(a,'"]'),h='[data-month="'.concat(l,'"]'),d='[data-date="'.concat(c,'"]'),p=(be(t={},s,"".concat(u).concat(h).concat(d)),be(t,r,"".concat(u).concat(h)),be(t,o,"".concat(u)),t);return this.views[this.currentView].$el.querySelector(p[i])}}},{key:"_hasTransition",value:function(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce((function(e,t){return parseFloat(t)+e}),0)>0}},{key:"parsedViewDate",get:function(){return T(this.viewDate)}},{key:"curDecade",get:function(){return F(this.viewDate)}},{key:"viewIndex",get:function(){return this.viewIndexes.indexOf(this.currentView)}},{key:"isFinalView",get:function(){return this.currentView===a}},{key:"hasSelectedDates",get:function(){return this.selectedDates.length>0}},{key:"isMinViewReached",get:function(){return this.currentView===this.opts.minView||this.currentView===i}},{key:"$container",get:function(){return this.$customContainer||_e}}],g=[{key:"replacer",value:function(e,t,i){return e.replace(t,(function(e,t,n,a){return t+i+a}))}}],m&&De(t.prototype,m),g&&De(t,g),e}();return be(Ce,"defaults",y),be(Ce,"version","3.1.0"),be(Ce,"defaultContainerId","air-datepicker-global-container"),ke=Ce.prototype,Object.assign(ke,fe),t.default})()}));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AirDatepicker=t():e.AirDatepicker=t()}(this,(function(){return function(){"use strict";var e={d:function(t,i){for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return K}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:!1,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return"string"==typeof e?t.querySelector(e):e}function n(){let{tagName:e="div",className:t="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=document.createElement(e);if(t&&n.classList.add(...t.split(" ")),s&&(n.id=s),i&&(n.innerHTML=i),a)for(let e in a)n.setAttribute(e,a[e]);return n}function r(e,t){for(let[i,s]of Object.entries(t))e.setAttribute(i,s);return e}function h(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function o(e){let t=e.getHours(),i=t%12==0?12:t%12;return{year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?"0"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:l(t),hours12:i,fullHours12:l(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes()}}function l(e){return e<10?"0"+e:e}function d(e){let t=10*Math.floor(e.getFullYear()/10);return[t,t+9]}function c(){let e=[];for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return i.forEach((t=>{if("object"==typeof t)for(let i in t)t[i]&&e.push(i);else t&&e.push(t)})),e.join(" ")}function u(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!e||!t)return!1;let a=o(e),n=o(t),r={[i.days]:a.date===n.date&&a.month===n.month&&a.year===n.year,[i.months]:a.month===n.month&&a.year===n.year,[i.years]:a.year===n.year};return r[s]}function p(e,t,i){let s=g(e,!1).getTime(),a=g(t,!1).getTime();return i?s>=a:s>a}function m(e,t){return!p(e,t,!0)}function g(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return"boolean"!=typeof t||t||D(i),i}function D(e){return e.setHours(0,0,0,0),e}function v(e,t,i){e.length?e.forEach((e=>{e.addEventListener(t,i)})):e.addEventListener(t,i)}function y(e,t){return!(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:y(e.parentNode,t))}function f(e,t,i){return e>i?i:e<t?t:e}function w(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return i.filter((e=>e)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&"[object Object]"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s)}else e[i]=s})),e}function b(e){let t=e;return e instanceof Date||(t=new Date(e)),isNaN(t.getTime())&&(console.log('Unable to convert value "'.concat(e,'" to Date object')),t=!1),t}function k(e){let t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function C(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=!0})),C(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=!1})),C(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=!0})),C(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1})),C(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),C(this,"onChangeFocusDate",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=u(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),C(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this.$cell.adpCell=this,this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){let{range:e,onRenderCell:t}=this.opts;t&&(this.customData=t({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),e&&this._handleRangeStatus())}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){let{year:e,month:t,date:i}=o(this.date);this.$cell=n({className:this._getClassName(),attrs:{"data-year":e,"data-month":t,"data-date":i}})}_getClassName(){var e,t;let s=new Date,{selectOtherMonths:a,selectOtherYears:n}=this.opts,{minDate:r,maxDate:h}=this.dp,{day:l}=o(this.date),d=this._isOutOfMinMaxRange(),p=null===(e=this.customData)||void 0===e?void 0:e.disabled,m=c("air-datepicker-cell","-".concat(this.singleType,"-"),{"-current-":u(s,this.date,this.type),"-min-date-":r&&u(r,this.date,this.type),"-max-date-":h&&u(h,this.date,this.type)}),g="";switch(this.type){case i.days:g=c({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!a||d||p});break;case i.months:g=c({"-disabled-":d||p});break;case i.years:g=c({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!n||p})}return c(m,g,null===(t=this.customData)||void 0===t?void 0:t.classes)}_getHtml(){var e;let{year:t,month:s,date:a}=o(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return!n&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!r&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:h}=o(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?h:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?h:t.getDate());return e&&t?m(c,e)||p(u,t):e?m(c,e):t?p(u,t):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){let{rangeDateFrom:e,rangeDateTo:t}=this.dp,i=c({"-in-range-":e&&t&&(s=this.date,a=e,n=t,p(s,a)&&m(s,n)),"-range-from-":e&&u(this.date,e,this.type),"-range-to-":t&&u(this.date,t,this.type)});var s,a,n;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),i&&this.$cell.classList.add(...i.split(" "))}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){u(this.dp.focusDate,this.date,this.type)&&this.focus()}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function M(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let $={[i.days]:'<div class="air-datepicker-body--day-names"></div>'+'<div class="air-datepicker-body--cells -'.concat(i.days,'-"></div>'),[i.months]:'<div class="air-datepicker-body--cells -'.concat(i.months,'-"></div>'),[i.years]:'<div class="air-datepicker-body--cells -'.concat(i.years,'-"></div>')};class S{constructor(e){let{dp:t,type:s,opts:a}=e;M(this,"handleClick",(e=>{let t=y(e.target,".air-datepicker-cell");if(!t)return;let i=t.adpCell;if(i.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let s=this.dp._checkIfDateIsSelected(i.date,i.type);s?this.dp._handleAlreadySelectedDates(s,i.date):this.dp.selectDate(i.date)})),M(this,"onChangeCurrentView",(e=>{e!==this.type?this.hide():(this.show(),this.render())})),M(this,"onMouseOverCell",(e=>{let t=y(e.target,".air-datepicker-cell");this.dp.setFocusDate(!!t&&t.adpCell.date)})),M(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(!1)})),M(this,"onClickCell",(e=>{this.handleClick(e)})),M(this,"onMouseDown",(e=>{this.pressed=!0;let t=y(e.target,".air-datepicker-cell"),i=t&&t.adpCell;u(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),u(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),M(this,"onMouseMove",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,".air-datepicker-cell"),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!p(r,a)){let{hours:e,minutes:t}=o(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r)}if(this.rangeToFocused&&!m(r,n)){let{hours:e,minutes:t}=o(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r)}}})),M(this,"onMouseUp",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),M(this,"onChangeViewDate",((e,t)=>{if(!this.isVisible)return;let s=d(e),a=d(t);switch(this.dp.currentView){case i.days:if(u(e,t,i.months))return;break;case i.months:if(u(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),M(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render())}))})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;v(this.$el,"mouseover",this.onMouseOverCell),v(this.$el,"mouseout",this.onMouseOutCell),v(this.$el,"click",this.onClickCell),e&&t&&(v(this.$el,"mousedown",this.onMouseDown),v(this.$el,"mousemove",this.onMouseMove),v(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=n({className:"air-datepicker-body -".concat(this.type,"-"),innerHtml:$[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,a=e,n=0;for(;n<7;){let e=a%7,r=c("air-datepicker-body--day-name",{[i.cssClassWeekend]:s(e)}),h=this.dp.locale.daysMin[e];t+='<div class="'.concat(r,'">').concat(h,"</div>"),n++,a++}return t}_getDaysCells(){let{viewDate:e,locale:{firstDay:t}}=this.dp,i=h(e),{year:s,month:a}=o(e),n=new Date(s,a,1),r=new Date(s,a,i),l=n.getDay()-t,d=6-r.getDay()+t;l=l<0?l+7:l,d=d>6?d-7:d;let c=function(e,t){let{year:i,month:s,date:a}=o(e);return new Date(i,s,a-t)}(n,l),u=i+l+d,p=c.getDate(),{year:m,month:g}=o(c),D=0;for(;D<u;){let e=new Date(m,g,p+D);this._generateCell(e),D++}}_generateCell(e){let{type:t,dp:i,opts:s}=this,a=new _({type:t,dp:i,opts:s,date:e,body:this});return this.cells.push(a),a}_generateDayCells(){this._getDaysCells()}_generateMonthCells(){let{year:e}=this.dp.parsedViewDate,t=0;for(;t<12;)this.cells.push(this._generateCell(new Date(e,t))),t++}_generateYearCells(){let e=d(this.dp.viewDate),t=e[0]-1,i=e[1]+1,s=t;for(;s<=i;)this.cells.push(this._generateCell(new Date(s,0))),s++}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCells(){switch(this.type){case i.days:this._generateDayCells();break;case i.months:this._generateMonthCells();break;case i.years:this._generateYearCells()}}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}}function T(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class F{constructor(e){let{dp:t,opts:i}=e;T(this,"onClickNav",(e=>{let t=y(e.target,".air-datepicker-nav--action");if(!t)return;let i=t.dataset.action;this.dp[i]()})),T(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),T(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),T(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up()})),T(this,"update",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus()})),T(this,"renderDelay",(()=>{setTimeout(this.render)})),T(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})})),this.dp=t,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=n({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return"function"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&o(t),h=!!s&&o(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav("prev"),s&&h.month<=n&&h.year<=a&&this._disableNav("next");break;case i.months:t&&r.year>=a&&this._disableNav("prev"),s&&h.year<=a&&this._disableNav("next");break;case i.years:{let e=d(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav("prev"),s&&h.year<=e[1]&&this._disableNav("next");break}}}_disableNav(e){a('[data-action="'+e+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];e.length?e.forEach((e=>{e.classList.remove(...i)})):e.classList.remove(...i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML='<div class="air-datepicker-nav--action" data-action="prev">'.concat(e,"</div>")+'<div class="air-datepicker-nav--title"></div>'+'<div class="air-datepicker-nav--action" data-action="next">'.concat(t,"</div>")}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>"function"==typeof e[t]))}}var V={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=n({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;"string"==typeof e&&V[e]&&(t=V[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i)}))}attachEventToButton(e,t){e.addEventListener("click",(()=>{t(this.dp)}))}createButton(e){let{content:t,className:i,tagName:s="button",attrs:a={}}=e,r="function"==typeof t?t(this.dp):t;return n({tagName:s,innerHtml:"<span tabindex='-1'>".concat(r,"</span>"),className:c("air-datepicker-button",i),attrs:a})}render(){this.generateButtons()}}function x(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class L{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};x(this,"toggleTimepickerIsActive",(e=>{this.dp.timepickerIsActive=e})),x(this,"onChangeSelectedDate",(e=>{let{date:t,updateTime:i=!1}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t))})),x(this,"onChangeLastSelectedDate",(e=>{e&&(this.setTime(e),this.render())})),x(this,"onChangeInputRange",(e=>{let t=e.target;this[t.getAttribute("name")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),x(this,"onMouseEnterLeave",(e=>{let t=e.target.getAttribute("name"),i=this.$minutesText;"hours"===t&&(i=this.$hoursText),i.classList.toggle("-focus-")})),x(this,"onFocus",(()=>{this.toggleTimepickerIsActive(!0)})),x(this,"onBlur",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match(k("h"))||s.match(k("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),v(this.$ranges,e,this.onChangeInputRange),v(this.$ranges,"mouseenter",this.onMouseEnterLeave),v(this.$ranges,"mouseleave",this.onMouseEnterLeave),v(this.$ranges,"focus",this.onFocus),v(this.$ranges,"mousedown",this.onFocus),v(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=n({className:c("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:h,dayPeriod:o,opts:{hoursStep:d,minutesStep:c}}=this;this.$el.innerHTML='<div class="air-datepicker-time--current">'+' <span class="air-datepicker-time--current-hours">'.concat(l(i),"</span>")+' <span class="air-datepicker-time--current-colon">:</span>'+' <span class="air-datepicker-time--current-minutes">'.concat(l(s),"</span>")+" ".concat(e?"<span class='air-datepicker-time--current-ampm'>".concat(o,"</span>"):"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+' <input type="range" name="hours" value="'.concat(t,'" min="').concat(a,'" max="').concat(r,'" step="').concat(d,'"/>')+' </div> <div class="air-datepicker-time--row">'+' <input type="range" name="minutes" value="'.concat(s,'" min="').concat(n,'" max="').concat(h,'" step="').concat(c,'"/>')+" </div></div>"}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm")}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e)}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&u(e,t)&&this.setMinTimeFromMinDate(t),i&&u(e,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(e){let{hours:t,minutes:i}=e?o(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59)}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes()}getDayPeriod(e,t){let i=e,s=Number(e);e instanceof Date&&(i=o(e),s=Number(i.hours));let a="am";if(t||this.ampm){switch(!0){case 12===s:case s>11:a="pm"}s=s%12==0?12:s%12}return{hours:s,dayPeriod:a}}updateSliders(){r(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,r(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}updateText(){this.$hoursText.innerHTML=l(this.displayHours),this.$minutesText.innerHTML=l(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}set hours(e){this._hours=e;let{hours:t,dayPeriod:i}=this.getDayPeriod(e);this.displayHours=t,this.dayPeriod=i}get hours(){return this._hours}render(){this.updateSliders(),this.updateText()}}function O(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class E{constructor(e){let{dp:t,opts:i}=e;O(this,"pressedKeys",new Set),O(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],e=>e.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],e=>e.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],e=>e.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],e=>e.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],e=>e.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],e=>e.year-=10],[["Control","Shift","ArrowUp"],(e,t)=>t.up()]])),O(this,"handleHotKey",(e=>{let t=this.hotKeys.get(e),i=o(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=h(new Date(s,a));r<n&&(n=r);let l=this.dp.getClampedDate(new Date(s,a,n));this.dp.setFocusDate(l,{viewDateTransition:!0})})),O(this,"isHotKeyPressed",(()=>{let e=!1,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s)}));else{if(t!==s.length)continue;e=s.every(i)&&s}}return e})),O(this,"isArrow",(e=>e>=37&&e<=40)),O(this,"onKeyDown",(e=>{let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if("Enter"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}"Escape"===t&&this.dp.hide()})),O(this,"onKeyUp",(e=>{this.removeKey(e.key)})),this.dp=t,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1)}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,h=o(t),l=h.year,d=h.month,c=h.date;switch(e){case"ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case"ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case"ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case"ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let A={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t]},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)))},removeAllEvents(){this.__events={}},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];this.__events&&this.__events[e]&&this.__events[e].forEach((e=>{e(...i)}))}};function N(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let I="",R="",P="",B=!1;class K{constructor(e,t){var r=this;if(N(this,"viewIndexes",[i.days,i.months,i.years]),N(this,"next",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1))}})),N(this,"prev",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1))}})),N(this,"_finishHide",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),N(this,"setPosition",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),h=r.$el.getBoundingClientRect(),o=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(" "),u=window.scrollY,p=window.scrollX,m=r.opts.offset,g=c[0],D=c[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else{if(o===l&&o!==document.body&&(h={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),o!==l&&o!==document.body){let e=o.getBoundingClientRect();h={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0}switch(g){case"top":i=h.top-d.height-m;break;case"right":s=h.left+h.width+m;break;case"bottom":i=h.top+h.height+m;break;case"left":s=h.left-d.width-m}switch(D){case"top":i=h.top;break;case"right":s=h.left+h.width-d.width;break;case"bottom":i=h.top+h.height-d.height;break;case"left":s=h.left;break;case"center":/left|right/.test(g)?i=h.top+h.height/2-d.height/2:s=h.left+h.width/2-d.width/2}r.$datepicker.style.cssText="left: ".concat(s+p,"px; top: ").concat(i+u,"px")}})),N(this,"_setInputValue",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),N(this,"_getInputValue",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return"";let n="function"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),N(this,"_checkIfDateIsSelected",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return r.selectedDates.some((i=>{let a=u(e,i,t);return s=a&&i,a})),s})),N(this,"_scheduleCallAfterTransition",(e=>{this._cancelScheduledCall(),e&&e(!1),this._onTransitionEnd=()=>{e&&e(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})})),N(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)})),N(this,"setViewDate",(e=>{if(!((e=b(e))instanceof Date))return;if(u(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,e,t)})),N(this,"setFocusDate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.opts.range&&e&&r._handleRangeOnFocus(),r.trigger(i.eventChangeFocusDate,e,t))})),N(this,"setCurrentView",(e=>{if(this.viewIndexes.includes(e)){if(this.currentView=e,this.elIsInput&&this.visible&&this.setPosition(void 0,!0),this.trigger(i.eventChangeCurrentView,e),!this.views[e]){let t=this.views[e]=new S({dp:this,opts:this.opts,type:e});this.$content.appendChild(t.$el)}this.opts.onChangeView&&this.opts.onChangeView(e)}})),N(this,"_updateLastSelectedDate",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e)})),N(this,"destroy",(()=>{let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts=null,this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=null,this.rangeDateFrom=null,this.rangeDateTo=null})),N(this,"update",(e=>{let t=w({},this.opts);w(this.opts,e);let{timepicker:s,buttons:a,range:n,selectedDates:r,isMobile:h}=this.opts,o=this.visible||this.treatAsInline;this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this._handleLocale(),!t.selectedDates&&r&&this.selectDate(r),e.view&&this.setCurrentView(e.view),this._setInputValue(),t.range&&!n?(this.rangeDateTo=!1,this.rangeDateFrom=!1):!t.range&&n&&this.selectedDates.length&&(this.rangeDateFrom=this.selectedDates[0],this.rangeDateTo=this.selectedDates[1]),t.timepicker&&!s?(o&&this.timepicker.destroy(),this.timepicker=!1,this.$timepicker.parentNode.removeChild(this.$timepicker)):!t.timepicker&&s&&this._addTimepicker(),!t.buttons&&a?this._addButtons():t.buttons&&!a?(this.buttons.destroy(),this.$buttons.parentNode.removeChild(this.$buttons)):o&&t.buttons&&a&&this.buttons.clearHtml().render(),!t.isMobile&&h?(this.treatAsInline||P||this._createMobileOverlay(),this._addMobileAttributes(),this.visible&&this._showMobileOverlay()):t.isMobile&&!h&&(this._removeMobileAttributes(),this.visible&&(P.classList.remove("-active-"),"function"!=typeof this.opts.position&&this.setPosition())),o&&(this.nav.update(),this.views[this.currentView].render(),this.currentView===i.days&&this.views[this.currentView].renderDayNames())})),N(this,"isOtherMonth",(e=>{let{month:t}=o(e);return t!==this.parsedViewDate.month})),N(this,"isOtherYear",(e=>{let{year:t}=o(e);return t!==this.parsedViewDate.year})),N(this,"isOtherDecade",(e=>{let{year:t}=o(e),[i,s]=d(this.viewDate);return t<i||t>s})),N(this,"_onChangeSelectedDate",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect()}))})),N(this,"_onChangeFocusedDate",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=!1;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e)})),N(this,"_onChangeTime",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let h=this.getCell(r,this.currentViewSingular),o=h&&h.adpCell;o&&o.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r))})),N(this,"_onFocus",(e=>{this.visible||this.show()})),N(this,"_onBlur",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),N(this,"_onMouseDown",(e=>{this.inFocus=!0})),N(this,"_onMouseUp",(e=>{this.inFocus=!1,this.$el.focus()})),N(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition()})),N(this,"_onClickOverlay",(()=>{this.visible&&this.hide()})),N(this,"isWeekend",(e=>this.opts.weekends.includes(e))),N(this,"getClampedDate",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&p(e,i)?s=i:t&&m(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:"air-datepicker"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1),I||(I=a("body"));let{view:h,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=b(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=h,this.selectedDates=[],this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:a,keyboardNav:r,onlyTimepicker:h}}=this;var o;B||i||!this.elIsInput||(B=!0,R=n({className:o=K.defaultContainerId,id:o}),I.appendChild(R)),!s||P||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!h&&(this.keyboardNav=new E({dp:this,opts:e}))),a&&this.selectDate(a,{silent:!0}),this.opts.visible&&!t&&this.show(),t&&this._createComponents()}_createMobileOverlay(){P=n({className:"air-datepicker-overlay"}),R.appendChild(P)}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:h,isMobile:o}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),r&&this.$datepicker.classList.add(...r.split(" ")),h&&this.$datepicker.classList.add("-only-timepicker-"),o&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new S({dp:this,type:this.currentView,opts:e}),this.nav=new F({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){P.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){P.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t)}_addTimepicker(){this.$timepicker=n({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new L({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=n({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var h;this.locale=(h=e,JSON.parse(JSON.stringify(h))),t&&(this.locale.dateFormat=t),void 0!==n&&""!==n&&(this.locale.timeFormat=n);let{timeFormat:o}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof t){let e=o?r:"";this.locale.dateFormat=[this.locale.dateFormat,o||""].join(e)}a&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(e){if("function"==typeof e)return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],i=e[1],s="air-datepicker -".concat(t,"-").concat(i,"- -from-").concat(t,"-");this.$datepicker.classList.add(...s.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&p(e,i)&&this.setViewDate(i),t&&m(e,t)&&this.setViewDate(t)}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=o(e),n=d(e),r=K.replacer,h="am";this.opts.timepicker&&this.timepicker&&(h=this.timepicker.getDayPeriod(e).dayPeriod);let l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:h,AA:h.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:n[0],yyyy2:n[1]};for(let[e,t]of Object.entries(l))i=r(i,k(e),t);return i}down(e){this._handleUpDownActions(e,"down")}up(e){this._handleUpDownActions(e,"up")}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:h}=s,{moveToOtherMonthsOnSelect:o,moveToOtherYearsOnSelect:l,multipleDates:d,range:c,autoClose:u}=this.opts,m=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s)})),new Promise((e=>{setTimeout(e)}));if((e=b(e))instanceof Date){if(a===i.days&&e.getMonth()!==n.month&&o&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&l&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),d&&!c){if(m===d)return;this._checkIfDateIsSelected(e)||r.push(e)}else if(c)switch(m){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),p(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:h}),this._updateLastSelectedDate(e),u&&!this.timepickerIsActive&&this.visible&&(d||c?c&&1===m&&this.hide():this.hide()),new Promise((e=>{setTimeout(e)}))}}unselectDate(e){let t=this.selectedDates,s=this;if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(u(a,e))return t.splice(n,1),s.selectedDates.length?s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1]):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),!0}))}replaceDate(e,t){let s=this.selectedDates.find((t=>u(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||u(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}clear(){this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate})}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay()}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t)})),t&&P.classList.remove("-active-")}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,h=n||r,o="function"==typeof s.dateFormat;i.length&&(e=i.map(g),t=o?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:h?e:e[0],formattedDate:h?t:t[0],datepicker:this})}_handleAlreadySelectedDates(e,t){let{range:i,toggleSelected:s}=this.opts;i?s?this.unselectDate(t):2!==this.selectedDates.length&&this.selectDate(t):s&&this.unselectDate(t),s||this._updateLastSelectedDate(e)}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}_handleRangeOnFocus(){1===this.selectedDates.length&&(p(this.selectedDates[0],this.focusDate)?(this.rangeDateTo=this.selectedDates[0],this.rangeDateFrom=this.focusDate):(this.rangeDateTo=this.focusDate,this.rangeDateFrom=this.selectedDates[0]))}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=o(e),r='[data-year="'.concat(s,'"]'),h='[data-month="'.concat(a,'"]'),l='[data-date="'.concat(n,'"]'),d={[i.day]:"".concat(r).concat(h).concat(l),[i.month]:"".concat(r).concat(h),[i.year]:"".concat(r)};return this.views[this.currentView].$el.querySelector(d[t])}_showMobileOverlay(){P.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e,t)=>parseFloat(t)+e),0)>0}get parsedViewDate(){return o(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return d(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||R}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var j;return N(K,"defaults",s),N(K,"version","3.1.0"),N(K,"defaultContainerId","air-datepicker-global-container"),j=K.prototype,Object.assign(j,A),t.default}()}));

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Sunnuntai', 'Maanantai', 'Tiistai', 'Keskiviikko', 'Torstai', 'Perjantai', 'Lauantai'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -12,3 +12,3 @@ days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],

daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre'],
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
monthsShort: ['Jan', 'Fév', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Dec'],

@@ -21,2 +21,2 @@ today: "Aujourd'hui",

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Vasárnap', 'Hétfő', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Duminică', 'Luni', 'Marţi', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Nedeľa', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['วันอาทิตย์', 'วันจันทร์', 'วันอังคาร', 'วันพุธ', 'วันพฤหัสบดี', 'วันศุกร์', 'วันเสาร์'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],

};
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;
var _default = {

@@ -20,2 +20,2 @@ days: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],

};
exports["default"] = _default;
exports.default = _default;
{
"name": "air-datepicker",
"version": "3.1.0",
"version": "3.1.1",
"scripts": {

@@ -14,11 +14,11 @@ "dev": "set NODE_ENV=development&& webpack",

"devDependencies": {
"@babel/cli": "^7.13.16",
"@babel/core": "^7.9.6",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-private-methods": "^7.14.5",
"@babel/preset-env": "^7.9.6",
"@babel/cli": "^7.16.0",
"@babel/core": "^7.16.5",
"@babel/plugin-proposal-class-properties": "^7.16.5",
"@babel/plugin-proposal-private-methods": "^7.16.5",
"@babel/preset-env": "^7.16.5",
"@popperjs/core": "^2.10.2",
"@testing-library/jest-dom": "^5.11.10",
"@testing-library/jest-dom": "^5.16.1",
"animejs": "^3.2.1",
"autoprefixer": "^6.7.7",
"autoprefixer": "^10.4.0",
"babel-eslint": "^10.1.0",

@@ -36,13 +36,14 @@ "babel-loader": "^8.1.0",

"mini-css-extract-plugin": "^1.6.0",
"node-sass": "^6.0.1",
"node-sass": "^7.0.0",
"open-cli": "^6.0.1",
"postcss-loader": "^3.0.0",
"postcss": "^8.4.5",
"postcss-loader": "^6.2.1",
"pug": "^3.0.2",
"rimraf": "^2.7.1",
"sass-loader": "^12.2.0",
"style-loader": "^3.3.0",
"typescript": "^4.4.3",
"webpack": "^5.58.2",
"sass-loader": "^12.4.0",
"style-loader": "^3.3.1",
"typescript": "^4.5.4",
"webpack": "^5.65.0",
"webpack-cli": "^4.9.1",
"webpack-dev-server": "^4.3.1"
"webpack-dev-server": "^4.7.0"
},

@@ -57,2 +58,6 @@ "description": "Lightweight, dependency free, fast, customizable datepicker written in pure JavaScript. \r ![air datepicker image](https://github.com/t1m0n/air-datepicker/raw/master/docs/img/promo-img.png)",

},
"browserslist": [
"defaults",
"not IE 11"
],
"keywords": [

@@ -59,0 +64,0 @@ "datepicker",

@@ -29,15 +29,11 @@ > :tada: New version released! :tada:

### 3.1.0
* added lazy rendering - now inner components of datepicker will be created only when it will be visible, and will be destroyed when datepicker is hidden
* improved `position` - now it can be function which allows you to perform advanced positioning using third-party libraries such as [popperjs](https://popper.js.org/) or manually
* added `isMobile` option, which allows showing Air Datepicker as modal window on mobile devices
* added `visiblie` option, if it is set to `true` then calendar will be visible at the start
* changed `dateFormat` - as function it now handles all dates at once, instead of each date separately
* fixed field names in `onSelect` and `onRenderCell` options: `type` -> `cellType`, `dp` -> `datepicker`
* fixed typings
* fixed `closet` function, thanks to [@hreyeslo](https://github.com/hreyeslo) in [#445](https://github.com/t1m0n/air-datepicker/pull/445)
* added Turkish locale, thanks to [@ozkanozcan](https://github.com/ozkanozcan) in [#447](https://github.com/t1m0n/air-datepicker/pull/447)
* added opportunity to set attributes when creating custom buttons, thanks to [@khidirbekov](https://github.com/khidirbekov) in [#448](https://github.com/t1m0n/air-datepicker/pull/448)
* added Thai locale, thanks to [@boatkung](https://github.com/boatkung) in [#453](https://github.com/t1m0n/air-datepicker/pull/453)
### v3.1.1
* fixed css compilation, [#461](https://github.com/t1m0n/air-datepicker/issues/461)
* fixed `autoClose` when range mode is on, [#466](https://github.com/t1m0n/air-datepicker/issues/466)
* fixed `onSelect` when range mode is on. Now it accepts array of selected dates instead of single one [#467](https://github.com/t1m0n/air-datepicker/issues/467)
* fixed transition between `isMobile` mode on and off [#470](https://github.com/t1m0n/air-datepicker/issues/470)
* added position update when resizing window [#472](https://github.com/t1m0n/air-datepicker/issues/472)
* added Sinhala locale, thanks to [nimeshc64](https://github.com/nimeshc64) in [#464](https://github.com/t1m0n/air-datepicker/pull/464)
* fixed French locale, thanks to [matschik](https://github.com/matschik) in [#465](https://github.com/t1m0n/air-datepicker/pull/465)
* added Ukrainian locale, thanks to [zaandr](https://github.com/zaandr) in [#471](https://github.com/t1m0n/air-datepicker/pull/471)

@@ -44,0 +40,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc