!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.datepicker=t():e.datepicker=t()}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n(2);var i=[],o=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],s=["January","February","March","April","May","June","July","August","September","October","November","December"],c={t:"top",r:"right",b:"bottom",l:"left",c:"centered"},l=["click","focusin","keydown","input"];function u(e,t){var n=t.calendar.querySelector(".qs-overlay"),r=n&&!n.classList.contains("qs-hidden");t.calendar.innerHTML=[function(e,t,n){return'\n    <div class="qs-controls '.concat(n?"qs-blur":"",'">\n      <div class="qs-arrow qs-left"></div>\n      <div class="qs-month-year">\n        <span class="qs-month">').concat(t.months[e.getMonth()],'</span>\n        <span class="qs-year">').concat(e.getFullYear(),'</span>\n      </div>\n      <div class="qs-arrow qs-right"></div>\n    </div>\n  ')}(e,t,r),function(e,t,n){var r=t.currentMonth,a=t.currentYear,i=t.dateSelected,o=t.maxDate,s=t.minDate,c=t.days,l=t.disabledDates,u=t.disabler,d=t.noWeekends,h=t.startDay,f=t.weekendIndices,v=new Date,m=a===v.getFullYear()&&r===v.getMonth(),p=y(new Date(e).setDate(1)),b=p.getDay()-h,q=b<0?7:0;p.setMonth(p.getMonth()+1),p.setDate(0);var g=p.getDate(),w=[],D=q+7*((b+g)/7|0);D+=(b+g)%7?7:0,0!==h&&0===b&&(D+=7);for(var S=1;S<=D;S++){var M=(S-1)%7,x=c[M],P=S-(b>=0?b:7+b),Y=new Date(a,r,P),L=P<1||P>g,k="",O='<span class="qs-num">'.concat(P,"</span>");if(L)k="qs-empty",O="";else{var j=s&&Y<s||o&&Y>o||u&&u(Y)||l.includes(+y(Y)),E=f.includes(M),N=m&&!j&&P===v.getDate();k=(j=j||d&&E)?"qs-disabled":N?"qs-current":""}+Y!=+i||L||(k+=" qs-active"),w.push('<div class="qs-square qs-num '.concat(x," ").concat(k,'">').concat(O,"</div>"))}var C=c.map(function(e){return'<div class="qs-square qs-day">'.concat(e,"</div>")}).concat(w);if(C.length%7!=0)throw"Calendar not constructed properly. The # of squares should be a multiple of 7.";return C.unshift('<div class="qs-squares '.concat(n?"qs-blur":"",'">')),C.push("</div>"),C.join("")}(e,t,r),function(e,t){var n=e.overlayPlaceholder,r=e.overlayButton;return'\n    <div class="qs-overlay '.concat(t?"":"qs-hidden",'">\n      <div class="qs-close">&#10005;</div>\n      <input class="qs-overlay-year" placeholder="').concat(n,'" />\n      <div class="qs-submit qs-disabled">').concat(r,"</div>\n    </div>\n  ")}(t,r)].join(""),r&&setTimeout(function(){return b(!0,t)},10)}function d(e,t,n){var r=t.currentMonth,a=t.currentYear,i=t.calendar,o=t.el,s=t.onSelect,c=i.querySelector(".qs-active"),l=e.textContent;t.dateSelected=n?void 0:new Date(a,r,l),c&&c.classList.remove("qs-active"),n||e.classList.add("qs-active"),h(o,t,n),!n&&m(t),s&&s(t,n?void 0:new Date(t.dateSelected))}function h(e,t,n){if(!t.nonInput)return n?e.value="":t.formatter?t.formatter(e,t.dateSelected,t):void(e.value=t.dateSelected.toDateString())}function f(e,t,n){n?t.currentYear=n:(t.currentMonth+=e.contains("qs-right")?1:-1,12===t.currentMonth?(t.currentMonth=0,t.currentYear++):-1===t.currentMonth&&(t.currentMonth=11,t.currentYear--)),t.currentMonthName=t.months[t.currentMonth],u(new Date(t.currentYear,t.currentMonth,1),t),t.onMonthChange&&t.onMonthChange(t)}function v(e){return"[object Date]"==={}.toString.call(e)&&"Invalid Date"!==e.toString()}function y(e){var t=new Date(+e);if(null!=e&&v(t))return new Date(t.getFullYear(),t.getMonth(),t.getDate())}function m(e,t){b(!0,e),!e.alwaysShow&&e.calendar.classList.add("qs-hidden"),!t&&e.onHide&&e.onHide(e)}function p(e,t){e.calendar.classList.remove("qs-hidden"),function(e){if(!e.noPosition){var t=e.el,n=e.calendar,a=e.position,i=e.parent,o=a.top,s=a.right;if(a.centered)return n.classList.add("qs-centered");var c=r([i,t,n].map(function(e){return e.getBoundingClientRect()}),3),l=c[0],u=c[1],d=c[2],h=u.top-l.top+i.scrollTop,f="\n    top:".concat(h-(o?d.height:-1*u.height),"px;\n    left:").concat(u.left-l.left+(s?u.width-d.width:0),"px;\n  ");n.setAttribute("style",f)}}(e),!t&&e.onShow&&e.onShow(e)}function b(e,t){var n=t.calendar,r=n.querySelector(".qs-overlay"),a=r.querySelector(".qs-overlay-year"),i=n.querySelector(".qs-controls"),o=n.querySelector(".qs-squares");e?(r.classList.add("qs-hidden"),i.classList.remove("qs-blur"),o.classList.remove("qs-blur"),a.value=""):(r.classList.remove("qs-hidden"),i.classList.add("qs-blur"),o.classList.add("qs-blur"),a.focus())}function q(e,t,n){var r=isNaN(+(new Date).setFullYear(t.value||void 0));if(13===(e.which||e.keyCode)||"click"===e.type){if(r||t.classList.contains("qs-disabled"))return;f(null,n,t.value)}else if(n.calendar.contains(t)){n.calendar.querySelector(".qs-submit").classList[r?"add":"remove"]("qs-disabled")}}function g(e){var t=e.type,n=e.target,r=n.classList,a=i.find(function(e){var t=e.calendar,r=e.el;return t.contains(n)||r===n}),o=a&&a.calendar.contains(n);if(!(a&&a.isMobile&&a.disableMobile))if("click"===t){if(!a)return i.forEach(m);var s=a.calendar,c=a.disableYearOverlay,l=!!s.querySelector(".qs-hidden"),u=s.querySelector(".qs-month-year").contains(n);if(a.noPosition&&!o)(s.classList.contains("qs-hidden")?p:m)(a);else if(r.contains("qs-arrow"))f(r,a);else if(u||r.contains("qs-close"))!c&&b(!l,a);else{if(r.contains("qs-num")){var h="SPAN"===n.nodeName?n.parentNode:n,v=["qs-disabled","qs-empty"].some(function(e){return h.classList.contains(e)});return h.classList.contains("qs-active")?d(h,a,!0):!v&&d(h,a)}r.contains("qs-submit")&&!r.contains("qs-disabled")&&q(e,s.querySelector(".qs-overlay-year"),a)}}else if("focusin"===t&&a)p(a),i.forEach(function(e){return e!==a&&m(e)});else if("keydown"===t&&a){var y=!a.calendar.querySelector(".qs-overlay").classList.contains("qs-hidden");13===(e.which||e.keyCode)&&y&&o?q(e,n,a):27===(e.which||e.keyCode)&&y&&o&&b(!0,a)}else if("input"===t){if(!a)return;var g=n.parentElement.querySelector(".qs-submit"),w=n.value.split("").reduce(function(e,t){return e||"0"!==t?t.match(/[0-9]/)?e+t:e:""},"").slice(0,4);n.value=w,g.classList[4===w.length?"remove":"add"]("qs-disabled")}}function w(){p(this,!0)}function D(){m(this,!0)}function S(e,t){var n=y(e),r=this.currentYear,a=this.currentMonth;if(void 0!==n&&!n)throw"`setDate` needs a JavaScript Date object.";if(void 0===n)return this.dateSelected=void 0,this.sibling&&(this.first?this.setMin():this.setMax()),h(this.el,this,!0),u(new Date(this.currentYear,this.currentMonth),this),this;if(this.disabledDates.some(function(e){return+e==+n})||n<this.minDate||n>this.maxDate)throw"You can't manually set a date that's disabled.";if(this.currentYear=n.getFullYear(),this.currentMonth=n.getMonth(),this.currentMonthName=this.months[n.getMonth()],this.dateSelected=n,h(this.el,this),(r===n.getFullYear()&&a===n.getMonth()||t)&&u(n,this),this.sibling){var i=this.first?"setMin":"setMax";this[i](n),this.sibling[i](n)}return this}function M(e){return P(this,e,!0)}function x(e){return P(this,e)}function P(e,t,n,r){if(void 0!=t&&!v(t))throw"Invalid date passed to set".concat(n?"Min":"Max");var a=y(e.dateSelected);if(t=y(t),n&&t>e.maxDate)throw"You can't set the minimum date past the maximum.";if(!n&&t<e.minDate)throw"You can't set the maximum date below the minimum.";return a&&(e.sibling?(n&&e.first||!n&&!e.first)&&(e.dateSelected=y(t)):(n&&a<t||!n&&a>t)&&(e.dateSelected=void 0,e.nonInput||(e.el.value=""))),e[n?"minDate":"maxDate"]=t,u(a||e.startDate,e),!r&&e.sibling&&P(e.sibling,t,n,!0),e}function Y(){var e=this,t=this.inlinePosition,n=this.parent,r=this.calendar,a=this.el,o=this.sibling;t&&(i.some(function(t){return t!==e&&t.parent===n})||n.style.setProperty("position",null));for(var s in r.remove(),i=i.filter(function(e){return e.el!==a}),o&&delete o.sibling,this)delete this[s];i.length||l.forEach(function(e){return document.removeEventListener(e,g)})}e.exports=function(e,t){i.length||l.forEach(function(e){return document.addEventListener(e,g)});var n=function(e,t){var n="string"==typeof e?document.querySelector(e):e,l=function(e,t){if(i.find(function(e){return e.el===t}))throw"A datepicker already exists on that element.";var n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){a(e,t,n[t])})}return e}({},e),s=n.position,l=n.maxDate,u=n.minDate,d=n.dateSelected,h=n.customMonths,f=n.customDays,m=n.overlayPlaceholder,p=n.overlayButton,b=n.startDay,q=n.disabledDates;if(n.hasOwnProperty("id")&&null==n.id)throw"Id cannot be `null` or `undefined`";if(n.id){var g=i.reduce(function(e,t){return t.id===n.id&&e.push(t),e},[]);if(g.length>1)throw"Only two datepickers can share an id.";g.length&&(n.sibling=g[0])}n.disabledDates=(q||[]).map(function(e){if(!v(e))throw'You supplied an invalid date to "options.disabledDates".';if(+y(e)==+y(d))throw'"disabledDates" cannot contain the same date as "dateSelected".';return+y(e)});var w=["tr","tl","br","bl","c"].some(function(e){return s===e});if(s&&!w)throw'"options.position" must be one of the following: tl, tr, bl, br, or c.';if(n.position=function(e){var t=r(e,2),n=t[0],a=t[1],i={};return i[c[n]]=1,a&&(i[c[a]]=1),i}(s||"bl"),["startDate","dateSelected","minDate","maxDate"].forEach(function(e){if(n[e]){if(!v(n[e])||isNaN(+n[e]))throw'"options.'.concat(e,'" needs to be a valid JavaScript Date object.');n[e]=y(n[e])}}),n.startDate=y(n.startDate||n.dateSelected||new Date),l<u)throw'"maxDate" in options is less than "minDate".';if(d){if(u>d)throw'"dateSelected" in options is less than "minDate".';if(l<d)throw'"dateSelected" in options is greater than "maxDate".'}if(["onSelect","onShow","onHide","onMonthChange","formatter","disabler"].forEach(function(e){n[e]="function"==typeof n[e]&&n[e]}),[h,f].forEach(function(e,t){if(e){if(!Array.isArray(e)||e.length!==(t?7:12)||e.some(function(e){return"string"!=typeof e}))throw['"customMonths" must be an array with 12 strings.','"customDays" must be an array with 7 strings.'][t];n[t?"days":"months"]=e}}),b&&+b>0&&+b<7){var D=(n.customDays||o).slice(),S=D.splice(0,b);n.customDays=D.concat(S),n.startDay=+b,n.weekendIndices=[D.length-1,D.length]}else n.startDay=0,n.weekendIndices=[6,0];return"string"!=typeof m&&delete n.overlayPlaceholder,"string"!=typeof p&&delete n.overlayButton,n}(t||{startDate:y(new Date),position:"bl"},n),u=l.startDate,d=l.dateSelected,f=n===document.body,m=f?document.body:n.parentElement,b=document.createElement("div");b.className="qs-datepicker qs-hidden";var q={el:n,parent:m,nonInput:"INPUT"!==n.nodeName,noPosition:f,position:!f&&l.position,startDate:u,dateSelected:d,disabledDates:l.disabledDates,minDate:l.minDate,maxDate:l.maxDate,noWeekends:!!l.noWeekends,weekendIndices:l.weekendIndices,calendar:b,currentMonth:(u||d).getMonth(),currentMonthName:(l.months||s)[(u||d).getMonth()],currentYear:(u||d).getFullYear(),setDate:S,remove:Y,setMin:M,setMax:x,show:w,hide:D,onSelect:l.onSelect,onShow:l.onShow,onHide:l.onHide,onMonthChange:l.onMonthChange,formatter:l.formatter,disabler:l.disabler,months:l.months||s,days:l.customDays||o,startDay:l.startDay,overlayPlaceholder:l.overlayPlaceholder||"4-digit year",overlayButton:l.overlayButton||"Submit",disableYearOverlay:l.disableYearOverlay,disableMobile:l.disableMobile,isMobile:"ontouchstart"in window,alwaysShow:!!l.alwaysShow,id:l.id};l.sibling&&(q.sibling=l.sibling,q.sibling.first=!0,l.sibling.sibling=q),d&&h(n,q);var g=getComputedStyle(m).position;return f||g&&"static"!==g||(q.inlinePosition=!0,m.style.setProperty("position","relative")),q.inlinePosition&&i.filter(function(e){return e.parent===q.parent}).forEach(function(e){return e.inlinePosition=!0}),i.push(q),m.appendChild(b),q.alwaysShow&&p(q),q}(e,t),d=n.startDate,f=n.dateSelected;return u(d||f,n),n}},function(e,t,n){}])});