datepick
Version:
Date Picker Calendar
17 lines • 53.6 kB
JavaScript
/*!
*
* datepick v0.0.3
* https://github.com/viaeoo/datepick
*
* Copyright (c) viaeoo
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Datepick",[],e):"object"==typeof exports?exports.Datepick=e():t.Datepick=e()}(window,(function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var s=e[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)i.d(n,s,function(e){return t[e]}.bind(null,s));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(t,e,i){"use strict";function n(t){return t instanceof Date&&!isNaN(t)}function s(t){return new Date(t).setHours(0,0,0,0)}function o(){return(new Date).getTime()}function a(t,e,i){const n=new Date(0);return n.setFullYear(t,e,i),n.setHours(0,0,0,0)}function r(t,e){const i=new Date(t);return i.setDate(i.getDate()+e)}function c(t,e){const i=new Date(t),n=i.getMonth()+e;let s=n%12;s<0&&(s+=12);const o=i.setMonth(n);return i.getMonth()!==s?i.setDate(0):o}function l(t,e){return(t-e+7)%7}function d(t,e,i=0){const n=new Date(t).getDay();return r(t,l(e,i)-l(n,i))}i.d(e,"f",(function(){return n})),i.d(e,"e",(function(){return s})),i.d(e,"g",(function(){return o})),i.d(e,"c",(function(){return a})),i.d(e,"a",(function(){return r})),i.d(e,"b",(function(){return c})),i.d(e,"d",(function(){return d}))},function(t,e,i){"use strict";i.r(e),i.d(e,"onClickTodayBtn",(function(){return a})),i.d(e,"onClickClearBtn",(function(){return r})),i.d(e,"onClickPrevBtn",(function(){return c})),i.d(e,"onClickNextBtn",(function(){return l})),i.d(e,"onClickView",(function(){return d})),i.d(e,"onClickPicker",(function(){return h}));var n=i(0),s=i(3),o=i(2);function a(t){try{t.setDate(Object(n.g)(),{today:!0}),new Date(t.viewDate).getMonth()!==new Date(Object(n.g)()).getMonth()&&t.views.renderToday()}catch(t){}}function r(t){try{t.setDate(null,{clear:!0})}catch(t){}}async function c(t,e=!1){if(t.views.view.classList.contains("effect")||t.views.view.classList.contains("loading")||t.views.first<=t.options.minDate)return!1;if(t.views.view.classList.add("effect"),t.options.beforeEffect&&"function"==typeof t.options.beforeEffect&&await t.options.beforeEffect(t,"prev"),"fade"===t.options.mode?await Object(o.a)(t,"prev"):"swipe"===t.options.mode&&await Object(o.b)(t,"prev"),t.views.renderGrid("prev"),"swipe"===t.options.mode&&(t.views.days.style.transform="vertical"===t.options.animationDirection?`translateY(${-(t.options.grid-1)/2*100}%)`:`translateX(${-(t.options.grid-1)/2*100}%)`),t.views.view.classList.remove("effect"),e&&"swipe"!==t.options.mode&&"fade"!==t.options.mode&&t.options.grid>1&&t.options.touchEvent){const e=100*parseInt(t.options.grid/2);Number(t.views.days.style.transform.replace(/[^\d.]/g,""))!==e&&(t.views.days.style.transform="vertical"===t.options.animationDirection?`translateY(${-e}%)`:`translateX(${-e}%)`)}t.options.afterEffect&&"function"==typeof t.options.afterEffect&&await t.options.afterEffect(t,"prev")}async function l(t,e=!1){if(t.views.view.classList.contains("effect")||t.views.view.classList.contains("loading")||t.views.last>=t.options.maxDate)return!1;if(t.views.view.classList.add("effect"),t.options.beforeEffect&&"function"==typeof t.options.beforeEffect&&await t.options.beforeEffect(t,"next"),"fade"===t.options.mode?await Object(o.a)(t,"next"):"swipe"===t.options.mode&&await Object(o.b)(t,"next"),t.views.renderGrid("next"),"swipe"===t.options.mode&&(t.views.days.style.transform="vertical"===t.options.animationDirection?`translateY(${-(t.options.grid-1)/2*100}%)`:`translateX(${-(t.options.grid-1)/2*100}%)`),t.views.view.classList.remove("effect"),e&&"swipe"!==t.options.mode&&"fade"!==t.options.mode&&t.options.grid>1&&t.options.touchEvent){const e=100*parseInt(t.options.grid/2);Number(t.views.days.style.transform.replace(/[^\d.]/g,""))!==e&&(t.views.days.style.transform="vertical"===t.options.animationDirection?`translateY(${-e}%)`:`translateX(${-e}%)`)}t.options.afterEffect&&"function"==typeof t.options.afterEffect&&await t.options.afterEffect(t,"next")}async function d(t,e){if(t.views.view.classList.contains("effect")||t.views.view.classList.contains("loading")||t.views.view.classList.contains("panning"))return!1;const i=Object(s.a)(e,".datepick-cell");if(!i||i.classList.contains("disabled")||i.classList.contains("hide")||i.dataset.date<t.options.minDate||i.dataset.date>t.options.maxDate)return!1;t.options.beforeClickDay&&"function"==typeof t.options.beforeClickDay&&await t.options.beforeClickDay(t),t.setDate(Number(i.dataset.date)),t.options.afterClickDay&&"function"==typeof t.options.afterClickDay&&await t.options.afterClickDay(t,t.dates)}function h(t){t.preventDefault(),t.stopPropagation()}},function(t,e,i){"use strict";function n(t,e){return new Promise(i=>{const n=t.views.grid[t.views.active],s=t.views.grid["next"===e?t.views.active+1:t.views.active-1];n.style.transition=`opacity ${t.options.animationDuration}ms ${t.options.animationTiming}`,s.style.transition=`opacity ${t.options.animationDuration}ms ${t.options.animationTiming}`,n.style.opacity=0,s.style.opacity=1,setTimeout(()=>{n.style.transition="",s.style.transition="",i(!0)},t.options.animationDuration)})}function s(t,e){return new Promise(i=>{const n=100*parseInt(t.options.grid/2),s=Number(t.views.days.style.transform.replace(/[^\d.]/g,"")),o=n-Math.abs(s-100);t.views.days.style.transition=`transform ${t.options.animationDuration}ms ${t.options.animationTiming}`,t.views.days.style.transform="vertical"===t.options.animationDirection?`translateY(${"next"===e?-s-o:100-n}%)`:`translateX(${"next"===e?-s-o:100-n}%)`,setTimeout(()=>{t.views.days.style.transition="",i(!0)},t.options.animationDuration)})}function o(t){t.views.view.classList.add("effect"),t.views.days.style.transition=`transform ${t.options.animationDuration}ms ${t.options.animationTiming}`,t.views.days.style.transform="vertical"===t.options.animationDirection?`translateY(${-(t.options.grid-1)/2*100}%)`:`translateX(${-(t.options.grid-1)/2*100}%)`,setTimeout(()=>{t.views.days.style.transition="",t.views.view.classList.remove("effect")},t.options.animationDuration)}i.d(e,"a",(function(){return n})),i.d(e,"b",(function(){return s})),i.d(e,"c",(function(){return o}))},function(t,e,i){"use strict";i.d(e,"b",(function(){return s})),i.d(e,"a",(function(){return o}));const n=new WeakMap;function s(t,e){let i=n.get(t);i||(i=[],n.set(t,i)),e.forEach(t=>{t[0].addEventListener(t[1],t[2]),i.push(t)})}if(!Event.prototype.composedPath){const t=function(e){let i;return e.parentNode?i=e.parentNode:e.host?i=e.host:e.defaultView&&(i=e.defaultView),void 0!==i?[e].concat(t(i)):[e]};Event.prototype.composedPath=function(){return t(this.target)}}function o(t,e){const i="function"==typeof e?e:t=>t.matches(e);return function t(e,i,n,s=0){const o=e[s];return i(o)?o:o!==n&&o.parentElement?t(e,i,n,s+1):void 0}(t.composedPath(),i,t.currentTarget)}},function(t,e,i){"use strict";(function(t){i.d(e,"a",(function(){return o}));var n=i(1),s=i(2);function o(e){let i;if("fade"===e.options.mode&&(i=new t(e.views.days,{recognizers:[[t.Swipe,{velocity:.3,direction:"vertical"===e.options.animationDirection?t.DIRECTION_VERTICAL:t.DIRECTION_HORIZONTAL}]]}),i.on("swipe",t=>{if(e.views.view.classList.contains("effect")||e.views.view.classList.contains("loading"))return!1;const i="vertical"===e.options.animationDirection?parseFloat(t.deltaY/e.container.offsetWidth*100):parseFloat(t.deltaX/e.container.offsetWidth*100);i>5?Object(n.onClickPrevBtn)(e):i<-5&&Object(n.onClickNextBtn)(e)})),"swipe"===e.options.mode){i=new t(e.views.days,{recognizers:[[t.Pan,{pointers:1,threshold:0,direction:t.DIRECTION_ALL}]]});let o=null;i.on("pan",t=>{if(e.views.view.classList.contains("effect")||e.views.view.classList.contains("loading"))return!1;e.views.view.classList.contains("panning")||e.views.view.classList.add("panning"),o||(o=-Number(e.views.days.style.transform.replace(/[^\d.]/g,"")));const i="vertical"===e.options.animationDirection?parseFloat(t.deltaY/e.container.offsetWidth*100):parseFloat(t.deltaX/e.container.offsetWidth*100),a=o+i;"vertical"===e.options.animationDirection?e.views.days.style.transform=`translateY(${a}%)`:e.views.days.style.transform=`translateX(${a}%)`,t.isFinal&&(i<-20&&e.views.last>=e.options.maxDate&&Object(s.c)(e),i>20&&e.views.first<=e.options.minDate&&Object(s.c)(e),i>20?Object(n.onClickPrevBtn)(e):i<-20?Object(n.onClickNextBtn)(e):Object(s.c)(e),o=null,e.views.view.classList.remove("panning"))})}if("swipe"!==e.options.mode&&"fade"!==e.options.mode&&1===e.options.grid&&(i=new t(e.views.days,{recognizers:[[t.Swipe,{velocity:.3,direction:"vertical"===e.options.animationDirection?t.DIRECTION_VERTICAL:t.DIRECTION_HORIZONTAL}]]}),i.on("swipe",t=>{if(e.views.view.classList.contains("effect")||e.views.view.classList.contains("loading"))return!1;const i="vertical"===e.options.animationDirection?parseFloat(t.deltaY/e.container.offsetWidth*100):parseFloat(t.deltaX/e.container.offsetWidth*100);i>5?Object(n.onClickPrevBtn)(e):i<-5&&Object(n.onClickNextBtn)(e)})),"swipe"!==e.options.mode&&"fade"!==e.options.mode&&e.options.grid>1){i=new t(e.views.days,{recognizers:[[t.Pan,{pointers:0,threshold:0,direction:t.DIRECTION_ALL}]]});let s=-100*parseInt(e.options.grid/2),o=null,a=!1,r=!1;i.on("pan",t=>{if(e.views.view.classList.contains("effect")||e.views.view.classList.contains("loading"))return!1;e.views.view.classList.contains("panning")||e.views.view.classList.add("panning"),o||(o=-Number(e.views.days.style.transform.replace(/[^\d.]/g,"")));const i="vertical"===e.options.animationDirection?parseFloat(t.deltaY/e.container.offsetWidth*100):parseFloat(t.deltaX/e.container.offsetWidth*100);let c=o+i;if(c<s-70&&(a||(a=!0,Object(n.onClickNextBtn)(e)),c+=100),c>s+70&&(r||(r=!0,Object(n.onClickPrevBtn)(e)),c-=100),c<=0&&c>=s-100&&(e.views.days.style.transform="vertical"===e.options.animationDirection?`translateY(${c}%)`:`translateX(${c}%)`),t.isFinal){o=null,r=!1,a=!1;const i="vertical"===e.options.animationDirection?t.deltaY:t.deltaX;(i>0&&e.views.first<=e.options.minDate||i<0&&e.views.last>=e.options.maxDate)&&(e.views.days.style.transform="vertical"===e.options.animationDirection?`translateY(${s}%)`:`translateX(${s}%)`),e.views.view.classList.remove("panning")}})}}}).call(this,i(6))},function(t,e,i){},function(t,e,i){var n;
/*! Hammer.JS - v2.0.7 - 2016-04-22
* http://hammerjs.github.io/
*
* Copyright (c) 2016 Jorik Tangelder;
* Licensed under the MIT license */!function(s,o,a,r){"use strict";var c,l=["","webkit","Moz","MS","ms","o"],d=o.createElement("div"),h=Math.round,p=Math.abs,u=Date.now;function f(t,e,i){return setTimeout(b(t,i),e)}function m(t,e,i){return!!Array.isArray(t)&&(v(t,i[e],i),!0)}function v(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(void 0!==t.length)for(n=0;n<t.length;)e.call(i,t[n],n,t),n++;else for(n in t)t.hasOwnProperty(n)&&e.call(i,t[n],n,t)}function y(t,e,i){var n="DEPRECATED METHOD: "+e+"\n"+i+" AT \n";return function(){var e=new Error("get-stack-trace"),i=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=s.console&&(s.console.warn||s.console.log);return o&&o.call(s.console,n,i),t.apply(this,arguments)}}c="function"!=typeof Object.assign?function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var n=arguments[i];if(null!=n)for(var s in n)n.hasOwnProperty(s)&&(e[s]=n[s])}return e}:Object.assign;var g=y((function(t,e,i){for(var n=Object.keys(e),s=0;s<n.length;)(!i||i&&void 0===t[n[s]])&&(t[n[s]]=e[n[s]]),s++;return t}),"extend","Use `assign`."),D=y((function(t,e){return g(t,e,!0)}),"merge","Use `assign`.");function w(t,e,i){var n,s=e.prototype;(n=t.prototype=Object.create(s)).constructor=t,n._super=s,i&&c(n,i)}function b(t,e){return function(){return t.apply(e,arguments)}}function C(t,e){return"function"==typeof t?t.apply(e&&e[0]||void 0,e):t}function k(t,e){return void 0===t?e:t}function T(t,e,i){v(j(e),(function(e){t.addEventListener(e,i,!1)}))}function E(t,e,i){v(j(e),(function(e){t.removeEventListener(e,i,!1)}))}function O(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function x(t,e){return t.indexOf(e)>-1}function j(t){return t.trim().split(/\s+/g)}function I(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}function N(t){return Array.prototype.slice.call(t,0)}function A(t,e,i){for(var n=[],s=[],o=0;o<t.length;){var a=e?t[o][e]:t[o];I(s,a)<0&&n.push(t[o]),s[o]=a,o++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}function M(t,e){for(var i,n,s=e[0].toUpperCase()+e.slice(1),o=0;o<l.length;){if((n=(i=l[o])?i+s:e)in t)return n;o++}}var P=1;function L(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||s}var B="ontouchstart"in s,$=void 0!==M(s,"PointerEvent"),S=B&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),R=["x","y"],_=["clientX","clientY"];function Y(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){C(t.options.enable,[t])&&i.handler(e)},this.init()}function F(t,e,i){var n=i.pointers.length,s=i.changedPointers.length,o=1&e&&n-s==0,a=12&e&&n-s==0;i.isFirst=!!o,i.isFinal=!!a,o&&(t.session={}),i.eventType=e,function(t,e){var i=t.session,n=e.pointers,s=n.length;i.firstInput||(i.firstInput=X(e));s>1&&!i.firstMultiple?i.firstMultiple=X(e):1===s&&(i.firstMultiple=!1);var o=i.firstInput,a=i.firstMultiple,r=a?a.center:o.center,c=e.center=z(n);e.timeStamp=u(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=G(r,c),e.distance=V(r,c),function(t,e){var i=e.center,n=t.offsetDelta||{},s=t.prevDelta||{},o=t.prevInput||{};1!==e.eventType&&4!==o.eventType||(s=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y});e.deltaX=s.x+(i.x-n.x),e.deltaY=s.y+(i.y-n.y)}(i,e),e.offsetDirection=q(e.deltaX,e.deltaY);var l=W(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=l.x,e.overallVelocityY=l.y,e.overallVelocity=p(l.x)>p(l.y)?l.x:l.y,e.scale=a?(d=a.pointers,h=n,V(h[0],h[1],_)/V(d[0],d[1],_)):1,e.rotation=a?function(t,e){return G(e[1],e[0],_)+G(t[1],t[0],_)}(a.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,s,o,a=t.lastInterval||e,r=e.timeStamp-a.timeStamp;if(8!=e.eventType&&(r>25||void 0===a.velocity)){var c=e.deltaX-a.deltaX,l=e.deltaY-a.deltaY,d=W(r,c,l);n=d.x,s=d.y,i=p(d.x)>p(d.y)?d.x:d.y,o=q(c,l),t.lastInterval=e}else i=a.velocity,n=a.velocityX,s=a.velocityY,o=a.direction;e.velocity=i,e.velocityX=n,e.velocityY=s,e.direction=o}(i,e);var d,h;var f=t.element;O(e.srcEvent.target,f)&&(f=e.srcEvent.target);e.target=f}(t,i),t.emit("hammer.input",i),t.recognize(i),t.session.prevInput=i}function X(t){for(var e=[],i=0;i<t.pointers.length;)e[i]={clientX:h(t.pointers[i].clientX),clientY:h(t.pointers[i].clientY)},i++;return{timeStamp:u(),pointers:e,center:z(e),deltaX:t.deltaX,deltaY:t.deltaY}}function z(t){var e=t.length;if(1===e)return{x:h(t[0].clientX),y:h(t[0].clientY)};for(var i=0,n=0,s=0;s<e;)i+=t[s].clientX,n+=t[s].clientY,s++;return{x:h(i/e),y:h(n/e)}}function W(t,e,i){return{x:e/t||0,y:i/t||0}}function q(t,e){return t===e?1:p(t)>=p(e)?t<0?2:4:e<0?8:16}function V(t,e,i){i||(i=R);var n=e[i[0]]-t[i[0]],s=e[i[1]]-t[i[1]];return Math.sqrt(n*n+s*s)}function G(t,e,i){i||(i=R);var n=e[i[0]]-t[i[0]],s=e[i[1]]-t[i[1]];return 180*Math.atan2(s,n)/Math.PI}Y.prototype={handler:function(){},init:function(){this.evEl&&T(this.element,this.evEl,this.domHandler),this.evTarget&&T(this.target,this.evTarget,this.domHandler),this.evWin&&T(L(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler),this.evTarget&&E(this.target,this.evTarget,this.domHandler),this.evWin&&E(L(this.element),this.evWin,this.domHandler)}};var H={mousedown:1,mousemove:2,mouseup:4};function U(){this.evEl="mousedown",this.evWin="mousemove mouseup",this.pressed=!1,Y.apply(this,arguments)}w(U,Y,{handler:function(t){var e=H[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:"mouse",srcEvent:t}))}});var Z={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},J={2:"touch",3:"pen",4:"mouse",5:"kinect"},K="pointerdown",Q="pointermove pointerup pointercancel";function tt(){this.evEl=K,this.evWin=Q,Y.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}s.MSPointerEvent&&!s.PointerEvent&&(K="MSPointerDown",Q="MSPointerMove MSPointerUp MSPointerCancel"),w(tt,Y,{handler:function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace("ms",""),s=Z[n],o=J[t.pointerType]||t.pointerType,a="touch"==o,r=I(e,t.pointerId,"pointerId");1&s&&(0===t.button||a)?r<0&&(e.push(t),r=e.length-1):12&s&&(i=!0),r<0||(e[r]=t,this.callback(this.manager,s,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),i&&e.splice(r,1))}});var et={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function it(){this.evTarget="touchstart",this.evWin="touchstart touchmove touchend touchcancel",this.started=!1,Y.apply(this,arguments)}function nt(t,e){var i=N(t.touches),n=N(t.changedTouches);return 12&e&&(i=A(i.concat(n),"identifier",!0)),[i,n]}w(it,Y,{handler:function(t){var e=et[t.type];if(1===e&&(this.started=!0),this.started){var i=nt.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:"touch",srcEvent:t})}}});var st={touchstart:1,touchmove:2,touchend:4,touchcancel:8};function ot(){this.evTarget="touchstart touchmove touchend touchcancel",this.targetIds={},Y.apply(this,arguments)}function at(t,e){var i=N(t.touches),n=this.targetIds;if(3&e&&1===i.length)return n[i[0].identifier]=!0,[i,i];var s,o,a=N(t.changedTouches),r=[],c=this.target;if(o=i.filter((function(t){return O(t.target,c)})),1===e)for(s=0;s<o.length;)n[o[s].identifier]=!0,s++;for(s=0;s<a.length;)n[a[s].identifier]&&r.push(a[s]),12&e&&delete n[a[s].identifier],s++;return r.length?[A(o.concat(r),"identifier",!0),r]:void 0}w(ot,Y,{handler:function(t){var e=st[t.type],i=at.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:"touch",srcEvent:t})}});function rt(){Y.apply(this,arguments);var t=b(this.handler,this);this.touch=new ot(this.manager,t),this.mouse=new U(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function ct(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,lt.call(this,e)):12&t&<.call(this,e)}function lt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY};this.lastTouches.push(i);var n=this.lastTouches;setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),2500)}}function dt(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var s=this.lastTouches[n],o=Math.abs(e-s.x),a=Math.abs(i-s.y);if(o<=25&&a<=25)return!0}return!1}w(rt,Y,{handler:function(t,e,i){var n="touch"==i.pointerType,s="mouse"==i.pointerType;if(!(s&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(n)ct.call(this,e,i);else if(s&&dt.call(this,i))return;this.callback(t,e,i)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var ht=M(d.style,"touchAction"),pt=void 0!==ht,ut=function(){if(!pt)return!1;var t={},e=s.CSS&&s.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(i){t[i]=!e||s.CSS.supports("touch-action",i)})),t}();function ft(t,e){this.manager=t,this.set(e)}ft.prototype={set:function(t){"compute"==t&&(t=this.compute()),pt&&this.manager.element.style&&ut[t]&&(this.manager.element.style[ht]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return v(this.manager.recognizers,(function(e){C(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(x(t,"none"))return"none";var e=x(t,"pan-x"),i=x(t,"pan-y");if(e&&i)return"none";if(e||i)return e?"pan-x":"pan-y";if(x(t,"manipulation"))return"manipulation";return"auto"}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,s=x(n,"none")&&!ut.none,o=x(n,"pan-y")&&!ut["pan-y"],a=x(n,"pan-x")&&!ut["pan-x"];if(s){var r=1===t.pointers.length,c=t.distance<2,l=t.deltaTime<250;if(r&&c&&l)return}if(!a||!o)return s||o&&6&i||a&&24&i?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};function mt(t){this.options=c({},this.defaults,t||{}),this.id=P++,this.manager=null,this.options.enable=k(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function vt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function yt(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function gt(t,e){var i=e.manager;return i?i.get(t):t}function Dt(){mt.apply(this,arguments)}function wt(){Dt.apply(this,arguments),this.pX=null,this.pY=null}function bt(){Dt.apply(this,arguments)}function Ct(){mt.apply(this,arguments),this._timer=null,this._input=null}function kt(){Dt.apply(this,arguments)}function Tt(){Dt.apply(this,arguments)}function Et(){mt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Ot(t,e){return(e=e||{}).recognizers=k(e.recognizers,Ot.defaults.preset),new xt(t,e)}mt.prototype={defaults:{},set:function(t){return c(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(m(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=gt(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return m(t,"dropRecognizeWith",this)||(t=gt(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(m(t,"requireFailure",this))return this;var e=this.requireFail;return-1===I(e,t=gt(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(m(t,"dropRequireFailure",this))return this;t=gt(t,this);var e=I(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+vt(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+vt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=32},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=c({},t);if(!C(this.options.enable,[this,e]))return this.reset(),void(this.state=32);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},w(Dt,mt,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,i=t.eventType,n=6&e,s=this.attrTest(t);return n&&(8&i||!s)?16|e:n||s?4&i?8|e:2&e?4|e:2:32}}),w(wt,Dt,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push("pan-y"),24&t&&e.push("pan-x"),e},directionTest:function(t){var e=this.options,i=!0,n=t.distance,s=t.direction,o=t.deltaX,a=t.deltaY;return s&e.direction||(6&e.direction?(s=0===o?1:o<0?2:4,i=o!=this.pX,n=Math.abs(t.deltaX)):(s=0===a?1:a<0?8:16,i=a!=this.pY,n=Math.abs(t.deltaY))),t.direction=s,i&&n>e.threshold&&s&e.direction},attrTest:function(t){return Dt.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=yt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),w(bt,Dt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),w(Ct,mt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance<e.threshold,s=t.deltaTime>e.time;if(this._input=t,!n||!i||12&t.eventType&&!s)this.reset();else if(1&t.eventType)this.reset(),this._timer=f((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=u(),this.manager.emit(this.options.event,this._input)))}}),w(kt,Dt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return["none"]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),w(Tt,Dt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return wt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return 30&i?e=t.overallVelocity:6&i?e=t.overallVelocityX:24&i&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&p(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=yt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),w(Et,mt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return["manipulation"]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance<e.threshold,s=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(n&&s&&i){if(4!=t.eventType)return this.failTimeout();var o=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||V(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&o?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=f((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return 32},failTimeout:function(){return this._timer=f((function(){this.state=32}),this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Ot.VERSION="2.0.7",Ot.defaults={domEvents:!1,touchAction:"compute",enable:!0,inputTarget:null,inputClass:null,preset:[[kt,{enable:!1}],[bt,{enable:!1},["rotate"]],[Tt,{direction:6}],[wt,{direction:6},["swipe"]],[Et],[Et,{event:"doubletap",taps:2},["tap"]],[Ct]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function xt(t,e){var i;this.options=c({},Ot.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||($?tt:S?ot:B?rt:U))(i,F),this.touchAction=new ft(this,this.options.touchAction),jt(this,!0),v(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function jt(t,e){var i,n=t.element;n.style&&(v(t.options.cssProps,(function(s,o){i=M(n.style,o),e?(t.oldCssProps[i]=n.style[i],n.style[i]=s):n.style[i]=t.oldCssProps[i]||""})),e||(t.oldCssProps={}))}xt.prototype={set:function(t){return c(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,s=e.curRecognizer;(!s||s&&8&s.state)&&(s=e.curRecognizer=null);for(var o=0;o<n.length;)i=n[o],2===e.stopped||s&&i!=s&&!i.canRecognizeWith(s)?i.reset():i.recognize(t),!s&&14&i.state&&(s=e.curRecognizer=i),o++}},get:function(t){if(t instanceof mt)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event==t)return e[i];return null},add:function(t){if(m(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(m(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,i=I(e,t);-1!==i&&(e.splice(i,1),this.touchAction.update())}return this},on:function(t,e){if(void 0!==t&&void 0!==e){var i=this.handlers;return v(j(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this}},off:function(t,e){if(void 0!==t){var i=this.handlers;return v(j(t),(function(t){e?i[t]&&i[t].splice(I(i[t],e),1):delete i[t]})),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var i=o.createEvent("Event");i.initEvent(t,!0,!0),i.gesture=e,e.target.dispatchEvent(i)}(t,e);var i=this.handlers[t]&&this.handlers[t].slice();if(i&&i.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var n=0;n<i.length;)i[n](e),n++}},destroy:function(){this.element&&jt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},c(Ot,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:32,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:24,DIRECTION_ALL:30,Manager:xt,Input:Y,TouchAction:ft,TouchInput:ot,MouseInput:U,PointerEventInput:tt,TouchMouseInput:rt,SingleTouchInput:it,Recognizer:mt,AttrRecognizer:Dt,Tap:Et,Pan:wt,Swipe:Tt,Pinch:bt,Rotate:kt,Press:Ct,on:T,off:E,each:v,merge:D,extend:g,assign:c,inherit:w,bindFn:b,prefixed:M}),(void 0!==s?s:"undefined"!=typeof self?self:{}).Hammer=Ot,void 0===(n=function(){return Ot}.call(e,i,e,t))||(t.exports=n)}(window,document)},function(t,e,i){"use strict";i.r(e);i(5);var n={grid:1,today:null,nextBtnText:">",prevBtnText:"<",mode:"",animationTiming:"ease-in-out",animationDuration:200,animationDirection:"horizon",range:!1,rangeIncludeDisabled:!1,rangeDistanceDay:null,multiple:!1,multipleMaximum:0,lang:"ko",locale:null,minDate:null,maxDate:null,dates:null,initialDate:null,touchEvent:!0,highlightedDate:[],highlightedToday:!1,hideTodayBtn:!1,hideClearBtn:!1,hidePrevNextDate:!1,hideWeek:!1,disabledDate:[],holidayDate:[],containerClass:"",headerClass:"",titleClass:"",controlsClass:"",controlsTitleClass:"",controlsPrevClass:"",controlsNextClass:"",controlsTodayClass:"",controlsClearClass:"",mainClass:"",footerClass:"",weekClass:"",dowClass:"",gridClass:"",daysClass:"",dayClass:"",sundayClass:"sunday",saturdayClass:"saturday",holidayClass:"holiday",firstDayClass:"first",lastDayClass:"last",startDayClass:"start",endDayClass:"end",customDayElement:null,customInsertBeforeDay:null,customInsertAfterDay:null,beforeClickDay:null,beforeEffect:null,beforeRender:null,isClickDayEqual:null,isClickIncludeDisabled:null,isClickMultipleMaximum:null,afterClickDay:null,afterRender:null,afterEffect:null};function s(t){return(document.createRange()||document.body.createRange()).createContextualFragment(t)}function o(t){t.firstChild&&(t.removeChild(t.firstChild),o(t))}function a(t){if("none"===t.style.display)return!1;t.style.display&&(t.dataset.styleDisplay=t.style.display),t.style.display="none"}function r(t){if("none"!==t.style.display)return!1;t.dataset.styleDisplay?(t.style.display=t.dataset.styleDisplay,delete t.dataset.styleDisplay):t.style.display=""}var c=i(0);function l(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e,i=0,n=""){n+=`<${t}></${t}>`;const s=i+1;return s<e?d(t,e,s,n):n}function h(t){return t.replace(/>\s+/g,">").replace(/\s+</,"<")}function p(t,e,i){return(void 0===e||t>=e)&&(void 0===i||t<=i)}function u(t){const e={};for(let i in t)"function"==typeof t[i]?e[i]=t[i]:Array.isArray(t[i])?e[i]=t[i].slice(0):"object"==typeof t[i]&&null!==t[i]?e[i]=u(t[i]):e[i]=t[i];return e}var f=i(3);const m=/dd?|DD?|mm?|MM?|yy?(?:yy)?/,v=/[\s!-/:-@[-`{-~年月日]+/;let y={};const g={y:(t,e)=>new Date(t).setFullYear(parseInt(e,10)),M:void 0,m(t,e,i){const n=new Date(t);let s=parseInt(e,10)-1;if(isNaN(s)){if(!e)return NaN;const t=e.toLowerCase(),o=e=>e.toLowerCase().startsWith(t);return s=i.monthsShort.findIndex(o),s<0&&(s=i.months.findIndex(o)),s<0?NaN:n.setMonth(s)}return n.setMonth(s),n.getMonth()!==function t(e){return e>-1?e%12:t(e+12)}(s)?n.setDate(0):n.getTime()},d:(t,e)=>new Date(t).setDate(parseInt(e,10))};g.M=g.m;const D={d:t=>t.getDate(),dd:t=>w(t.getDate(),2),D:(t,e)=>e.daysShort[t.getDay()],DD:(t,e)=>e.days[t.getDay()],m:t=>t.getMonth()+1,mm:t=>w(t.getMonth()+1,2),M:(t,e)=>e.monthsShort[t.getMonth()],MM:(t,e)=>e.months[t.getMonth()],y:t=>t.getFullYear(),yy:t=>w(t.getFullYear(),2).slice(-2),yyyy:t=>w(t.getFullYear(),4)};function w(t,e){return t.toString().padStart(e,"0")}function b(t){if("string"!=typeof t)throw new Error("Invalid date format.");if(t in y)return y[t];const e=t.split(m),i=t.match(new RegExp(m,"g"));if(0===e.length||!i)throw new Error("Invalid date format.");const n=i.map(t=>D[t]),s=Object.keys(g).reduce((t,e)=>i.find(t=>t[0]===e)?(t[e]=g[e],t):t,{}),o=Object.keys(s);return y[t]={parser(t,e){const n=t.split(v).reduce((t,e,n)=>{if(e.length>0&&i[n]){const s=i[n][0];void 0!==g[s]&&(t[s]=e)}return t},{});return o.reduce((t,i)=>{const o=s[i](t,n[i],e);return isNaN(o)?t:o},Object(c.g)())},formatter(t,i){return n.reduce((n,s,o)=>n+`${e[o]}${s(t,i)}`,"")+(s=e)[s.length-1];var s}}}function C(t,e,i){if(t instanceof Date||"number"==typeof t){const e=Object(c.e)(t);return isNaN(e)?void 0:e}if(t){if("today"===t)return Object(c.g)();if(e&&e.toValue){const n=e.toValue(t,e,i);return isNaN(n)?void 0:Object(c.e)(n)}return b(e).parser(t,i)}}function k(t,e,i){if(isNaN(t)||!t&&0!==t)return"";const n="number"==typeof t?new Date(t):t;return e.toDisplay?e.toDisplay(n,e,i):b(e).formatter(n,i)}var T=i(4);var E={ko:{days:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"y년mm월"}},O=i(1);var x=t=>h(`\n <div class="datepick${t.containerClass?" "+t.containerClass:""}">\n <div class="datepick-header${t.headerClass?" "+t.headerClass:""}">\n <div class="datepick-controls${t.controlsClass?" "+t.controlsClass:""}">\n <button class="datepick-btn datepick-btn-prev${t.controlsPrevClass?" "+t.controlsPrevClass:""}"></button>\n <h6 class="datepick-controls-title${t.controlsTitleClass?" "+t.controlsTitleClass:""}"></h6>\n <button class="datepick-btn datepick-btn-next${t.controlsNextClass?" "+t.controlsNextClass:""}"></button>\n </div>\n </div>\n <div class="datepick-main${t.mainClass?" "+t.mainClass:""}"></div>\n <div class="datepick-footer${t.footerClass?" "+t.footerClass:""}">\n <div class="datepick-controls${t.controlsClass?" "+t.controlsClass:""}">\n <button class="datepick-btn datepick-btn-today${t.controlsTodayClass?" "+t.controlsTodayClass:""}"></button>\n <button class="datepick-btn datepick-btn-clear${t.controlsClearClass?" "+t.controlsClearClass:""}"></button>\n </div>\n </div>\n </div>\n `);var j=t=>h(`\n <div class="datepick-week${t.weekClass?" "+t.weekClass:""}">${d("span",7)}</div>\n `);var I=(t,e=!1)=>e?h(`\n <div class="datepick-grid${t.gridClass?" "+t.gridClass:""}">${d("span",42)}</div>\n `):`\n <div class="datepick-grid${t.gridClass?" "+t.gridClass:""}">${d("span",42)}</div>\n `;var N=t=>{let e="";for(let i=0;i<t.grid;i++)e+=I(t);return h(`\n <div class="datepick-days${t.daysClass?" "+t.daysClass:""}">\n ${e}\n </div>\n `)};class A extends class{constructor(t,e){Object.assign(this,e,{datepick:t,view:s('<div class="datepick-view"></div>').firstChild,selected:[]}),this.setInit(this.datepick.options)}setInit(t){this.setOptions(t),this.updateView(),this.updateSelected()}setViewTitle(t){this.datepick.controls.title.textContent=t}setPrevBtnDisabled(t){this.datepick.controls.prevBtn.disabled=t}setNextBtnDisabled(t){this.datepick.controls.nextBtn.disabled=t}}{constructor(t){super(t)}setInit(t){const{datepick:e}=this,{options:i}=e,n=s(j(i)),o=s(N(i));this.week=n.firstChild,this.days=o.firstChild,this.grid=[];for(let t=0;t<e.options.grid;t++)this.grid.push(o.firstChild.children[t]);e.options.hideWeek||this.view.appendChild(n),this.view.appendChild(o),super.setInit(t)}setOptions(t){let e=null;t.lang&&(e=t.locale.days,this.titleFormat=t.locale.titleFormat,this.title=k(this.datepick.viewDate,t.locale.titleFormat,t.locale)),t.grid>1&&(this.active=parseInt(t.grid/2)),Array.from(this.week.children).forEach((i,n)=>{const s=n%7;i.textContent=e[s],i.className="dow",t.dowClass&&(i.className+=" "+t.dowClass)})}updateView(){const{datepick:t,titleFormat:e}=this,i=new Date(t.viewDate),n=i.getFullYear(),s=i.getMonth(),o=Object(c.c)(n,s,1),a=Object(c.d)(o,0),r=(t.options.grid-1)/2;this.year=i.getFullYear(),this.month=s+1,this.first=o,this.last=Object(c.c)(n,s+1,0),this.start=a,this.end=Object(c.a)(a,41),this.title=k(i,e,t.options.lang),this.renderFirst=Object(c.b)(this.first,-r),this.renderLast=Object(c.b)(this.first,r),this.updateControl({title:this.title,first:this.first,last:this.last,minDate:t.options.minDate,maxDate:t.options.maxDate})}updateSelected(){const{dates:t}=this.datepick;this.selected=t instanceof Array?t.map(t=>Object(c.e)(t)):Object(c.e)(t)}updateControl({title:t,first:e,last:i,minDate:n,maxDate:s}){this.setViewTitle(t),this.setPrevBtnDisabled(e<=n),this.setNextBtnDisabled(i>=s)}updateActive(){this.datepick.options.grid>1&&(Array.prototype.forEach.call(this.grid,t=>{t.classList.remove("active")}),this.grid[this.active].classList.add("active"))}updateGrid(){this.grid=[];for(let t=0;t<this.datepick.options.grid;t++)this.grid.push(this.days.children[t])}async render(){const{datepick:t,title:e,first:i,last:n}=this,{options:s,renderDirection:o}=t;s.beforeRender&&"function"==typeof s.beforeRender&&await s.beforeRender(t,o||null),this.updateControl({title:e,first:i,last:n,minDate:s.minDate,maxDate:s.maxDate}),this.renderGrid(o),this.updateActive(),s.afterRender&&"function"==typeof s.afterRender&&await s.afterRender(t,o||null)}renderToday(){o(this.days);let t="";for(let e=0;e<this.datepick.options.grid;e++)t+=I(this.datepick.options,!0);this.days.appendChild(s(t)),this.datepick.viewDate=Object(c.e)(Object(c.g)()),this.updateGrid(),this.updateView(),this.renderGrid(),this.updateGrid(),this.updateActive()}renderGrid(t){let e=null,i=null;const n=this.datepick.options.customDayElement&&"function"==typeof this.datepick.options.customDayElement?this.datepick.options.customDayElement:null,o=this.datepick.options.customInsertBeforeDay&&"function"==typeof this.datepick.options.customInsertBeforeDay?this.datepick.options.customInsertBeforeDay:null,a=this.datepick.options.customInsertAfterDay&&"function"==typeof this.datepick.options.customInsertAfterDay?this.datepick.options.customInsertAfterDay:null,r=this.datepick.options.highlightedToday?Object(c.e)(this.datepick.options.today):null,l=this.datepick.options.disabledDate.map(t=>Object(c.e)(t)),d=this.datepick.options.holidayDate.map(t=>Object(c.e)(t)),h=this.datepick.options.highlightedDate.map(t=>Object(c.e)(t));let p,u,f,m,v,y,g;if(this.datepick.options.rangeDistanceDay&&"number"==typeof this.datepick.options.rangeDistanceDay&&this.datepick.options.rangeDistanceDay>0&&1===this.datepick.dates.length&&(e=Object(c.a)(this.datepick.dates[0],this.datepick.options.rangeDistanceDay),i=Object(c.a)(this.datepick.dates[0],-this.datepick.options.rangeDistanceDay)),t){let D;const w=s(I(this.datepick.options,!0)),b="next"===t?1:-1;p=new Date(Object(c.b)(b>0?this.renderLast:this.renderFirst,b)),u=Object(c.e)(p),f=p.getFullYear(),m=p.getMonth(),v=Object(c.c)(f,m+1,0),y=Object(c.c)(f,m,1),g=Object(c.d)(y,0),"next"===t&&(this.days.appendChild(w),D=this.days.lastChild),"prev"===t&&(this.days.insertBefore(w,this.grid[0]),D=this.days.firstChild),D.dataset.date=`${u}-${v}`,this.datepick.viewDate=Object(c.b)(this.datepick.viewDate,b),this.updateGrid(),this.renderCell(D,{startDate:g,firstDate:p,lastDate:v,todayDate:r,disabledDate:l,hoildayDate:d,highlightedDate:h,minimum:i,maximum:e,customDayElement:n,customInsertBeforeDay:o,customInsertAfterDay:a}),"next"===t&&this.days.removeChild(this.grid[0]),"prev"===t&&this.days.removeChild(this.days.children[this.datepick.options.grid]),this.updateGrid(),this.updateActive(),this.updateView()}else{const t=parseInt(this.datepick.options.grid/2);Array.prototype.forEach.call(this.grid,(s,D)=>{p=new Date(Object(c.b)(this.first,D-t)),u=Object(c.e)(p),f=p.getFullYear(),m=p.getMonth(),v=Object(c.c)(f,m+1,0),y=Object(c.c)(f,m,1),g=Object(c.d)(y,0),0===D?this.renderFirst=u:D===this.grid.length-1&&(this.renderLast=u),s.dataset.date=`${u}-${v}`,this.renderCell(s,{startDate:g,firstDate:p,lastDate:v,todayDate:r,disabledDate:l,hoildayDate:d,highlightedDate:h,minimum:i,maximum:e,customDayElement:n,customInsertBeforeDay:o,customInsertAfterDay:a})})}}renderCell(t,{startDate:e,firstDate:i,lastDate:n,todayDate:a,disabledDate:r,hoildayDate:l,highlightedDate:d,minimum:h,maximum:p,customDayElement:u,customInsertBeforeDay:f,customInsertAfterDay:m}){Array.from(t.children).forEach((f,m)=>{const v=Object(c.a)(e,m),y=new Date(v);if(f.className="datepick-cell day",f.dataset.date=v,o(f),this.datepick.options.dayClass&&"string"==typeof this.datepick.options.dayClass&&(f.className+=" "+this.datepick.options.dayClass),0===m&&this.datepick.options.startDayClass&&"string"==typeof this.datepick.options.startDayClass&&(f.className+=" "+this.datepick.options.startDayClass),m===t.children.length-1&&this.datepick.options.endDayClass&&"string"==typeof this.datepick.options.endDayClass&&(f.className+=" "+this.datepick.options.endDayClass),Object(c.e)(i)===v&&this.datepick.options.firstDayClass&&"string"==typeof this.datepick.options.firstDayClass&&(f.className+=" "+this.datepick.options.firstDayClass),Object(c.e)(n)===v&&this.datepick.options.lastDayClass&&"string"==typeof this.datepick.options.lastDayClass&&(f.className+=" "+this.datepick.options.lastDayClass),v<i?f.className+=" prev":v>n&&(f.className+=" next"),a===v&&(f.className+=" today"),(v<this.datepick.options.minDate||v>this.datepick.options.maxDate||p&&v>p||h&&v<h||r.includes(v))&&(f.className+=" disabled"),m%7==0&&this.datepick.options.sundayClass&&"string"==typeof this.datepick.options.sundayClass&&(f.className+=" "+this.datepick.options.sundayClass),m%7==6&&this.datepick.options.saturdayClass&&"string"==typeof this.datepick.options.saturdayClass&&(f.className+=" "+this.datepick.options.saturdayClass),l.includes(v)&&this.datepick.options.holidayClass&&"string"==typeof this.datepick.options.holidayClass&&(f.className+=" "+this.datepick.options.holidayClass),d.includes(v)&&(f.className+=" highlighted"),this.datepick.options.range&&this.datepick.dates instanceof Array&&this.datepick.dates.length>1){const t=this.datepick.dates[0],e=this.datepick.dates[1];v>t&&v<e&&(f.className+=" range"),v===t&&(f.className+=" range-start"),v===e&&(f.className+=" range-end")}this.selected.includes(v)&&(f.className+=" selected"),this.datepick.options.hidePrevNextDate&&v<i||this.datepick.options.hidePrevNextDate&&v>n?f.classList.add("hide"):u?f.appendChild(s(u(this.datepick,v))):f.appendChild(s(`<span class="date">${y.getDate()}</span>`))}),f&&t.insertBefore(s(f(this.datepick,Object(c.e)(i))),t.children[0]),m&&t.appendChild(s(m(this.datepick,n)))}refresh(){this.refreshGrid()}refreshGrid(){let t=null,e=null;const{datepick:i,grid:n,selected:s}=this,o=i.options.disabledDate.map(t=>Object(c.e)(t));i.options.range&&i.dates instanceof Array&&i.dates.length>1&&(t=i.dates[0],e=i.dates[1]),n.forEach(n=>{n.querySelectorAll(".disabled, .range, .range-start, .range-end, .selected").forEach(t=>{t.classList.remove("disabled","range","range-start","range-end","selected")}),Array.from(n.children).forEach(n=>{let a=null,r=null;const l=Number(n.dataset.date),d=n.classList;i.options.rangeDistanceDay&&"number"==typeof i.options.rangeDistanceDay&&i.options.rangeDistanceDay>0&&1===i.dates.length&&(a=Object(c.a)(i.dates[0],i.options.rangeDistanceDay),r=Object(c.a)(i.dates[0],-i.options.rangeDistanceDay)),(l<i.options.minDate||l>i.options.maxDate||a&&l>a||r&&l<r||o.includes(l))&&d.add("disabled"),l>t&&l<e&&d.add("range"),l===t&&d.add("range-start"),l===e&&d.add("range-end"),s.includes(l)&&d.add("selected")})})}}function M(t,e,i,n){const s=C(t,e,i);return void 0!==s?s:n}e.default=class{constructor(t,e){this.element=t,this.options=u(Object.assign(u(n),e||{})),this.dates=[],this.setInit(),this.render(x(this.options),O),this.show()}setInit(){if(this.options.initialDate){if(!(this.options.initialDate instanceof Array||Object(c.f)(this.options.initialDate)))throw new Error("Invalid initialDate");this.options.initialDate instanceof Array&&this.options.initialDate.map(t=>{if(!Object(c.f)(t))throw new Error("Invalid initialDate")})}else this.options.initialDate=Object(c.g)();if(!this.options.today&&Object(c.f)(this.options.today)||(this.options.today=Object(c.g)()),this.options.locale&&Object.keys(this.options.locale).length?this.options.locale=u(Object.assign(u(E[this.options.lang]),this.options.locale)):this.options.locale=u(E[this.options.lang]),this.options.dates&&this.options.dates instanceof Array){if(this.options.range&&this.options.dates.length>2||!this.options.range&&!this.options.multiple&&this.options.dates.length>1)throw new Error("Invalid dates length");this.dates=this.options.dates.map(t=>Object(c.e)(t))}else this.options.initialDate instanceof Array?this.options.range?this.dates=this.options.initialDate.length>1?[Object(c.e)(this.options.initialDate[0]),Object(c.e)(this.options.initialDate[1])]:[Object(c.e)(this.options.initialDate[0]),Object(c.a)(Object(c.e)(this.options.initialDate[0]),1)]:this.options.multiple?this.dates=0!==this.options.multipleMaximum?this.options.initialDate.slice(0,this.options.multipleMaximum):this.options.initialDate.map(t=>Object(c.e)(t)):this.dates.push(this.options.initialDate[0]):this.options.range?this.dates=[Object(c.e)(this.options.initialDate),Object(c.a)(Object(c.e)(this.options.initialDate),1)]:(this.options.multiple,this.dates.push(Object(c.e)(this.options.initialDate)));if(this.options.grid&&"number"==typeof this.options.grid&&1!==this.options.grid){if(this.options.grid%2!=1)throw new Error("Grid option can only be odd");if(this.options.grid<3&&("swipe"===this.options.mode||"fade"===this.options.mode))throw new Error("If Swipe or fade mode, Grid options is only values greater than 3 are possible")}else"swipe"===this.options.mode||"fade"===this.options.mode?this.options.grid=3:this.options.grid=1;this.viewDate=this.options.initialDate instanceof Array?this.options.initialDate[0]:this.options.initialDate;let t=this.options.minDate,e=this.options.maxDate;void 0!==this.options.minDate&&(t=null===this.options.minDate?Object(c.c)(0,0,1):M(this.options.minDate,this.options.locale.format,this.options.locale,t),delete this.options.minDate),void 0!==this.options.maxDate&&(e=null===this.options.maxDate?void 0:M(this.options.maxDate,this.options.locale.format,this.options.locale,e),delete this.options.maxDate),e<t?(this.options.minDate=e,this.options.maxDate=t):(this.options.minDate!==t&&(this.options.minDate=this.options.minDate=t),this.options.maxDate!==e&&(this.options.maxDate=this.options.maxDate=e))}render(t,e){const i=s(t).firstChild,[n,d,h]=i.children,[u,m,v]=n.lastElementChild.children,[y,g]=h.firstChild.children,D={prevBtn:u,title:m,nextBtn:v,todayBtn:y,clearBtn:g};this.container=i,this.main=d,this.controls=D,this.options.wrapperClass&&i.classList.add(this.options.wrapperClass),!this.options.mode||"string"!=typeof this.options.mode||"swipe"!==this.options.mode&&"fade"!==this.options.mode||i.classList.add(this.options.mode),this.options.animationDirection&&"string"==typeof this.options.animationDirection&&i.classList.add(this.options.animationDirection),function(t,e){if(e.prevBtnText&&"string"==typeof e.prevBtnText){const i=t.controls.prevBtn,n=s(e.prevBtnText);if(n.childNodes.length>0){const t=n.childNodes;o(i),t.forEach(t=>{i.appendChild(t.cloneNode(!0))})}}if(e.nextBtnText){const i=t.controls.nextBtn,n=s(e.nextBtnText);if(n.childNodes.length>0){const t=n.childNode