diff --git a/js/NcDateTimePicker-Cs67uOWI.chunk.mjs b/js/NcDateTimePicker-BvNe5BRn.chunk.mjs similarity index 99% rename from js/NcDateTimePicker-Cs67uOWI.chunk.mjs rename to js/NcDateTimePicker-BvNe5BRn.chunk.mjs index bd160d23e..4e6f85c2e 100644 --- a/js/NcDateTimePicker-Cs67uOWI.chunk.mjs +++ b/js/NcDateTimePicker-BvNe5BRn.chunk.mjs @@ -1,5 +1,5 @@ /*! third party licenses: js/vendor.LICENSE.txt */ -import{n as Z,d as Je,e as Ze,u as Pe,h as ye,t as w,r as Ae,s as qe,N as Xe,l as be,v as Ke,w as Ge,x as Qe,y as et,z as tt,A as nt,G as at,B as rt,S as it}from"./logreader-main.mjs";import st from"./NcSelect-B916TNPl.chunk.mjs";import"./colors-DFNwuW2a-BUp7eygq.chunk.mjs";function Fe(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function q(e){return Fe(e)?new Date(e.getTime()):e==null?new Date(NaN):new Date(e)}function lt(e){return Fe(e)&&!isNaN(e.getTime())}function $e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!(t>=0&&t<=6))throw new RangeError("weekStartsOn must be between 0 and 6");var n=q(e),a=n.getDay(),r=(a+7-t)%7;return n.setDate(n.getDate()-r),n.setHours(0,0,0,0),n}function Ie(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r;if(!(i>=1&&i<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7");for(var s=q(e),l=s.getFullYear(),o=new Date(0),u=l+1;u>=l-1&&(o.setFullYear(u,0,i),o.setHours(0,0,0,0),o=$e(o,a),!(s.getTime()>=o.getTime()));u--);return o}function ce(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r,s=q(e),l=$e(s,a),o=Ie(s,{firstDayOfWeek:a,firstWeekContainsDate:i}),u=l.getTime()-o.getTime();return Math.round(u/(7*24*3600*1e3))+1}var He={months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],firstDayOfWeek:0,firstWeekContainsDate:1},ot=/\[([^\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;function g(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,n="".concat(Math.abs(e)),a=e<0?"-":"";n.length1&&arguments[1]!==void 0?arguments[1]:"",n=e>0?"-":"+",a=Math.abs(e),r=Math.floor(a/60),i=a%60;return n+g(r,2)+t+g(i,2)}var De=function(e,t,n){var a=e<12?"AM":"PM";return n?a.toLocaleLowerCase():a},I={Y:function(e){var t=e.getFullYear();return t<=9999?"".concat(t):"+".concat(t)},YY:function(e){return g(e.getFullYear(),4).substr(2)},YYYY:function(e){return g(e.getFullYear(),4)},M:function(e){return e.getMonth()+1},MM:function(e){return g(e.getMonth()+1,2)},MMM:function(e,t){return t.monthsShort[e.getMonth()]},MMMM:function(e,t){return t.months[e.getMonth()]},D:function(e){return e.getDate()},DD:function(e){return g(e.getDate(),2)},H:function(e){return e.getHours()},HH:function(e){return g(e.getHours(),2)},h:function(e){var t=e.getHours();return t===0?12:t>12?t%12:t},hh:function(){var e=I.h.apply(I,arguments);return g(e,2)},m:function(e){return e.getMinutes()},mm:function(e){return g(e.getMinutes(),2)},s:function(e){return e.getSeconds()},ss:function(e){return g(e.getSeconds(),2)},S:function(e){return Math.floor(e.getMilliseconds()/100)},SS:function(e){return g(Math.floor(e.getMilliseconds()/10),2)},SSS:function(e){return g(e.getMilliseconds(),3)},d:function(e){return e.getDay()},dd:function(e,t){return t.weekdaysMin[e.getDay()]},ddd:function(e,t){return t.weekdaysShort[e.getDay()]},dddd:function(e,t){return t.weekdays[e.getDay()]},A:function(e,t){var n=t.meridiem||De;return n(e.getHours(),e.getMinutes(),!1)},a:function(e,t){var n=t.meridiem||De;return n(e.getHours(),e.getMinutes(),!0)},Z:function(e){return we(Ce(e),":")},ZZ:function(e){return we(Ce(e))},X:function(e){return Math.floor(e.getTime()/1e3)},x:function(e){return e.getTime()},w:function(e,t){return ce(e,{firstDayOfWeek:t.firstDayOfWeek,firstWeekContainsDate:t.firstWeekContainsDate})},ww:function(e,t){return g(I.w(e,t),2)}};function X(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t?String(t):"YYYY-MM-DDTHH:mm:ss.SSSZ",r=q(e);if(!lt(r))return"Invalid Date";var i=n.locale||He;return a.replace(ot,function(s,l){return l||(typeof I[s]=="function"?"".concat(I[s](r,i)):s)})}function ke(e){return dt(e)||ct(e)||ut()}function ut(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function ct(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function dt(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t68?n-1:n)*100+a,k({},te,a)}),c("YYYY",bt,te),c("M",Y,function(e){return k({},B,parseInt(e,10)-1)}),c("MM",D,function(e){return k({},B,parseInt(e,10)-1)}),c("MMM",H("monthsShort"),j("monthsShort",B)),c("MMMM",H("months"),j("months",B)),c("D",Y,Se),c("DD",D,Se),c(["H","h"],Y,Te),c(["HH","hh"],D,Te),c("m",Y,xe),c("mm",D,xe),c("s",Y,Ve),c("ss",D,Ve),c("S",je,function(e){return k({},ne,parseInt(e,10)*100)}),c("SS",D,function(e){return k({},ne,parseInt(e,10)*10)}),c("SSS",yt,ne);function kt(e){return e.meridiemParse||/[ap]\.?m?\.?/i}function Mt(e){return"".concat(e).toLowerCase().charAt(0)==="p"}c(["A","a"],kt,function(e,t){var n=typeof t.isPM=="function"?t.isPM(e):Mt(e);return{isPM:n}});function St(e){var t=e.match(/([+-]|\d\d)/g)||["-","0","0"],n=ft(t,3),a=n[0],r=n[1],i=n[2],s=parseInt(r,10)*60+parseInt(i,10);return s===0?0:a==="+"?-s:+s}c(["Z","ZZ"],Ct,function(e){return{offset:St(e)}}),c("x",Ne,function(e){return{date:new Date(parseInt(e,10))}}),c("X",wt,function(e){return{date:new Date(parseFloat(e)*1e3)}}),c("d",je,"weekday"),c("dd",H("weekdaysMin"),j("weekdaysMin","weekday")),c("ddd",H("weekdaysShort"),j("weekdaysShort","weekday")),c("dddd",H("weekdays"),j("weekdays","weekday")),c("w",Y,"week"),c("ww",D,"week");function Tt(e,t){if(e!==void 0&&t!==void 0){if(t){if(e<12)return e+12}else if(e===12)return 0}return e}function xt(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Date,n=[0,0,1,0,0,0,0],a=[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()],r=!0,i=0;i<7;i++)e[i]===void 0?n[i]=r?a[i]:n[i]:(n[i]=e[i],r=!1);return n}function Vt(e,t,n,a,r,i,s){var l;return e<100&&e>=0?(l=new Date(e+400,t,n,a,r,i,s),isFinite(l.getFullYear())&&l.setFullYear(e)):l=new Date(e,t,n,a,r,i,s),l}function Yt(){for(var e,t=arguments.length,n=new Array(t),a=0;a=0?(n[0]+=400,e=new Date(Date.UTC.apply(Date,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(r)):e=new Date(Date.UTC.apply(Date,n)),e}function _t(e,t,n){var a=t.match(vt);if(!a)throw new Error;for(var r=a.length,i={},s=0;s2&&arguments[2]!==void 0?arguments[2]:{};try{var a=n.locale,r=a===void 0?He:a,i=n.backupDate,s=i===void 0?new Date:i,l=_t(e,t,r),o=l.year,u=l.month,h=l.day,f=l.hour,p=l.minute,m=l.second,V=l.millisecond,Re=l.isPM,pe=l.date,me=l.offset,ge=l.weekday,ve=l.week;if(pe)return pe;var Q=[o,u,h,f,p,m,V];if(Q[3]=Tt(Q[3],Re),ve!==void 0&&u===void 0&&h===void 0){var Ue=Ie(o===void 0?s:new Date(o,3),{firstDayOfWeek:r.firstDayOfWeek,firstWeekContainsDate:r.firstWeekContainsDate});return new Date(Ue.getTime()+(ve-1)*7*24*3600*1e3)}var z,ee=xt(Q,s);return me!==void 0?(ee[6]+=me*60*1e3,z=Yt.apply(void 0,ke(ee))):z=Vt.apply(void 0,ke(ee)),ge!==void 0&&z.getDay()!==ge?new Date(NaN):z}catch{return new Date(NaN)}}function U(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(t){return typeof t}:U=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},U(e)}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function se(){return se=Object.assign||function(e){for(var t=1;t=0)&&(n[r]=e[r]);return n}function At(e,t){if(e==null)return{};var n=Pt(e,t),a,r;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function N(e,t){return Ft(e)||$t(e,t)||It(e,t)||Ht()}function Ft(e){if(Array.isArray(e))return e}function $t(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],a=!0,r=!1,i=void 0;try{for(var s=e[Symbol.iterator](),l;!(a=(l=s.next()).done)&&(n.push(l.value),!(t&&n.length===t));a=!0);}catch(o){r=!0,i=o}finally{try{!a&&s.return!=null&&s.return()}finally{if(r)throw i}}return n}}function It(e,t){if(e){if(typeof e=="string")return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _e(e,t)}}function _e(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:0;if(!(t>=0&&t<=6))throw new RangeError("weekStartsOn must be between 0 and 6");var n=q(e),a=n.getDay(),r=(a+7-t)%7;return n.setDate(n.getDate()-r),n.setHours(0,0,0,0),n}function Ie(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r;if(!(i>=1&&i<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7");for(var s=q(e),l=s.getFullYear(),o=new Date(0),u=l+1;u>=l-1&&(o.setFullYear(u,0,i),o.setHours(0,0,0,0),o=$e(o,a),!(s.getTime()>=o.getTime()));u--);return o}function ce(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.firstDayOfWeek,a=n===void 0?0:n,r=t.firstWeekContainsDate,i=r===void 0?1:r,s=q(e),l=$e(s,a),o=Ie(s,{firstDayOfWeek:a,firstWeekContainsDate:i}),u=l.getTime()-o.getTime();return Math.round(u/(7*24*3600*1e3))+1}var He={months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],firstDayOfWeek:0,firstWeekContainsDate:1},ot=/\[([^\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;function g(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,n="".concat(Math.abs(e)),a=e<0?"-":"";n.length1&&arguments[1]!==void 0?arguments[1]:"",n=e>0?"-":"+",a=Math.abs(e),r=Math.floor(a/60),i=a%60;return n+g(r,2)+t+g(i,2)}var De=function(e,t,n){var a=e<12?"AM":"PM";return n?a.toLocaleLowerCase():a},I={Y:function(e){var t=e.getFullYear();return t<=9999?"".concat(t):"+".concat(t)},YY:function(e){return g(e.getFullYear(),4).substr(2)},YYYY:function(e){return g(e.getFullYear(),4)},M:function(e){return e.getMonth()+1},MM:function(e){return g(e.getMonth()+1,2)},MMM:function(e,t){return t.monthsShort[e.getMonth()]},MMMM:function(e,t){return t.months[e.getMonth()]},D:function(e){return e.getDate()},DD:function(e){return g(e.getDate(),2)},H:function(e){return e.getHours()},HH:function(e){return g(e.getHours(),2)},h:function(e){var t=e.getHours();return t===0?12:t>12?t%12:t},hh:function(){var e=I.h.apply(I,arguments);return g(e,2)},m:function(e){return e.getMinutes()},mm:function(e){return g(e.getMinutes(),2)},s:function(e){return e.getSeconds()},ss:function(e){return g(e.getSeconds(),2)},S:function(e){return Math.floor(e.getMilliseconds()/100)},SS:function(e){return g(Math.floor(e.getMilliseconds()/10),2)},SSS:function(e){return g(e.getMilliseconds(),3)},d:function(e){return e.getDay()},dd:function(e,t){return t.weekdaysMin[e.getDay()]},ddd:function(e,t){return t.weekdaysShort[e.getDay()]},dddd:function(e,t){return t.weekdays[e.getDay()]},A:function(e,t){var n=t.meridiem||De;return n(e.getHours(),e.getMinutes(),!1)},a:function(e,t){var n=t.meridiem||De;return n(e.getHours(),e.getMinutes(),!0)},Z:function(e){return we(Ce(e),":")},ZZ:function(e){return we(Ce(e))},X:function(e){return Math.floor(e.getTime()/1e3)},x:function(e){return e.getTime()},w:function(e,t){return ce(e,{firstDayOfWeek:t.firstDayOfWeek,firstWeekContainsDate:t.firstWeekContainsDate})},ww:function(e,t){return g(I.w(e,t),2)}};function X(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=t?String(t):"YYYY-MM-DDTHH:mm:ss.SSSZ",r=q(e);if(!lt(r))return"Invalid Date";var i=n.locale||He;return a.replace(ot,function(s,l){return l||(typeof I[s]=="function"?"".concat(I[s](r,i)):s)})}function ke(e){return dt(e)||ct(e)||ut()}function ut(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function ct(e){if(Symbol.iterator in Object(e)||Object.prototype.toString.call(e)==="[object Arguments]")return Array.from(e)}function dt(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t68?n-1:n)*100+a,k({},te,a)}),c("YYYY",bt,te),c("M",Y,function(e){return k({},B,parseInt(e,10)-1)}),c("MM",D,function(e){return k({},B,parseInt(e,10)-1)}),c("MMM",H("monthsShort"),j("monthsShort",B)),c("MMMM",H("months"),j("months",B)),c("D",Y,Se),c("DD",D,Se),c(["H","h"],Y,Te),c(["HH","hh"],D,Te),c("m",Y,xe),c("mm",D,xe),c("s",Y,Ve),c("ss",D,Ve),c("S",je,function(e){return k({},ne,parseInt(e,10)*100)}),c("SS",D,function(e){return k({},ne,parseInt(e,10)*10)}),c("SSS",yt,ne);function kt(e){return e.meridiemParse||/[ap]\.?m?\.?/i}function Mt(e){return"".concat(e).toLowerCase().charAt(0)==="p"}c(["A","a"],kt,function(e,t){var n=typeof t.isPM=="function"?t.isPM(e):Mt(e);return{isPM:n}});function St(e){var t=e.match(/([+-]|\d\d)/g)||["-","0","0"],n=ft(t,3),a=n[0],r=n[1],i=n[2],s=parseInt(r,10)*60+parseInt(i,10);return s===0?0:a==="+"?-s:+s}c(["Z","ZZ"],Ct,function(e){return{offset:St(e)}}),c("x",Ne,function(e){return{date:new Date(parseInt(e,10))}}),c("X",wt,function(e){return{date:new Date(parseFloat(e)*1e3)}}),c("d",je,"weekday"),c("dd",H("weekdaysMin"),j("weekdaysMin","weekday")),c("ddd",H("weekdaysShort"),j("weekdaysShort","weekday")),c("dddd",H("weekdays"),j("weekdays","weekday")),c("w",Y,"week"),c("ww",D,"week");function Tt(e,t){if(e!==void 0&&t!==void 0){if(t){if(e<12)return e+12}else if(e===12)return 0}return e}function xt(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Date,n=[0,0,1,0,0,0,0],a=[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()],r=!0,i=0;i<7;i++)e[i]===void 0?n[i]=r?a[i]:n[i]:(n[i]=e[i],r=!1);return n}function Vt(e,t,n,a,r,i,s){var l;return e<100&&e>=0?(l=new Date(e+400,t,n,a,r,i,s),isFinite(l.getFullYear())&&l.setFullYear(e)):l=new Date(e,t,n,a,r,i,s),l}function Yt(){for(var e,t=arguments.length,n=new Array(t),a=0;a=0?(n[0]+=400,e=new Date(Date.UTC.apply(Date,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(r)):e=new Date(Date.UTC.apply(Date,n)),e}function _t(e,t,n){var a=t.match(vt);if(!a)throw new Error;for(var r=a.length,i={},s=0;s2&&arguments[2]!==void 0?arguments[2]:{};try{var a=n.locale,r=a===void 0?He:a,i=n.backupDate,s=i===void 0?new Date:i,l=_t(e,t,r),o=l.year,u=l.month,h=l.day,f=l.hour,p=l.minute,m=l.second,V=l.millisecond,Re=l.isPM,pe=l.date,me=l.offset,ge=l.weekday,ve=l.week;if(pe)return pe;var Q=[o,u,h,f,p,m,V];if(Q[3]=Tt(Q[3],Re),ve!==void 0&&u===void 0&&h===void 0){var Ue=Ie(o===void 0?s:new Date(o,3),{firstDayOfWeek:r.firstDayOfWeek,firstWeekContainsDate:r.firstWeekContainsDate});return new Date(Ue.getTime()+(ve-1)*7*24*3600*1e3)}var z,ee=xt(Q,s);return me!==void 0?(ee[6]+=me*60*1e3,z=Yt.apply(void 0,ke(ee))):z=Vt.apply(void 0,ke(ee)),ge!==void 0&&z.getDay()!==ge?new Date(NaN):z}catch{return new Date(NaN)}}function U(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(t){return typeof t}:U=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},U(e)}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function se(){return se=Object.assign||function(e){for(var t=1;t=0)&&(n[r]=e[r]);return n}function At(e,t){if(e==null)return{};var n=Pt(e,t),a,r;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function N(e,t){return Ft(e)||$t(e,t)||It(e,t)||Ht()}function Ft(e){if(Array.isArray(e))return e}function $t(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],a=!0,r=!1,i=void 0;try{for(var s=e[Symbol.iterator](),l;!(a=(l=s.next()).done)&&(n.push(l.value),!(t&&n.length===t));a=!0);}catch(o){r=!0,i=o}finally{try{!a&&s.return!=null&&s.return()}finally{if(r)throw i}}return n}}function It(e,t){if(e){if(typeof e=="string")return _e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _e(e,t)}}function _e(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:0,s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:0,l=new Date(e,t,n,a,r,i,s);return e<100&&e>=0&&l.setFullYear(e),l}function C(e){return e instanceof Date&&!isNaN(e)}function K(e){return Array.isArray(e)&&e.length===2&&e.every(C)&&e[0]<=e[1]}function zt(e){return Array.isArray(e)&&e.every(C)}function O(e){var t=new Date(e);if(C(t))return t;for(var n=arguments.length,a=new Array(n>1?n-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:document.body;if(!e||e===t)return null;var n=function(i,s){return getComputedStyle(i,null).getPropertyValue(s)},a=/(auto|scroll)/,r=a.test(n(e,"overflow")+n(e,"overflow-y")+n(e,"overflow-x"));return r?e:G(e.parentNode,t)}var tn={name:"Popup",inject:{prefixClass:{default:"mx"}},props:{visible:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!0}},data:function(){return{top:"",left:""}},watch:{visible:{immediate:!0,handler:function(e){var t=this;this.$nextTick(function(){e&&t.displayPopup()})}}},mounted:function(){var e=this;this.appendToBody&&document.body.appendChild(this.$el),this._clickoutEvent="ontouchend"in document?"touchstart":"mousedown",document.addEventListener(this._clickoutEvent,this.handleClickOutside);var t=this.$parent.$el;this._displayPopup=Gt(function(){return e.displayPopup()}),this._scrollParent=G(t)||window,this._scrollParent.addEventListener("scroll",this._displayPopup),window.addEventListener("resize",this._displayPopup)},beforeDestroy:function(){this.appendToBody&&this.$el.parentNode&&this.$el.parentNode.removeChild(this.$el),document.removeEventListener(this._clickoutEvent,this.handleClickOutside),this._scrollParent.removeEventListener("scroll",this._displayPopup),window.removeEventListener("resize",this._displayPopup)},methods:{handleClickOutside:function(e){if(this.visible){var t=e.target,n=this.$el;n&&!n.contains(t)&&this.$emit("clickoutside",e)}},displayPopup:function(){if(this.visible){var e=this.$el,t=this.$parent.$el,n=this.appendToBody;this._popupRect||(this._popupRect=Qt(e));var a=this._popupRect,r=a.width,i=a.height,s=en(t,r,i,n),l=s.left,o=s.top;this.left=l,this.top=o}}}};function v(e,t,n,a,r,i,s,l,o,u){var h=typeof n=="function"?n.options:n;return e&&e.render&&(h.render=e.render,h.staticRenderFns=e.staticRenderFns,h._compiled=!0),n}var nn=tn,an=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:e.prefixClass+"-zoom-in-down"}},[e.visible?n("div",{class:e.prefixClass+"-datepicker-main "+e.prefixClass+"-datepicker-popup",style:{top:e.top,left:e.left,position:"absolute"}},[e._t("default")],2):e._e()])},rn=[],sn=void 0,ln=v({render:an,staticRenderFns:rn},sn,nn),on=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"}},[n("path",{attrs:{d:"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z"}})])},un=[],cn=void 0,dn=v({render:on,staticRenderFns:un},cn,{}),hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"}},[n("path",{attrs:{d:"M0 0h24v24H0z",fill:"none"}}),e._v(" "),n("path",{attrs:{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}}),e._v(" "),n("path",{attrs:{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"}})])},fn=[],pn=void 0,mn=v({render:hn,staticRenderFns:fn},pn,{}),gn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",width:"1em",height:"1em"}},[n("path",{attrs:{d:"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z"}})])},vn=[],yn=void 0,bn=v({render:gn,staticRenderFns:vn},yn,{}),Cn={props:{type:String,disabled:Boolean},inject:{prefixClass:{default:"mx"}}},wn=Cn,Dn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("button",e._g({class:[e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-btn-icon-"+e.type,{disabled:e.disabled}],attrs:{type:"button",disabled:e.disabled}},e.$listeners),[n("i",{class:e.prefixClass+"-icon-"+e.type})])},kn=[],Mn=void 0,he=v({render:Dn,staticRenderFns:kn},Mn,wn),Sn={name:"TableDate",components:{IconButton:he},inject:{getLocale:{default:function(){return F}},getWeek:{default:function(){return ce}},prefixClass:{default:"mx"},onDateMouseEnter:{default:void 0},onDateMouseLeave:{default:void 0}},props:{disabledCalendarChanger:{type:Function,default:function(){return!1}},calendar:{type:Date,default:function(){return new Date}},showWeekNumber:{type:Boolean,default:!1},titleFormat:{type:String,default:"YYYY-MM-DD"},getRowClasses:{type:Function,default:function(){return[]}},getCellClasses:{type:Function,default:function(){return[]}}},computed:{firstDayOfWeek:function(){return this.getLocale().formatLocale.firstDayOfWeek||0},yearMonth:function(){var e=this.getLocale(),t=e.yearFormat,n=e.monthBeforeYear,a=e.monthFormat,r=a===void 0?"MMM":a,i={panel:"year",label:this.formatDate(this.calendar,t)},s={panel:"month",label:this.formatDate(this.calendar,r)};return n?[s,i]:[i,s]},days:function(){var e=this.getLocale(),t=e.days||e.formatLocale.weekdaysMin;return t.concat(t).slice(this.firstDayOfWeek,this.firstDayOfWeek+7)},dates:function(){var e=this.calendar.getFullYear(),t=this.calendar.getMonth(),n=Ut({firstDayOfWeek:this.firstDayOfWeek,year:e,month:t});return de(n,7)}},methods:{isDisabledArrows:function(e){var t=new Date(this.calendar);switch(e){case"last-year":t.setFullYear(t.getFullYear()-1,t.getMonth()+1,0),t.setHours(23,59,59,999);break;case"next-year":t.setFullYear(t.getFullYear()+1);break;case"last-month":t.setMonth(t.getMonth(),0),t.setHours(23,59,59,999);break;case"next-month":t.setMonth(t.getMonth()+1);break}return this.disabledCalendarChanger(t,e)},handleIconLeftClick:function(){this.$emit("changecalendar",ue(this.calendar,function(e){return e-1}),"last-month")},handleIconRightClick:function(){this.$emit("changecalendar",ue(this.calendar,function(e){return e+1}),"next-month")},handleIconDoubleLeftClick:function(){this.$emit("changecalendar",P(this.calendar,function(e){return e-1}),"last-year")},handleIconDoubleRightClick:function(){this.$emit("changecalendar",P(this.calendar,function(e){return e+1}),"next-year")},handlePanelChange:function(e){this.$emit("changepanel",e)},handleMouseEnter:function(e){typeof this.onDateMouseEnter=="function"&&this.onDateMouseEnter(e)},handleMouseLeave:function(e){typeof this.onDateMouseLeave=="function"&&this.onDateMouseLeave(e)},handleCellClick:function(e){var t=e.target;t.tagName.toUpperCase()==="DIV"&&(t=t.parentNode);var n=t.getAttribute("data-row-col");if(n){var a=n.split(",").map(function(o){return parseInt(o,10)}),r=N(a,2),i=r[0],s=r[1],l=this.dates[i][s];this.$emit("select",new Date(l))}},formatDate:function(e,t){return X(e,t,{locale:this.getLocale().formatLocale})},getCellTitle:function(e){var t=this.titleFormat;return this.formatDate(e,t)},getWeekNumber:function(e){return this.getWeek(e,this.getLocale().formatLocale)}}},Tn=Sn,xn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.prefixClass+"-calendar "+e.prefixClass+"-calendar-panel-date"},[n("div",{class:e.prefixClass+"-calendar-header"},[n("icon-button",{attrs:{type:"double-left",disabled:e.isDisabledArrows("last-year")},on:{click:e.handleIconDoubleLeftClick}}),e._v(" "),n("icon-button",{attrs:{type:"left",disabled:e.isDisabledArrows("last-month")},on:{click:e.handleIconLeftClick}}),e._v(" "),n("icon-button",{attrs:{type:"double-right",disabled:e.isDisabledArrows("next-year")},on:{click:e.handleIconDoubleRightClick}}),e._v(" "),n("icon-button",{attrs:{type:"right",disabled:e.isDisabledArrows("next-month")},on:{click:e.handleIconRightClick}}),e._v(" "),n("span",{class:e.prefixClass+"-calendar-header-label"},e._l(e.yearMonth,function(a){return n("button",{key:a.panel,class:e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-btn-current-"+a.panel,attrs:{type:"button"},on:{click:function(r){return e.handlePanelChange(a.panel)}}},[e._v(` `+e._s(a.label)+` `)])}),0)],1),e._v(" "),n("div",{class:e.prefixClass+"-calendar-content"},[n("table",{class:e.prefixClass+"-table "+e.prefixClass+"-table-date"},[n("thead",[n("tr",[e.showWeekNumber?n("th",{class:e.prefixClass+"-week-number-header"}):e._e(),e._v(" "),e._l(e.days,function(a){return n("th",{key:a},[e._v(e._s(a))])})],2)]),e._v(" "),n("tbody",{on:{click:e.handleCellClick}},e._l(e.dates,function(a,r){return n("tr",{key:r,class:[e.prefixClass+"-date-row",e.getRowClasses(a)]},[e.showWeekNumber?n("td",{class:e.prefixClass+"-week-number",attrs:{"data-row-col":r+",0"}},[e._v(` @@ -13,4 +13,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho `)])}),0)},sa=[],la=void 0,oa=v({render:ia,staticRenderFns:sa},la,ra),ua={name:"TimePanel",components:{ListColumns:ta,ListOptions:oa},inject:{getLocale:{default:function(){return F}},prefixClass:{default:"mx"}},props:{value:{},defaultValue:{default:function(){var e=new Date;return e.setHours(0,0,0,0),e}},format:{default:"HH:mm:ss"},timeTitleFormat:{type:String,default:"YYYY-MM-DD"},showTimeHeader:{type:Boolean,default:!1},disabledTime:{type:Function,default:function(){return!1}},timePickerOptions:{type:[Object,Function],default:function(){return null}},hourOptions:Array,minuteOptions:Array,secondOptions:Array,hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},showHour:{type:Boolean,default:void 0},showMinute:{type:Boolean,default:void 0},showSecond:{type:Boolean,default:void 0},use12h:{type:Boolean,default:void 0},scrollDuration:{type:Number,default:100}},data:function(){return{innerValue:O(this.value,this.defaultValue)}},computed:{title:function(){var e=this.timeTitleFormat,t=new Date(this.innerValue);return this.formatDate(t,e)},innerForamt:function(){return typeof this.format=="string"?this.format:"HH:mm:ss"},ShowHourMinuteSecondAMPM:function(){var e=this,t=this.innerForamt,n={showHour:/[HhKk]/.test(t),showMinute:/m/.test(t),showSecond:/s/.test(t),use12h:/a/i.test(t)},a={};return Object.keys(n).forEach(function(r){a[r]=typeof e[r]=="boolean"?e[r]:n[r]}),a}},watch:{value:{immediate:!0,handler:function(){this.innerValue=O(this.value,this.defaultValue)}}},methods:{formatDate:function(e,t){return X(e,t,{locale:this.getLocale().formatLocale})},isDisabledTime:function(e){return this.disabledTime(new Date(e))},isDisabledHour:function(e){var t=new Date(e);return this.isDisabledTime(t)&&this.isDisabledTime(t.setMinutes(0,0,0))&&this.isDisabledTime(t.setMinutes(59,59,999))},isDisabledMinute:function(e){var t=new Date(e);return this.isDisabledTime(t)&&this.isDisabledTime(t.setSeconds(0,0))&&this.isDisabledTime(t.setSeconds(59,999))},isDisabledAMPM:function(e){var t=new Date(e),n=t.getHours()<12?0:12,a=n+11;return this.isDisabledTime(t)&&this.isDisabledTime(t.setHours(n,0,0,0))&&this.isDisabledTime(t.setHours(a,59,59,999))},isDisabled:function(e,t){return t==="hour"?this.isDisabledHour(e):t==="minute"?this.isDisabledMinute(e):t==="ampm"?this.isDisabledAMPM(e):this.isDisabledTime(e)},handleSelect:function(e,t){var n=new Date(e);this.isDisabled(e,t)||(this.innerValue=n,this.isDisabledTime(n)||this.$emit("select",n,t))},handleClickTitle:function(){this.$emit("clicktitle")},getClasses:function(e,t){var n=new Date(e);return this.isDisabled(e,t)?"disabled":n.getTime()===this.innerValue.getTime()?"active":""}}},ca=ua,da=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.prefixClass+"-time"},[e.showTimeHeader?n("div",{class:e.prefixClass+"-time-header"},[n("button",{class:e.prefixClass+"-btn "+e.prefixClass+"-btn-text "+e.prefixClass+"-time-header-title",attrs:{type:"button"},on:{click:e.handleClickTitle}},[e._v(` `+e._s(e.title)+` `)])]):e._e(),e._v(" "),n("div",{class:e.prefixClass+"-time-content"},[e.timePickerOptions?n("list-options",{attrs:{date:e.innerValue,"get-classes":e.getClasses,options:e.timePickerOptions,format:e.innerForamt},on:{select:e.handleSelect}}):n("list-columns",e._b({attrs:{date:e.innerValue,"get-classes":e.getClasses,"hour-options":e.hourOptions,"minute-options":e.minuteOptions,"second-options":e.secondOptions,"hour-step":e.hourStep,"minute-step":e.minuteStep,"second-step":e.secondStep,"scroll-duration":e.scrollDuration},on:{select:e.handleSelect}},"list-columns",e.ShowHourMinuteSecondAMPM,!1))],1)])},ha=[],fa=void 0,M=v({render:da,staticRenderFns:ha},fa,ca),E={name:"TimeRange",inject:{prefixClass:{default:"mx"}},props:d({},M.props),data:function(){return{startValue:new Date(NaN),endValue:new Date(NaN)}},watch:{value:{immediate:!0,handler:function(){if(K(this.value)){var e=N(this.value,2),t=e[0],n=e[1];this.startValue=t,this.endValue=n}else this.startValue=new Date(NaN),this.endValue=new Date(NaN)}}},methods:{emitChange:function(e,t){var n=[this.startValue,this.endValue];this.$emit("select",n,e==="time"?"time-range":e,t)},handleSelectStart:function(e,t){this.startValue=e,this.endValue.getTime()>=e.getTime()||(this.endValue=e),this.emitChange(t,0)},handleSelectEnd:function(e,t){this.endValue=e,this.startValue.getTime()<=e.getTime()||(this.startValue=e),this.emitChange(t,1)},disabledStartTime:function(e){return this.disabledTime(e,0)},disabledEndTime:function(e){return e.getTime()2&&arguments[2]!==void 0?arguments[2]:!0;this.userInput=null;var a=Array.isArray(e)?e.map(this.date2value):this.date2value(e);return this.$emit("input",a),this.$emit("change",a,t),n&&this.closePopup(),a},isValidValue:function(e){return this.validMultipleType?zt(e):this.range?K(e):C(e)},isValidValueAndNotDisabled:function(e){if(!this.isValidValue(e))return!1;var t=typeof this.disabledDate=="function"?this.disabledDate:function(){return!1},n=typeof this.disabledTime=="function"?this.disabledTime:function(){return!1};return Array.isArray(e)||(e=[e]),e.every(function(a){return!t(a)&&!n(a)})},handleMultipleDates:function(e,t){if(this.validMultipleType&&t){var n=t.filter(function(a){return a.getTime()!==e.getTime()});return n.length===t.length&&n.push(e),n}return e},handleSelectDate:function(e,t,n){e=this.handleMultipleDates(e,n),this.confirm?this.currentValue=e:this.emitValue(e,t,!this.validMultipleType&&(t===this.type||t==="time"))},clear:function(){this.emitValue(this.range?[null,null]:null),this.$emit("clear")},handleClear:function(e){e.stopPropagation(),this.clear()},handleConfirmDate:function(){var e=this.emitValue(this.currentValue);this.$emit("confirm",e)},handleSelectShortcut:function(e){var t=e.currentTarget.getAttribute("data-index"),n=this.shortcuts[parseInt(t,10)];if(y(n)&&typeof n.onClick=="function"){var a=n.onClick(this);a&&this.emitValue(a)}},openPopup:function(e){this.popupVisible||this.disabled||(this.defaultOpen=!0,this.$emit("open",e),this.$emit("update:open",!0))},closePopup:function(){this.popupVisible&&(this.defaultOpen=!1,this.$emit("close"),this.$emit("update:open",!1))},blur:function(){this.$refs.input&&this.$refs.input.blur()},focus:function(){this.$refs.input&&this.$refs.input.focus()},handleInputChange:function(){var e=this;if(!(!this.editable||this.userInput===null)){var t=this.userInput.trim();if(this.userInput=null,t===""){this.clear();return}var n;if(this.validMultipleType)n=t.split(this.innerRangeSeparator).map(function(r){return e.parseDate(r.trim())});else if(this.range){var a=t.split(this.innerRangeSeparator);a.length!==2&&(a=t.split(this.innerRangeSeparator.trim())),n=a.map(function(r){return e.parseDate(r.trim())})}else n=this.parseDate(t);this.isValidValueAndNotDisabled(n)?(this.emitValue(n),this.blur()):this.$emit("input-error",t)}},handleInputInput:function(e){this.userInput=typeof e=="string"?e:e.target.value},handleInputKeydown:function(e){var t=e.keyCode;t===9?this.closePopup():t===13&&this.handleInputChange()},handleInputBlur:function(e){this.$emit("blur",e)},handleInputFocus:function(e){this.openPopup(e),this.$emit("focus",e)},hasSlot:function(e){return!!(this.$slots[e]||this.$scopedSlots[e])},renderSlot:function(e,t,n){var a=this.$scopedSlots[e];return a?a(n)||t:this.$slots[e]||t},renderInput:function(){var e=this.$createElement,t=this.prefixClass,n=d({name:"date",type:"text",autocomplete:"off",value:this.text,class:this.inputClass||"".concat(this.prefixClass,"-input"),readonly:!this.editable,disabled:this.disabled,placeholder:this.placeholder},this.inputAttr),a=n.value,r=n.class,i=At(n,["value","class"]),s={keydown:this.handleInputKeydown,focus:this.handleInputFocus,blur:this.handleInputBlur,input:this.handleInputInput,change:this.handleInputChange},l=this.renderSlot("input",e("input",{domProps:{value:a},class:r,attrs:d({},i),on:d({},s),ref:"input"}),{props:n,events:s}),o=this.type==="time"?e(mn):e(dn);return e("div",{class:"".concat(t,"-input-wrapper"),on:{mouseenter:this.handleMouseEnter,mouseleave:this.handleMouseLeave,click:this.openPopup},ref:"inputWrapper"},[l,this.showClearIcon?e("i",{class:"".concat(t,"-icon-clear"),on:{click:this.handleClear}},[this.renderSlot("icon-clear",e(bn))]):e("i",{class:"".concat(t,"-icon-calendar")},[this.renderSlot("icon-calendar",o)])])},renderContent:function(){var e=this.$createElement,t=this.range?ma:pa,n=t[this.type]||t.default,a=d({},A(this.$props,Object.keys(n.props)),{value:this.currentValue}),r=d({},A(this.$listeners,n.emits||[]),{select:this.handleSelectDate}),i=e(n,W([{},{props:a,on:r,ref:"picker"}]));return e("div",{class:"".concat(this.prefixClass,"-datepicker-body")},[this.renderSlot("content",i,{value:this.currentValue,emit:this.handleSelectDate})])},renderSidebar:function(){var e=this,t=this.$createElement,n=this.prefixClass;return t("div",{class:"".concat(n,"-datepicker-sidebar")},[this.renderSlot("sidebar",null,{value:this.currentValue,emit:this.handleSelectDate}),this.shortcuts.map(function(a,r){return t("button",{key:r,attrs:{"data-index":r,type:"button"},class:"".concat(n,"-btn ").concat(n,"-btn-text ").concat(n,"-btn-shortcut"),on:{click:e.handleSelectShortcut}},[a.text])})])},renderHeader:function(){var e=this.$createElement;return e("div",{class:"".concat(this.prefixClass,"-datepicker-header")},[this.renderSlot("header",null,{value:this.currentValue,emit:this.handleSelectDate})])},renderFooter:function(){var e=this.$createElement,t=this.prefixClass;return e("div",{class:"".concat(t,"-datepicker-footer")},[this.renderSlot("footer",null,{value:this.currentValue,emit:this.handleSelectDate}),this.confirm?e("button",{attrs:{type:"button"},class:"".concat(t,"-btn ").concat(t,"-datepicker-btn-confirm"),on:{click:this.handleConfirmDate}},[this.confirmText]):null])}},render:function(){var e,t=arguments[0],n=this.prefixClass,a=this.inline,r=this.disabled,i=this.hasSlot("sidebar")||this.shortcuts.length?this.renderSidebar():null,s=t("div",{class:"".concat(n,"-datepicker-content")},[this.hasSlot("header")?this.renderHeader():null,this.renderContent(),this.hasSlot("footer")||this.confirm?this.renderFooter():null]);return t("div",{class:(e={},T(e,"".concat(n,"-datepicker"),!0),T(e,"".concat(n,"-datepicker-range"),this.range),T(e,"".concat(n,"-datepicker-inline"),a),T(e,"disabled",r),e)},[a?null:this.renderInput(),a?t("div",{class:"".concat(n,"-datepicker-main")},[i,s]):t(ln,{ref:"popup",class:this.popupClass,style:this.popupStyle,attrs:{visible:this.popupVisible,appendToBody:this.appendToBody},on:{clickoutside:this.handleClickOutSide}},[i,s])])}};S.locale=We,S.install=function(e){e.component(S.name,S)},typeof window<"u"&&window.Vue&&S.install(window.Vue),se(S,{CalendarPanel:x,CalendarRange:L,TimePanel:M,TimeRange:E,DatetimePanel:fe,DatetimeRange:Be}),Ae(qe);function ga(e){return e.slice(e.indexOf("/")+1).replaceAll("/"," - ").replaceAll("_"," ")}function va(){return Intl.supportedValuesOf("timeZone").filter(e=>!e.startsWith("Etc/")).map(e=>({timezoneId:e,label:ga(e)})).sort((e,t)=>e.timezoneId.localeCompare(t.timezoneId))}const ya=Je({__name:"NcTimezonePicker",props:{additionalTimezones:{default:()=>[]},value:{default:void 0},modelValue:{default:"floating"},uid:{default:Ze()}},emits:["input","update:modelValue","update:model-value"],setup(e){const t=e,n=Pe("value","input"),a=ye(()=>t.additionalTimezones.map(({timezoneId:s,label:l})=>({timezoneId:s,label:l}))),r=ye(()=>{const s=va();return s.unshift(...a.value),s});function i(s,l,o){const u=o.trim().split(/\s+/),h=Object.values(s);return u.every(f=>h.some(p=>p.toLowerCase().includes(f.toLowerCase())))}return{__sfc:!0,props:t,model:n,formattedAdditionalTimezones:a,options:r,filterBy:i,t:w,NcSelect:st}}});var ba=function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcSelect,{attrs:{"aria-label-combobox":n.t("Search for time zone"),clearable:!1,"filter-by":n.filterBy,multiple:!1,options:n.options,placeholder:n.t("Type to search time zone"),uid:e.uid,reduce:a=>a.timezoneId,label:"label"},model:{value:n.model,callback:function(a){n.model=a},expression:"model"}})},Ca=[],wa=Z(ya,ba,Ca,!1,null,null);const Da=wa.exports,ka={name:"CalendarBlankIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ma=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon calendar-blank-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(n){return e.$emit("click",n)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},Sa=[],Ta=Z(ka,Ma,Sa,!1,null,null);const xa=Ta.exports,Va={name:"WebIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var Ya=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon web-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(n){return e.$emit("click",n)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},_a=[],Oa=Z(Va,Ya,_a,!1,null,null);const Pa=Oa.exports;Ae(rt);const Oe={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD H:mm:ss",year:"YYYY",month:"YYYY-MM",time:"H:mm:ss",week:"w"},Aa={name:"NcDateTimePicker",components:{CalendarBlank:xa,DatePicker:S,NcPopover:Xe,NcTimezonePicker:Da,Web:Pa},inheritAttrs:!1,model:{prop:"modelValue",event:"update:modelValue"},props:{clearable:{type:Boolean,default:!1},minuteStep:{type:Number,default:10},type:{type:String,default:"date",validator:e=>["date","time","datetime","week","month","year","date-range","time-range","datetime-range"].includes(e)},format:{type:[String,Function],default:null},formatter:{type:Object,default:null},lang:{type:Object,default:null},value:{default:void 0},modelValue:{default:()=>new Date},timezoneId:{type:String,default:"UTC"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1},placeholder:{type:String,default:null},range:{type:Boolean,default:!1}},emits:["update:value","update:modelValue","update:model-value","update:timezone-id"],setup(){return{model:Pe("value","update:value"),timezoneDialogHeaderId:`timezone-dialog-header-${at()}`}},data(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},computed:{realType(){return this.type.split("-")[0]},defaultLang(){return{formatLocale:{months:nt(),monthsShort:tt(),weekdays:et(),weekdaysShort:Qe(),weekdaysMin:Ge(),firstDayOfWeek:Ke()},monthFormat:"MMMM"}},defaultPlaceholder(){return this.realType==="time"?w("Pick a time"):this.realType==="month"?w("Pick a month"):this.realType==="year"?w("Pick a year"):this.realType==="week"?w("Pick a week"):this.realType==="date"?w("Pick a date"):w("Pick a date and a time")},internalRange(){return this.range||this.type.endsWith("-range")},internalFormat(){return this.format&&typeof this.format=="string"?this.format:Oe[this.realType]||Oe.date},internalFormatter(){return{getWeek:e=>{const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()));t.setUTCDate(t.getUTCDate()+4-(t.getUTCDay()||7));const n=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-n)/864e5+1)/7)},...typeof this.format=="function"?{stringify:this.format}:{},...this.formatter??{}}}},methods:{t:w,handleSelectYear(e){const t=this.$refs.datepicker.currentValue;if(t)try{const n=new Date(new Date(t).setFullYear(e));this.$refs.datepicker.selectDate(n)}catch{be.error("Invalid value",{value:t,year:e})}},handleSelectMonth(e){const t=this.$refs.datepicker.currentValue;if(t)try{const n=new Date(new Date(t).setMonth(e));this.$refs.datepicker.selectDate(n)}catch{be.error("Invalid value",{value:t,month:e})}},toggleTimezonePopover(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}};var Fa=function(){var e=this,t=e._self._c;return t("DatePicker",e._g(e._b({ref:"datepicker",attrs:{"append-to-body":e.appendToBody,clearable:e.clearable,format:e.internalFormat,formatter:e.internalFormatter,lang:e.lang?e.lang:e.defaultLang,"minute-step":e.minuteStep,placeholder:e.placeholder?e.placeholder:e.defaultPlaceholder,"popup-class":{"show-week-number":e.showWeekNumber},range:e.internalRange,"show-week-number":e.showWeekNumber,type:e.realType,value:e.model},on:{"select-year":e.handleSelectYear,"select-month":e.handleSelectMonth,input:function(n){e.model=n}},scopedSlots:e._u([{key:"icon-calendar",fn:function(){return[e.showTimezoneSelect?t("NcPopover",{attrs:{"popup-role":"dialog",shown:e.showTimezonePopover,"popover-base-class":"timezone-select__popper"},on:{"update:shown":function(n){e.showTimezonePopover=n}},scopedSlots:e._u([{key:"trigger",fn:function({attrs:n}){return[t("button",e._b({staticClass:"datetime-picker-inline-icon",class:{"datetime-picker-inline-icon--highlighted":e.highlightTimezone},on:{mousedown:function(a){return a.stopPropagation(),a.preventDefault(),(()=>{}).apply(null,arguments)}}},"button",n,!1),[t("Web",{attrs:{size:20}})],1)]}}],null,!1,3026992387)},[t("div",{attrs:{role:"dialog","aria-labelledby":e.timezoneDialogHeaderId}},[t("div",{staticClass:"timezone-popover-wrapper__label"},[t("strong",{attrs:{id:e.timezoneDialogHeaderId}},[e._v(" "+e._s(e.t("Please select a time zone:"))+" ")])]),t("NcTimezonePicker",{staticClass:"timezone-popover-wrapper__timezone-select",on:{input:function(n){return e.$emit("update:timezone-id",arguments[0])}},model:{value:e.tzVal,callback:function(n){e.tzVal=n},expression:"tzVal"}})],1)]):t("CalendarBlank",{attrs:{size:20}})]},proxy:!0},e._l(e.$scopedSlots,function(n,a){return{key:a,fn:function(r){return[e._t(a,null,null,r)]}}})],null,!0)},"DatePicker",e.$attrs,!1),e.$listeners))},$a=[],Ia=Z(Aa,Fa,$a,!1,null,"ecb9b537");const Ha=Ia.exports;it(Ha);export{Ha as default}; -//# sourceMappingURL=NcDateTimePicker-Cs67uOWI.chunk.mjs.map +//# sourceMappingURL=NcDateTimePicker-BvNe5BRn.chunk.mjs.map diff --git a/js/NcDateTimePicker-Cs67uOWI.chunk.mjs.map b/js/NcDateTimePicker-BvNe5BRn.chunk.mjs.map similarity index 99% rename from js/NcDateTimePicker-Cs67uOWI.chunk.mjs.map rename to js/NcDateTimePicker-BvNe5BRn.chunk.mjs.map index 2b1d96723..9335982b2 100644 --- a/js/NcDateTimePicker-Cs67uOWI.chunk.mjs.map +++ b/js/NcDateTimePicker-BvNe5BRn.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"NcDateTimePicker-Cs67uOWI.chunk.mjs","sources":["../node_modules/date-format-parse/es/util.js","../node_modules/date-format-parse/es/locale/en.js","../node_modules/date-format-parse/es/format.js","../node_modules/date-format-parse/es/parse.js","../node_modules/vue2-datepicker/index.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcTimezonePicker-DTdF1yG4.mjs","../node_modules/@nextcloud/vue/dist/Components/NcDateTimePicker.mjs"],"sourcesContent":["export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction getOffset(date) {\n return Math.round(date.getTimezoneOffset() / 15) * 15;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(getOffset(date), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(getOffset(date));\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\nexport function format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createDate(y, m, d, h, M, s, ms) {\n var date;\n\n if (y < 100 && y >= 0) {\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var parsedDate;\n var result = getFullInputArray(inputArray, backupDate);\n\n if (offset !== undefined) {\n result[6] += offset * 60 * 1000;\n parsedDate = createUTCDate.apply(void 0, _toConsumableArray(result));\n } else {\n parsedDate = createDate.apply(void 0, _toConsumableArray(result));\n } // check weekday\n\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = typeof dirtyMonth === 'function' ? dirtyMonth(date.getMonth()) : Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction setYear(dirtyDate, dirtyYear) {\n var date = new Date(dirtyDate);\n var year = typeof dirtyYear === 'function' ? dirtyYear(date.getFullYear()) : dirtyYear;\n date.setFullYear(year);\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M0 0h24v24H0z\",\n \"fill\": \"none\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, {}, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String,\n disabled: Boolean\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: [_vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type, {\n disabled: _vm.disabled\n }],\n attrs: {\n \"type\": \"button\",\n \"disabled\": _vm.disabled\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$1, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, date.getMonth() + 1, 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1);\n break;\n\n case 'last-month':\n date.setMonth(date.getMonth(), 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-month':\n date.setMonth(date.getMonth() + 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v - 1;\n }), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v + 1;\n }), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\",\n \"disabled\": _vm.isDisabledArrows('last-month')\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\",\n \"disabled\": _vm.isDisabledArrows('next-month')\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$2, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$3, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-decade':\n date.setFullYear(this.firstYear - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-decade':\n date.setFullYear(this.lastYear + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 10;\n }), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 10;\n }), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$4, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n var classes = [];\n\n if (this.type !== 'month') {\n if (this.calendarMonth === month) {\n classes.push('active');\n }\n\n var _cellDate = this.getMonthCellDate(month);\n\n if (this.disabledCalendarChanger(_cellDate, 'month')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n var classes = [];\n\n if (this.type !== 'year') {\n if (this.calendarYear === year) {\n classes.push('active');\n }\n\n var _cellDate2 = this.getYearCellDate(year);\n\n if (this.disabledCalendarChanger(_cellDate2, 'year')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$7, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$5, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$5, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value, col.type)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$6, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$7, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$9,\n ListOptions: __vue_component__$a\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n data: function data() {\n return {\n innerValue: getValidDate(this.value, this.defaultValue)\n };\n },\n computed: {\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n this.innerValue = getValidDate(this.value, this.defaultValue);\n }\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabledTime: function isDisabledTime(value) {\n return this.disabledTime(new Date(value));\n },\n isDisabledHour: function isDisabledHour(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setMinutes(0, 0, 0)) && this.isDisabledTime(value.setMinutes(59, 59, 999));\n },\n isDisabledMinute: function isDisabledMinute(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setSeconds(0, 0)) && this.isDisabledTime(value.setSeconds(59, 999));\n },\n isDisabledAMPM: function isDisabledAMPM(date) {\n var value = new Date(date);\n var minHour = value.getHours() < 12 ? 0 : 12;\n var maxHour = minHour + 11;\n return this.isDisabledTime(value) && this.isDisabledTime(value.setHours(minHour, 0, 0, 0)) && this.isDisabledTime(value.setHours(maxHour, 59, 59, 999));\n },\n isDisabled: function isDisabled(date, type) {\n if (type === 'hour') {\n return this.isDisabledHour(date);\n }\n\n if (type === 'minute') {\n return this.isDisabledMinute(date);\n }\n\n if (type === 'ampm') {\n return this.isDisabledAMPM(date);\n }\n\n return this.isDisabledTime(date);\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value, type)) {\n this.innerValue = date;\n\n if (!this.isDisabledTime(date)) {\n this.$emit('select', date, type);\n }\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value, type) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value, type)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$b = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$b = [];\n/* style */\n\nvar __vue_inject_styles__$b = undefined;\n/* scoped */\n\nvar __vue_scope_id__$b = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$b = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$b = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$b = normalizeComponent({\n render: __vue_render__$b,\n staticRenderFns: __vue_staticRenderFns__$b\n}, __vue_inject_styles__$b, __vue_script__$8, __vue_scope_id__$b, __vue_is_functional_template__$b, __vue_module_identifier__$b, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$b.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$b.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$b.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$b, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$b,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false,\n mouseInInput: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text && this.mouseInInput;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n },\n popupVisible: {\n handler: function handler(val) {\n if (val) {\n this.currentValue = this.innerValue;\n }\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleMouseEnter: function handleMouseEnter() {\n this.mouseInInput = true;\n },\n handleMouseLeave: function handleMouseLeave() {\n this.mouseInInput = false;\n },\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n\n if (close) {\n this.closePopup();\n }\n\n return value;\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, type, // this.type === 'datetime', click the time should close popup\n !this.validMultipleType && (type === this.type || type === 'time'));\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible || this.disabled) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n var calendarIcon = this.type === 'time' ? h(__vue_component__$2) : h(__vue_component__$1); // remove touchstart event to avoid opens the popup while scrolling in mobile #469\n\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave,\n \"click\": this.openPopup\n },\n \"ref\": \"inputWrapper\"\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"click\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$3))]) : h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', calendarIcon)])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$b,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n","import { defineComponent, computed } from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, u as t44, a as t } from \"./_l10n-Dpecfv0B.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcSelect } from \"./NcSelect-BD9fhCVy.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t44);\nfunction formatTimezoneId(timezoneId) {\n return timezoneId.slice(timezoneId.indexOf(\"/\") + 1).replaceAll(\"/\", \" - \").replaceAll(\"_\", \" \");\n}\nfunction getTimezones() {\n return Intl.supportedValuesOf(\"timeZone\").filter((tz) => !tz.startsWith(\"Etc/\")).map((timezoneId) => ({\n timezoneId,\n label: formatTimezoneId(timezoneId)\n })).sort((a, b) => a.timezoneId.localeCompare(b.timezoneId));\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcTimezonePicker\",\n props: {\n additionalTimezones: { default: () => [] },\n value: { default: void 0 },\n modelValue: { default: \"floating\" },\n uid: { default: createElementId() }\n },\n emits: [\"input\", \"update:modelValue\", \"update:model-value\"],\n setup(__props) {\n const props = __props;\n const model = useModelMigration(\"value\", \"input\");\n const formattedAdditionalTimezones = computed(() => {\n return props.additionalTimezones.map(({ timezoneId, label }) => ({\n timezoneId,\n label\n }));\n });\n const options = computed(() => {\n const timezones = getTimezones();\n timezones.unshift(...formattedAdditionalTimezones.value);\n return timezones;\n });\n function filterBy(option, label, search) {\n const terms = search.trim().split(/\\s+/);\n const values = Object.values(option);\n return terms.every((term) => {\n return values.some((value) => value.toLowerCase().includes(term.toLowerCase()));\n });\n }\n return { __sfc: true, props, model, formattedAdditionalTimezones, options, filterBy, t, NcSelect };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcSelect, { attrs: { \"aria-label-combobox\": _setup.t(\"Search for time zone\"), \"clearable\": false, \"filter-by\": _setup.filterBy, \"multiple\": false, \"options\": _setup.options, \"placeholder\": _setup.t(\"Type to search time zone\"), \"uid\": _vm.uid, \"reduce\": (option) => option.timezoneId, \"label\": \"label\" }, model: { value: _setup.model, callback: function($$v) {\n _setup.model = $$v;\n }, expression: \"model\" } });\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcTimezonePicker = __component__.exports;\nexport {\n NcTimezonePicker as N\n};\n//# sourceMappingURL=NcTimezonePicker-DTdF1yG4.mjs.map\n","import '../assets/NcDateTimePicker-BU_TdhUm.css';\nimport { getFirstDay, getDayNamesMin, getDayNamesShort, getDayNames, getMonthNamesShort, getMonthNames } from \"@nextcloud/l10n\";\nimport DatePicker from \"vue2-datepicker\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { u as useModelMigration } from \"../chunks/useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, M as t39, a as t } from \"../chunks/_l10n-Dpecfv0B.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { l as logger } from \"../chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcPopover } from \"../chunks/NcPopover-UAg26Qdd.mjs\";\nimport { N as NcTimezonePicker } from \"../chunks/NcTimezonePicker-DTdF1yG4.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-DnsVyhxP.mjs\";\nconst _sfc_main$2 = {\n name: \"CalendarBlankIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon calendar-blank-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst CalendarBlank = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"WebIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon web-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Web = __component__$1.exports;\nregister(t39);\nconst formatMap = {\n date: \"YYYY-MM-DD\",\n datetime: \"YYYY-MM-DD H:mm:ss\",\n year: \"YYYY\",\n month: \"YYYY-MM\",\n time: \"H:mm:ss\",\n week: \"w\"\n};\nconst _sfc_main = {\n name: \"NcDateTimePicker\",\n components: {\n CalendarBlank,\n DatePicker,\n NcPopover,\n NcTimezonePicker,\n Web\n },\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Allow to clear the input.\n */\n clearable: {\n type: Boolean,\n default: false\n },\n /**\n * Default increment step for minutes in the time picker.\n */\n minuteStep: {\n type: Number,\n default: 10\n },\n /**\n * Since 8.25.0: Support 'date-range', 'time-range' and 'datetime-range' values.\n */\n type: {\n type: String,\n default: \"date\",\n validator: (type) => [\"date\", \"time\", \"datetime\", \"week\", \"month\", \"year\", \"date-range\", \"time-range\", \"datetime-range\"].includes(type)\n },\n /**\n * Either `moment.js` formatting tokens or a function taking a Date object and returning a string.\n * Warning: In v9 this will change the accepted token format to standardized Unicode tokens instead!\n */\n format: {\n type: [String, Function],\n default: null\n },\n /**\n * @deprecated use `format` instead\n */\n formatter: {\n type: Object,\n default: null\n },\n /**\n * The locale to use for formatting the shown dates.\n * By default the users current Nextcloud locale is used.\n */\n lang: {\n type: Object,\n default: null\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n // eslint-disable-next-line\n value: {\n default: void 0\n },\n /**\n * The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in\n * JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date\n * value. You have to translate the time yourself when you want to factor in time zones.\n */\n // eslint-disable-next-line\n modelValue: {\n default: () => /* @__PURE__ */ new Date()\n },\n /**\n * The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select=\"true\"`. Example: `Europe/Berlin`. The prop supports two-way binding through the .sync modifier.\n */\n timezoneId: {\n type: String,\n default: \"UTC\"\n },\n /**\n * Include a timezone picker within the menu.\n * Please note that the dates are still bound to the locale timezone\n * and any conversion needs to be done by the app itself.\n */\n showTimezoneSelect: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the timezone select icon will be highlighted.\n */\n highlightTimezone: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the menu will be placed on the ``\n * instead of default placement on the picker.\n */\n appendToBody: {\n type: Boolean,\n default: false\n },\n /**\n * Show the ISO week numbers within the calendar.\n */\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n /**\n * Optional custom placeholder for the input box.\n */\n placeholder: {\n type: String,\n default: null\n },\n /**\n * @deprecated use the 'date-range' or 'datetime-range' type instead.\n */\n range: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"update:timezone-id\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model,\n timezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`\n };\n },\n data() {\n return {\n showTimezonePopover: false,\n tzVal: this.timezoneId\n };\n },\n computed: {\n realType() {\n return this.type.split(\"-\")[0];\n },\n /**\n * Datepicker language\n * https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md\n *\n * @return {object}\n */\n defaultLang() {\n return {\n formatLocale: {\n months: getMonthNames(),\n monthsShort: getMonthNamesShort(),\n weekdays: getDayNames(),\n weekdaysShort: getDayNamesShort(),\n weekdaysMin: getDayNamesMin(),\n // 0 = sunday, 1 = monday\n firstDayOfWeek: getFirstDay()\n },\n monthFormat: \"MMMM\"\n };\n },\n /**\n * Translated placeholder\n *\n * @return {string}\n */\n defaultPlaceholder() {\n if (this.realType === \"time\") {\n return t(\"Pick a time\");\n }\n if (this.realType === \"month\") {\n return t(\"Pick a month\");\n }\n if (this.realType === \"year\") {\n return t(\"Pick a year\");\n }\n if (this.realType === \"week\") {\n return t(\"Pick a week\");\n }\n if (this.realType === \"date\") {\n return t(\"Pick a date\");\n }\n return t(\"Pick a date and a time\");\n },\n /**\n * Is the range picker enabled\n */\n internalRange() {\n return this.range || this.type.endsWith(\"-range\");\n },\n internalFormat() {\n if (this.format && typeof this.format === \"string\") {\n return this.format;\n }\n return formatMap[this.realType] || formatMap.date;\n },\n /**\n * The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044\n */\n internalFormatter() {\n const getWeek = (date) => {\n const firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n firstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7));\n const yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1));\n return Math.ceil(((firstThursday - yearStart) / 864e5 + 1) / 7);\n };\n return {\n getWeek,\n // wrape the format if it is a function\n ...typeof this.format === \"function\" ? { stringify: this.format } : {},\n // allow to override it by users using the `formatter` prop\n ...this.formatter ?? {}\n };\n }\n },\n methods: {\n t,\n handleSelectYear(year) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setFullYear(year));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, year });\n }\n }\n },\n handleSelectMonth(month) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setMonth(month));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, month });\n }\n }\n },\n /**\n * Toggles the visibility of the time zone popover\n */\n toggleTimezonePopover() {\n if (!this.showTimezoneSelect) {\n return;\n }\n this.showTimezonePopover = !this.showTimezonePopover;\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"DatePicker\", _vm._g(_vm._b({ ref: \"datepicker\", attrs: { \"append-to-body\": _vm.appendToBody, \"clearable\": _vm.clearable, \"format\": _vm.internalFormat, \"formatter\": _vm.internalFormatter, \"lang\": _vm.lang ? _vm.lang : _vm.defaultLang, \"minute-step\": _vm.minuteStep, \"placeholder\": _vm.placeholder ? _vm.placeholder : _vm.defaultPlaceholder, \"popup-class\": { \"show-week-number\": _vm.showWeekNumber }, \"range\": _vm.internalRange, \"show-week-number\": _vm.showWeekNumber, \"type\": _vm.realType, \"value\": _vm.model }, on: { \"select-year\": _vm.handleSelectYear, \"select-month\": _vm.handleSelectMonth, \"input\": function($event) {\n _vm.model = $event;\n } }, scopedSlots: _vm._u([{ key: \"icon-calendar\", fn: function() {\n return [_vm.showTimezoneSelect ? _c(\"NcPopover\", { attrs: { \"popup-role\": \"dialog\", \"shown\": _vm.showTimezonePopover, \"popover-base-class\": \"timezone-select__popper\" }, on: { \"update:shown\": function($event) {\n _vm.showTimezonePopover = $event;\n } }, scopedSlots: _vm._u([{ key: \"trigger\", fn: function({ attrs }) {\n return [_c(\"button\", _vm._b({ staticClass: \"datetime-picker-inline-icon\", class: { \"datetime-picker-inline-icon--highlighted\": _vm.highlightTimezone }, on: { \"mousedown\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return (() => {\n }).apply(null, arguments);\n } } }, \"button\", attrs, false), [_c(\"Web\", { attrs: { \"size\": 20 } })], 1)];\n } }], null, false, 3026992387) }, [_c(\"div\", { attrs: { \"role\": \"dialog\", \"aria-labelledby\": _vm.timezoneDialogHeaderId } }, [_c(\"div\", { staticClass: \"timezone-popover-wrapper__label\" }, [_c(\"strong\", { attrs: { \"id\": _vm.timezoneDialogHeaderId } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Please select a time zone:\")) + \" \")])]), _c(\"NcTimezonePicker\", { staticClass: \"timezone-popover-wrapper__timezone-select\", on: { \"input\": function($event) {\n return _vm.$emit(\"update:timezone-id\", arguments[0]);\n } }, model: { value: _vm.tzVal, callback: function($$v) {\n _vm.tzVal = $$v;\n }, expression: \"tzVal\" } })], 1)]) : _c(\"CalendarBlank\", { attrs: { \"size\": 20 } })];\n }, proxy: true }, _vm._l(_vm.$scopedSlots, function(_, slot) {\n return { key: slot, fn: function(scope) {\n return [_vm._t(slot, null, null, scope)];\n } };\n })], null, true) }, \"DatePicker\", _vm.$attrs, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ecb9b537\"\n);\nconst NcDateTimePicker = __component__.exports;\nScopeComponent(NcDateTimePicker);\nexport {\n NcDateTimePicker as default\n};\n//# sourceMappingURL=NcDateTimePicker.mjs.map\n"],"names":["isDate","value","toDate","isValidDate","startOfWeek","firstDayOfWeek","date","day","diff","startOfWeekYear","_ref","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","year","firstDateOfFirstWeek","i","getWeek","_ref2","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","locale","REGEX_FORMAT","pad","val","len","output","sign","getOffset","formatTimezone","offset","delimeter","absOffset","hours","minutes","meridiem","h","_","isLowercase","word","formatFlags","y","meridiemFunc","format","str","options","formatStr","defaultLocale","match","p1","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","arr2","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","source","key","_defineProperty","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_i","_s","err","obj","formattingTokens","match1","match2","match3","match4","match1to2","matchShortOffset","matchSigned","matchTimestamp","YEAR","MONTH","DAY","HOUR","MINUTE","SECOND","MILLISECOND","parseFlags","addParseFlag","token","regex","callback","tokens","func","input","escapeStringRegExp","matchWordRegExp","localeKey","array","matchWordCallback","index","cent","matchMeridiem","defaultIsPM","isPM","offsetFromString","_ref8","_ref9","symbol","hour","minute","to24hour","getFullInputArray","backupDate","result","backupArr","useBackup","createDate","m","d","M","s","ms","createUTCDate","_len","args","_key","makeParser","dateString","length","mark","parseTo","parser","parse","_options$locale","_locale","_options$backupDate","parseResult","month","second","millisecond","weekday","week","inputArray","firstDate","parsedDate","_typeof","_extends","_objectSpread2","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","n","_extends$1","a","b","c","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","e","f","g","mergeFn","helper","isValidRangeDate","isValidDates","dates","getValidDate","backup","startOfYear","startOfMonth","startOfDay","getCalendar","calendar","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","lastMonthLength","nextMonthLength","_i2","setMonth","dirtyDate","dirtyMonth","daysInMonth","setYear","dirtyYear","assignTime","time","chunk","size","isObject","pick","props","res","prop","mergeDeep","unwrapExports","x","createCommonjsModule","fn","module","en","exports","_default","en$1","lang","locales","name","isLocal","l","getLocale","rafThrottle","isRunning","_this","getPopupElementSize","element","originalDisplay","originalVisibility","styles","width","height","getRelativePosition","el","targetWidth","targetHeight","fixed","left","top","offsetX","offsetY","relativeRect","dw","dh","getScrollParent","node","until","style","scroll","script","_this2","relativeElement","evt","popup","appendToBody","_this$_popupRect","_getRelativePosition","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_vm","_h","_c","__vue_staticRenderFns__","__vue_inject_styles__","__vue_component__","__vue_render__$1","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_component__$1","__vue_render__$2","__vue_staticRenderFns__$2","__vue_inject_styles__$2","__vue_component__$2","__vue_render__$3","__vue_staticRenderFns__$3","__vue_inject_styles__$3","__vue_component__$3","script$1","__vue_script__$1","__vue_render__$4","__vue_staticRenderFns__$4","__vue_inject_styles__$4","__vue_component__$4","script$2","_this$getLocale","yearFormat","monthBeforeYear","_this$getLocale$month","monthFormat","yearLabel","monthLabel","days","type","v","panel","cell","_index$split$map","_index$split$map2","row","col","fmt","__vue_script__$2","__vue_render__$5","item","$event","j","__vue_staticRenderFns__$5","__vue_inject_styles__$5","__vue_component__$5","script$3","monthsLocale","months","text","__vue_script__$3","__vue_render__$6","__vue_staticRenderFns__$6","__vue_inject_styles__$6","__vue_component__$6","script$4","last","firstYear","years","__vue_script__$4","__vue_render__$7","__vue_staticRenderFns__$7","__vue_inject_styles__$7","__vue_component__$7","CalendarPanel","panels","map","start","calendarDate","oldCalendar","oldPanel","_date","_date2","cellDate","notCurrentMonth","classes","state","_cellDate","_cellDate2","end","active","innerCalendar","CalendarRange","calendars","_this$innerValue","startValue","endValue","adjustIndex","gap","_calendars","calendarLeft","calendarRight","yearDiff","monthDiff","min","max","currentDates","classnames","inRange","data","range","_range$map","_range$map2","calendarRange","on","prefixClass","scrollBarWidth","getScrollbarWidth","outer","inner","script$5","wrap","heightPercentage","scrollHeight","scrollTop","offsetTop","clientY","clientHeight","__vue_script__$5","__vue_render__$8","__vue_staticRenderFns__$8","__vue_inject_styles__$8","__vue_component__$8","padNumber","generateOptions","step","scrollTo","to","duration","difference","tick","script$6","cols","num","_this3","_this4","_this5","elements","scrollElement","currentTarget","colIndex","cellIndex","__vue_script__$6","__vue_render__$9","__vue_staticRenderFns__$9","__vue_inject_styles__$9","__vue_component__$9","parseOption","values","scrollTo$1","script$7","startMinutes","endMinutes","stepMinutes","timeMinutes","__vue_script__$7","__vue_render__$a","__vue_staticRenderFns__$a","__vue_inject_styles__$a","__vue_component__$a","script$8","titleFormat","defaultProps","minHour","maxHour","__vue_script__$8","__vue_render__$b","__vue_staticRenderFns__$b","__vue_inject_styles__$b","__vue_component__$b","TimeRange","_this$value","defaultValues","DatetimePanel","datetime","calendarProps","timeProps","DatetimeRange","datetimes","componentMap","componentRangeMap","DatePicker","types","close","disabledDate","disabledTime","nextDates","keyCode","fallback","slotFn","className","attrs","events","calendarIcon","Component","content","_class","inline","disabled","sidedar","Vue","register","t44","formatTimezoneId","timezoneId","getTimezones","tz","_sfc_main","defineComponent","createElementId","__props","model","useModelMigration","formattedAdditionalTimezones","computed","label","timezones","filterBy","option","search","terms","term","t","NcSelect","_sfc_render","_setup","$$v","_sfc_staticRenderFns","__component__","NcTimezonePicker","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","CalendarBlank","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Web","t39","formatMap","NcPopover","GenRandomId","getMonthNames","getMonthNamesShort","getDayNames","getDayNamesShort","getDayNamesMin","getFirstDay","firstThursday","yearStart","logger","slot","scope","NcDateTimePicker","ScopeComponent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file +{"version":3,"file":"NcDateTimePicker-BvNe5BRn.chunk.mjs","sources":["../node_modules/date-format-parse/es/util.js","../node_modules/date-format-parse/es/locale/en.js","../node_modules/date-format-parse/es/format.js","../node_modules/date-format-parse/es/parse.js","../node_modules/vue2-datepicker/index.esm.js","../node_modules/@nextcloud/vue/dist/chunks/NcTimezonePicker-DTdF1yG4.mjs","../node_modules/@nextcloud/vue/dist/Components/NcDateTimePicker.mjs"],"sourcesContent":["export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction getOffset(date) {\n return Math.round(date.getTimezoneOffset() / 15) * 15;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(getOffset(date), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(getOffset(date));\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\nexport function format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createDate(y, m, d, h, M, s, ms) {\n var date;\n\n if (y < 100 && y >= 0) {\n date = new Date(y + 400, m, d, h, M, s, ms);\n\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var parsedDate;\n var result = getFullInputArray(inputArray, backupDate);\n\n if (offset !== undefined) {\n result[6] += offset * 60 * 1000;\n parsedDate = createUTCDate.apply(void 0, _toConsumableArray(result));\n } else {\n parsedDate = createDate.apply(void 0, _toConsumableArray(result));\n } // check weekday\n\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = typeof dirtyMonth === 'function' ? dirtyMonth(date.getMonth()) : Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction setYear(dirtyDate, dirtyYear) {\n var date = new Date(dirtyDate);\n var year = typeof dirtyYear === 'function' ? dirtyYear(date.getFullYear()) : dirtyYear;\n date.setFullYear(year);\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M0 0h24v24H0z\",\n \"fill\": \"none\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }\n }), _vm._v(\" \"), _c('path', {\n attrs: {\n \"d\": \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, {}, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String,\n disabled: Boolean\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: [_vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type, {\n disabled: _vm.disabled\n }],\n attrs: {\n \"type\": \"button\",\n \"disabled\": _vm.disabled\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$1, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, date.getMonth() + 1, 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1);\n break;\n\n case 'last-month':\n date.setMonth(date.getMonth(), 0);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-month':\n date.setMonth(date.getMonth() + 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v - 1;\n }), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', setMonth(this.calendar, function (v) {\n return v + 1;\n }), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\",\n \"disabled\": _vm.isDisabledArrows('last-month')\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\",\n \"disabled\": _vm.isDisabledArrows('next-month')\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$2, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-year':\n date.setFullYear(date.getFullYear() - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-year':\n date.setFullYear(date.getFullYear() + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 1;\n }), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 1;\n }), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-year')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$3, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$4\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n isDisabledArrows: function isDisabledArrows(type) {\n var date = new Date(this.calendar);\n\n switch (type) {\n case 'last-decade':\n date.setFullYear(this.firstYear - 1, 11, 31);\n date.setHours(23, 59, 59, 999);\n break;\n\n case 'next-decade':\n date.setFullYear(this.lastYear + 1, 0, 1);\n break;\n }\n\n return this.disabledCalendarChanger(date, type);\n },\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v - 10;\n }), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', setYear(this.calendar, function (v) {\n return v + 10;\n }), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year && !target.classList.contains('disabled')) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\",\n \"disabled\": _vm.isDisabledArrows('last-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\",\n \"disabled\": _vm.isDisabledArrows('next-decade')\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$4, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledCalendarChanger: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n var classes = [];\n\n if (this.type !== 'month') {\n if (this.calendarMonth === month) {\n classes.push('active');\n }\n\n var _cellDate = this.getMonthCellDate(month);\n\n if (this.disabledCalendarChanger(_cellDate, 'month')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n var classes = [];\n\n if (this.type !== 'year') {\n if (this.calendarYear === year) {\n classes.push('active');\n }\n\n var _cellDate2 = this.getYearCellDate(year);\n\n if (this.disabledCalendarChanger(_cellDate2, 'year')) {\n classes.push('disabled');\n }\n\n return classes;\n }\n\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$7, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$5, {\n \"attrs\": {\n \"disabledCalendarChanger\": this.disabledCalendarChanger,\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$5, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value, col.type)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$6, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$8\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$7, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$9,\n ListOptions: __vue_component__$a\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n data: function data() {\n return {\n innerValue: getValidDate(this.value, this.defaultValue)\n };\n },\n computed: {\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n this.innerValue = getValidDate(this.value, this.defaultValue);\n }\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabledTime: function isDisabledTime(value) {\n return this.disabledTime(new Date(value));\n },\n isDisabledHour: function isDisabledHour(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setMinutes(0, 0, 0)) && this.isDisabledTime(value.setMinutes(59, 59, 999));\n },\n isDisabledMinute: function isDisabledMinute(date) {\n var value = new Date(date);\n return this.isDisabledTime(value) && this.isDisabledTime(value.setSeconds(0, 0)) && this.isDisabledTime(value.setSeconds(59, 999));\n },\n isDisabledAMPM: function isDisabledAMPM(date) {\n var value = new Date(date);\n var minHour = value.getHours() < 12 ? 0 : 12;\n var maxHour = minHour + 11;\n return this.isDisabledTime(value) && this.isDisabledTime(value.setHours(minHour, 0, 0, 0)) && this.isDisabledTime(value.setHours(maxHour, 59, 59, 999));\n },\n isDisabled: function isDisabled(date, type) {\n if (type === 'hour') {\n return this.isDisabledHour(date);\n }\n\n if (type === 'minute') {\n return this.isDisabledMinute(date);\n }\n\n if (type === 'ampm') {\n return this.isDisabledAMPM(date);\n }\n\n return this.isDisabledTime(date);\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value, type)) {\n this.innerValue = date;\n\n if (!this.isDisabledTime(date)) {\n this.$emit('select', date, type);\n }\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value, type) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value, type)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$b = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$b = [];\n/* style */\n\nvar __vue_inject_styles__$b = undefined;\n/* scoped */\n\nvar __vue_scope_id__$b = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$b = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$b = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$b = normalizeComponent({\n render: __vue_render__$b,\n staticRenderFns: __vue_staticRenderFns__$b\n}, __vue_inject_styles__$b, __vue_script__$8, __vue_scope_id__$b, __vue_is_functional_template__$b, __vue_module_identifier__$b, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$b.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$b, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$b.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$b.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$b, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n this.$emit('update:show-time-panel', false);\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n this.$emit('update:show-time-panel', true);\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$b,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false,\n mouseInInput: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text && this.mouseInInput;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n },\n popupVisible: {\n handler: function handler(val) {\n if (val) {\n this.currentValue = this.innerValue;\n }\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleMouseEnter: function handleMouseEnter() {\n this.mouseInInput = true;\n },\n handleMouseLeave: function handleMouseLeave() {\n this.mouseInInput = false;\n },\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n var close = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n\n if (close) {\n this.closePopup();\n }\n\n return value;\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, type, // this.type === 'datetime', click the time should close popup\n !this.validMultipleType && (type === this.type || type === 'time'));\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible || this.disabled) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n var calendarIcon = this.type === 'time' ? h(__vue_component__$2) : h(__vue_component__$1); // remove touchstart event to avoid opens the popup while scrolling in mobile #469\n\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave,\n \"click\": this.openPopup\n },\n \"ref\": \"inputWrapper\"\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"click\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$3))]) : h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', calendarIcon)])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$b,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n","import { defineComponent, computed } from \"vue\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, u as t44, a as t } from \"./_l10n-Dpecfv0B.mjs\";\nimport { c as createElementId } from \"./createElementId-DhjFt1I9.mjs\";\nimport { N as NcSelect } from \"./NcSelect-BD9fhCVy.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t44);\nfunction formatTimezoneId(timezoneId) {\n return timezoneId.slice(timezoneId.indexOf(\"/\") + 1).replaceAll(\"/\", \" - \").replaceAll(\"_\", \" \");\n}\nfunction getTimezones() {\n return Intl.supportedValuesOf(\"timeZone\").filter((tz) => !tz.startsWith(\"Etc/\")).map((timezoneId) => ({\n timezoneId,\n label: formatTimezoneId(timezoneId)\n })).sort((a, b) => a.timezoneId.localeCompare(b.timezoneId));\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"NcTimezonePicker\",\n props: {\n additionalTimezones: { default: () => [] },\n value: { default: void 0 },\n modelValue: { default: \"floating\" },\n uid: { default: createElementId() }\n },\n emits: [\"input\", \"update:modelValue\", \"update:model-value\"],\n setup(__props) {\n const props = __props;\n const model = useModelMigration(\"value\", \"input\");\n const formattedAdditionalTimezones = computed(() => {\n return props.additionalTimezones.map(({ timezoneId, label }) => ({\n timezoneId,\n label\n }));\n });\n const options = computed(() => {\n const timezones = getTimezones();\n timezones.unshift(...formattedAdditionalTimezones.value);\n return timezones;\n });\n function filterBy(option, label, search) {\n const terms = search.trim().split(/\\s+/);\n const values = Object.values(option);\n return terms.every((term) => {\n return values.some((value) => value.toLowerCase().includes(term.toLowerCase()));\n });\n }\n return { __sfc: true, props, model, formattedAdditionalTimezones, options, filterBy, t, NcSelect };\n }\n});\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;\n return _c(_setup.NcSelect, { attrs: { \"aria-label-combobox\": _setup.t(\"Search for time zone\"), \"clearable\": false, \"filter-by\": _setup.filterBy, \"multiple\": false, \"options\": _setup.options, \"placeholder\": _setup.t(\"Type to search time zone\"), \"uid\": _vm.uid, \"reduce\": (option) => option.timezoneId, \"label\": \"label\" }, model: { value: _setup.model, callback: function($$v) {\n _setup.model = $$v;\n }, expression: \"model\" } });\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n null\n);\nconst NcTimezonePicker = __component__.exports;\nexport {\n NcTimezonePicker as N\n};\n//# sourceMappingURL=NcTimezonePicker-DTdF1yG4.mjs.map\n","import '../assets/NcDateTimePicker-BU_TdhUm.css';\nimport { getFirstDay, getDayNamesMin, getDayNamesShort, getDayNames, getMonthNamesShort, getMonthNames } from \"@nextcloud/l10n\";\nimport DatePicker from \"vue2-datepicker\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport { u as useModelMigration } from \"../chunks/useModelMigration-EhAWvqDD.mjs\";\nimport { r as register, M as t39, a as t } from \"../chunks/_l10n-Dpecfv0B.mjs\";\nimport { G as GenRandomId } from \"../chunks/GenRandomId-F5ebeBB_.mjs\";\nimport { l as logger } from \"../chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcPopover } from \"../chunks/NcPopover-UAg26Qdd.mjs\";\nimport { N as NcTimezonePicker } from \"../chunks/NcTimezonePicker-DTdF1yG4.mjs\";\nimport { S as ScopeComponent } from \"../chunks/ScopeComponent-DnsVyhxP.mjs\";\nconst _sfc_main$2 = {\n name: \"CalendarBlankIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$2 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon calendar-blank-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n null\n);\nconst CalendarBlank = __component__$2.exports;\nconst _sfc_main$1 = {\n name: \"WebIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$1 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon web-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n null\n);\nconst Web = __component__$1.exports;\nregister(t39);\nconst formatMap = {\n date: \"YYYY-MM-DD\",\n datetime: \"YYYY-MM-DD H:mm:ss\",\n year: \"YYYY\",\n month: \"YYYY-MM\",\n time: \"H:mm:ss\",\n week: \"w\"\n};\nconst _sfc_main = {\n name: \"NcDateTimePicker\",\n components: {\n CalendarBlank,\n DatePicker,\n NcPopover,\n NcTimezonePicker,\n Web\n },\n inheritAttrs: false,\n model: {\n prop: \"modelValue\",\n event: \"update:modelValue\"\n },\n props: {\n /**\n * Allow to clear the input.\n */\n clearable: {\n type: Boolean,\n default: false\n },\n /**\n * Default increment step for minutes in the time picker.\n */\n minuteStep: {\n type: Number,\n default: 10\n },\n /**\n * Since 8.25.0: Support 'date-range', 'time-range' and 'datetime-range' values.\n */\n type: {\n type: String,\n default: \"date\",\n validator: (type) => [\"date\", \"time\", \"datetime\", \"week\", \"month\", \"year\", \"date-range\", \"time-range\", \"datetime-range\"].includes(type)\n },\n /**\n * Either `moment.js` formatting tokens or a function taking a Date object and returning a string.\n * Warning: In v9 this will change the accepted token format to standardized Unicode tokens instead!\n */\n format: {\n type: [String, Function],\n default: null\n },\n /**\n * @deprecated use `format` instead\n */\n formatter: {\n type: Object,\n default: null\n },\n /**\n * The locale to use for formatting the shown dates.\n * By default the users current Nextcloud locale is used.\n */\n lang: {\n type: Object,\n default: null\n },\n /**\n * Removed in v9 - use `modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n // eslint-disable-next-line\n value: {\n default: void 0\n },\n /**\n * The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in\n * JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date\n * value. You have to translate the time yourself when you want to factor in time zones.\n */\n // eslint-disable-next-line\n modelValue: {\n default: () => /* @__PURE__ */ new Date()\n },\n /**\n * The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select=\"true\"`. Example: `Europe/Berlin`. The prop supports two-way binding through the .sync modifier.\n */\n timezoneId: {\n type: String,\n default: \"UTC\"\n },\n /**\n * Include a timezone picker within the menu.\n * Please note that the dates are still bound to the locale timezone\n * and any conversion needs to be done by the app itself.\n */\n showTimezoneSelect: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the timezone select icon will be highlighted.\n */\n highlightTimezone: {\n type: Boolean,\n default: false\n },\n /**\n * If set to true the menu will be placed on the ``\n * instead of default placement on the picker.\n */\n appendToBody: {\n type: Boolean,\n default: false\n },\n /**\n * Show the ISO week numbers within the calendar.\n */\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n /**\n * Optional custom placeholder for the input box.\n */\n placeholder: {\n type: String,\n default: null\n },\n /**\n * @deprecated use the 'date-range' or 'datetime-range' type instead.\n */\n range: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n /**\n * Removed in v9 - use `update:modelValue` (`v-model`) instead\n *\n * @deprecated\n */\n \"update:value\",\n \"update:modelValue\",\n /** Same as update:modelValue for Vue 2 compatibility */\n \"update:model-value\",\n \"update:timezone-id\"\n ],\n setup() {\n const model = useModelMigration(\"value\", \"update:value\");\n return {\n model,\n timezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`\n };\n },\n data() {\n return {\n showTimezonePopover: false,\n tzVal: this.timezoneId\n };\n },\n computed: {\n realType() {\n return this.type.split(\"-\")[0];\n },\n /**\n * Datepicker language\n * https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md\n *\n * @return {object}\n */\n defaultLang() {\n return {\n formatLocale: {\n months: getMonthNames(),\n monthsShort: getMonthNamesShort(),\n weekdays: getDayNames(),\n weekdaysShort: getDayNamesShort(),\n weekdaysMin: getDayNamesMin(),\n // 0 = sunday, 1 = monday\n firstDayOfWeek: getFirstDay()\n },\n monthFormat: \"MMMM\"\n };\n },\n /**\n * Translated placeholder\n *\n * @return {string}\n */\n defaultPlaceholder() {\n if (this.realType === \"time\") {\n return t(\"Pick a time\");\n }\n if (this.realType === \"month\") {\n return t(\"Pick a month\");\n }\n if (this.realType === \"year\") {\n return t(\"Pick a year\");\n }\n if (this.realType === \"week\") {\n return t(\"Pick a week\");\n }\n if (this.realType === \"date\") {\n return t(\"Pick a date\");\n }\n return t(\"Pick a date and a time\");\n },\n /**\n * Is the range picker enabled\n */\n internalRange() {\n return this.range || this.type.endsWith(\"-range\");\n },\n internalFormat() {\n if (this.format && typeof this.format === \"string\") {\n return this.format;\n }\n return formatMap[this.realType] || formatMap.date;\n },\n /**\n * The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044\n */\n internalFormatter() {\n const getWeek = (date) => {\n const firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n firstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7));\n const yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1));\n return Math.ceil(((firstThursday - yearStart) / 864e5 + 1) / 7);\n };\n return {\n getWeek,\n // wrape the format if it is a function\n ...typeof this.format === \"function\" ? { stringify: this.format } : {},\n // allow to override it by users using the `formatter` prop\n ...this.formatter ?? {}\n };\n }\n },\n methods: {\n t,\n handleSelectYear(year) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setFullYear(year));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, year });\n }\n }\n },\n handleSelectMonth(month) {\n const value = this.$refs.datepicker.currentValue;\n if (value) {\n try {\n const date = new Date(new Date(value).setMonth(month));\n this.$refs.datepicker.selectDate(date);\n } catch {\n logger.error(\"Invalid value\", { value, month });\n }\n }\n },\n /**\n * Toggles the visibility of the time zone popover\n */\n toggleTimezonePopover() {\n if (!this.showTimezoneSelect) {\n return;\n }\n this.showTimezonePopover = !this.showTimezonePopover;\n }\n }\n};\nvar _sfc_render = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"DatePicker\", _vm._g(_vm._b({ ref: \"datepicker\", attrs: { \"append-to-body\": _vm.appendToBody, \"clearable\": _vm.clearable, \"format\": _vm.internalFormat, \"formatter\": _vm.internalFormatter, \"lang\": _vm.lang ? _vm.lang : _vm.defaultLang, \"minute-step\": _vm.minuteStep, \"placeholder\": _vm.placeholder ? _vm.placeholder : _vm.defaultPlaceholder, \"popup-class\": { \"show-week-number\": _vm.showWeekNumber }, \"range\": _vm.internalRange, \"show-week-number\": _vm.showWeekNumber, \"type\": _vm.realType, \"value\": _vm.model }, on: { \"select-year\": _vm.handleSelectYear, \"select-month\": _vm.handleSelectMonth, \"input\": function($event) {\n _vm.model = $event;\n } }, scopedSlots: _vm._u([{ key: \"icon-calendar\", fn: function() {\n return [_vm.showTimezoneSelect ? _c(\"NcPopover\", { attrs: { \"popup-role\": \"dialog\", \"shown\": _vm.showTimezonePopover, \"popover-base-class\": \"timezone-select__popper\" }, on: { \"update:shown\": function($event) {\n _vm.showTimezonePopover = $event;\n } }, scopedSlots: _vm._u([{ key: \"trigger\", fn: function({ attrs }) {\n return [_c(\"button\", _vm._b({ staticClass: \"datetime-picker-inline-icon\", class: { \"datetime-picker-inline-icon--highlighted\": _vm.highlightTimezone }, on: { \"mousedown\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return (() => {\n }).apply(null, arguments);\n } } }, \"button\", attrs, false), [_c(\"Web\", { attrs: { \"size\": 20 } })], 1)];\n } }], null, false, 3026992387) }, [_c(\"div\", { attrs: { \"role\": \"dialog\", \"aria-labelledby\": _vm.timezoneDialogHeaderId } }, [_c(\"div\", { staticClass: \"timezone-popover-wrapper__label\" }, [_c(\"strong\", { attrs: { \"id\": _vm.timezoneDialogHeaderId } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Please select a time zone:\")) + \" \")])]), _c(\"NcTimezonePicker\", { staticClass: \"timezone-popover-wrapper__timezone-select\", on: { \"input\": function($event) {\n return _vm.$emit(\"update:timezone-id\", arguments[0]);\n } }, model: { value: _vm.tzVal, callback: function($$v) {\n _vm.tzVal = $$v;\n }, expression: \"tzVal\" } })], 1)]) : _c(\"CalendarBlank\", { attrs: { \"size\": 20 } })];\n }, proxy: true }, _vm._l(_vm.$scopedSlots, function(_, slot) {\n return { key: slot, fn: function(scope) {\n return [_vm._t(slot, null, null, scope)];\n } };\n })], null, true) }, \"DatePicker\", _vm.$attrs, false), _vm.$listeners));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"ecb9b537\"\n);\nconst NcDateTimePicker = __component__.exports;\nScopeComponent(NcDateTimePicker);\nexport {\n NcDateTimePicker as default\n};\n//# sourceMappingURL=NcDateTimePicker.mjs.map\n"],"names":["isDate","value","toDate","isValidDate","startOfWeek","firstDayOfWeek","date","day","diff","startOfWeekYear","_ref","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","year","firstDateOfFirstWeek","i","getWeek","_ref2","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","locale","REGEX_FORMAT","pad","val","len","output","sign","getOffset","formatTimezone","offset","delimeter","absOffset","hours","minutes","meridiem","h","_","isLowercase","word","formatFlags","y","meridiemFunc","format","str","options","formatStr","defaultLocale","match","p1","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","arr2","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","source","key","_defineProperty","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_i","_s","err","obj","formattingTokens","match1","match2","match3","match4","match1to2","matchShortOffset","matchSigned","matchTimestamp","YEAR","MONTH","DAY","HOUR","MINUTE","SECOND","MILLISECOND","parseFlags","addParseFlag","token","regex","callback","tokens","func","input","escapeStringRegExp","matchWordRegExp","localeKey","array","matchWordCallback","index","cent","matchMeridiem","defaultIsPM","isPM","offsetFromString","_ref8","_ref9","symbol","hour","minute","to24hour","getFullInputArray","backupDate","result","backupArr","useBackup","createDate","m","d","M","s","ms","createUTCDate","_len","args","_key","makeParser","dateString","length","mark","parseTo","parser","parse","_options$locale","_locale","_options$backupDate","parseResult","month","second","millisecond","weekday","week","inputArray","firstDate","parsedDate","_typeof","_extends","_objectSpread2","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","sourceSymbolKeys","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","n","_extends$1","a","b","c","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","e","f","g","mergeFn","helper","isValidRangeDate","isValidDates","dates","getValidDate","backup","startOfYear","startOfMonth","startOfDay","getCalendar","calendar","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","lastMonthLength","nextMonthLength","_i2","setMonth","dirtyDate","dirtyMonth","daysInMonth","setYear","dirtyYear","assignTime","time","chunk","size","isObject","pick","props","res","prop","mergeDeep","unwrapExports","x","createCommonjsModule","fn","module","en","exports","_default","en$1","lang","locales","name","isLocal","l","getLocale","rafThrottle","isRunning","_this","getPopupElementSize","element","originalDisplay","originalVisibility","styles","width","height","getRelativePosition","el","targetWidth","targetHeight","fixed","left","top","offsetX","offsetY","relativeRect","dw","dh","getScrollParent","node","until","style","scroll","script","_this2","relativeElement","evt","popup","appendToBody","_this$_popupRect","_getRelativePosition","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_vm","_h","_c","__vue_staticRenderFns__","__vue_inject_styles__","__vue_component__","__vue_render__$1","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_component__$1","__vue_render__$2","__vue_staticRenderFns__$2","__vue_inject_styles__$2","__vue_component__$2","__vue_render__$3","__vue_staticRenderFns__$3","__vue_inject_styles__$3","__vue_component__$3","script$1","__vue_script__$1","__vue_render__$4","__vue_staticRenderFns__$4","__vue_inject_styles__$4","__vue_component__$4","script$2","_this$getLocale","yearFormat","monthBeforeYear","_this$getLocale$month","monthFormat","yearLabel","monthLabel","days","type","v","panel","cell","_index$split$map","_index$split$map2","row","col","fmt","__vue_script__$2","__vue_render__$5","item","$event","j","__vue_staticRenderFns__$5","__vue_inject_styles__$5","__vue_component__$5","script$3","monthsLocale","months","text","__vue_script__$3","__vue_render__$6","__vue_staticRenderFns__$6","__vue_inject_styles__$6","__vue_component__$6","script$4","last","firstYear","years","__vue_script__$4","__vue_render__$7","__vue_staticRenderFns__$7","__vue_inject_styles__$7","__vue_component__$7","CalendarPanel","panels","map","start","calendarDate","oldCalendar","oldPanel","_date","_date2","cellDate","notCurrentMonth","classes","state","_cellDate","_cellDate2","end","active","innerCalendar","CalendarRange","calendars","_this$innerValue","startValue","endValue","adjustIndex","gap","_calendars","calendarLeft","calendarRight","yearDiff","monthDiff","min","max","currentDates","classnames","inRange","data","range","_range$map","_range$map2","calendarRange","on","prefixClass","scrollBarWidth","getScrollbarWidth","outer","inner","script$5","wrap","heightPercentage","scrollHeight","scrollTop","offsetTop","clientY","clientHeight","__vue_script__$5","__vue_render__$8","__vue_staticRenderFns__$8","__vue_inject_styles__$8","__vue_component__$8","padNumber","generateOptions","step","scrollTo","to","duration","difference","tick","script$6","cols","num","_this3","_this4","_this5","elements","scrollElement","currentTarget","colIndex","cellIndex","__vue_script__$6","__vue_render__$9","__vue_staticRenderFns__$9","__vue_inject_styles__$9","__vue_component__$9","parseOption","values","scrollTo$1","script$7","startMinutes","endMinutes","stepMinutes","timeMinutes","__vue_script__$7","__vue_render__$a","__vue_staticRenderFns__$a","__vue_inject_styles__$a","__vue_component__$a","script$8","titleFormat","defaultProps","minHour","maxHour","__vue_script__$8","__vue_render__$b","__vue_staticRenderFns__$b","__vue_inject_styles__$b","__vue_component__$b","TimeRange","_this$value","defaultValues","DatetimePanel","datetime","calendarProps","timeProps","DatetimeRange","datetimes","componentMap","componentRangeMap","DatePicker","types","close","disabledDate","disabledTime","nextDates","keyCode","fallback","slotFn","className","attrs","events","calendarIcon","Component","content","_class","inline","disabled","sidedar","Vue","register","t44","formatTimezoneId","timezoneId","getTimezones","tz","_sfc_main","defineComponent","createElementId","__props","model","useModelMigration","formattedAdditionalTimezones","computed","label","timezones","filterBy","option","search","terms","term","t","NcSelect","_sfc_render","_setup","$$v","_sfc_staticRenderFns","__component__","NcTimezonePicker","_sfc_main$2","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","CalendarBlank","_sfc_main$1","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","Web","t39","formatMap","NcPopover","GenRandomId","getMonthNames","getMonthNamesShort","getDayNames","getDayNamesShort","getDayNamesMin","getFirstDay","firstThursday","yearStart","logger","slot","scope","NcDateTimePicker","ScopeComponent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/js/NcSelect-B916TNPl.chunk.mjs b/js/NcSelect-4m4ULV6A.chunk.mjs similarity index 99% rename from js/NcSelect-B916TNPl.chunk.mjs rename to js/NcSelect-4m4ULV6A.chunk.mjs index 979d33f30..aad8c8e96 100644 --- a/js/NcSelect-B916TNPl.chunk.mjs +++ b/js/NcSelect-4m4ULV6A.chunk.mjs @@ -1,5 +1,5 @@ /*! third party licenses: js/vendor.LICENSE.txt */ -import{C as He,n as $,f as gt,D as ye,E as We,F as Xe,h as Ut,H as Y,I as Ke,J as Ge,K as it,V as kt,L as jt,M as at,O as Dt,P as Ze,Q as Ye,R as be,T as Je,U as Ht,W as Qe,g as tn,X as we,t as B,Y as Ft,Z as xe,_ as K,r as ct,$ as en,a0 as nn,a1 as Vt,a2 as Bt,l as It,a3 as Se,i as _e,j as sn,a4 as on,a5 as rn,a6 as St,a7 as _t,a8 as an,a9 as ln,aa as cn,G as Wt,u as un,ab as dn,ac as hn,ad as pn}from"./logreader-main.mjs";import{g as fn}from"./colors-DFNwuW2a-BUp7eygq.chunk.mjs";function Ce(){try{return He("core","capabilities")}catch{return console.debug("Could not find capabilities initial state fall back to _oc_capabilities"),"_oc_capabilities"in window?window._oc_capabilities:{}}}const ut=Math.min,G=Math.max,dt=Math.round,rt=Math.floor,F=t=>({x:t,y:t}),gn={left:"right",right:"left",bottom:"top",top:"bottom"},mn={start:"end",end:"start"};function Xt(t,e,n){return G(t,ut(e,n))}function Q(t,e){return typeof t=="function"?t(e):t}function j(t){return t.split("-")[0]}function mt(t){return t.split("-")[1]}function $t(t){return t==="x"?"y":"x"}function Oe(t){return t==="y"?"height":"width"}const vn=new Set(["top","bottom"]);function z(t){return vn.has(j(t))?"y":"x"}function Le(t){return $t(z(t))}function yn(t,e,n){n===void 0&&(n=!1);const s=mt(t),r=Le(t),h=Oe(r);let u=r==="x"?s===(n?"end":"start")?"right":"left":s==="start"?"bottom":"top";return e.reference[h]>e.floating[h]&&(u=ht(u)),[u,ht(u)]}function bn(t){const e=ht(t);return[Nt(t),e,Nt(e)]}function Nt(t){return t.replace(/start|end/g,e=>mn[e])}const Kt=["left","right"],Gt=["right","left"],wn=["top","bottom"],xn=["bottom","top"];function Sn(t,e,n){switch(t){case"top":case"bottom":return n?e?Gt:Kt:e?Kt:Gt;case"left":case"right":return e?wn:xn;default:return[]}}function _n(t,e,n,s){const r=mt(t);let h=Sn(j(t),n==="start",s);return r&&(h=h.map(u=>u+"-"+r),e&&(h=h.concat(h.map(Nt)))),h}function ht(t){return t.replace(/left|right|bottom|top/g,e=>gn[e])}function Cn(t){return{top:0,right:0,bottom:0,left:0,...t}}function On(t){return typeof t!="number"?Cn(t):{top:t,right:t,bottom:t,left:t}}function pt(t){const{x:e,y:n,width:s,height:r}=t;return{width:s,height:r,top:n,left:e,right:e+s,bottom:n+r,x:e,y:n}}function Zt(t,e,n){let{reference:s,floating:r}=t;const h=z(e),u=Le(e),o=Oe(u),f=j(e),a=h==="y",l=s.x+s.width/2-r.width/2,c=s.y+s.height/2-r.height/2,d=s[o]/2-r[o]/2;let p;switch(f){case"top":p={x:l,y:s.y-r.height};break;case"bottom":p={x:l,y:s.y+s.height};break;case"right":p={x:s.x+s.width,y:c};break;case"left":p={x:s.x-r.width,y:c};break;default:p={x:s.x,y:s.y}}switch(mt(e)){case"start":p[u]-=d*(n&&a?-1:1);break;case"end":p[u]+=d*(n&&a?-1:1);break}return p}async function Ln(t,e){var n;e===void 0&&(e={});const{x:s,y:r,platform:h,rects:u,elements:o,strategy:f}=t,{boundary:a="clippingAncestors",rootBoundary:l="viewport",elementContext:c="floating",altBoundary:d=!1,padding:p=0}=Q(e,t),v=On(p),y=o[d?c==="floating"?"reference":"floating":c],w=pt(await h.getClippingRect({element:(n=await(h.isElement==null?void 0:h.isElement(y)))==null||n?y:y.contextElement||await(h.getDocumentElement==null?void 0:h.getDocumentElement(o.floating)),boundary:a,rootBoundary:l,strategy:f})),x=c==="floating"?{x:s,y:r,width:u.floating.width,height:u.floating.height}:u.reference,_=await(h.getOffsetParent==null?void 0:h.getOffsetParent(o.floating)),S=await(h.isElement==null?void 0:h.isElement(_))?await(h.getScale==null?void 0:h.getScale(_))||{x:1,y:1}:{x:1,y:1},L=pt(h.convertOffsetParentRelativeRectToViewportRelativeRect?await h.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:x,offsetParent:_,strategy:f}):x);return{top:(w.top-L.top+v.top)/S.y,bottom:(L.bottom-w.bottom+v.bottom)/S.y,left:(w.left-L.left+v.left)/S.x,right:(L.right-w.right+v.right)/S.x}}const An=async(t,e,n)=>{const{placement:s="bottom",strategy:r="absolute",middleware:h=[],platform:u}=n,o=h.filter(Boolean),f=await(u.isRTL==null?void 0:u.isRTL(e));let a=await u.getElementRects({reference:t,floating:e,strategy:r}),{x:l,y:c}=Zt(a,s,f),d=s,p={},v=0;for(let w=0;wC<=0)){var g,m;const C=(((g=h.flip)==null?void 0:g.index)||0)+1,O=R[C];if(O&&(!(c==="alignment"&&_!==z(O))||i.every(M=>z(M.placement)===_?M.overflows[0]>0:!0)))return{data:{index:C,overflows:i},reset:{placement:O}};let I=(m=i.filter(M=>M.overflows[0]<=0).sort((M,P)=>M.overflows[1]-P.overflows[1])[0])==null?void 0:m.placement;if(!I)switch(p){case"bestFit":{var b;const M=(b=i.filter(P=>{if(A){const D=z(P.placement);return D===_||D==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(D=>D>0).reduce((D,xt)=>D+xt,0)]).sort((P,D)=>P[1]-D[1])[0])==null?void 0:b[0];M&&(I=M);break}case"initialPlacement":I=o;break}if(r!==I)return{reset:{placement:I}}}return{}}}},Ae=new Set(["left","top"]);async function kn(t,e){const{placement:n,platform:s,elements:r}=t,h=await(s.isRTL==null?void 0:s.isRTL(r.floating)),u=j(n),o=mt(n),f=z(n)==="y",a=Ae.has(u)?-1:1,l=h&&f?-1:1,c=Q(e,t);let{mainAxis:d,crossAxis:p,alignmentAxis:v}=typeof c=="number"?{mainAxis:c,crossAxis:0,alignmentAxis:null}:{mainAxis:c.mainAxis||0,crossAxis:c.crossAxis||0,alignmentAxis:c.alignmentAxis};return o&&typeof v=="number"&&(p=o==="end"?v*-1:v),f?{x:p*l,y:d*a}:{x:d*a,y:p*l}}const Dn=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,s;const{x:r,y:h,placement:u,middlewareData:o}=e,f=await kn(e,t);return u===((n=o.offset)==null?void 0:n.placement)&&(s=o.arrow)!=null&&s.alignmentOffset?{}:{x:r+f.x,y:h+f.y,data:{...f,placement:u}}}}},Bn=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:s,placement:r,platform:h}=e,{mainAxis:u=!0,crossAxis:o=!1,limiter:f={fn:x=>{let{x:_,y:S}=x;return{x:_,y:S}}},...a}=Q(t,e),l={x:n,y:s},c=await h.detectOverflow(e,a),d=z(j(r)),p=$t(d);let v=l[p],y=l[d];if(u){const x=p==="y"?"top":"left",_=p==="y"?"bottom":"right",S=v+c[x],L=v-c[_];v=Xt(S,v,L)}if(o){const x=d==="y"?"top":"left",_=d==="y"?"bottom":"right",S=y+c[x],L=y-c[_];y=Xt(S,y,L)}const w=f.fn({...e,[p]:v,[d]:y});return{...w,data:{x:w.x-n,y:w.y-s,enabled:{[p]:u,[d]:o}}}}}},In=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:n,y:s,placement:r,rects:h,middlewareData:u}=e,{offset:o=0,mainAxis:f=!0,crossAxis:a=!0}=Q(t,e),l={x:n,y:s},c=z(r),d=$t(c);let p=l[d],v=l[c];const y=Q(o,e),w=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const S=d==="y"?"height":"width",L=h.reference[d]-h.floating[S]+w.mainAxis,T=h.reference[d]+h.reference[S]-w.mainAxis;pT&&(p=T)}if(a){var x,_;const S=d==="y"?"width":"height",L=Ae.has(j(r)),T=h.reference[c]-h.floating[S]+(L&&((x=u.offset)==null?void 0:x[c])||0)+(L?0:w.crossAxis),A=h.reference[c]+h.reference[S]+(L?0:((_=u.offset)==null?void 0:_[c])||0)-(L?w.crossAxis:0);vA&&(v=A)}return{[d]:p,[c]:v}}}};function vt(){return typeof window<"u"}function et(t){return Te(t)?(t.nodeName||"").toLowerCase():"#document"}function N(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function q(t){var e;return(e=(Te(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Te(t){return vt()?t instanceof Node||t instanceof N(t).Node:!1}function E(t){return vt()?t instanceof Element||t instanceof N(t).Element:!1}function V(t){return vt()?t instanceof HTMLElement||t instanceof N(t).HTMLElement:!1}function Yt(t){return!vt()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof N(t).ShadowRoot}const Nn=new Set(["inline","contents"]);function ot(t){const{overflow:e,overflowX:n,overflowY:s,display:r}=U(t);return/auto|scroll|overlay|hidden|clip/.test(e+s+n)&&!Nn.has(r)}const Mn=new Set(["table","td","th"]);function Pn(t){return Mn.has(et(t))}const En=[":popover-open",":modal"];function yt(t){return En.some(e=>{try{return t.matches(e)}catch{return!1}})}const Un=["transform","translate","scale","rotate","perspective"],Fn=["transform","translate","scale","rotate","perspective","filter"],Vn=["paint","layout","strict","content"];function qt(t){const e=zt(),n=E(t)?U(t):t;return Un.some(s=>n[s]?n[s]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||Fn.some(s=>(n.willChange||"").includes(s))||Vn.some(s=>(n.contain||"").includes(s))}function $n(t){let e=H(t);for(;V(e)&&!tt(e);){if(qt(e))return e;if(yt(e))return null;e=H(e)}return null}function zt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const qn=new Set(["html","body","#document"]);function tt(t){return qn.has(et(t))}function U(t){return N(t).getComputedStyle(t)}function bt(t){return E(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function H(t){if(et(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Yt(t)&&t.host||q(t);return Yt(e)?e.host:e}function ke(t){const e=H(t);return tt(e)?t.ownerDocument?t.ownerDocument.body:t.body:V(e)&&ot(e)?e:ke(e)}function st(t,e,n){var s;e===void 0&&(e=[]),n===void 0&&(n=!0);const r=ke(t),h=r===((s=t.ownerDocument)==null?void 0:s.body),u=N(r);if(h){const o=Mt(u);return e.concat(u,u.visualViewport||[],ot(r)?r:[],o&&n?st(o):[])}return e.concat(r,st(r,[],n))}function Mt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function De(t){const e=U(t);let n=parseFloat(e.width)||0,s=parseFloat(e.height)||0;const r=V(t),h=r?t.offsetWidth:n,u=r?t.offsetHeight:s,o=dt(n)!==h||dt(s)!==u;return o&&(n=h,s=u),{width:n,height:s,$:o}}function Rt(t){return E(t)?t:t.contextElement}function J(t){const e=Rt(t);if(!V(e))return F(1);const n=e.getBoundingClientRect(),{width:s,height:r,$:h}=De(e);let u=(h?dt(n.width):n.width)/s,o=(h?dt(n.height):n.height)/r;return(!u||!Number.isFinite(u))&&(u=1),(!o||!Number.isFinite(o))&&(o=1),{x:u,y:o}}const zn=F(0);function Be(t){const e=N(t);return!zt()||!e.visualViewport?zn:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Rn(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==N(t)?!1:e}function Z(t,e,n,s){e===void 0&&(e=!1),n===void 0&&(n=!1);const r=t.getBoundingClientRect(),h=Rt(t);let u=F(1);e&&(s?E(s)&&(u=J(s)):u=J(t));const o=Rn(h,n,s)?Be(h):F(0);let f=(r.left+o.x)/u.x,a=(r.top+o.y)/u.y,l=r.width/u.x,c=r.height/u.y;if(h){const d=N(h),p=s&&E(s)?N(s):s;let v=d,y=Mt(v);for(;y&&s&&p!==v;){const w=J(y),x=y.getBoundingClientRect(),_=U(y),S=x.left+(y.clientLeft+parseFloat(_.paddingLeft))*w.x,L=x.top+(y.clientTop+parseFloat(_.paddingTop))*w.y;f*=w.x,a*=w.y,l*=w.x,c*=w.y,f+=S,a+=L,v=N(y),y=Mt(v)}}return pt({width:l,height:c,x:f,y:a})}function wt(t,e){const n=bt(t).scrollLeft;return e?e.left+n:Z(q(t)).left+n}function Ie(t,e){const n=t.getBoundingClientRect(),s=n.left+e.scrollLeft-wt(t,n),r=n.top+e.scrollTop;return{x:s,y:r}}function jn(t){let{elements:e,rect:n,offsetParent:s,strategy:r}=t;const h=r==="fixed",u=q(s),o=e?yt(e.floating):!1;if(s===u||o&&h)return n;let f={scrollLeft:0,scrollTop:0},a=F(1);const l=F(0),c=V(s);if((c||!c&&!h)&&((et(s)!=="body"||ot(u))&&(f=bt(s)),V(s))){const p=Z(s);a=J(s),l.x=p.x+s.clientLeft,l.y=p.y+s.clientTop}const d=u&&!c&&!h?Ie(u,f):F(0);return{width:n.width*a.x,height:n.height*a.y,x:n.x*a.x-f.scrollLeft*a.x+l.x+d.x,y:n.y*a.y-f.scrollTop*a.y+l.y+d.y}}function Hn(t){return Array.from(t.getClientRects())}function Wn(t){const e=q(t),n=bt(t),s=t.ownerDocument.body,r=G(e.scrollWidth,e.clientWidth,s.scrollWidth,s.clientWidth),h=G(e.scrollHeight,e.clientHeight,s.scrollHeight,s.clientHeight);let u=-n.scrollLeft+wt(t);const o=-n.scrollTop;return U(s).direction==="rtl"&&(u+=G(e.clientWidth,s.clientWidth)-r),{width:r,height:h,x:u,y:o}}const Jt=25;function Xn(t,e){const n=N(t),s=q(t),r=n.visualViewport;let h=s.clientWidth,u=s.clientHeight,o=0,f=0;if(r){h=r.width,u=r.height;const l=zt();(!l||l&&e==="fixed")&&(o=r.offsetLeft,f=r.offsetTop)}const a=wt(s);if(a<=0){const l=s.ownerDocument,c=l.body,d=getComputedStyle(c),p=l.compatMode==="CSS1Compat"&&parseFloat(d.marginLeft)+parseFloat(d.marginRight)||0,v=Math.abs(s.clientWidth-c.clientWidth-p);v<=Jt&&(h-=v)}else a<=Jt&&(h+=a);return{width:h,height:u,x:o,y:f}}const Kn=new Set(["absolute","fixed"]);function Gn(t,e){const n=Z(t,!0,e==="fixed"),s=n.top+t.clientTop,r=n.left+t.clientLeft,h=V(t)?J(t):F(1),u=t.clientWidth*h.x,o=t.clientHeight*h.y,f=r*h.x,a=s*h.y;return{width:u,height:o,x:f,y:a}}function Qt(t,e,n){let s;if(e==="viewport")s=Xn(t,n);else if(e==="document")s=Wn(q(t));else if(E(e))s=Gn(e,n);else{const r=Be(t);s={x:e.x-r.x,y:e.y-r.y,width:e.width,height:e.height}}return pt(s)}function Ne(t,e){const n=H(t);return n===e||!E(n)||tt(n)?!1:U(n).position==="fixed"||Ne(n,e)}function Zn(t,e){const n=e.get(t);if(n)return n;let s=st(t,[],!1).filter(o=>E(o)&&et(o)!=="body"),r=null;const h=U(t).position==="fixed";let u=h?H(t):t;for(;E(u)&&!tt(u);){const o=U(u),f=qt(u);!f&&o.position==="fixed"&&(r=null),(h?!f&&!r:!f&&o.position==="static"&&r&&Kn.has(r.position)||ot(u)&&!f&&Ne(t,u))?s=s.filter(a=>a!==u):r=o,u=H(u)}return e.set(t,s),s}function Yn(t){let{element:e,boundary:n,rootBoundary:s,strategy:r}=t;const h=[...n==="clippingAncestors"?yt(e)?[]:Zn(e,this._c):[].concat(n),s],u=h[0],o=h.reduce((f,a)=>{const l=Qt(e,a,r);return f.top=G(l.top,f.top),f.right=ut(l.right,f.right),f.bottom=ut(l.bottom,f.bottom),f.left=G(l.left,f.left),f},Qt(e,u,r));return{width:o.right-o.left,height:o.bottom-o.top,x:o.left,y:o.top}}function Jn(t){const{width:e,height:n}=De(t);return{width:e,height:n}}function Qn(t,e,n){const s=V(e),r=q(e),h=n==="fixed",u=Z(t,!0,h,e);let o={scrollLeft:0,scrollTop:0};const f=F(0);function a(){f.x=wt(r)}if(s||!s&&!h)if((et(e)!=="body"||ot(r))&&(o=bt(e)),s){const p=Z(e,!0,h,e);f.x=p.x+e.clientLeft,f.y=p.y+e.clientTop}else r&&a();h&&!s&&r&&a();const l=r&&!s&&!h?Ie(r,o):F(0),c=u.left+o.scrollLeft-f.x-l.x,d=u.top+o.scrollTop-f.y-l.y;return{x:c,y:d,width:u.width,height:u.height}}function Ct(t){return U(t).position==="static"}function te(t,e){if(!V(t)||U(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return q(t)===n&&(n=n.ownerDocument.body),n}function Me(t,e){const n=N(t);if(yt(t))return n;if(!V(t)){let r=H(t);for(;r&&!tt(r);){if(E(r)&&!Ct(r))return r;r=H(r)}return n}let s=te(t,e);for(;s&&Pn(s)&&Ct(s);)s=te(s,e);return s&&tt(s)&&Ct(s)&&!qt(s)?n:s||$n(t)||n}const ti=async function(t){const e=this.getOffsetParent||Me,n=this.getDimensions,s=await n(t.floating);return{reference:Qn(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function ei(t){return U(t).direction==="rtl"}const ni={convertOffsetParentRelativeRectToViewportRelativeRect:jn,getDocumentElement:q,getClippingRect:Yn,getOffsetParent:Me,getElementRects:ti,getClientRects:Hn,getDimensions:Jn,getScale:J,isElement:E,isRTL:ei};function Pe(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function ii(t,e){let n=null,s;const r=q(t);function h(){var o;clearTimeout(s),(o=n)==null||o.disconnect(),n=null}function u(o,f){o===void 0&&(o=!1),f===void 0&&(f=1),h();const a=t.getBoundingClientRect(),{left:l,top:c,width:d,height:p}=a;if(o||e(),!d||!p)return;const v=rt(c),y=rt(r.clientWidth-(l+d)),w=rt(r.clientHeight-(c+p)),x=rt(l),_={rootMargin:-v+"px "+-y+"px "+-w+"px "+-x+"px",threshold:G(0,ut(1,f))||1};let S=!0;function L(T){const A=T[0].intersectionRatio;if(A!==f){if(!S)return u();A?u(!1,A):s=setTimeout(()=>{u(!1,1e-7)},1e3)}A===1&&!Pe(a,t.getBoundingClientRect())&&u(),S=!1}try{n=new IntersectionObserver(L,{..._,root:r.ownerDocument})}catch{n=new IntersectionObserver(L,_)}n.observe(t)}return u(!0),h}function si(t,e,n,s){s===void 0&&(s={});const{ancestorScroll:r=!0,ancestorResize:h=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:f=!1}=s,a=Rt(t),l=r||h?[...a?st(a):[],...st(e)]:[];l.forEach(x=>{r&&x.addEventListener("scroll",n,{passive:!0}),h&&x.addEventListener("resize",n)});const c=a&&o?ii(a,n):null;let d=-1,p=null;u&&(p=new ResizeObserver(x=>{let[_]=x;_&&_.target===a&&p&&(p.unobserve(e),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var S;(S=p)==null||S.observe(e)})),n()}),a&&!f&&p.observe(a),p.observe(e));let v,y=f?Z(t):null;f&&w();function w(){const x=Z(t);y&&!Pe(y,x)&&n(),y=x,v=requestAnimationFrame(w)}return n(),()=>{var x;l.forEach(_=>{r&&_.removeEventListener("scroll",n),h&&_.removeEventListener("resize",n)}),c?.(),(x=p)==null||x.disconnect(),p=null,f&&cancelAnimationFrame(v)}}const oi=Dn,ri=Bn,ai=Tn,li=In,ci=(t,e,n)=>{const s=new Map,r={platform:ni,...n},h={...r.platform,_c:s};return An(t,e,{...r,platform:h})};var Pt={exports:{}},ui=Pt.exports,ee;function di(){return ee||(ee=1,function(t,e){(function(n,s){t.exports=s()})(typeof self<"u"?self:ui,function(){return(()=>{var n={646:u=>{u.exports=function(o){if(Array.isArray(o)){for(var f=0,a=new Array(o.length);f{u.exports=function(o,f,a){return f in o?Object.defineProperty(o,f,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[f]=a,o}},860:u=>{u.exports=function(o){if(Symbol.iterator in Object(o)||Object.prototype.toString.call(o)==="[object Arguments]")return Array.from(o)}},206:u=>{u.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(u,o,f)=>{var a=f(646),l=f(860),c=f(206);u.exports=function(d){return a(d)||l(d)||c()}},8:u=>{function o(f){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?u.exports=o=function(a){return typeof a}:u.exports=o=function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},o(f)}u.exports=o}},s={};function r(u){var o=s[u];if(o!==void 0)return o.exports;var f=s[u]={exports:{}};return n[u](f,f.exports,r),f.exports}r.n=u=>{var o=u&&u.__esModule?()=>u.default:()=>u;return r.d(o,{a:o}),o},r.d=(u,o)=>{for(var f in o)r.o(o,f)&&!r.o(u,f)&&Object.defineProperty(u,f,{enumerable:!0,get:o[f]})},r.o=(u,o)=>Object.prototype.hasOwnProperty.call(u,o),r.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var h={};return(()=>{r.r(h),r.d(h,{VueSelect:()=>R,default:()=>k,mixins:()=>W});var u=r(319),o=r.n(u),f=r(8),a=r.n(f),l=r(713),c=r.n(l);const d={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(i){var g=this;this.autoscroll&&i&&this.$nextTick(function(){return g.maybeAdjustScroll()})}},methods:{maybeAdjustScroll:function(){var i,g=((i=this.$refs.dropdownMenu)===null||i===void 0?void 0:i.children[this.typeAheadPointer])||!1;if(g){var m=this.getDropdownViewport(),b=g.getBoundingClientRect(),C=b.top,O=b.bottom,I=b.height;if(Cm.bottom)return this.$refs.dropdownMenu.scrollTop=g.offsetTop-(m.height-I)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},p={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange){for(var i=0;i=0;i--)if(this.selectable(this.filteredOptions[i])){this.typeAheadPointer=i;break}},typeAheadDown:function(){for(var i=this.typeAheadPointer+1;i0&&arguments[0]!==void 0?arguments[0]:null;return this.mutableLoading=i??!this.mutableLoading}}};function y(i,g,m,b,C,O,I,M){var P,D=typeof i=="function"?i.options:i;return g&&(D.render=g,D.staticRenderFns=m,D._compiled=!0),{exports:i,options:D}}const w={Deselect:y({},function(){var i=this.$createElement,g=this._self._c||i;return g("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[g("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[]).exports,OpenIndicator:y({},function(){var i=this.$createElement,g=this._self._c||i;return g("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[g("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[]).exports},x={inserted:function(i,g,m){var b=m.context;if(b.appendToBody){document.body.appendChild(i);var C=b.$refs.toggle.getBoundingClientRect(),O=C.height,I=C.top,M=C.left,P=C.width,D=window.scrollX||window.pageXOffset,xt=window.scrollY||window.pageYOffset;i.unbindPosition=b.calculatePosition(i,b,{width:P+"px",left:D+M+"px",top:xt+I+O+"px"})}},unbind:function(i,g,m){m.context.appendToBody&&(i.unbindPosition&&typeof i.unbindPosition=="function"&&i.unbindPosition(),i.parentNode&&i.parentNode.removeChild(i))}},_=function(i){var g={};return Object.keys(i).sort().forEach(function(m){g[m]=i[m]}),JSON.stringify(g)};var S=0;const L=function(){return++S};function T(i,g){var m=Object.keys(i);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(i);g&&(b=b.filter(function(C){return Object.getOwnPropertyDescriptor(i,C).enumerable})),m.push.apply(m,b)}return m}function A(i){for(var g=1;g({x:t,y:t}),gn={left:"right",right:"left",bottom:"top",top:"bottom"},mn={start:"end",end:"start"};function Xt(t,e,n){return G(t,ut(e,n))}function Q(t,e){return typeof t=="function"?t(e):t}function j(t){return t.split("-")[0]}function mt(t){return t.split("-")[1]}function $t(t){return t==="x"?"y":"x"}function Oe(t){return t==="y"?"height":"width"}const vn=new Set(["top","bottom"]);function z(t){return vn.has(j(t))?"y":"x"}function Le(t){return $t(z(t))}function yn(t,e,n){n===void 0&&(n=!1);const s=mt(t),r=Le(t),h=Oe(r);let u=r==="x"?s===(n?"end":"start")?"right":"left":s==="start"?"bottom":"top";return e.reference[h]>e.floating[h]&&(u=ht(u)),[u,ht(u)]}function bn(t){const e=ht(t);return[Nt(t),e,Nt(e)]}function Nt(t){return t.replace(/start|end/g,e=>mn[e])}const Kt=["left","right"],Gt=["right","left"],wn=["top","bottom"],xn=["bottom","top"];function Sn(t,e,n){switch(t){case"top":case"bottom":return n?e?Gt:Kt:e?Kt:Gt;case"left":case"right":return e?wn:xn;default:return[]}}function _n(t,e,n,s){const r=mt(t);let h=Sn(j(t),n==="start",s);return r&&(h=h.map(u=>u+"-"+r),e&&(h=h.concat(h.map(Nt)))),h}function ht(t){return t.replace(/left|right|bottom|top/g,e=>gn[e])}function Cn(t){return{top:0,right:0,bottom:0,left:0,...t}}function On(t){return typeof t!="number"?Cn(t):{top:t,right:t,bottom:t,left:t}}function pt(t){const{x:e,y:n,width:s,height:r}=t;return{width:s,height:r,top:n,left:e,right:e+s,bottom:n+r,x:e,y:n}}function Zt(t,e,n){let{reference:s,floating:r}=t;const h=z(e),u=Le(e),o=Oe(u),f=j(e),a=h==="y",l=s.x+s.width/2-r.width/2,c=s.y+s.height/2-r.height/2,d=s[o]/2-r[o]/2;let p;switch(f){case"top":p={x:l,y:s.y-r.height};break;case"bottom":p={x:l,y:s.y+s.height};break;case"right":p={x:s.x+s.width,y:c};break;case"left":p={x:s.x-r.width,y:c};break;default:p={x:s.x,y:s.y}}switch(mt(e)){case"start":p[u]-=d*(n&&a?-1:1);break;case"end":p[u]+=d*(n&&a?-1:1);break}return p}async function Ln(t,e){var n;e===void 0&&(e={});const{x:s,y:r,platform:h,rects:u,elements:o,strategy:f}=t,{boundary:a="clippingAncestors",rootBoundary:l="viewport",elementContext:c="floating",altBoundary:d=!1,padding:p=0}=Q(e,t),v=On(p),y=o[d?c==="floating"?"reference":"floating":c],w=pt(await h.getClippingRect({element:(n=await(h.isElement==null?void 0:h.isElement(y)))==null||n?y:y.contextElement||await(h.getDocumentElement==null?void 0:h.getDocumentElement(o.floating)),boundary:a,rootBoundary:l,strategy:f})),x=c==="floating"?{x:s,y:r,width:u.floating.width,height:u.floating.height}:u.reference,_=await(h.getOffsetParent==null?void 0:h.getOffsetParent(o.floating)),S=await(h.isElement==null?void 0:h.isElement(_))?await(h.getScale==null?void 0:h.getScale(_))||{x:1,y:1}:{x:1,y:1},L=pt(h.convertOffsetParentRelativeRectToViewportRelativeRect?await h.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:x,offsetParent:_,strategy:f}):x);return{top:(w.top-L.top+v.top)/S.y,bottom:(L.bottom-w.bottom+v.bottom)/S.y,left:(w.left-L.left+v.left)/S.x,right:(L.right-w.right+v.right)/S.x}}const An=async(t,e,n)=>{const{placement:s="bottom",strategy:r="absolute",middleware:h=[],platform:u}=n,o=h.filter(Boolean),f=await(u.isRTL==null?void 0:u.isRTL(e));let a=await u.getElementRects({reference:t,floating:e,strategy:r}),{x:l,y:c}=Zt(a,s,f),d=s,p={},v=0;for(let w=0;wC<=0)){var g,m;const C=(((g=h.flip)==null?void 0:g.index)||0)+1,O=R[C];if(O&&(!(c==="alignment"&&_!==z(O))||i.every(M=>z(M.placement)===_?M.overflows[0]>0:!0)))return{data:{index:C,overflows:i},reset:{placement:O}};let I=(m=i.filter(M=>M.overflows[0]<=0).sort((M,P)=>M.overflows[1]-P.overflows[1])[0])==null?void 0:m.placement;if(!I)switch(p){case"bestFit":{var b;const M=(b=i.filter(P=>{if(A){const D=z(P.placement);return D===_||D==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(D=>D>0).reduce((D,xt)=>D+xt,0)]).sort((P,D)=>P[1]-D[1])[0])==null?void 0:b[0];M&&(I=M);break}case"initialPlacement":I=o;break}if(r!==I)return{reset:{placement:I}}}return{}}}},Ae=new Set(["left","top"]);async function kn(t,e){const{placement:n,platform:s,elements:r}=t,h=await(s.isRTL==null?void 0:s.isRTL(r.floating)),u=j(n),o=mt(n),f=z(n)==="y",a=Ae.has(u)?-1:1,l=h&&f?-1:1,c=Q(e,t);let{mainAxis:d,crossAxis:p,alignmentAxis:v}=typeof c=="number"?{mainAxis:c,crossAxis:0,alignmentAxis:null}:{mainAxis:c.mainAxis||0,crossAxis:c.crossAxis||0,alignmentAxis:c.alignmentAxis};return o&&typeof v=="number"&&(p=o==="end"?v*-1:v),f?{x:p*l,y:d*a}:{x:d*a,y:p*l}}const Dn=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,s;const{x:r,y:h,placement:u,middlewareData:o}=e,f=await kn(e,t);return u===((n=o.offset)==null?void 0:n.placement)&&(s=o.arrow)!=null&&s.alignmentOffset?{}:{x:r+f.x,y:h+f.y,data:{...f,placement:u}}}}},Bn=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:s,placement:r,platform:h}=e,{mainAxis:u=!0,crossAxis:o=!1,limiter:f={fn:x=>{let{x:_,y:S}=x;return{x:_,y:S}}},...a}=Q(t,e),l={x:n,y:s},c=await h.detectOverflow(e,a),d=z(j(r)),p=$t(d);let v=l[p],y=l[d];if(u){const x=p==="y"?"top":"left",_=p==="y"?"bottom":"right",S=v+c[x],L=v-c[_];v=Xt(S,v,L)}if(o){const x=d==="y"?"top":"left",_=d==="y"?"bottom":"right",S=y+c[x],L=y-c[_];y=Xt(S,y,L)}const w=f.fn({...e,[p]:v,[d]:y});return{...w,data:{x:w.x-n,y:w.y-s,enabled:{[p]:u,[d]:o}}}}}},In=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:n,y:s,placement:r,rects:h,middlewareData:u}=e,{offset:o=0,mainAxis:f=!0,crossAxis:a=!0}=Q(t,e),l={x:n,y:s},c=z(r),d=$t(c);let p=l[d],v=l[c];const y=Q(o,e),w=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const S=d==="y"?"height":"width",L=h.reference[d]-h.floating[S]+w.mainAxis,T=h.reference[d]+h.reference[S]-w.mainAxis;pT&&(p=T)}if(a){var x,_;const S=d==="y"?"width":"height",L=Ae.has(j(r)),T=h.reference[c]-h.floating[S]+(L&&((x=u.offset)==null?void 0:x[c])||0)+(L?0:w.crossAxis),A=h.reference[c]+h.reference[S]+(L?0:((_=u.offset)==null?void 0:_[c])||0)-(L?w.crossAxis:0);vA&&(v=A)}return{[d]:p,[c]:v}}}};function vt(){return typeof window<"u"}function et(t){return Te(t)?(t.nodeName||"").toLowerCase():"#document"}function N(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function q(t){var e;return(e=(Te(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Te(t){return vt()?t instanceof Node||t instanceof N(t).Node:!1}function E(t){return vt()?t instanceof Element||t instanceof N(t).Element:!1}function V(t){return vt()?t instanceof HTMLElement||t instanceof N(t).HTMLElement:!1}function Yt(t){return!vt()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof N(t).ShadowRoot}const Nn=new Set(["inline","contents"]);function ot(t){const{overflow:e,overflowX:n,overflowY:s,display:r}=U(t);return/auto|scroll|overlay|hidden|clip/.test(e+s+n)&&!Nn.has(r)}const Mn=new Set(["table","td","th"]);function Pn(t){return Mn.has(et(t))}const En=[":popover-open",":modal"];function yt(t){return En.some(e=>{try{return t.matches(e)}catch{return!1}})}const Un=["transform","translate","scale","rotate","perspective"],Fn=["transform","translate","scale","rotate","perspective","filter"],Vn=["paint","layout","strict","content"];function qt(t){const e=zt(),n=E(t)?U(t):t;return Un.some(s=>n[s]?n[s]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!e&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!e&&(n.filter?n.filter!=="none":!1)||Fn.some(s=>(n.willChange||"").includes(s))||Vn.some(s=>(n.contain||"").includes(s))}function $n(t){let e=H(t);for(;V(e)&&!tt(e);){if(qt(e))return e;if(yt(e))return null;e=H(e)}return null}function zt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const qn=new Set(["html","body","#document"]);function tt(t){return qn.has(et(t))}function U(t){return N(t).getComputedStyle(t)}function bt(t){return E(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function H(t){if(et(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Yt(t)&&t.host||q(t);return Yt(e)?e.host:e}function ke(t){const e=H(t);return tt(e)?t.ownerDocument?t.ownerDocument.body:t.body:V(e)&&ot(e)?e:ke(e)}function st(t,e,n){var s;e===void 0&&(e=[]),n===void 0&&(n=!0);const r=ke(t),h=r===((s=t.ownerDocument)==null?void 0:s.body),u=N(r);if(h){const o=Mt(u);return e.concat(u,u.visualViewport||[],ot(r)?r:[],o&&n?st(o):[])}return e.concat(r,st(r,[],n))}function Mt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function De(t){const e=U(t);let n=parseFloat(e.width)||0,s=parseFloat(e.height)||0;const r=V(t),h=r?t.offsetWidth:n,u=r?t.offsetHeight:s,o=dt(n)!==h||dt(s)!==u;return o&&(n=h,s=u),{width:n,height:s,$:o}}function Rt(t){return E(t)?t:t.contextElement}function J(t){const e=Rt(t);if(!V(e))return F(1);const n=e.getBoundingClientRect(),{width:s,height:r,$:h}=De(e);let u=(h?dt(n.width):n.width)/s,o=(h?dt(n.height):n.height)/r;return(!u||!Number.isFinite(u))&&(u=1),(!o||!Number.isFinite(o))&&(o=1),{x:u,y:o}}const zn=F(0);function Be(t){const e=N(t);return!zt()||!e.visualViewport?zn:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Rn(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==N(t)?!1:e}function Z(t,e,n,s){e===void 0&&(e=!1),n===void 0&&(n=!1);const r=t.getBoundingClientRect(),h=Rt(t);let u=F(1);e&&(s?E(s)&&(u=J(s)):u=J(t));const o=Rn(h,n,s)?Be(h):F(0);let f=(r.left+o.x)/u.x,a=(r.top+o.y)/u.y,l=r.width/u.x,c=r.height/u.y;if(h){const d=N(h),p=s&&E(s)?N(s):s;let v=d,y=Mt(v);for(;y&&s&&p!==v;){const w=J(y),x=y.getBoundingClientRect(),_=U(y),S=x.left+(y.clientLeft+parseFloat(_.paddingLeft))*w.x,L=x.top+(y.clientTop+parseFloat(_.paddingTop))*w.y;f*=w.x,a*=w.y,l*=w.x,c*=w.y,f+=S,a+=L,v=N(y),y=Mt(v)}}return pt({width:l,height:c,x:f,y:a})}function wt(t,e){const n=bt(t).scrollLeft;return e?e.left+n:Z(q(t)).left+n}function Ie(t,e){const n=t.getBoundingClientRect(),s=n.left+e.scrollLeft-wt(t,n),r=n.top+e.scrollTop;return{x:s,y:r}}function jn(t){let{elements:e,rect:n,offsetParent:s,strategy:r}=t;const h=r==="fixed",u=q(s),o=e?yt(e.floating):!1;if(s===u||o&&h)return n;let f={scrollLeft:0,scrollTop:0},a=F(1);const l=F(0),c=V(s);if((c||!c&&!h)&&((et(s)!=="body"||ot(u))&&(f=bt(s)),V(s))){const p=Z(s);a=J(s),l.x=p.x+s.clientLeft,l.y=p.y+s.clientTop}const d=u&&!c&&!h?Ie(u,f):F(0);return{width:n.width*a.x,height:n.height*a.y,x:n.x*a.x-f.scrollLeft*a.x+l.x+d.x,y:n.y*a.y-f.scrollTop*a.y+l.y+d.y}}function Hn(t){return Array.from(t.getClientRects())}function Wn(t){const e=q(t),n=bt(t),s=t.ownerDocument.body,r=G(e.scrollWidth,e.clientWidth,s.scrollWidth,s.clientWidth),h=G(e.scrollHeight,e.clientHeight,s.scrollHeight,s.clientHeight);let u=-n.scrollLeft+wt(t);const o=-n.scrollTop;return U(s).direction==="rtl"&&(u+=G(e.clientWidth,s.clientWidth)-r),{width:r,height:h,x:u,y:o}}const Jt=25;function Xn(t,e){const n=N(t),s=q(t),r=n.visualViewport;let h=s.clientWidth,u=s.clientHeight,o=0,f=0;if(r){h=r.width,u=r.height;const l=zt();(!l||l&&e==="fixed")&&(o=r.offsetLeft,f=r.offsetTop)}const a=wt(s);if(a<=0){const l=s.ownerDocument,c=l.body,d=getComputedStyle(c),p=l.compatMode==="CSS1Compat"&&parseFloat(d.marginLeft)+parseFloat(d.marginRight)||0,v=Math.abs(s.clientWidth-c.clientWidth-p);v<=Jt&&(h-=v)}else a<=Jt&&(h+=a);return{width:h,height:u,x:o,y:f}}const Kn=new Set(["absolute","fixed"]);function Gn(t,e){const n=Z(t,!0,e==="fixed"),s=n.top+t.clientTop,r=n.left+t.clientLeft,h=V(t)?J(t):F(1),u=t.clientWidth*h.x,o=t.clientHeight*h.y,f=r*h.x,a=s*h.y;return{width:u,height:o,x:f,y:a}}function Qt(t,e,n){let s;if(e==="viewport")s=Xn(t,n);else if(e==="document")s=Wn(q(t));else if(E(e))s=Gn(e,n);else{const r=Be(t);s={x:e.x-r.x,y:e.y-r.y,width:e.width,height:e.height}}return pt(s)}function Ne(t,e){const n=H(t);return n===e||!E(n)||tt(n)?!1:U(n).position==="fixed"||Ne(n,e)}function Zn(t,e){const n=e.get(t);if(n)return n;let s=st(t,[],!1).filter(o=>E(o)&&et(o)!=="body"),r=null;const h=U(t).position==="fixed";let u=h?H(t):t;for(;E(u)&&!tt(u);){const o=U(u),f=qt(u);!f&&o.position==="fixed"&&(r=null),(h?!f&&!r:!f&&o.position==="static"&&r&&Kn.has(r.position)||ot(u)&&!f&&Ne(t,u))?s=s.filter(a=>a!==u):r=o,u=H(u)}return e.set(t,s),s}function Yn(t){let{element:e,boundary:n,rootBoundary:s,strategy:r}=t;const h=[...n==="clippingAncestors"?yt(e)?[]:Zn(e,this._c):[].concat(n),s],u=h[0],o=h.reduce((f,a)=>{const l=Qt(e,a,r);return f.top=G(l.top,f.top),f.right=ut(l.right,f.right),f.bottom=ut(l.bottom,f.bottom),f.left=G(l.left,f.left),f},Qt(e,u,r));return{width:o.right-o.left,height:o.bottom-o.top,x:o.left,y:o.top}}function Jn(t){const{width:e,height:n}=De(t);return{width:e,height:n}}function Qn(t,e,n){const s=V(e),r=q(e),h=n==="fixed",u=Z(t,!0,h,e);let o={scrollLeft:0,scrollTop:0};const f=F(0);function a(){f.x=wt(r)}if(s||!s&&!h)if((et(e)!=="body"||ot(r))&&(o=bt(e)),s){const p=Z(e,!0,h,e);f.x=p.x+e.clientLeft,f.y=p.y+e.clientTop}else r&&a();h&&!s&&r&&a();const l=r&&!s&&!h?Ie(r,o):F(0),c=u.left+o.scrollLeft-f.x-l.x,d=u.top+o.scrollTop-f.y-l.y;return{x:c,y:d,width:u.width,height:u.height}}function Ct(t){return U(t).position==="static"}function te(t,e){if(!V(t)||U(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return q(t)===n&&(n=n.ownerDocument.body),n}function Me(t,e){const n=N(t);if(yt(t))return n;if(!V(t)){let r=H(t);for(;r&&!tt(r);){if(E(r)&&!Ct(r))return r;r=H(r)}return n}let s=te(t,e);for(;s&&Pn(s)&&Ct(s);)s=te(s,e);return s&&tt(s)&&Ct(s)&&!qt(s)?n:s||$n(t)||n}const ti=async function(t){const e=this.getOffsetParent||Me,n=this.getDimensions,s=await n(t.floating);return{reference:Qn(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function ei(t){return U(t).direction==="rtl"}const ni={convertOffsetParentRelativeRectToViewportRelativeRect:jn,getDocumentElement:q,getClippingRect:Yn,getOffsetParent:Me,getElementRects:ti,getClientRects:Hn,getDimensions:Jn,getScale:J,isElement:E,isRTL:ei};function Pe(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function ii(t,e){let n=null,s;const r=q(t);function h(){var o;clearTimeout(s),(o=n)==null||o.disconnect(),n=null}function u(o,f){o===void 0&&(o=!1),f===void 0&&(f=1),h();const a=t.getBoundingClientRect(),{left:l,top:c,width:d,height:p}=a;if(o||e(),!d||!p)return;const v=rt(c),y=rt(r.clientWidth-(l+d)),w=rt(r.clientHeight-(c+p)),x=rt(l),_={rootMargin:-v+"px "+-y+"px "+-w+"px "+-x+"px",threshold:G(0,ut(1,f))||1};let S=!0;function L(T){const A=T[0].intersectionRatio;if(A!==f){if(!S)return u();A?u(!1,A):s=setTimeout(()=>{u(!1,1e-7)},1e3)}A===1&&!Pe(a,t.getBoundingClientRect())&&u(),S=!1}try{n=new IntersectionObserver(L,{..._,root:r.ownerDocument})}catch{n=new IntersectionObserver(L,_)}n.observe(t)}return u(!0),h}function si(t,e,n,s){s===void 0&&(s={});const{ancestorScroll:r=!0,ancestorResize:h=!0,elementResize:u=typeof ResizeObserver=="function",layoutShift:o=typeof IntersectionObserver=="function",animationFrame:f=!1}=s,a=Rt(t),l=r||h?[...a?st(a):[],...st(e)]:[];l.forEach(x=>{r&&x.addEventListener("scroll",n,{passive:!0}),h&&x.addEventListener("resize",n)});const c=a&&o?ii(a,n):null;let d=-1,p=null;u&&(p=new ResizeObserver(x=>{let[_]=x;_&&_.target===a&&p&&(p.unobserve(e),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var S;(S=p)==null||S.observe(e)})),n()}),a&&!f&&p.observe(a),p.observe(e));let v,y=f?Z(t):null;f&&w();function w(){const x=Z(t);y&&!Pe(y,x)&&n(),y=x,v=requestAnimationFrame(w)}return n(),()=>{var x;l.forEach(_=>{r&&_.removeEventListener("scroll",n),h&&_.removeEventListener("resize",n)}),c?.(),(x=p)==null||x.disconnect(),p=null,f&&cancelAnimationFrame(v)}}const oi=Dn,ri=Bn,ai=Tn,li=In,ci=(t,e,n)=>{const s=new Map,r={platform:ni,...n},h={...r.platform,_c:s};return An(t,e,{...r,platform:h})};var Pt={exports:{}},ui=Pt.exports,ee;function di(){return ee||(ee=1,function(t,e){(function(n,s){t.exports=s()})(typeof self<"u"?self:ui,function(){return(()=>{var n={646:u=>{u.exports=function(o){if(Array.isArray(o)){for(var f=0,a=new Array(o.length);f{u.exports=function(o,f,a){return f in o?Object.defineProperty(o,f,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[f]=a,o}},860:u=>{u.exports=function(o){if(Symbol.iterator in Object(o)||Object.prototype.toString.call(o)==="[object Arguments]")return Array.from(o)}},206:u=>{u.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(u,o,f)=>{var a=f(646),l=f(860),c=f(206);u.exports=function(d){return a(d)||l(d)||c()}},8:u=>{function o(f){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?u.exports=o=function(a){return typeof a}:u.exports=o=function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},o(f)}u.exports=o}},s={};function r(u){var o=s[u];if(o!==void 0)return o.exports;var f=s[u]={exports:{}};return n[u](f,f.exports,r),f.exports}r.n=u=>{var o=u&&u.__esModule?()=>u.default:()=>u;return r.d(o,{a:o}),o},r.d=(u,o)=>{for(var f in o)r.o(o,f)&&!r.o(u,f)&&Object.defineProperty(u,f,{enumerable:!0,get:o[f]})},r.o=(u,o)=>Object.prototype.hasOwnProperty.call(u,o),r.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var h={};return(()=>{r.r(h),r.d(h,{VueSelect:()=>R,default:()=>k,mixins:()=>W});var u=r(319),o=r.n(u),f=r(8),a=r.n(f),l=r(713),c=r.n(l);const d={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(i){var g=this;this.autoscroll&&i&&this.$nextTick(function(){return g.maybeAdjustScroll()})}},methods:{maybeAdjustScroll:function(){var i,g=((i=this.$refs.dropdownMenu)===null||i===void 0?void 0:i.children[this.typeAheadPointer])||!1;if(g){var m=this.getDropdownViewport(),b=g.getBoundingClientRect(),C=b.top,O=b.bottom,I=b.height;if(Cm.bottom)return this.$refs.dropdownMenu.scrollTop=g.offsetTop-(m.height-I)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},p={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange){for(var i=0;i=0;i--)if(this.selectable(this.filteredOptions[i])){this.typeAheadPointer=i;break}},typeAheadDown:function(){for(var i=this.typeAheadPointer+1;i0&&arguments[0]!==void 0?arguments[0]:null;return this.mutableLoading=i??!this.mutableLoading}}};function y(i,g,m,b,C,O,I,M){var P,D=typeof i=="function"?i.options:i;return g&&(D.render=g,D.staticRenderFns=m,D._compiled=!0),{exports:i,options:D}}const w={Deselect:y({},function(){var i=this.$createElement,g=this._self._c||i;return g("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[g("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[]).exports,OpenIndicator:y({},function(){var i=this.$createElement,g=this._self._c||i;return g("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[g("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[]).exports},x={inserted:function(i,g,m){var b=m.context;if(b.appendToBody){document.body.appendChild(i);var C=b.$refs.toggle.getBoundingClientRect(),O=C.height,I=C.top,M=C.left,P=C.width,D=window.scrollX||window.pageXOffset,xt=window.scrollY||window.pageYOffset;i.unbindPosition=b.calculatePosition(i,b,{width:P+"px",left:D+M+"px",top:xt+I+O+"px"})}},unbind:function(i,g,m){m.context.appendToBody&&(i.unbindPosition&&typeof i.unbindPosition=="function"&&i.unbindPosition(),i.parentNode&&i.parentNode.removeChild(i))}},_=function(i){var g={};return Object.keys(i).sort().forEach(function(m){g[m]=i[m]}),JSON.stringify(g)};var S=0;const L=function(){return++S};function T(i,g){var m=Object.keys(i);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(i);g&&(b=b.filter(function(C){return Object.getOwnPropertyDescriptor(i,C).enumerable})),m.push.apply(m,b)}return m}function A(i){for(var g=1;g-1}},filter:{type:Function,default:function(i,g){var m=this;return i.filter(function(b){var C=m.getOptionLabel(b);return typeof C=="number"&&(C=C.toString()),m.filterBy(b,C,g)})}},createOption:{type:Function,default:function(i){return a()(this.optionList[0])==="object"?c()({},this.label,i):i}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(i){return["function","boolean"].includes(a()(i))}},clearSearchOnBlur:{type:Function,default:function(i){var g=i.clearSearchOnSelect,m=i.multiple;return g&&!m}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(i,g){return i}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(i,g,m){var b=m.width,C=m.top,O=m.left;i.style.top=C,i.style.left=O,i.style.width=b}},dropdownShouldOpen:{type:Function,default:function(i){var g=i.noDrop,m=i.open,b=i.mutableLoading;return!g&&m&&!b}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return L()}}},data:function(){return{search:"",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return this.value===void 0||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var i=this.value;return this.isTrackingValues&&(i=this.$data._value),i!=null&&i!==""?[].concat(i):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var i=this,g={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:A({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:"combobox","aria-autocomplete":"list","aria-label":this.ariaLabelCombobox,"aria-controls":"vs-".concat(this.uid,"__listbox"),"aria-owns":"vs-".concat(this.uid,"__listbox"),"aria-expanded":this.dropdownOpen.toString(),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs-".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return i.isComposing=!0},compositionend:function(){return i.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(m){return i.search=m.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:g,listFooter:g,header:A({},g,{deselect:this.deselect}),footer:A({},g,{deselect:this.deselect})}},childComponents:function(){return A({},w,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var i=this,g=function(O){return i.limit!==null?O.slice(0,i.limit):O},m=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return g(m);var b=this.search.length?this.filter(m,this.search,this):m;if(this.taggable&&this.search.length)try{var C=this.createOption(this.search);this.optionExists(C)||b.unshift(C)}catch{}return g(b)},isValueEmpty:function(){return this.selectedValue.length===0},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(i,g){var m=this;!this.taggable&&(typeof m.resetOnOptionsChange=="function"?m.resetOnOptionsChange(i,g,m.selectedValue):m.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(i){this.isTrackingValues&&this.setInternalValueFromOptions(i)}},multiple:function(){this.clearSelection()},open:function(i){this.$emit(i?"open":"close")},search:function(i){i.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(i){var g=this;Array.isArray(i)?this.$data._value=i.map(function(m){return g.findOptionFromReducedValue(m)}):this.$data._value=this.findOptionFromReducedValue(i)},select:function(i){this.$emit("option:selecting",i),this.isOptionSelected(i)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(i):(this.taggable&&!this.optionExists(i)&&this.$emit("option:created",i),this.multiple&&(i=this.selectedValue.concat(i)),this.updateValue(i),this.$emit("option:selected",i)),this.onAfterSelect(i)},deselect:function(i){var g=this;this.$emit("option:deselecting",i),this.updateValue(this.selectedValue.filter(function(m){return!g.optionComparator(m,i)})),this.$emit("option:deselected",i)},keyboardDeselect:function(i,g){var m,b;this.deselect(i);var C=(m=this.$refs.deselectButtons)===null||m===void 0?void 0:m[g+1],O=(b=this.$refs.deselectButtons)===null||b===void 0?void 0:b[g-1],I=C??O;I?I.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(i){var g=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick(function(){return g.$refs.search.focus()})},updateValue:function(i){var g=this;this.value===void 0&&(this.$data._value=i),i!==null&&(i=Array.isArray(i)?i.map(function(m){return g.reduce(m)}):this.reduce(i)),this.$emit("input",i)},toggleDropdown:function(i){var g=i.target!==this.searchEl;g&&i.preventDefault();var m=[].concat(o()(this.$refs.deselectButtons||[]),o()([this.$refs.clearButton]));this.searchEl===void 0||m.filter(Boolean).some(function(b){return b.contains(i.target)||b===i.target})?i.preventDefault():this.open&&g?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(i){var g=this;return this.selectedValue.some(function(m){return g.optionComparator(m,i)})},isOptionDeselectable:function(i){return this.isOptionSelected(i)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(i){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&i===this.typeAheadPointer},optionComparator:function(i,g){return this.getOptionKey(i)===this.getOptionKey(g)},findOptionFromReducedValue:function(i){var g=this,m=[].concat(o()(this.options),o()(this.pushedTags)).filter(function(b){return JSON.stringify(g.reduce(b))===JSON.stringify(i)});return m.length===1?m[0]:m.find(function(b){return g.optionComparator(b,g.$data._value)})||i},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var i=null;this.multiple&&(i=o()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(i)}},optionExists:function(i){var g=this;return this.optionList.some(function(m){return g.optionComparator(m,i)})},optionAriaSelected:function(i){return this.selectable(i)?String(this.isOptionSelected(i)):null},normalizeOptionForSlot:function(i){return a()(i)==="object"?i:c()({},this.label,i)},pushTag:function(i){this.pushedTags.push(i)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var i=this.clearSearchOnSelect,g=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:i,multiple:g})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,this.search.length!==0||this.options.length!==0||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(i,g){this.isKeyboardNavigation=!1,this.selectable(i)&&(this.typeAheadPointer=g)},onSearchKeyDown:function(i){var g=this,m=function(O){if(O.preventDefault(),g.open)return!g.isComposing&&g.typeAheadSelect();g.open=!0},b={8:function(O){return g.maybeDeleteValue()},9:function(O){return g.onTab()},27:function(O){return g.onEscape()},38:function(O){if(O.preventDefault(),g.isKeyboardNavigation=!0,g.open)return g.typeAheadUp();g.open=!0},40:function(O){if(O.preventDefault(),g.isKeyboardNavigation=!0,g.open)return g.typeAheadDown();g.open=!0}};this.selectOnKeyCodes.forEach(function(O){return b[O]=m});var C=this.mapKeydown(b,this);if(typeof C[i.keyCode]=="function")return C[i.keyCode](i)},onSearchKeyPress:function(i){this.open||i.keyCode!==32||(i.preventDefault(),this.open=!0)}}},function(){var i=this,g=i.$createElement,m=i._self._c||g;return m("div",{staticClass:"v-select",class:i.stateClasses,attrs:{id:"v-select-"+i.uid,dir:i.dir}},[i._t("header",null,null,i.scope.header),i._v(" "),m("div",{ref:"toggle",staticClass:"vs__dropdown-toggle"},[m("div",{ref:"selectedOptions",staticClass:"vs__selected-options",on:{mousedown:i.toggleDropdown}},[i._l(i.selectedValue,function(b,C){return i._t("selected-option-container",[m("span",{key:i.getOptionKey(b),staticClass:"vs__selected"},[i._t("selected-option",[i._v(` `+i._s(i.getOptionLabel(b))+` @@ -8,7 +8,7 @@ https://vue-select.org/api/props.html#getoptionkey`,i,g)}}},onTab:{type:Function `)],null,i.normalizeOptionForSlot(b))],2)}),i._v(" "),i.filteredOptions.length===0?m("li",{staticClass:"vs__no-options"},[i._t("no-options",[i._v(` Sorry, no matching options. `)],null,i.scope.noOptions)],2):i._e(),i._v(" "),i._t("list-footer",null,null,i.scope.listFooter)],2):m("ul",{staticStyle:{display:"none",visibility:"hidden"},attrs:{id:"vs-"+i.uid+"__listbox",role:"listbox","aria-label":i.ariaLabelListbox}})]),i._v(" "),i._t("footer",null,null,i.scope.footer)],2)},[]).exports,W={ajax:v,pointer:p,pointerScroll:d},k=R})(),h})()})}(Pt)),Pt.exports}var X=di();const hi={name:"ChevronDownIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var pi=function(){var t=this,e=t._self._c;return e("span",t._b({staticClass:"material-design-icon chevron-down-icon",attrs:{"aria-hidden":t.title?null:"true","aria-label":t.title,role:"img"},on:{click:function(n){return t.$emit("click",n)}}},"span",t.$attrs,!1),[e("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[e("path",{attrs:{d:"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z"}},[t.title?e("title",[t._v(t._s(t.title))]):t._e()])])])},fi=[],gi=$(hi,pi,fi,!1,null,null);const mi=gi.exports;function Ee(t,e){const n=[];let s=0,r=t.toLowerCase().indexOf(e.toLowerCase(),s),h=0;for(;r>-1&&h[]}},computed:{ranges(){let t=[];return!this.search&&this.highlight.length===0||(this.highlight.length>0?t=this.highlight:t=Ee(this.text,this.search),t.forEach((e,n)=>{e.end(n.start0&&e.push({start:n.start<0?0:n.start,end:n.end>this.text.length?this.text.length:n.end}),e),[]),t.sort((e,n)=>e.start-n.start),t=t.reduce((e,n)=>{if(!e.length)e.push(n);else{const s=e.length-1;e[s].end>=n.start?e[s]={start:e[s].start,end:Math.max(e[s].end,n.end)}:e.push(n)}return e},[])),t},chunks(){if(this.ranges.length===0)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];const t=[];let e=0,n=0;for(;e=this.ranges.length&&ee.highlight?t("strong",{},e.text):e.text)):t("span",{},this.text)}},yi=null,bi=null;var wi=$(vi,yi,bi,!1,null,null);const Ue=wi.exports,xi={name:"NcEllipsisedOption",components:{NcHighlight:Ue},props:{name:{type:String,default:""},search:{type:String,default:""}},computed:{needsTruncate(){return this.name&&this.name.length>=10},split(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2(){return this.needsTruncate?this.name.slice(this.split):""},highlight1(){return this.search?Ee(this.name,this.search):[]},highlight2(){return this.highlight1.map(t=>({start:t.start-this.split,end:t.end-this.split}))}}};var Si=function(){var t=this,e=t._self._c;return e("span",{staticClass:"name-parts",attrs:{dir:"auto",title:t.name}},[e("NcHighlight",{staticClass:"name-parts__first",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t.part2?e("NcHighlight",{staticClass:"name-parts__last",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)},_i=[],Ci=$(xi,Si,_i,!1,null,"592b8444");const Oi=Ci.exports,Fe=gt(Ve());window.addEventListener("resize",()=>{Fe.value=Ve()});function Ve(){return window.outerHeight===window.screen.height}ye(Fe);var Et={exports:{}},Li=Et.exports,ne;function Ai(){return ne||(ne=1,function(t){(function(e){if(typeof n!="function"){var n=function(v){return v};n.nonNative=!0}const s=n("plaintext"),r=n("html"),h=n("comment"),u=/<(\w*)>/g,o=/<\/?([^\s\/>]+)/;function f(v,y,w){v=v||"",y=y||[],w=w||"";let x=l(y,w);return c(v,x)}function a(v,y){v=v||[],y=y||"";let w=l(v,y);return function(x){return c(x||"",w)}}f.init_streaming_mode=a;function l(v,y){return v=d(v),{allowable_tags:v,tag_replacement:y,state:s,tag_buffer:"",depth:0,in_quote_char:""}}function c(v,y){if(typeof v!="string")throw new TypeError("'html' parameter must be a string");let w=y.allowable_tags,x=y.tag_replacement,_=y.state,S=y.tag_buffer,L=y.depth,T=y.in_quote_char,A="";for(let R=0,W=v.length;R":if(T)break;if(L){L--;break}T="",_=s,S+=">",w.has(p(S))?A+=S:A+=x,S="";break;case'"':case"'":k===T?T="":T=T||k,S+=k;break;case"-":S==="":S.slice(-2)=="--"&&(_=s),S="";break;default:S+=k;break}}return y.state=_,y.tag_buffer=S,y.depth=L,y.in_quote_char=T,A}function d(v){let y=new Set;if(typeof v=="string"){let w;for(;w=u.exec(v);)y.add(w[1])}else!n.nonNative&&typeof v[n.iterator]=="function"?y=new Set(v):typeof v.forEach=="function"&&v.forEach(y.add,y);return y}function p(v){let y=o.exec(v);return y?y[1].toLowerCase():null}t.exports?t.exports=f:e.striptags=f})(Li)}(Et)),Et.exports}Ai();function ft(t=document.body){const e=window.getComputedStyle(t).getPropertyValue("--background-invert-if-dark");return e!==void 0?e==="invert(100%)":!1}ft();const Ti=Symbol.for("nc:theme:enforced");function ki(t){const e=Ut(()=>Y(t)??document.body),n=gt(ft(e.value)),s=Ke();function r(){n.value=ft(e.value)}return Ge(e,r,{attributes:!0}),it(e,r),it(s,r,{immediate:!0}),ye(n)}const Di=We(()=>ki());function Bi(){const t=Di(),e=Xe(Ti,void 0);return Ut(()=>e?.value?e.value==="dark":t.value)}kt.util.warn;function nt(t){var e;const n=Y(t);return(e=n?.$el)!=null?e:n}const $e=Ze?window:void 0;function lt(...t){let e,n,s,r;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,s,r]=t,e=$e):[e,n,s,r]=t,!e)return at;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const h=[],u=()=>{h.forEach(l=>l()),h.length=0},o=(l,c,d,p)=>(l.addEventListener(c,d,p),()=>l.removeEventListener(c,d,p)),f=it(()=>[nt(e),Y(r)],([l,c])=>{if(u(),!l)return;const d=Ye(c)?{...c}:c;h.push(...n.flatMap(p=>s.map(v=>o(l,p,v,d))))},{immediate:!0,flush:"post"}),a=()=>{f(),u()};return be(a),a}let ie=!1;function se(t,e,n={}){const{window:s=$e,ignore:r=[],capture:h=!0,detectIframe:u=!1}=n;if(!s)return at;Dt&&!ie&&(ie=!0,Array.from(s.document.body.children).forEach(l=>l.addEventListener("click",at)),s.document.documentElement.addEventListener("click",at));let o=!0;const f=l=>r.some(c=>{if(typeof c=="string")return Array.from(s.document.querySelectorAll(c)).some(d=>d===l.target||l.composedPath().includes(d));{const d=nt(c);return d&&(l.target===d||l.composedPath().includes(d))}}),a=[lt(s,"click",l=>{const c=nt(t);if(!(!c||c===l.target||l.composedPath().includes(c))){if(l.detail===0&&(o=!f(l)),!o){o=!0;return}e(l)}},{passive:!0,capture:h}),lt(s,"pointerdown",l=>{const c=nt(t);o=!f(l)&&!!(c&&!l.composedPath().includes(c))},{passive:!0}),u&<(s,"blur",l=>{setTimeout(()=>{var c;const d=nt(t);((c=s.document.activeElement)==null?void 0:c.tagName)==="IFRAME"&&!d?.contains(s.document.activeElement)&&e(l)},0)})].filter(Boolean);return()=>a.forEach(l=>l())}const Ii={[jt.mounted](t,e){const n=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=se(t,e.value,{capture:n});else{const[s,r]=e.value;t.__onClickOutside_stop=se(t,s,Object.assign({capture:n},r))}},[jt.unmounted](t){t.__onClickOutside_stop()}};function Ot(t){return typeof Window<"u"&&t instanceof Window?t.document.documentElement:typeof Document<"u"&&t instanceof Document?t.documentElement:t}function qe(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.preventDefault(),!1)}const Lt=new WeakMap;function Mi(t,e=!1){const n=gt(e);let s=null,r="";it(Je(t),o=>{const f=Ot(Y(o));if(f){const a=f;if(Lt.get(a)||Lt.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(r=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const h=()=>{const o=Ot(Y(t));!o||n.value||(Dt&&(s=lt(o,"touchmove",f=>{Ni(f)},{passive:!1})),o.style.overflow="hidden",n.value=!0)},u=()=>{const o=Ot(Y(t));!o||!n.value||(Dt&&s?.(),o.style.overflow=r,Lt.delete(o),n.value=!1)};return be(u),Ut({get(){return n.value},set(o){o?h():u()}})}function Pi(){let t=!1;const e=gt(!1);return(n,s)=>{if(e.value=s.value,t)return;t=!0;const r=Mi(n,s.value);it(e,h=>r.value=h)}}Pi();function Ei(t,e){const n=(l,c)=>l.startsWith(c)?l.slice(c.length):l,s=(l,...c)=>c.reduce((d,p)=>n(d,p),l);if(!t)return null;const r=/^https?:\/\//.test(e),h=/^[a-z][a-z0-9+.-]*:.+/.test(e);if(!r&&h||r&&!e.startsWith(Ht())||!r&&!e.startsWith("/"))return null;const u=r?s(e,Ht(),"/index.php"):e,o=s(t.history.base,Qe(),"/index.php"),f=s(u,o)||"/",a=t.resolve(f).route;return a.matched.length?a.fullPath:null}function Ui(t){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(e=>e.enabled(t)):[]}var oe={exports:{}},re={exports:{}},ae;function Fi(){return ae||(ae=1,function(){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e={rotl:function(n,s){return n<>>32-s},rotr:function(n,s){return n<<32-s|n>>>s},endian:function(n){if(n.constructor==Number)return e.rotl(n,8)&16711935|e.rotl(n,24)&4278255360;for(var s=0;s0;n--)s.push(Math.floor(Math.random()*256));return s},bytesToWords:function(n){for(var s=[],r=0,h=0;r>>5]|=n[r]<<24-h%32;return s},wordsToBytes:function(n){for(var s=[],r=0;r>>5]>>>24-r%32&255);return s},bytesToHex:function(n){for(var s=[],r=0;r>>4).toString(16)),s.push((n[r]&15).toString(16));return s.join("")},hexToBytes:function(n){for(var s=[],r=0;r>>6*(3-u)&63)):s.push("=");return s.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var s=[],r=0,h=0;r>>6-h*2);return s}};re.exports=e}()),re.exports}var At,le;function ce(){if(le)return At;le=1;var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var n=[],s=0;s>>24)&16711935|(o[p]<<24|o[p]>>>8)&4278255360;o[f>>>5]|=128<>>9<<4)+14]=f;for(var v=r._ff,y=r._gg,w=r._hh,x=r._ii,p=0;p>>0,l=l+S>>>0,c=c+L>>>0,d=d+T>>>0}return t.endian([a,l,c,d])};r._ff=function(h,u,o,f,a,l,c){var d=h+(u&o|~u&f)+(a>>>0)+c;return(d<>>32-l)+u},r._gg=function(h,u,o,f,a,l,c){var d=h+(u&f|o&~f)+(a>>>0)+c;return(d<>>32-l)+u},r._hh=function(h,u,o,f,a,l,c){var d=h+(u^o^f)+(a>>>0)+c;return(d<>>32-l)+u},r._ii=function(h,u,o,f,a,l,c){var d=h+(o^(u|~f))+(a>>>0)+c;return(d<>>32-l)+u},r._blocksize=16,r._digestsize=16,oe.exports=function(h,u){if(h==null)throw new Error("Illegal argument "+h);var o=t.wordsToBytes(r(h,u));return u&&u.asBytes?o:u&&u.asString?s.bytesToString(o):t.bytesToHex(o)}}()),oe.exports}var qi=$i();const zi=tn(qi);function he(t){let e=t.toLowerCase();e.match(/^([0-9a-f]{4}-?){8}$/)===null&&(e=zi(e)),e=e.replace(/[^0-9a-f]/g,"");const n=6,s=fn(n);function r(h,u){let o=0;const f=[];for(let a=0;a":S.slice(-2)=="--"&&(_=s),S="";break;default:S+=k;break}}return y.state=_,y.tag_buffer=S,y.depth=L,y.in_quote_char=T,A}function d(v){let y=new Set;if(typeof v=="string"){let w;for(;w=u.exec(v);)y.add(w[1])}else!n.nonNative&&typeof v[n.iterator]=="function"?y=new Set(v):typeof v.forEach=="function"&&v.forEach(y.add,y);return y}function p(v){let y=o.exec(v);return y?y[1].toLowerCase():null}t.exports?t.exports=f:e.striptags=f})(Li)}(Et)),Et.exports}Ai();function ft(t=document.body){const e=window.getComputedStyle(t).getPropertyValue("--background-invert-if-dark");return e!==void 0?e==="invert(100%)":!1}ft();const Ti=Symbol.for("nc:theme:enforced");function ki(t){const e=Ut(()=>Y(t)??document.body),n=gt(ft(e.value)),s=Ke();function r(){n.value=ft(e.value)}return Ge(e,r,{attributes:!0}),it(e,r),it(s,r,{immediate:!0}),ye(n)}const Di=Xe(()=>ki());function Bi(){const t=Di(),e=We(Ti,void 0);return Ut(()=>e?.value?e.value==="dark":t.value)}kt.util.warn;function nt(t){var e;const n=Y(t);return(e=n?.$el)!=null?e:n}const $e=Ze?window:void 0;function lt(...t){let e,n,s,r;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,s,r]=t,e=$e):[e,n,s,r]=t,!e)return at;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const h=[],u=()=>{h.forEach(l=>l()),h.length=0},o=(l,c,d,p)=>(l.addEventListener(c,d,p),()=>l.removeEventListener(c,d,p)),f=it(()=>[nt(e),Y(r)],([l,c])=>{if(u(),!l)return;const d=Ye(c)?{...c}:c;h.push(...n.flatMap(p=>s.map(v=>o(l,p,v,d))))},{immediate:!0,flush:"post"}),a=()=>{f(),u()};return be(a),a}let ie=!1;function se(t,e,n={}){const{window:s=$e,ignore:r=[],capture:h=!0,detectIframe:u=!1}=n;if(!s)return at;Dt&&!ie&&(ie=!0,Array.from(s.document.body.children).forEach(l=>l.addEventListener("click",at)),s.document.documentElement.addEventListener("click",at));let o=!0;const f=l=>r.some(c=>{if(typeof c=="string")return Array.from(s.document.querySelectorAll(c)).some(d=>d===l.target||l.composedPath().includes(d));{const d=nt(c);return d&&(l.target===d||l.composedPath().includes(d))}}),a=[lt(s,"click",l=>{const c=nt(t);if(!(!c||c===l.target||l.composedPath().includes(c))){if(l.detail===0&&(o=!f(l)),!o){o=!0;return}e(l)}},{passive:!0,capture:h}),lt(s,"pointerdown",l=>{const c=nt(t);o=!f(l)&&!!(c&&!l.composedPath().includes(c))},{passive:!0}),u&<(s,"blur",l=>{setTimeout(()=>{var c;const d=nt(t);((c=s.document.activeElement)==null?void 0:c.tagName)==="IFRAME"&&!d?.contains(s.document.activeElement)&&e(l)},0)})].filter(Boolean);return()=>a.forEach(l=>l())}const Ii={[jt.mounted](t,e){const n=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=se(t,e.value,{capture:n});else{const[s,r]=e.value;t.__onClickOutside_stop=se(t,s,Object.assign({capture:n},r))}},[jt.unmounted](t){t.__onClickOutside_stop()}};function Ot(t){return typeof Window<"u"&&t instanceof Window?t.document.documentElement:typeof Document<"u"&&t instanceof Document?t.documentElement:t}function qe(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.preventDefault(),!1)}const Lt=new WeakMap;function Mi(t,e=!1){const n=gt(e);let s=null,r="";it(Je(t),o=>{const f=Ot(Y(o));if(f){const a=f;if(Lt.get(a)||Lt.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(r=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const h=()=>{const o=Ot(Y(t));!o||n.value||(Dt&&(s=lt(o,"touchmove",f=>{Ni(f)},{passive:!1})),o.style.overflow="hidden",n.value=!0)},u=()=>{const o=Ot(Y(t));!o||!n.value||(Dt&&s?.(),o.style.overflow=r,Lt.delete(o),n.value=!1)};return be(u),Ut({get(){return n.value},set(o){o?h():u()}})}function Pi(){let t=!1;const e=gt(!1);return(n,s)=>{if(e.value=s.value,t)return;t=!0;const r=Mi(n,s.value);it(e,h=>r.value=h)}}Pi();function Ei(t,e){const n=(l,c)=>l.startsWith(c)?l.slice(c.length):l,s=(l,...c)=>c.reduce((d,p)=>n(d,p),l);if(!t)return null;const r=/^https?:\/\//.test(e),h=/^[a-z][a-z0-9+.-]*:.+/.test(e);if(!r&&h||r&&!e.startsWith(Ht())||!r&&!e.startsWith("/"))return null;const u=r?s(e,Ht(),"/index.php"):e,o=s(t.history.base,Qe(),"/index.php"),f=s(u,o)||"/",a=t.resolve(f).route;return a.matched.length?a.fullPath:null}function Ui(t){return window._nc_contacts_menu_hooks?Object.values(window._nc_contacts_menu_hooks).filter(e=>e.enabled(t)):[]}var oe={exports:{}},re={exports:{}},ae;function Fi(){return ae||(ae=1,function(){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e={rotl:function(n,s){return n<>>32-s},rotr:function(n,s){return n<<32-s|n>>>s},endian:function(n){if(n.constructor==Number)return e.rotl(n,8)&16711935|e.rotl(n,24)&4278255360;for(var s=0;s0;n--)s.push(Math.floor(Math.random()*256));return s},bytesToWords:function(n){for(var s=[],r=0,h=0;r>>5]|=n[r]<<24-h%32;return s},wordsToBytes:function(n){for(var s=[],r=0;r>>5]>>>24-r%32&255);return s},bytesToHex:function(n){for(var s=[],r=0;r>>4).toString(16)),s.push((n[r]&15).toString(16));return s.join("")},hexToBytes:function(n){for(var s=[],r=0;r>>6*(3-u)&63)):s.push("=");return s.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var s=[],r=0,h=0;r>>6-h*2);return s}};re.exports=e}()),re.exports}var At,le;function ce(){if(le)return At;le=1;var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var n=[],s=0;s>>24)&16711935|(o[p]<<24|o[p]>>>8)&4278255360;o[f>>>5]|=128<>>9<<4)+14]=f;for(var v=r._ff,y=r._gg,w=r._hh,x=r._ii,p=0;p>>0,l=l+S>>>0,c=c+L>>>0,d=d+T>>>0}return t.endian([a,l,c,d])};r._ff=function(h,u,o,f,a,l,c){var d=h+(u&o|~u&f)+(a>>>0)+c;return(d<>>32-l)+u},r._gg=function(h,u,o,f,a,l,c){var d=h+(u&f|o&~f)+(a>>>0)+c;return(d<>>32-l)+u},r._hh=function(h,u,o,f,a,l,c){var d=h+(u^o^f)+(a>>>0)+c;return(d<>>32-l)+u},r._ii=function(h,u,o,f,a,l,c){var d=h+(o^(u|~f))+(a>>>0)+c;return(d<>>32-l)+u},r._blocksize=16,r._digestsize=16,oe.exports=function(h,u){if(h==null)throw new Error("Illegal argument "+h);var o=t.wordsToBytes(r(h,u));return u&&u.asBytes?o:u&&u.asString?s.bytesToString(o):t.bytesToHex(o)}}()),oe.exports}var qi=$i();const zi=tn(qi);function he(t){let e=t.toLowerCase();e.match(/^([0-9a-f]{4}-?){8}$/)===null&&(e=zi(e)),e=e.replace(/[^0-9a-f]/g,"");const n=6,s=fn(n);function r(h,u){let o=0;const f=[];for(let a=0;a @@ -88,4 +88,4 @@ https://vue-select.org/api/props.html#getoptionkey`,i,g)}}},onTab:{type:Function `;ct(en),ct(nn);function ze(t){switch(t){case"away":return B("away");case"busy":return B("busy");case"dnd":return B("do not disturb");case"online":return B("online");case"invisible":return B("invisible");case"offline":return B("offline");default:return t}}const Zi={online:K?Ki:Gi,away:K?pe:ji,busy:K?pe:Hi,dnd:K?Wi:Xi,invisible:K?fe:ge,offline:K?fe:ge},Yi={name:"NcUserStatusIcon",props:{user:{type:String,default:null},status:{type:String,default:null,validator:t=>["online","away","busy","dnd","invisible","offline"].includes(t)},ariaHidden:{type:String,default:null,validator:t=>["true","false"].includes(t)}},data(){return{fetchedUserStatus:null}},computed:{activeStatus(){return this.status??this.fetchedUserStatus},activeSvg(){return Zi[this.activeStatus]??null},ariaLabel(){return this.ariaHidden==="true"?null:B("User status: {status}",{status:ze(this.activeStatus)})}},watch:{user:{immediate:!0,async handler(t){if(!t||!Ce()?.user_status?.enabled){this.fetchedUserStatus=null;return}try{const{data:e}=await Ft.get(xe("/apps/user_status/api/v1/statuses/{user}",{user:t}));this.fetchedUserStatus=e.ocs?.data?.status}catch{this.fetchedUserStatus=null}}}}};var Ji=function(){var t=this,e=t._self._c;return t.activeStatus?e("span",{staticClass:"user-status-icon",class:{"user-status-icon--invisible":["invisible","offline"].includes(t.status)},attrs:{role:"img","aria-hidden":t.ariaHidden,"aria-label":t.ariaLabel},domProps:{innerHTML:t._s(t.activeSvg)}}):t._e()},Qi=[],ts=$(Yi,Ji,Qi,!1,null,"86b73d39");const es=ts.exports,ns={name:"NcActionLink",mixins:[Vt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{href:{type:String,required:!0,validator:t=>{try{return new URL(t)}catch{return t.startsWith("#")||t.startsWith("/")}}},download:{type:String,default:null},target:{type:String,default:"_self",validator:t=>t&&(!t.startsWith("_")||["_blank","_self","_parent","_top"].indexOf(t)>-1)},title:{type:String,default:null},ariaHidden:{type:Boolean,default:null}}};var is=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("a",{staticClass:"action-link focusable",attrs:{download:t.download,href:t.href,"aria-label":t.ariaLabel,target:t.target,title:t.title,rel:"nofollow noreferrer noopener",role:t.isInSemanticMenu&&"menuitem"},on:{click:t.onClick}},[t._t("icon",function(){return[e("span",{staticClass:"action-link__icon",class:[t.isIconUrl?"action-link__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}})]}),t.name?e("span",{staticClass:"action-link__longtext-wrapper"},[e("strong",{staticClass:"action-link__name"},[t._v(" "+t._s(t.name)+" ")]),e("br"),e("span",{staticClass:"action-link__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-link__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-link__text"},[t._v(t._s(t.text))]),t._e()],2)])},ss=[],os=$(ns,is,ss,!1,null,"86e09254");const rs=os.exports,as={name:"NcActionRouter",mixins:[Vt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}},props:{to:{type:[String,Object],required:!0},exact:{type:Boolean,default:!1}}};var ls=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("RouterLink",{staticClass:"action-router focusable",attrs:{to:t.to,"aria-label":t.ariaLabel,exact:t.exact,title:t.title,rel:"nofollow noreferrer noopener",role:t.isInSemanticMenu&&"menuitem"},nativeOn:{click:function(n){return t.onClick.apply(null,arguments)}}},[t._t("icon",function(){return[e("span",{staticClass:"action-router__icon",class:[t.isIconUrl?"action-router__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}})]}),t.name?e("span",{staticClass:"action-router__longtext-wrapper"},[e("strong",{staticClass:"action-router__name"},[t._v(" "+t._s(t.name)+" ")]),e("br"),e("span",{staticClass:"action-router__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-router__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-router__text"},[t._v(t._s(t.text))]),t._e()],2)],1)},cs=[],us=$(as,ls,cs,!1,null,"4dae1ff7");const ds=us.exports,hs={name:"NcActionText",mixins:[Vt],inject:{isInSemanticMenu:{from:"NcActions:isSemanticMenu",default:!1}}};var ps=function(){var t=this,e=t._self._c;return e("li",{staticClass:"action",attrs:{role:t.isInSemanticMenu&&"presentation"}},[e("span",{staticClass:"action-text",on:{click:t.onClick}},[t._t("icon",function(){return[t.icon!==""?e("span",{staticClass:"action-text__icon",class:[t.isIconUrl?"action-text__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?`url(${t.icon})`:null},attrs:{"aria-hidden":"true"}}):t._e()]}),t.name?e("span",{staticClass:"action-text__longtext-wrapper"},[e("strong",{staticClass:"action-text__name"},[t._v(" "+t._s(t.name)+" ")]),e("span",{staticClass:"action-text__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e("span",{staticClass:"action-text__longtext",domProps:{textContent:t._s(t.text)}}):e("span",{staticClass:"action-text__text"},[t._v(t._s(t.text))]),t._e()],2)])},fs=[],gs=$(hs,ps,fs,!1,null,"2fe7eb92");const ms=gs.exports;ct(cn);const Re={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(t){if(!t)return;const e=Ce();if(!(!Object.hasOwn(e,"user_status")||!e.user_status.enabled)&&Bt())try{const{data:n}=await Ft.get(xe("apps/user_status/api/v1/statuses/{userId}",{userId:t}));this.setUserStatus(n.ocs.data)}catch(n){if(n.response.status===404&&n.response.data.ocs?.data?.length===0)return;It.error("Could not fetch user status",{error:n})}},setUserStatus({status:t,message:e,icon:n}){this.userStatus.status=t||"",this.userStatus.message=e||"",this.userStatus.icon=n||"",this.hasStatus=!!t}}},je=ln("nextcloud").persist().build();function vs(t){const e=je.getItem("user-has-avatar."+t);return typeof e=="string"?!!e:null}function me(t,e){t&&je.setItem("user-has-avatar."+t,e)}const ys={name:"NcAvatar",directives:{ClickOutside:Ii},components:{IconDotsHorizontal:rn,NcActions:on,NcButton:sn,NcIconSvgWrapper:_e,NcLoadingIcon:Se,NcUserStatusIcon:es},mixins:[Re],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},hideStatus:{type:Boolean,default:!1},showUserStatus:{type:Boolean,default:!0},verboseStatus:{type:Boolean,default:!1},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},noPlaceholder:{type:Boolean,default:!1},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[Boolean,String,Object,Element],default:"body"}},setup(){return{isDarkTheme:Bi()}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuData:{},contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?B("Avatar of {displayName}, {status}",{displayName:this.displayName??this.user,status:ze(this.userStatus.status)}):B("Avatar of {displayName}",{displayName:this.displayName??this.user})},canDisplayUserStatus(){return!this.hideStatus&&this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return!this.hideStatus&&this.showUserStatus&&!this.verboseStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){return this.disableMenu?!1:this.isMenuLoaded?this.menu.length>0:!(this.user===Bt()?.uid||this.userDoesNotExist||this.url)},showInitials(){return!this.noPlaceholder&&this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$scopedSlots.icon)},avatarStyle(){return{"--avatar-size":this.size+"px",lineHeight:this.showInitials?this.size+"px":0,fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:t,g:e,b:n}=he(this.userIdentifier);return{backgroundColor:`rgba(${t}, ${e}, ${n}, 0.1)`}},initialsStyle(){const{r:t,g:e,b:n}=he(this.userIdentifier);return{color:`rgb(${t}, ${e}, ${n})`}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let t="?";if(this.showInitials){const e=this.userIdentifier.trim();if(e==="")return t;const n=e.match(/[\p{L}\p{N}\s]/gu);if(!n)return t;const s=n.join(""),r=s.lastIndexOf(" ");t=String.fromCodePoint(s.codePointAt(0)),r!==-1&&(t=t.concat(String.fromCodePoint(s.codePointAt(r+1))))}return t.toLocaleUpperCase()},menu(){const t=this.contactsMenuActions.map(n=>{const s=Ei(this.$router,n.hyperlink);return{ncActionComponent:s?ds:rs,ncActionComponentProps:s?{to:s,icon:n.icon}:{href:n.hyperlink,icon:n.icon},text:n.title}});for(const n of Ui(this.contactsMenuData))try{t.push({ncActionComponent:an,ncActionComponentProps:{},ncActionComponentHandlers:{click:()=>n.callback(this.contactsMenuData)},text:n.displayName(this.contactsMenuData),iconSvg:n.iconSvg(this.contactsMenuData)})}catch(s){It.error(`Failed to render ContactsMenu action ${n.id}`,{error:s,action:n})}function e(n){const s=document.createTextNode(n),r=document.createElement("p");return r.appendChild(s),r.innerHTML}if(!this.hideStatus&&this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const n=` ${e(this.userStatus.icon)} `;return[{ncActionComponent:ms,ncActionComponentProps:{},iconSvg:this.userStatus.icon?n:void 0,text:`${this.userStatus.message}`}].concat(t)}return t}},watch:{url(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted(){this.loadAvatarUrl(),_t("settings:avatar:updated",this.loadAvatarUrl),_t("settings:display-name:updated",this.loadAvatarUrl),!this.hideStatus&&this.showUserStatus&&this.user&&!this.isNoUser?(this.preloadedUserStatus?this.setUserStatus(this.preloadedUserStatus):this.fetchUserStatus(this.user),_t("user_status:status.updated",this.handleUserStatusUpdated)):!this.hideStatus&&this.preloadedUserStatus&&this.setUserStatus(this.preloadedUserStatus)},beforeDestroy(){St("settings:avatar:updated",this.loadAvatarUrl),St("settings:display-name:updated",this.loadAvatarUrl),St("user_status:status.updated",this.handleUserStatusUpdated)},methods:{t:B,handleUserStatusUpdated(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message},this.hasStatus=t.status!==null)},async toggleMenu(t){t.type==="keydown"&&t.key!=="Enter"||(this.contactsMenuOpenState||await this.fetchContactsMenu(),this.contactsMenuOpenState=!this.contactsMenuOpenState)},closeMenu(){this.contactsMenuOpenState=!1},async fetchContactsMenu(){this.contactsMenuLoading=!0;try{const t=encodeURIComponent(this.user),{data:e}=await Ft.post(we("contactsmenu/findOne"),`shareType=0&shareWith=${t}`);this.contactsMenuData=e,this.contactsMenuActions=e.topAction?[e.topAction].concat(e.actions):e.actions}catch{this.contactsMenuOpenState=!1}this.contactsMenuLoading=!1,this.isMenuLoaded=!0},loadAvatarUrl(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser||this.iconClass||this.$scopedSlots.icon)){this.isAvatarLoaded=!0,this.userDoesNotExist=!0;return}if(this.isUrlDefined){this.updateImageIfValid(this.url);return}if(this.size<=64){const t=this.avatarUrlGenerator(this.user,64),e=[t+" 1x",this.avatarUrlGenerator(this.user,512)+" 8x"].join(", ");this.updateImageIfValid(t,e)}else{const t=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(t)}},avatarUrlGenerator(t,e){let n=Ri(t,{size:e,isDarkTheme:this.isDarkTheme,isGuest:this.isGuest});return t===Bt()?.uid&&typeof window.oc_userconfig<"u"&&(n+="?v="+window.oc_userconfig.avatar.version),n},updateImageIfValid(t,e=null){const n=vs(this.user);if(this.isUserDefined&&typeof n=="boolean"){this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),n===!1&&(this.userDoesNotExist=!0);return}const s=new Image;s.onload=()=>{this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),this.isAvatarLoaded=!0,me(this.user,!0)},s.onerror=r=>{It.debug("Invalid avatar url",{error:r,url:t}),this.avatarUrlLoaded=null,this.avatarSrcSetLoaded=null,this.userDoesNotExist=!0,this.isAvatarLoaded=!1,me(this.user,!1)},e&&(s.srcset=e),s.src=t}}};var bs=function(){var t=this,e=t._self._c;return e("span",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.closeMenu,expression:"closeMenu"}],staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":t.userDoesNotExist,"avatardiv--with-menu":t.hasMenu,"avatardiv--with-menu-loading":t.contactsMenuLoading},style:t.avatarStyle,attrs:{title:t.tooltip}},[t._t("icon",function(){return[t.iconClass?e("span",{staticClass:"avatar-class-icon",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e("img",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:""}}):t._e()]}),t.hasMenu&&t.menu.length===0?e("NcButton",{staticClass:"action-item action-item__menutoggle",attrs:{"aria-label":t.avatarAriaLabel,variant:"tertiary-no-background"},on:{click:t.toggleMenu},scopedSlots:t._u([{key:"icon",fn:function(){return[t.contactsMenuLoading?e("NcLoadingIcon"):e("IconDotsHorizontal",{attrs:{size:20}})]},proxy:!0}],null,!1,1269954734)}):t.hasMenu?e("NcActions",{attrs:{"aria-label":t.avatarAriaLabel,container:t.menuContainer,"force-menu":"","manual-open":"",open:t.contactsMenuOpenState,variant:"tertiary-no-background"},on:{"update:open":function(n){t.contactsMenuOpenState=n},click:t.toggleMenu},scopedSlots:t._u([t.contactsMenuLoading?{key:"icon",fn:function(){return[e("NcLoadingIcon")]},proxy:!0}:null],null,!0)},t._l(t.menu,function(n,s){return e(n.ncActionComponent,t._g(t._b({key:s,tag:"component",scopedSlots:t._u([n.iconSvg?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:n.iconSvg}})]},proxy:!0}:null],null,!0)},"component",n.ncActionComponentProps,!1),n.ncActionComponentHandlers),[t._v(" "+t._s(n.text)+" ")])}),1):t._e(),t.showUserStatusIconOnAvatar?e("span",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[t._v(" "+t._s(t.userStatus.icon)+" ")]):t.canDisplayUserStatus?e("NcUserStatusIcon",{staticClass:"avatardiv__user-status",attrs:{status:t.userStatus.status,"aria-hidden":String(t.hasMenu)}}):t._e(),t.showInitials?e("span",{staticClass:"avatardiv__initials-wrapper",style:t.initialsWrapperStyle},[e("span",{staticClass:"avatardiv__initials",style:t.initialsStyle},[t._v(" "+t._s(t.initials)+" ")])]):t._e()],2)},ws=[],xs=$(ys,bs,ws,!1,null,"a4de1e87");const Ss=xs.exports,_s=8,ve=32,Cs={name:"NcListItemIcon",components:{NcAvatar:Ss,NcHighlight:Ue,NcIconSvgWrapper:_e},mixins:[Re],props:{name:{type:String,required:!0},subname:{type:String,default:""},icon:{type:String,default:""},iconSvg:{type:String,default:""},iconName:{type:String,default:""},search:{type:String,default:""},avatarSize:{type:Number,default:ve},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},setup(){return{margin:_s,defaultSize:ve}},computed:{hasIcon(){return this.icon!==""},hasIconSvg(){return this.iconSvg!==""},isValidSubname(){return this.subname?.trim?.()!==""},isSizeBigEnough(){return this.avatarSize>=26},cssVars(){const t=this.noMargin?0:this.margin;return{"--height":this.avatarSize+2*t+"px","--margin":this.margin+"px"}},searchParts(){const t=/^([^<]*)<([^>]+)>?$/,e=this.search.match(t);return this.isNoUser||!e?[this.search,this.search]:[e[1].trim(),e[2]]}},beforeMount(){!this.isNoUser&&!this.subname&&this.fetchUserStatus(this.user)}};var Os=function(){var t=this,e=t._self._c;return e("span",t._g({staticClass:"option",class:{"option--compact":t.avatarSize({...t,...e.props}),{}),ariaLabelClearSelected:{type:String,default:B("Clear selected")},ariaLabelCombobox:{type:String,default:null},ariaLabelListbox:{type:String,default:B("Options")},ariaLabelDeselectOption:{type:Function,default:t=>B("Deselect {option}",{option:t})},appendToBody:{type:Boolean,default:!0},calculatePosition:{type:Function,default:null},closeOnSelect:{type:Boolean,default:!0},keepOpen:{type:Boolean,default:!1},components:{type:Object,default:()=>({Deselect:{render:t=>t(dn,{props:{size:20,fillColor:"var(--vs-controls-color)"},style:{cursor:"pointer"}})}})},limit:{type:Number,default:null},disabled:{type:Boolean,default:!1},dropdownShouldOpen:{type:Function,default:({noDrop:t,open:e})=>t?!1:e},filterBy:{type:Function,default:null},inputClass:{type:[String,Object],default:null},inputId:{type:String,default:()=>`select-input-${Wt()}`},inputLabel:{type:String,default:null},labelOutside:{type:Boolean,default:!1},keyboardFocusBorder:{type:Boolean,default:!0},label:{type:String,default:null},loading:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},mapKeydown:{type:Function,default(t,e){return{...t,27:n=>{e.open&&n.stopPropagation(),t[27](n)}}}},uid:{type:String,default:()=>Wt()},placement:{type:String,default:"bottom"},resetFocusOnOptionsChange:{type:Boolean,default:!0},userSelect:{type:Boolean,default:!1},value:{type:[String,Number,Object,Array],default:void 0},modelValue:{type:[String,Number,Object,Array],default:null},required:{type:Boolean,default:!1}," ":{}},emits:[" ","input","update:modelValue","update:model-value"],setup(){const t=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area")),e=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline")),n=t-2*e,s=un("value","input");return{avatarSize:n,model:s,isLegacy:K}},data(){return{search:""}},computed:{inputRequired(){return this.required?this.model===null||Array.isArray(this.model)&&this.model.length===0:null},localCalculatePosition(){return this.calculatePosition!==null?this.calculatePosition:(t,e,{width:n})=>{t.style.width=n;const s={name:"addClass",fn(){return t.classList.add("vs__dropdown-menu--floating"),{}}},r={name:"togglePlacementClass",fn({placement:u}){return e.$el.classList.toggle("select--drop-up",u==="top"),t.classList.toggle("vs__dropdown-menu--floating-placement-top",u==="top"),{}}},h=()=>{ci(e.$refs.toggle,t,{placement:this.placement,middleware:[oi(-1),s,r,ai(),ri({limiter:li()})]}).then(({x:u,y:o})=>{Object.assign(t.style,{left:`${u}px`,top:`${o}px`,width:`${e.$refs.toggle.getBoundingClientRect().width}px`})})};return si(e.$refs.toggle,t,h)}},localFilterBy(){const t=/[^<]*<([^>]+)/;return this.filterBy!==null?this.filterBy:this.userSelect?(e,n,s)=>{const r=s.match(t);return r&&e.subname?.toLocaleLowerCase?.()?.indexOf(r[1].toLocaleLowerCase())>-1||`${n} ${e.subname}`.toLocaleLowerCase().indexOf(s.toLocaleLowerCase())>-1}:X.VueSelect.props.filterBy.default},localLabel(){return this.label!==null?this.label:this.userSelect?"displayName":X.VueSelect.props.label.default},propsToForward(){const t=[...Object.keys(X.VueSelect.props),...X.VueSelect.mixins.flatMap(e=>Object.keys(e.props??{}))];return{...Object.fromEntries(Object.entries(this.$props).filter(([e])=>t.includes(e))),value:this.model,calculatePosition:this.localCalculatePosition,closeOnSelect:this.closeOnSelect&&!this.keepOpen,filterBy:this.localFilterBy,label:this.localLabel}},listenersToForward(){return{...this.$listeners,input:t=>{this.model=t}}}},mounted(){!this.labelOutside&&!this.inputLabel&&!this.ariaLabelCombobox&&kt.util.warn("[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`."),this.inputLabel&&this.ariaLabelCombobox&&kt.util.warn("[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.")},methods:{t:B}};var Ds=function(){var t=this,e=t._self._c;return e("VueSelect",t._g(t._b({staticClass:"select",class:{"select--legacy":t.isLegacy,"select--no-wrap":t.noWrap,"user-select":t.userSelect},on:{search:n=>t.search=n},scopedSlots:t._u([!t.labelOutside&&t.inputLabel?{key:"header",fn:function(){return[e("label",{staticClass:"select__label",attrs:{for:t.inputId}},[t._v(" "+t._s(t.inputLabel)+" ")])]},proxy:!0}:null,{key:"search",fn:function({attributes:n,events:s}){return[e("input",t._g(t._b({staticClass:"vs__search",class:t.inputClass,attrs:{required:t.inputRequired,dir:"auto"}},"input",n,!1),s))]}},{key:"open-indicator",fn:function({attributes:n}){return[e("ChevronDown",t._b({style:{cursor:t.disabled?null:"pointer"},attrs:{"fill-color":"var(--vs-controls-color)",size:26}},"ChevronDown",n,!1))]}},{key:"option",fn:function(n){return[t._t("option",function(){return[t.userSelect?e("NcListItemIcon",t._b({attrs:{"avatar-size":32,name:n[t.localLabel],search:t.search}},"NcListItemIcon",n,!1)):e("NcEllipsisedOption",{attrs:{name:String(n[t.localLabel]),search:t.search}})]},null,n)]}},{key:"selected-option",fn:function(n){return[t._t("selected-option",function(){return[t.userSelect?e("NcListItemIcon",t._b({attrs:{"avatar-size":t.avatarSize,name:n[t.localLabel],"no-margin":"",search:t.search}},"NcListItemIcon",n,!1)):e("NcEllipsisedOption",{attrs:{name:String(n[t.localLabel]),search:t.search}})]},{vBind:n})]}},{key:"spinner",fn:function(n){return[n.loading?e("NcLoadingIcon"):t._e()]}},{key:"no-options",fn:function(){return[t._v(" "+t._s(t.t("No results"))+" ")]},proxy:!0},t._l(t.$scopedSlots,function(n,s){return{key:s,fn:function(r){return[t._t(s,null,null,r)]}}})],null,!0)},"VueSelect",t.propsToForward,!1),t.listenersToForward))},Bs=[],Is=$(ks,Ds,Bs,!1,null,null);const Ps=Is.exports;export{Ps as default}; -//# sourceMappingURL=NcSelect-B916TNPl.chunk.mjs.map +//# sourceMappingURL=NcSelect-4m4ULV6A.chunk.mjs.map diff --git a/js/NcSelect-B916TNPl.chunk.mjs.map b/js/NcSelect-4m4ULV6A.chunk.mjs.map similarity index 99% rename from js/NcSelect-B916TNPl.chunk.mjs.map rename to js/NcSelect-4m4ULV6A.chunk.mjs.map index d11f606cd..0a1ef2a8f 100644 --- a/js/NcSelect-B916TNPl.chunk.mjs.map +++ b/js/NcSelect-4m4ULV6A.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"NcSelect-B916TNPl.chunk.mjs","sources":["../node_modules/@nextcloud/capabilities/dist/index.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/@nextcloud/vue-select/dist/vue-select.js","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-DFQfzh63.mjs","../node_modules/@nextcloud/vue/dist/chunks/index-CxTT94_h.mjs","../node_modules/@nextcloud/vue/dist/Components/NcEllipsisedOption.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsFullscreen.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@nextcloud/vue/dist/Functions/isDarkTheme.mjs","../node_modules/@nextcloud/vue/dist/chunks/constants-wIEKSp2G.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsDarkTheme.mjs","../node_modules/@vueuse/components/node_modules/vue-demi/lib/index.mjs","../node_modules/@vueuse/components/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/autolink-D2pIbi92.mjs","../node_modules/@nextcloud/vue/dist/Functions/contactsMenu.mjs","../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../node_modules/@nextcloud/vue/dist/Functions/usernameToColor.mjs","../node_modules/@nextcloud/vue/dist/chunks/getAvatarUrl-IhLacDEr.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-BjrsTrss.mjs","../node_modules/@nextcloud/vue/dist/Components/NcActionLink.mjs","../node_modules/@nextcloud/vue/dist/Components/NcActionRouter.mjs","../node_modules/@nextcloud/vue/dist/Components/NcActionText.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAvatar-OCD_HmOb.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcListItemIcon-BKWOSFfG.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSelect-BD9fhCVy.mjs"],"sourcesContent":["import { loadState } from \"@nextcloud/initial-state\";\nfunction getCapabilities() {\n try {\n return loadState(\"core\", \"capabilities\");\n } catch (error) {\n console.debug(\"Could not find capabilities initial state fall back to _oc_capabilities\");\n if (!(\"_oc_capabilities\" in window)) {\n return {};\n }\n return window[\"_oc_capabilities\"];\n }\n}\nexport {\n getCapabilities\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n var _platform$detectOverf;\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: {\n ...platform,\n detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow\n },\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle