UNPKG

22.6 kBJavaScriptView Raw
1!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).betterDayTimePicker={})}(this,(function(t){"use strict";function n(t){return t?(t.nodeName||"").toLowerCase():null}function e(t,r){if(void 0===r&&(r=[]),function(t){var e=n(t);return"body"===e||"html"===e}(t))return r;if(function(t){return t instanceof window.Node}(t)){var i=getComputedStyle(t),a=i.overflow,o=i.overflowX,u=i.overflowY;/auto|scroll|overlay|hidden/.test(a+u+o)&&r.push(t)}return e("html"===n(c=t)?c:c.parentNode||document.ownerDocument||document.documentElement,r);var c}function r(t){return"input"===n(t)}function i(t){return n(t)?function t(n){if(r(n))return n;var e,i=n.childNodes;if(!i)return null;for(var a=0,o=i;a<o.length;a++){var u=o[a],c=r(u)?u:t(u);c&&(e=c)}return e||null}(t):(console.error("Invalid argument provided. They must be a Input element"),null)}function a(t,n){return h(n)?n.some((function(n){return a(t,n)})):t.indexOf(n)>-1}var o=Object.prototype.toString,u=function(t,n){return a(o.call(t),n)};function c(t){return u(t,"Number")&&!Number.isNaN(t)}function s(t){return u(t,"Object")}function f(t){return u(t,"Function")}function l(t){return u(t,"String")}function d(t){return u(t,"Boolean")}function h(t){return Array.isArray(t)}function y(t,n){return Array.from({length:n}).map((function(n,e){return t(e)}))}function p(t){return void 0===t&&(t=new Date),t.getFullYear()}function v(t){return void 0===t&&(t=new Date),t.getMonth()+1}function m(t){return void 0===t&&(t=new Date),t.getDate()}function g(t){return t.split("/").map((function(t){return Number(t)}))}function b(t,n){return new Date(t,n,0).getDate()}function k(t){return y((function(n){return t+n-1-Number(t.toString().slice(-1))}),12)}function x(t,n){var e=new Date(t+"/"+n+"/01").getDay();return 0===e&&(e=7),e}function w(t,n,e){return void 0===n&&(n=1),void 0===e&&(e=1),h(t)?t.reverse().join("/")+"/"+n:n+"/"+t+"/"+e}function C(t,n){return!(!t||!n)&&Date.parse(t)>Date.parse(n)}function E(t,n,e){return void 0===e&&(e=2),!(!t||!n)&&(t=t.split("/").slice(0,e).join("/"))===(n=n.split("/").slice(0,e).join("/"))}function S(t,n){var e=[t,n];return C(t,n)?e:e.reverse()}function D(t,n){var e;s(t)&&(t=(e=[t.month,t.year])[0],n=e[1]);var r=--t;return 0===r&&(r=12,--n),[r,n]}function j(t,n){var e;s(t)&&(t=(e=[t.month,t.year])[0],n=e[1]);var r=++t;return 13===r&&(r=1,++n),[r,n]}function _(t,n){var e=t.options.disabledDate;return e&&e(new Date(n))?"disabled":""}var K=function(){return y((function(){return{status:"",date:""}}),12)};function N(t,n){return{date:null,year:n,month:t,_date:y((function(){return{text:"",status:"",date:""}}),42),_month:K(),_year:K()}}var O=0,M=function(){function t(t,n){this.id=O++,this.subs=[],this.state=n,this.child=t}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.depend=function(){t.target&&t.target.addDep(this)},t.prototype.notify=function(){this.subs.forEach((function(t){t.update()}))},t}();function T(t){return function n(e){return Object.keys(e).forEach((function(r){var i=e[r];h(i)?i.forEach((function(t){return n(t)})):s(i)?n(i):function(n,e,r){var i=new M(n,t);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){return M.target&&i.depend(),r},set:function(t){t!==r&&(r=t,i.notify())}})}(e,r,i)})),e}(t)}function A(t){return Object.assign({reference:null,popover:null,onChange:null},function(){var t=new Date,n=[p(t),v(t)],e=n[0],r=n[1],i=j(r,e),a=i[0],o=i[1];return{range:{start:null,end:null,status:"complete"},start:N(r,e),end:N(a,o),today:w(r,e,m(t)),date:null}}(),function(t){return{options:t,visible:!1,page:"date"}}(t))}M.target=null;var L=function(){var t=0,n={};return{createState:function(e){var r=function(t){return T(A(t))}(e);return r.type=e.type,r._type=r.type.split("-").shift(),r.id=++t,n[t]=r,r},getState:function(){return n[t]},removeState:function(t){delete n[t]}}}(),P=L.createState,z=L.getState,Y=L.removeState,$={placement:["top","left","bottom","right"],type:["date","date-range","month","month-range","year","year-range"],unlinkPanels:d,format:l,zIndex:c,disabled:d,disabledDate:f,offset:c,insertTo:["body","parent"],binding:d,themeColor:l,rangeBgColor:l};function B(t,n){var e=$[t];return h(e)?a(e,n):e(n)}var I="better-datepicker";function F(t,n){for(var e in void 0===n&&(n=Object.create(null)),t){var r=n[e];B(e,r)&&(t[e]=r)}return t}function R(t){return a(t,I)?t:I+"-"+t}function J(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return t.filter((function(t){return t})).map((function(t){return h(t)?J.apply(void 0,t):R(t)})).join(" ")}var X,W,H=[],q=!1;function G(){q=!1;var t=H.slice(0);H.length=0;for(var n=0;n<t.length;n++)try{t[n]()}catch(t){console.error("nextTick callback error")}}if("undefined"!=typeof Promise&&("function"==typeof(W=Promise)&&a(W.toString(),"native code"))){var Q=Promise.resolve();X=function(){Q.then(G)}}else X=function(){setTimeout(G,0)};var U=[],V={},Z=!1,tt=0;function nt(){var t,n;for(tt=0;tt<U.length;tt++)(t=U[tt]).getter(),n=t.id,V[n]=null;Z=!1,V={},U.length=tt=0}function et(t){var n,e=t.id;V[e]||(V[e]=!0,U.push(t),Z||(Z=!0,n=function(){return nt()},H.push(n),q||(q=!0,X())))}var rt=0,it=function(){function t(t,n,e){var r;this.watcher=t,this.state=n,this.child=e,this.id=++rt,r=this,M.target=r,this.getter()}return t.prototype.getter=function(){var t=this,n=this.watcher.key.map((function(n){return t.child[n]})).concat(this.child);M.target=null,this.watcher.cb.apply(this.state,n)},t.prototype.update=function(){et(this)},t.prototype.addDep=function(t){t.addSub(this)},t}();function at(t,n){var e=Object.assign({},t);new it(e,n,function(t,n){return function t(e,r){if(h(r))return n.key=r,e;if("child"in r)return n.key=r.name,r.child;var i=r,a=i.name,o=i.idx,u=i.childKey;return a&&(e=e[a]),c(o)&&h(e)&&(e=e[o]),u&&(e=t(e,u)),e}(t,n.key)}(n,e))}function ot(t){var n=z();h(t)?t.forEach((function(t){return at(t,n)})):at(t,n)}function ut(t,n){var e;return void 0===n&&(n="click"),[function(r,i){e=ct(t,r,n,i)},function(){t.removeEventListener(n,e)}]}function ct(t,n,e,r,i){function a(t){if(!(s(i)&&i.date&&r&&_(r,i.date)))return n.call(r,t)}return void 0===e&&(e="click"),t.addEventListener(e,a),a}function st(t,n,e){if(void 0===e&&(e="class"),!n)return t.removeAttribute(e);t.setAttribute(e,n)}function ft(t,n,e){var r=e.options.themeColor;function i(n,r){h(n)?n.forEach((function(n){return ct(t,n.handler,n.name,e,r)})):ct(t,n,"click",e,r)}return{event:function(){"listener"in n?i(n.listener,n.arg):i(n),r&&function(t,n){function e(e){t.style.color="mouseenter"===e.type?n:""}ct(t,e,"mouseenter"),ct(t,e,"mouseleave")}(t,r)},children:function(){n.forEach((function(n){return t.appendChild(dt(n,e))}))},class:function(){return yt.call(e,t,n,"cls")},style:function(){return st(t,(e=n,Object.keys(e).reduce((function(t,n){return t.concat(n+":"+e[n])}),[]).join(";")),"style");var e},name:function(){return null},text:function(){l(n)?t.innerText=n:yt(t,n)},hidden:function(){return function(t,n){if(!n)return;t.style.display="none"}(t,n)},$style:function(){Object.keys(n).forEach((function(e){yt(t,n[e],"style",e)}))}}}var lt={month:["M721.9968 979.0208l47.0528-47.104-419.94752-419.98848 419.94752-419.90144-47.05792-47.04768-419.93216 419.89632h-0.00512l-47.104 47.09888 47.04768 47.04256z"],year:["M176 513.7l392.73-395.44a32 32 0 0 0-45.41-45.1L108 491.3a32 32 0 0 0 0.16 45.25L523.48 949a32 32 0 1 0 45.1-45.41z","M525.23 513.7L918 118.26a32 32 0 1 0-45.41-45.1L457.27 491.3a32 32 0 0 0 0.16 45.25L872.7 949a32 32 0 0 0 45.1-45.41z"]};function dt(t,n){if(f(t))return t(n);var e,r="svg"===t.name?function(t){var n="http://www.w3.org/2000/svg",e=document.createElementNS(n,"svg");return e.setAttribute("viewBox","0 0 1024 1024"),lt[t].forEach((function(t){var r=document.createElementNS(n,"path");r.setAttribute("d",t),e.appendChild(r)})),e}(t.text):(void 0===(e=t.name)&&(e="div"),document.createElement(e));return Object.keys(t).forEach((function(e){ft(r,t[e],n)[e]()})),r}function ht(t){return t?"inline-block":"none"}function yt(t,n,e,r){var i=this;if(void 0===e&&(e="text"),h(n))return st(t,J(n));var o=n.key,u=n.cb,c={cls:function(e){var r=J(e,n.static);st(t,r),function(t,n,e){var r=n.options,i=r.themeColor,o=r.rangeBgColor,u=t.children[0];if(u){var c=u.style;o&&(c.backgroundColor=a(e,"inRange")?o:""),i&&(c.backgroundColor=a(e,["selected","range-start","range-end"])?i:o?c.backgroundColor:"",c.color=a(e,"today")?i:"")}}(t,i,r)},text:function(n){return t.innerText=n},style:function(n){return t.style[r]=n}};ot({key:o,cb:function(){var t=u.apply(this,arguments);c[e](t)}})}var pt={"text-align":"center",padding:"5px 20px",width:"320px"},vt={complete:{plt:"start",status:"selecting"},selecting:{plt:"end",status:"complete"}};function mt(t){return[{name:"click",handler:function(){var n=this.range,e=vt[n.status];n[e.plt]=t.date,n.status=e.status}},{name:"mouseenter",handler:function(){var n=this.range;"selecting"===n.status&&(n.end=t.date)}}]}function gt(t){var n="year"===this.page?10:1;this[t].year+=n}function bt(){var t="year"===this.page?10:1;this.start.year-=t}function kt(t){var n,e=this[t];n=j(e),e.month=n[0],e.year=n[1]}function xt(){var t,n=this.start;t=D(n),n.month=t[0],n.year=t[1]}function wt(t){var n=t.date;n&&(this.start.year=g(n)[0]),this.page="month"}function Ct(t){var n=t.date;this.start.year=g(n)[0],this.start.date=n,this.visible=!1}function Et(t){var n=t.date;this.start.month=g(n),this.start.date=n,this.visible=!1}function St(t){this.start.month=g(t.date)[1],this.page="date"}function Dt(){this.page="year"}function jt(t){return ht("date"===t)}function _t(t,n){return h(n)||(n=[n]),function(){return t.apply(this,n.concat(Array.from(arguments)))}}var Kt=["Su","Mo","Tu","We","Th","Fr","Sa"],Nt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ot="start",Mt={display:{key:["page"],cb:jt}},Tt=function(t){var n=k(t)[1];return n+" - "+(n+9)};function At(t){return dt({name:"span",text:{date:{key:{name:Ot,childKey:["month","year"]},cb:function(t,n){return Nt[t-1]+" "+n}},month:{key:{name:Ot,childKey:["year"]},cb:function(t){return t}},year:{key:{name:Ot,childKey:["year","_date"]},cb:function(t){return Tt(t)}}}[t._type]},t)}function Lt(t){return dt({name:"svg",text:"year",style:{position:"absolute",left:"30px",width:"14px",height:"14px"},event:bt},t)}function Pt(t){return dt({name:"svg",text:"month",style:{position:"absolute",left:"50px",width:"14px",height:"14px"},event:xt,$style:Mt},t)}function zt(t){return dt({name:"svg",text:"year",style:{position:"absolute",right:"30px",transform:"rotate(180deg)",width:"14px",height:"14px"},event:_t(gt,Ot)},t)}function Yt(t){return dt({name:"svg",text:"month",style:{position:"absolute",right:"50px",transform:"rotate(180deg)",width:"14px",height:"14px"},event:_t(kt,Ot),$style:Mt},t)}var $t={start:[Lt,Pt,At],main:[Lt,Pt,function(t){return dt({name:"span",text:{key:{name:"start",childKey:["year","_date"]},cb:function(t){return Tt(t)}},$style:{display:{key:["page"],cb:function(t){return ht("year"===t)}}},event:Dt},t)},function(t){return dt({name:"span",text:{key:{name:Ot,childKey:["month"]},cb:function(t){return Nt[t-1]}},class:["pointerCursor"],event:wt,$style:Mt},t)},function(t){return dt({name:"span",text:{key:{name:Ot,childKey:["year","_date"]},cb:function(t){return t}},event:Dt,class:["pointerCursor"],$style:{display:{key:["page"],cb:function(t){return ht("year"!==t)}}}},t)},zt,Yt],end:[At,zt,Yt]};function Bt(t,n){return Ot=n||"start",dt({class:["header"],children:$t[n||"main"],style:{width:"298px","text-align":"center"}},t)}function It(t){return Bt(t,"start")}function Ft(t){return Bt(t,"end")}function Rt(t){return{date:function(){this.start.date=t.date,this.visible=!1},"date-range":mt(t)}}var Jt="start",Xt={height:"40px",width:"40px",padding:"3px 0"};function Wt(t,n){return void 0===n&&(n="status"),{key:{name:[n],child:t},cb:function(t){return t}}}function Ht(t){function n(n){return y((function(e){var r=7*n+e,i=t[Jt]._date[r];return{name:"td",children:[{text:Wt(i,"text")}],style:Xt,class:Wt(i),event:{listener:Rt(i)[t.type],arg:i}}}),7)}return dt({children:y((function(t){return{name:"tr",children:n(t)}}),6),name:"tbody"},t)}function qt(t){return dt({name:"thead",children:Kt.map((function(t){return{text:t,name:"th",style:Xt}}))},t)}function Gt(t,n){return void 0===n&&(n="start"),Jt=n,dt({name:"table",children:[qt,Ht],class:["day"],style:pt,$style:{display:{key:["page"],cb:jt}}},t)}function Qt(t){return Gt(t,"end")}var Ut="start",Vt={month:{listener:function(t,n){return function(t){return{date:_t(St,t),"month-range":mt(t),month:_t(Et,t)}}(t)[n.type]},children:function(t){return[{text:Nt[t]}]}},year:{listener:function(t,n){return function(t){return{date:_t(wt,t),"year-range":mt(t),year:_t(Ct,t)}}(t)[n.type]},children:function(t){return[{text:{key:{name:Ut,childKey:["year"]},cb:function(n){return String(k(n)[t])}}}]}}};function Zt(t){void 0===t&&(t="month");var n=Vt[t],e=n.children,r=n.listener;return function(n,i){function a(i){return y((function(a){var o=4*i+a,u=n[Ut]["_"+t][o];return{name:"td",event:{listener:r(u,n),arg:u},children:e(o),class:{key:{name:["status"],child:u},cb:function(t){return t}}}}),4)}return void 0===i&&(i="start"),Ut=i,dt({name:"table",children:[function(t){return dt({children:y((function(t){return{name:"tr",children:a(t)}}),3),name:"tbody"},t)}],class:[t],style:pt,$style:{display:{key:["page"],cb:function(n){return ht(n===t)}}}},n)}}var tn=Zt();function nn(t){return tn(t,"end")}var en=Zt("year");function rn(t){return en(t,"end")}function an(t){void 0===t&&(t="month");var n={date:{start:[It,Gt],end:[Ft,Qt]},month:{start:[It,tn],end:[Ft,nn]},year:{start:[It,en],end:[Ft,rn]}};return[{style:{width:"646px"},children:[{style:{display:"inline-block","border-right":"1px solid #e4e4e4"},children:n[t].start},{style:{display:"inline-block"},children:n[t].end}]}]}var on={date:[Bt,Gt,tn,en],"date-range":an("date"),month:[Bt,tn,en],"month-range":an(),year:[Bt,en],"year-range":an("year")};function un(t){void 0===t&&(t=document.styleSheets[0]);var n=t?t.rules:null;if(n&&n.length>0){var e=n[0],r=e.name,i=e.type;a(["show","hidden"],r)&&7===i&&t.deleteRule(0)}}function cn(t){var n=dt({class:["wrapper"],children:on[t.type],hidden:!0},t);return function(t){t.style.display="none",t.addEventListener("animationend",(function(n){t.style.display="hidden"===n.animationName?"none":"inline-block",un()}))}(n),n}var sn={true:{animation:"show .3s",rule:function(t){return"@keyframes show { 0% {display: block;opacity: 0;transform:scaleY(.8) "+t+";} 100% {display: block;opacity: 1;transform: scaleY(1) "+t+";} }"}},false:{animation:"hidden .3s",rule:function(t){return"@keyframes hidden { 0% {opacity: 1;transform: "+t+" scaleY(1);} 100% {opacity: 0;visibility: hidden;transform: "+t+" scaleY(.8);} }"}}};function fn(){if(this.visible){var t,n,e,r,i,a,o=this.popover,u=this.reference,c=this.options,s=c.offset,f=c.placement,l=u.getBoundingClientRect();(function(t){if(!t)return!1;for(var n=document.body.childNodes,e=!1,r=n.length;r>=0;r--)if(n[r]===t){e=!0;break}return e})(o)?(a=function(t,n){var e=t.top,r=t.left,i=t.height,a=t.width,o=e+window.scrollY-n,u=e+i+window.scrollY+n,c=r+window.scrollX,s=r+a+window.scrollX;return{top:{top:o,left:c},left:{top:o,left:c},bottom:{top:u,left:s-a},right:{top:o,left:s}}}(l,s),Array.from(["left","top"]).forEach((function(t){return o.style[t]=a[f][t]+"px"})),o.style.transform=function(t){return{top:"translate(0,calc(-100% - "+(t+="px")+"))",left:"translate(calc(-100% - "+t+"),0)",bottom:"translate(0,"+t+")",right:"translate("+t+",0)"}}(s)[f]):(n=u.offsetWidth,e=u.offsetHeight,i={bottom:{top:e+s+"px",left:0},top:{top:"calc(-100% - "+s+"px)",left:0},left:{top:0,right:(r=n+s+"px")+s},right:{top:0,left:r+s}}[f],Object.keys(i).forEach((function(t){return o.style[t]=i[t]})),(t=u.parentNode)&&t.style&&(t.style.position="relative"))}}var ln={key:["options","popover"],cb:function(t,n){var e;if(null!==n){var r,i,a=this.options.insertTo;r=n,void 0===(i="body"===a||null===(e=this.reference)||void 0===e?void 0:e.parentNode)&&(i=document.body),h(r)?r.forEach((function(t){return i.appendChild(t)})):i.appendChild(r)}}},dn={key:["visible"],cb:function(t){var n=this.popover;if(n){var e=document.styleSheets[0],r=this.options.zIndex;un(e),t&&(n.style.display="inline-block",fn.call(this)),function(t,n){!function(t,n,e){void 0===e&&(e="class");var r=t.getAttribute(e)||"";s(n)&&(n=Object.keys(n).reduce((function(t,e){return t+e+":"+n[e]+";"}),"")),r+=" "+n,t.setAttribute(e,r)}(t,{position:"absolute","z-index":n},"style")}(n,r);var i=sn[t],a=i.animation,o=i.rule;n.style.animation=a,e?e.insertRule(o(n.style.transform),0):n.style.display=t?"inline-block":"none"}}};var hn=/d{1,2}|M{1,2}|yy(?:yy)?|"[^"]*"|'[^']*'/g,yn={d:function(t){return m(t)},dd:function(t){return pn(m(t))},M:function(t){return v(t)},MM:function(t){return pn(v(t))},yy:function(t){return String(p(t)).substr(2)},yyyy:function(t){return p(t)}};function pn(t,n){for(t=String(t),n=n||2;t.length<n;)t="0"+t;return t}function vn(t){var n=a(t.options.type,"range"),e=[t.start.date,t.end.date],r=e[0];return n?[r,e[1]]:r}function mn(t,n){var e=t.range,r=S(e.start,e.end),i=r[0],a=r[1],o=n===a,u=n===i,c="range-start",s="range-end";return C(i,n)&&C(n,a)?"inRange":u&&o?J(c,s):o?c:u?s:""}var gn={key:{name:"start",childKey:["date"]},cb:function(t){var n;if(t){var e=this.start;n=g(t),e.year=n[0],e.month=n[1],this.date=vn(this)}}},bn={key:{name:"end",childKey:["date"]},cb:function(t){t&&(this.date=vn(this))}},kn={key:{name:"range",childKey:["status"]},cb:function(t){"selecting"===t?this.range.end=null:function(t){var n;t.visible=!1;var e=t.range,r=e.start,i=e.end;n=S(r,i),t.end.date=n[0],t.start.date=n[1]}(this)}},xn={key:["date"],cb:function(){var t=vn(this);this.onChange&&this.onChange(t),this.options.binding&&this.reference&&(this.reference.value=function(t,n){function e(t){return n.replace(hn,(function(n){return yn[n](new Date(t))}))}return h(t)?t.map((function(t){return e(t)})).join(" - "):e(t)}(t,this.options.format))}},wn={key:{name:"start",childKey:["year","month"]},cb:function(t,n,e){e._month.forEach((function(t,e){t.status=n===e+1?"selected":""})),e._year.forEach((function(n,e){var r=g(n.date)[0];n.status=0===e?"pre":11===e?"next":t===r?"selected":""}))}};function Cn(t){return void 0===t&&(t="month"),{key:{name:"range",childKey:["start","end"]},cb:function(){var n=this;["start","end"].forEach((function(e){n[e]["_"+t].filter((function(t){return n=t.status,h(e=["pre","next"])?e.every((function(t){return!a(n,t)})):!a(n,e);var n,e})).forEach((function(e,r){return e.status=Dn(n,e.date,r,t)}))}))}}}function En(t,n){return E(t.start.date,n)?"selected":""}function Sn(t,n,e){return 0===e?"pre":11===e?"next":E(t.start.date,n,1)?"selected":""}function Dn(t,n,e,r,i){return void 0===r&&(r="month"),void 0===i&&(i=""),J({year:{year:Sn,date:Sn,"year-range":mn},month:{month:En,date:En,"month-range":mn},date:{date:function(){return t.start.date===n?"selected":""},"date-range":function(){return mn(t,n)}}}[r][t.type](t,n,e),_(t,n),i,Date.parse(t.today)===Date.parse(n)?"today":"")}function jn(t,n,e){var r=this;e._month.forEach((function(n,e){n.date=w(e+1,t),n.status=Dn(r,n.date,e)}))}function _n(t,n,e){var r=this,i=k(t);e._year.forEach((function(t,n){t.date=w(1,i[n]);var e=0===n?"pre":11===n?"next":"";t.status=Dn(r,t.date,n,"year",e)}))}function Kn(t,n,e,r){var i=this,a=D(t,n),o=a[0],u=b(a[1],o),c=[x(n,t),b(n,t)],s=c[0],f=c[1];r._date.forEach((function(e,r){var a,o=r+1,c=o-s,l=r<s?"pre":s+f<=r?"next":"";a={pre:function(){var e=u+c;return[String(e),w(D(t,n),e)]},next:function(){var e=c-f;return[String(e),w(j(t,n),e)]},other:function(){var e=w(t,n,c);return[String(c),e]}}[l||"other"](),e.text=a[0],e.date=a[1],e.status=Dn(i,e.date,o,"date",l)}))}var Nn=["month","year","date"];function On(t){void 0===t&&(t="start");var n={start:"end",end:"start"};return{key:{name:t,childKey:Nn},cb:function(e,r){var i,a=this[n[t]];i=("start"===t?j:D)(e,r),a.month=i[0],a.year=i[1]}}}var Mn={key:{name:"start",childKey:["month","year","date"]},cb:Kn},Tn=function(t){return{name:t,childKey:["year","date"]}};function An(t,n){return void 0===t&&(t=!0),void 0===n&&(n="start"),{key:Tn(n),cb:t?jn:_n}}function Ln(t,n){void 0===t&&(t="start"),void 0===n&&(n=!1);var e=n?10:1;return{key:{name:t,childKey:["year"]},cb:function(n){"start"===t?this.end.year=n+e:this.start.year=n-e}}}var Pn={"date-range":[Mn,{key:{name:"end",childKey:["month","year","date"]},cb:Kn},On(),On("end"),Cn("date")],date:[Mn,An(!1),An(),wn],month:[An()],"month-range":[An(),Ln(),Ln("end"),An(!0,"end"),Cn()],year:[An(!1)],"year-range":[An(!1),An(!1,"end"),Ln("start",!0),Ln("end",!0),Cn("year")]},zn=[gn,xn],Yn=[kn,bn];var $n={key:["options"],cb:function(){this.page=this._type}},Bn={key:["visible"],cb:function(){var t=this.range,n=this.start,e=this.end;t.status="complete",n.date&&n.date?(t.start=n.date,t.end=e.date):t.start=t.end=null}};function In(){ot([$n,Bn])}function Fn(t){ot([ln,dn]),function(t){var n=t.type,e=zn;a(n,"range")&&(e=e.concat(Yn)),ot(Pn[n].concat(e))}(t),In()}function Rn(t,n){var e=t.visible,r=t.reference,i=t.popover;!e||(null==r?void 0:r.contains(n.target))||(null==i?void 0:i.contains(n.target))||(t.visible=!1)}function Jn(){var t,r,a,o,u,c,s;function l(){t&&(t.visible=!0)}function d(){var n,i;n=ut(r),o=n[0],u=n[1],i=ut(document.body),c=i[0],s=i[1],o(l),c(_t(Rn,t)),t&&function(t,n){var r=e(t),i=fn.bind(n);r.forEach((function(t){return ct(t,i,"scroll")})),ct(window,i,"resize")}(r,t)}function h(){return t?t.date:null}function y(n){t&&(f(n)?t.onChange=n:console.error("Invalid argument provided. They must be a Function"))}function p(t){a=F(a,t),v(),m()}function v(){if(!t)return null;!function(t){var n=t.popover;if(n){var e=n.parentNode;e&&e.removeChild&&e.removeChild(n)}}(t),s(),u(),Y(t.id),t=null}function m(){r&&(t=P(a),Fn(a),d(),t.reference=r,t.popover=cn(t))}function g(){if(!t)return null;t.reference&&(t.reference.value=""),t.range.start=t.range.end=t.start.date=t.end.date=null}function b(){if(!t)return null;t.visible=!0}function k(){if(!t)return null;t.visible=!1}return function(t,e){var o=i(t);if(function(t){return"input"===n(t)}(o))return r=o,a=F({placement:"bottom",type:"date",zIndex:2e3,unlinkPanels:!1,format:"yyyy/MM/dd",offset:12,insertTo:"body",binding:!0,disabled:!1,disabledDate:null,themeColor:"",rangeBgColor:""},e),m(),{options:e,getCurrentDate:h,onChange:y,update:p,destroyed:v,clear:g,open:b,close:k}}}t.createDatePicker=function(t,n){return Jn()(t,n)},Object.defineProperty(t,"__esModule",{value:!0})}));
2//# sourceMappingURL=betterDatePicker.umd.js.map