UNPKG

vue-time-date-range-picker

Version:
2 lines 36.5 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("moment"),require("vue")):"function"==typeof define&&define.amd?define(["moment","vue"],e):"object"==typeof exports?exports.vdprDatePicker=e(require("moment"),require("vue")):t.vdprDatePicker=e(t.moment,t.Vue)}(self,((t,e)=>(()=>{"use strict";var a={744:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=(t,e)=>{const a=t.__vccOpts||t;for(const[t,n]of e)a[t]=n;return a}},192:e=>{e.exports=t},976:t=>{t.exports=e}},n={};function i(t){var e=n[t];if(void 0!==e)return e.exports;var r=n[t]={exports:{}};return a[t](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var a in e)i.o(e,a)&&!i.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return(()=>{i.r(r),i.d(r,{CalendarDialog:()=>lt,default:()=>ct});var t=i(976),e={class:"vdpr-datepicker"};const a=function(t){return"[object Date]"===Object.prototype.toString.call(t)},n=function(t){return Object.keys(t).length},l=function(t){return!(t&&Object.keys(t).length>0)};function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,i,r,l,o=[],s=!0,d=!1;try{if(r=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=r.call(a)).done)&&(o.push(n.value),o.length!==e);s=!0);}catch(t){d=!0,i=t}finally{try{if(!s&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw i}}return o}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return s(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);"Object"===a&&t.constructor&&(a=t.constructor.name);if("Map"===a||"Set"===a)return Array.from(t);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return s(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}const d={isValidInitialDate:function(t){if(!t||0===t.length)return!0;var e=o(t,2),n=e[0],i=e[1];return a(n)&&a(i)&&i.getTime()>=n.getTime()},isValidHelperButtons:function(t){if(!t||0===t.length)return!0;var e=t.filter((function(t){var e="string"==typeof t.name&&""!==t.name,n=a(t.from),i=a(t.to);return e&&n&&i}));return t.length===e.length},isValidDateRestriction:function(t){if(!t||0===n(t))return!0;var e=t.dates,i=t.from,r=t.to,l=t.ranges,o=t.custom;if(Array.isArray(e)&&e.filter((function(t){return a(t)})).length!==e.length)return!1;if(void 0!==i&&!a(i))return!1;if(void 0!==r&&!a(r))return!1;if(Array.isArray(l)&&l.filter((function(t){return a(t.from)&&a(t.to)})).length!==l.length)return!1;return void 0===o||"function"==typeof o},isValidSameDateFormat:function(t){if(!t||0===n(t))return!0;var e=t.from,a=t.to;return"string"==typeof e&&"string"==typeof a}};var c=i(192),u=i.n(c);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function h(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(i=n.key,r=void 0,r=function(t,e){if("object"!==p(t)||null===t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var n=a.call(t,e||"default");if("object"!==p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===p(r)?r:String(r)),n)}var i,r}var f=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.lang=e,this.localMoment=u()().locale(e)}var e,n,i;return e=t,n=[{key:"createDate",value:function(){return u().apply(void 0,arguments).locale(this.lang).toDate()}},{key:"getDayNames",value:function(){return this.localMoment.localeData().weekdays()}},{key:"getAbbrDayNames",value:function(){return this.localMoment.localeData().weekdaysShort()}},{key:"getMonthNames",value:function(){return this.localMoment.localeData().months()}},{key:"getAbbrMonthNames",value:function(){return this.localMoment.localeData().monthsShort()}},{key:"formatDate",value:function(t,e){return u()(t).locale(this.lang).format(e)}},{key:"isSameDate",value:function(t,e){return u()(t).format("DD MM YYYY")===u()(e).format("DD MM YYYY")}},{key:"isAllDay",value:function(t,e){var a=u()(t).startOf("day"),n=u()(e).endOf("day");return u()(t).format("DD MM YYYY HH:mm")===a.format("DD MM YYYY HH:mm")&&u()(e).format("DD MM YYYY HH:mm")===n.format("DD MM YYYY HH:mm")}},{key:"isValidDate",value:function(t){return a(t)&&u()(t).isValid()}},{key:"toUnix",value:function(t){return u()(t).unix()}},{key:"fromUnix",value:function(t){return u().unix(t).toDate()}},{key:"startOf",value:function(t,e){return u()(t).locale(this.lang).startOf(e).toDate()}},{key:"endOf",value:function(t,e){return u()(t).locale(this.lang).endOf(e).toDate()}},{key:"isBefore",value:function(t,e){return u()(t).isBefore(e)}},{key:"isSameOrBefore",value:function(t,e){return u()(t).isSameOrBefore(e)}},{key:"isAfter",value:function(t,e){return u()(t).isAfter(e)}},{key:"isSameOrAfter",value:function(t,e){return u()(t).isSameOrAfter(e)}},{key:"isBetween",value:function(t,e,a){return u()(t).isBetween(e,a)}},{key:"isSameOrBetween",value:function(t,e,a){var n=u()(t);return n.isSameOrAfter(e)&&n.isSameOrBefore(a)}},{key:"add",value:function(t,e,a){return u()(t).locale(this.lang).add(e,a).toDate()}},{key:"subtract",value:function(t,e,a){return u()(t).locale(this.lang).subtract(e,a).toDate()}},{key:"daysInMonth",value:function(t){return u()(t).daysInMonth()}},{key:"day",value:function(t){return u()(t).day()}},{key:"month",value:function(t){return u()(t).month()}},{key:"year",value:function(t){return u()(t).year()}}],n&&h(e.prototype,n),i&&h(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}(),m=["id","type","name","placeholder","required","value"];const y={props:{inputClass:[String,Object,Array],refName:String,name:String,type:String,placeholder:String,id:String,required:Boolean,format:String,sameDateFormat:Object,language:String,selectedStartDate:Date,selectedEndDate:Date},emits:["on-click"],computed:{dateUtil:function(){return new f(this.language)},formattedValue:function(){if(!this.selectedStartDate||!this.selectedEndDate)return"";if(this.dateUtil.isSameDate(this.selectedStartDate,this.selectedEndDate)){var t=this.dateUtil.formatDate(this.selectedStartDate,this.sameDateFormat.from),e=this.dateUtil.formatDate(this.selectedEndDate,this.sameDateFormat.to);return"".concat(t," - ").concat(e)}var a=this.dateUtil.formatDate(this.selectedStartDate,this.format),n=this.dateUtil.formatDate(this.selectedEndDate,this.format);return"".concat(a," - ").concat(n)}},methods:{onClick:function(){this.$emit("on-click",!0)}}};var D=i(744);const v=(0,D.default)(y,[["render",function(e,a,n,i,r,l){return(0,t.openBlock)(),(0,t.createElementBlock)("div",null,[(0,t.createElementVNode)("input",{id:n.id,type:n.type,ref:n.refName,name:n.name,placeholder:n.placeholder,required:n.required,value:l.formattedValue,class:(0,t.normalizeClass)(n.inputClass),onClick:a[0]||(a[0]=function(){return l.onClick&&l.onClick.apply(l,arguments)}),readonly:""},null,10,m)])}]]);var b={key:0,class:"vdpr-datepicker__calendar-button-helper"},g=["onClick"],S={class:"vdpr-datepicker__calendar-actions"},k={class:"vdpr-datepicker__calendar-input-wrapper"},U={class:"vdpr-datepicker__calendar-input-wrapper"},C={class:"vdpr-datepicker__calendar-input-wrapper vdpr-datepicker__calendar-input-wrapper--end"},O={class:"vdpr-datepicker__calendar-input-wrapper"},w={class:"vdpr-datepicker__calendar-input-wrapper vdpr-datepicker__calendar-input-wrapper--end"};var B={class:"vdpr-datepicker__calendar"},E={class:"vdpr-datepicker__calendar-control"},A={class:"vdpr-datepicker__calendar-month-year"},I={class:"vdpr-datepicker__calendar-table"},_=["onClick"];function V(t){return V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},V(t)}function N(t){return function(t){if(Array.isArray(t))return T(t)}(t)||M(t)||j(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(t){return function(t){if(Array.isArray(t))return t}(t)||M(t)||j(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(t,e){if(t){if("string"==typeof t)return T(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?T(t,e):void 0}}function T(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}function M(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function Y(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(i=n.key,r=void 0,r=function(t,e){if("object"!==V(t)||null===t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var n=a.call(t,e||"default");if("object"!==V(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(i,"string"),"symbol"===V(r)?r:String(r)),n)}var i,r}function H(t,e,a){return e&&Y(t.prototype,e),a&&Y(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t}var $=H((function t(e,a,n,i,r,l){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.date=e,this.timestamp=e.getTime(),this.dateNumber=e.getDate(),this.isBetween=a,this.isStartDate=n,this.isEndDate=i,this.isDisabled=r,this.isFaded=l}));const P={props:{selectedStartDate:Date,selectedEndDate:Date,language:String,disabledDates:Object,availableDates:Object,isMondayFirst:Boolean},data:function(){var t,e,a=new f(this.language),n=null!==(t=null!==(e=this.selectedStartDate)&&void 0!==e?e:this.selectedEndDate)&&void 0!==t?t:new Date;return{pageTimestamp:a.toUnix(a.startOf(n,"month"))}},emits:["select-disabled-date","select-date","on-prev-calendar","on-next-calendar"],computed:{dateUtil:function(){return new f(this.language)},dayNames:function(){var t=this.dateUtil.getAbbrDayNames();if(this.isMondayFirst){var e=x(t),a=e[0],n=e.slice(1);return[].concat(N(n),[a])}return t},monthYear:function(){var t=this.dateUtil.fromUnix(this.pageTimestamp);return this.dateUtil.formatDate(t,"MMM YYYY")},days:function(){for(var t=this.dateUtil.fromUnix(this.pageTimestamp),e=this.dateUtil.daysInMonth(t),a=[],n=[],i=[],r=0;r<e;r+=1)a.push(this.constructDay(t,!1)),t=this.dateUtil.add(t,1,"d");for(var l=a[0].date,o=this.isMondayFirst?1:0;l.getDay()!==o;)l=this.dateUtil.subtract(l,1,"d"),n.unshift(this.constructDay(l,!0));for(var s=a[a.length-1].date,d=n.length+a.length;d<42;d+=1)s=this.dateUtil.add(s,1,"d"),i.push(this.constructDay(s,!0));return[].concat(n,a,i)},isNextDisabled:function(){if(this.disabledDates&&this.disabledDates.from){var t=this.disabledDates,e=t.from,a=t.to;if(a&&this.dateUtil.isAfter(a,e))return!1;var n=this.dateUtil.fromUnix(this.pageTimestamp);return this.dateUtil.month(e)<=this.dateUtil.month(n)&&this.dateUtil.year(e)<=this.dateUtil.year(n)||this.dateUtil.year(e)<this.dateUtil.year(n)}if(l(this.disabledDates)&&this.availableDates&&this.availableDates.to){var i=this.availableDates,r=i.from,o=i.to;if(r&&this.dateUtil.isAfter(r,o))return!1;var s=this.dateUtil.fromUnix(this.pageTimestamp);return this.dateUtil.month(o)<=this.dateUtil.month(s)&&this.dateUtil.year(o)<=this.dateUtil.year(s)||this.dateUtil.year(o)<this.dateUtil.year(s)}return!1},isPrevDisabled:function(){if(this.disabledDates&&this.disabledDates.to){var t=this.disabledDates,e=t.from,a=t.to;if(e&&this.dateUtil.isBefore(e,a))return!1;var n=this.dateUtil.fromUnix(this.pageTimestamp);return this.dateUtil.month(a)>=this.dateUtil.month(n)&&this.dateUtil.year(a)>=this.dateUtil.year(n)||this.dateUtil.year(a)>this.dateUtil.year(n)}if(l(this.disabledDates)&&this.availableDates&&this.availableDates.from){var i=this.availableDates,r=i.from,o=i.to;if(o&&this.dateUtil.isBefore(o,r))return!1;var s=this.dateUtil.fromUnix(this.pageTimestamp);return this.dateUtil.month(r)>=this.dateUtil.month(s)&&this.dateUtil.year(r)>=this.dateUtil.year(s)||this.dateUtil.year(r)>this.dateUtil.year(s)}return!1}},methods:{getRowDays:function(t){var e=7*t,a=e-7;return this.days.slice(a,e)},constructDay:function(t,e){return new $(t,this.dateUtil.isBetween(t,this.selectedStartDate,this.selectedEndDate),this.dateUtil.isSameDate(t,this.selectedStartDate),this.dateUtil.isSameDate(t,this.selectedEndDate),this.isDisabledDate(t),e)},isDisabledDate:function(t){var e=this;if(l(this.disabledDates)&&l(this.availableDates))return!1;var a=!1;if(l(this.disabledDates)){if(!l(this.availableDates)){a=!0;var n=this.availableDates,i=n.dates,r=n.from,o=n.to,s=n.ranges,d=n.custom;if(void 0!==i&&Array.isArray(i)&&(i.forEach((function(n){e.dateUtil.isSameDate(n,t)&&(a=!1)})),a))return!0;if("undefined"!==s&&Array.isArray(s)&&(s.forEach((function(n){e.dateUtil.isValidDate(n.from)&&e.dateUtil.isValidDate(n.to)&&e.dateUtil.isSameOrBetween(t,n.from,n.to)&&(a=!1)})),a))return!0;this.dateUtil.isValidDate(r)&&this.dateUtil.isValidDate(o)&&this.dateUtil.isBefore(r,o)?this.dateUtil.isSameOrBetween(t,r,o)&&(a=!1):(this.dateUtil.isValidDate(o)&&this.dateUtil.isSameOrBefore(t,o)&&(a=!1),this.dateUtil.isValidDate(r)&&this.dateUtil.isSameOrAfter(t,r)&&(a=!1)),"function"==typeof d&&d(t)&&(a=!1)}}else{var c=this.disabledDates,u=c.dates,p=c.from,h=c.to,f=c.ranges,m=c.custom;if(void 0!==u&&Array.isArray(u)&&(u.forEach((function(n){e.dateUtil.isSameDate(n,t)&&(a=!0)})),a))return!0;if("undefined"!==f&&Array.isArray(f)&&(f.forEach((function(n){e.dateUtil.isValidDate(n.from)&&e.dateUtil.isValidDate(n.to)&&e.dateUtil.isSameOrBetween(t,n.from,n.to)&&(a=!0)})),a))return!0;this.dateUtil.isValidDate(p)&&this.dateUtil.isValidDate(h)&&this.dateUtil.isBefore(p,h)?this.dateUtil.isSameOrBetween(t,p,h)&&(a=!0):(this.dateUtil.isValidDate(p)&&this.dateUtil.isSameOrAfter(t,p)&&(a=!0),this.dateUtil.isValidDate(h)&&this.dateUtil.isSameOrBefore(t,h)&&(a=!0)),"function"==typeof m&&m(t)&&(a=!0)}return a},selectDate:function(t){return t.isDisabled?this.$emit("select-disabled-date",t.date):this.$emit("select-date",t.date)},onPrevClick:function(){if(!this.isPrevDisabled){var t=this.dateUtil.subtract(this.dateUtil.fromUnix(this.pageTimestamp),1,"month");this.pageTimestamp=this.dateUtil.toUnix(t),this.$emit("on-prev-calendar")}},onNextClick:function(){if(!this.isNextDisabled){var t=this.dateUtil.add(this.dateUtil.fromUnix(this.pageTimestamp),1,"month");this.pageTimestamp=this.dateUtil.toUnix(t),this.$emit("on-next-calendar")}}}},F=(0,D.default)(P,[["render",function(e,a,n,i,r,l){return(0,t.openBlock)(),(0,t.createElementBlock)("div",B,[(0,t.createElementVNode)("div",E,[(0,t.createElementVNode)("span",{class:(0,t.normalizeClass)(["vdpr-datepicker__calendar-control-prev",{"vdpr-datepicker__calendar-control-disabled":l.isPrevDisabled}]),onClick:a[0]||(a[0]=function(){return l.onPrevClick&&l.onPrevClick.apply(l,arguments)})},null,2),(0,t.createElementVNode)("span",A,(0,t.toDisplayString)(l.monthYear),1),(0,t.createElementVNode)("span",{class:(0,t.normalizeClass)(["vdpr-datepicker__calendar-control-next",{"vdpr-datepicker__calendar-control-disabled":l.isNextDisabled}]),onClick:a[1]||(a[1]=function(){return l.onNextClick&&l.onNextClick.apply(l,arguments)})},null,2)]),(0,t.createElementVNode)("table",I,[(0,t.createElementVNode)("thead",null,[(0,t.createElementVNode)("tr",null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.dayNames,(function(e){return(0,t.openBlock)(),(0,t.createElementBlock)("th",{key:e},(0,t.toDisplayString)(e),1)})),128))])]),(0,t.createElementVNode)("tbody",null,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(6,(function(e){return(0,t.createElementVNode)("tr",{key:e},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.getRowDays(e),(function(e){return(0,t.openBlock)(),(0,t.createElementBlock)("td",{key:e.timestamp,class:(0,t.normalizeClass)({highlighted:e.isBetween||e.isStartDate||e.isEndDate,faded:e.isFaded,disabled:e.isDisabled}),onClick:function(t){return l.selectDate(e)}},(0,t.toDisplayString)(e.dateNumber),11,_)})),128))])})),64))])])])}]]);var L={class:"vdpr-datepicker__switch"},R=["checked"],q=(0,t.createElementVNode)("span",{class:"vdpr-datepicker__switch-slider"},null,-1);const z={props:{checked:Boolean},emits:["on-check-change"],methods:{onClick:function(){this.$emit("on-check-change",!this.checked)}}},W=(0,D.default)(z,[["render",function(e,a,n,i,r,l){return(0,t.openBlock)(),(0,t.createElementBlock)("label",L,[(0,t.createElementVNode)("input",{type:"checkbox",checked:n.checked,onClick:a[0]||(a[0]=function(){return l.onClick&&l.onClick.apply(l,arguments)})},null,8,R),q])}]]);var G={class:"vdpr-datepicker__calendar-input-date"},J=["value"];const K={props:{inputClass:[String,Object,Array],timestamp:Number,format:String,language:String},data:function(){return{copyTimestamp:this.timestamp}},emits:["on-change"],watch:{timestamp:function(t){this.copyTimestamp=t}},computed:{dateUtil:function(){return new f(this.language)},formattedValue:function(){if(0===this.copyTimestamp)return"";var t=this.dateUtil.fromUnix(this.copyTimestamp);return this.dateUtil.formatDate(t,this.format)}},methods:{onChange:function(t){var e=this.dateUtil.fromUnix(this.copyTimestamp),a=this.dateUtil.formatDate(e,"HH:mm:ss"),n=this.dateUtil.createDate("".concat(t.target.value," ").concat(a),"".concat(this.format," HH:mm:ss"));return!!this.dateUtil.isValidDate(n)&&this.$emit("on-change",n)}}};var Q={class:"vdpr-datepicker__calendar-input-time"},X=["value","readonly"],Z={class:"vdpr-datepicker__calendar-input-time-control"};function tt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,i,r,l,o=[],s=!0,d=!1;try{if(r=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=r.call(a)).done)&&(o.push(n.value),o.length!==e);s=!0);}catch(t){d=!0,i=t}finally{try{if(!s&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw i}}return o}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return et(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);"Object"===a&&t.constructor&&(a=t.constructor.name);if("Map"===a||"Set"===a)return Array.from(t);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return et(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function et(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}const at={props:{inputClass:[String,Object,Array],readonly:Boolean,timestamp:Number,language:String,step:Number},data:function(){return{copyTimestamp:this.timestamp,format:"HH:mm"}},emits:["on-change"],computed:{dateUtil:function(){return new f(this.language)},formattedValue:function(){return 0===this.copyTimestamp?"":this.dateUtil.formatDate(this.dateUtil.fromUnix(this.copyTimestamp),this.format)}},watch:{timestamp:function(t){this.copyTimestamp=t}},methods:{onClickUp:function(){return 0!==this.copyTimestamp&&(this.copyTimestamp+=60*this.step,this.$emit("on-change",this.dateUtil.fromUnix(this.copyTimestamp)))},onClickDown:function(){return 0!==this.copyTimestamp&&(this.copyTimestamp-=60*this.step,this.$emit("on-change",this.dateUtil.fromUnix(this.copyTimestamp)))},onChange:function(t){var e=tt(t.target.value.trim().split(":"),2),a=e[0],n=e[1];if(a=parseInt(a,10),n=parseInt(n,10),isNaN(a)||isNaN(n))return!1;var i=60*a+n,r=this.dateUtil.startOf(this.dateUtil.fromUnix(this.copyTimestamp),"d"),l=this.dateUtil.add(r,i,"m");return this.$emit("on-change",l)}}};function nt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,i,r,l,o=[],s=!0,d=!1;try{if(r=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=r.call(a)).done)&&(o.push(n.value),o.length!==e);s=!0);}catch(t){d=!0,i=t}finally{try{if(!s&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw i}}return o}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return it(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);"Object"===a&&t.constructor&&(a=t.constructor.name);if("Map"===a||"Set"===a)return Array.from(t);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return it(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function it(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}const rt={components:{Calendar:F,CalendarInputDate:(0,D.default)(K,[["render",function(e,a,n,i,r,l){return(0,t.openBlock)(),(0,t.createElementBlock)("div",G,[(0,t.createElementVNode)("input",{class:(0,t.normalizeClass)(["vdpr-datepicker__calendar-input-date-elem",n.inputClass]),type:"text",value:l.formattedValue,onChange:a[0]||(a[0]=function(){return l.onChange&&l.onChange.apply(l,arguments)})},null,42,J)])}]]),CalendarInputTime:(0,D.default)(at,[["render",function(e,a,n,i,r,l){return(0,t.openBlock)(),(0,t.createElementBlock)("div",Q,[(0,t.createElementVNode)("input",{class:(0,t.normalizeClass)(["vdpr-datepicker__calendar-input-time-elem",n.inputClass]),type:"text",value:l.formattedValue,readonly:n.readonly,onChange:a[0]||(a[0]=function(){return l.onChange&&l.onChange.apply(l,arguments)})},null,42,X),(0,t.createElementVNode)("div",Z,[(0,t.createElementVNode)("span",{class:"vdpr-datepicker__calendar-input-time-control-up",onClick:a[1]||(a[1]=function(){return l.onClickUp&&l.onClickUp.apply(l,arguments)})}," ▲ "),(0,t.createElementVNode)("span",{class:"vdpr-datepicker__calendar-input-time-control-down",onClick:a[2]||(a[2]=function(){return l.onClickDown&&l.onClickDown.apply(l,arguments)})}," ▼ ")])])}]]),SwitchButton:W},props:{inline:{type:Boolean,default:!1},initialDates:{type:Array,validator:d.isValidInitialDate,default:function(){return[]}},language:{type:String,default:"en"},disabledDates:{type:Object,validator:d.isValidDateRestriction,default:function(){return{}}},availableDates:{type:Object,validator:d.isValidDateRestriction,default:function(){return{}}},showHelperButtons:{type:Boolean,default:!0},helperButtons:{type:Array,validator:d.isValidHelperButtons,default:function(){return[]}},timeInput:{type:Object,default:function(){return{inputClass:null,readonly:!1,step:60}}},dateInput:{type:Object,default:function(){return{labelStarts:"Starts",labelEnds:"Ends",inputClass:null,format:"DD/MM/YYYY",readonly:!1}}},switchButtonLabel:{type:String,default:"All Days"},switchButtonInitial:{type:Boolean,default:!1},applyButtonLabel:{type:String,default:"Apply"},resetButtonLabel:{type:String,default:"Reset"},isMondayFirst:{type:Boolean,default:!1}},data:function(){var t=new f(this.language),e=nt(this.initialDates,2),a=e[0],n=e[1],i=this.switchButtonInitial;return a&&n&&(i=!!t.isAllDay(a,n)),{selectedStartDate:null!=a?a:null,selectedEndDate:null!=n?n:null,isAllDay:i}},emits:["on-apply","on-reset","select-date","select-disabled-date","on-prev-calendar","on-next-calendar"],computed:{dateUtil:function(){return new f(this.language)},helpers:function(){return this.showHelperButtons?this.helperButtons.length?this.helperButtons:this.getDefaultHelpers():[]},unixSelectedStartDate:function(){return this.selectedStartDate?this.dateUtil.toUnix(this.selectedStartDate):0},unixSelectedEndDate:function(){return this.selectedEndDate?this.dateUtil.toUnix(this.selectedEndDate):0},isVisibleTimeInput:function(){return!this.isAllDay},isVisibleButtonApply:function(){return!this.inline}},methods:{onCheckChange:function(t){this.isAllDay=t,this.selectedStartDate&&this.selectedEndDate&&(this.selectedStartDate=this.dateUtil.startOf(this.selectedStartDate,"d"),this.selectedEndDate=t?this.dateUtil.endOf(this.selectedEndDate,"d"):this.dateUtil.startOf(this.selectedEndDate,"d"))},onStartInputDateChange:function(t){this.applyOrSwapApply(t,this.selectedEndDate),this.emitOnApplyIfInline()},onEndDateInputDateChange:function(t){this.applyOrSwapApply(this.selectedStartDate,t),this.emitOnApplyIfInline()},onTimeStartInputChange:function(t){this.applyOrSwapApply(t,this.selectedEndDate),this.emitOnApplyIfInline()},onTimeEndInputChange:function(t){this.applyOrSwapApply(this.selectedStartDate,t),this.emitOnApplyIfInline()},onHelperClick:function(t,e){this.dateUtil.isAllDay(t,e)?this.isAllDay=!0:this.isAllDay=!1,this.applyOrSwapApply(t,e),this.$emit("select-date",this.selectedStartDate,this.selectedEndDate),this.emitOnApplyIfInline()},onClickButtonApply:function(){this.$emit("on-apply",this.selectedStartDate,this.selectedEndDate)},onClickButtonReset:function(){this.selectedStartDate=null,this.selectedEndDate=null,this.isAllDay=!1,this.$emit("on-reset")},selectDate:function(t){var e=this.selectedStartDate,a=this.selectedEndDate;this.dateUtil.isValidDate(e)&&this.dateUtil.isValidDate(a)&&this.dateUtil.isSameDate(e,a)||(e=t),a=t,this.applyOrSwapApply(e,a),this.isAllDay&&(this.selectedStartDate=this.dateUtil.startOf(this.selectedStartDate,"d"),this.selectedEndDate=this.dateUtil.endOf(this.selectedEndDate,"d")),this.$emit("select-date",this.selectedStartDate,this.selectedEndDate),this.emitOnApplyIfInline()},selectDisabledDate:function(t){this.$emit("select-disabled-date",t)},applyOrSwapApply:function(t,e){if(this.dateUtil.isAfter(t,e)){var a=[e,t];this.selectedStartDate=a[0],this.selectedEndDate=a[1]}else this.selectedStartDate=t,this.selectedEndDate=e},emitOnApplyIfInline:function(){this.inline&&this.$emit("on-apply",this.selectedStartDate,this.selectedEndDate)},getDefaultHelpers:function(){var t=new Date,e=this.dateUtil.subtract(t,1,"d"),a=this.dateUtil.subtract(t,7,"d"),n=this.dateUtil.subtract(t,1,"M"),i=this.dateUtil.subtract(t,1,"y");return[{name:"Today",from:this.dateUtil.startOf(t,"d"),to:this.dateUtil.endOf(t,"d")},{name:"Yesterday",from:this.dateUtil.startOf(e,"d"),to:this.dateUtil.endOf(e,"d")},{name:"This Week",from:this.dateUtil.startOf(t,"week"),to:this.dateUtil.endOf(t,"week")},{name:"Last Week",from:this.dateUtil.startOf(a,"week"),to:this.dateUtil.endOf(a,"week")},{name:"This Month",from:this.dateUtil.startOf(t,"month"),to:this.dateUtil.endOf(t,"month")},{name:"Last Month",from:this.dateUtil.startOf(n,"month"),to:this.dateUtil.endOf(n,"month")},{name:"This Year",from:this.dateUtil.startOf(t,"year"),to:this.dateUtil.endOf(t,"year")},{name:"Last Year",from:this.dateUtil.startOf(i,"year"),to:this.dateUtil.endOf(i,"year")}]},onPrevCalendar:function(){this.$emit("on-prev-calendar")},onNextCalendar:function(){this.$emit("on-next-calendar")}}},lt=(0,D.default)(rt,[["render",function(e,a,n,i,r,l){var o=(0,t.resolveComponent)("calendar"),s=(0,t.resolveComponent)("switch-button"),d=(0,t.resolveComponent)("calendar-input-date"),c=(0,t.resolveComponent)("calendar-input-time");return(0,t.openBlock)(),(0,t.createElementBlock)("div",{class:(0,t.normalizeClass)(["vdpr-datepicker__calendar-dialog",{"vdpr-datepicker__calendar-dialog--inline":this.inline}])},[l.helpers.length?((0,t.openBlock)(),(0,t.createElementBlock)("div",b,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.helpers,(function(e){return(0,t.openBlock)(),(0,t.createElementBlock)("button",{key:"btn"+e.name,class:(0,t.normalizeClass)(["vdpr-datepicker__button","vdpr-datepicker__button--block","vdpr-datepicker__button-default"]),onClick:function(){l.onHelperClick(e.from,e.to)}},(0,t.toDisplayString)(e.name),9,g)})),128))])):(0,t.createCommentVNode)("v-if",!0),(0,t.createVNode)(o,{language:n.language,selectedStartDate:r.selectedStartDate,selectedEndDate:r.selectedEndDate,disabledDates:n.disabledDates,availableDates:n.availableDates,isMondayFirst:n.isMondayFirst,onSelectDate:l.selectDate,onSelectDisabledDate:l.selectDisabledDate,onOnPrevCalendar:l.onPrevCalendar,onOnNextCalendar:l.onNextCalendar},null,8,["language","selectedStartDate","selectedEndDate","disabledDates","availableDates","isMondayFirst","onSelectDate","onSelectDisabledDate","onOnPrevCalendar","onOnNextCalendar"]),(0,t.createElementVNode)("div",S,[(0,t.createElementVNode)("div",k,[(0,t.createElementVNode)("span",null,(0,t.toDisplayString)(n.switchButtonLabel),1),(0,t.createVNode)(s,{checked:r.isAllDay,onOnCheckChange:l.onCheckChange},null,8,["checked","onOnCheckChange"])]),(0,t.createElementVNode)("div",U,[(0,t.createElementVNode)("span",null,(0,t.toDisplayString)(n.dateInput.labelStarts),1),(0,t.createVNode)(d,{format:n.dateInput.format,inputClass:n.dateInput.inputClass,timestamp:l.unixSelectedStartDate,language:n.language,onOnChange:l.onStartInputDateChange},null,8,["format","inputClass","timestamp","language","onOnChange"])]),(0,t.createElementVNode)("div",C,[(0,t.withDirectives)((0,t.createVNode)(c,{step:n.timeInput.step,readonly:n.timeInput.readonly,inputClass:n.timeInput.inputClass,timestamp:l.unixSelectedStartDate,onOnChange:l.onTimeStartInputChange},null,8,["step","readonly","inputClass","timestamp","onOnChange"]),[[t.vShow,l.isVisibleTimeInput]])]),(0,t.createElementVNode)("div",O,[(0,t.createElementVNode)("span",null,(0,t.toDisplayString)(n.dateInput.labelEnds),1),(0,t.createVNode)(d,{format:n.dateInput.format,inputClass:n.dateInput.inputClass,timestamp:l.unixSelectedEndDate,language:n.language,onOnChange:l.onEndDateInputDateChange},null,8,["format","inputClass","timestamp","language","onOnChange"])]),(0,t.createElementVNode)("div",w,[(0,t.withDirectives)((0,t.createVNode)(c,{step:n.timeInput.step,readonly:n.timeInput.readonly,inputClass:n.timeInput.inputClass,timestamp:l.unixSelectedEndDate,onOnChange:l.onTimeEndInputChange},null,8,["step","readonly","inputClass","timestamp","onOnChange"]),[[t.vShow,l.isVisibleTimeInput]])]),(0,t.withDirectives)((0,t.createElementVNode)("button",{class:(0,t.normalizeClass)(["vdpr-datepicker__button","vdpr-datepicker__button--block","vdpr-datepicker__button-submit"]),onClick:a[0]||(a[0]=function(){return l.onClickButtonApply&&l.onClickButtonApply.apply(l,arguments)})},(0,t.toDisplayString)(n.applyButtonLabel),513),[[t.vShow,l.isVisibleButtonApply]]),(0,t.createElementVNode)("button",{class:(0,t.normalizeClass)(["vdpr-datepicker__button","vdpr-datepicker__button--block","vdpr-datepicker__button-reset"]),onClick:a[1]||(a[1]=function(){return l.onClickButtonReset&&l.onClickButtonReset.apply(l,arguments)})},(0,t.toDisplayString)(n.resetButtonLabel),1)])],2)}]]);function ot(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,i,r,l,o=[],s=!0,d=!1;try{if(r=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;s=!1}else for(;!(s=(n=r.call(a)).done)&&(o.push(n.value),o.length!==e);s=!0);}catch(t){d=!0,i=t}finally{try{if(!s&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(d)throw i}}return o}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return st(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);"Object"===a&&t.constructor&&(a=t.constructor.name);if("Map"===a||"Set"===a)return Array.from(t);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return st(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function st(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}const dt={components:{DateInput:v,CalendarDialog:lt},props:{initialDates:{type:Array,validator:d.isValidInitialDate,default:function(){return[]}},inline:{type:Boolean,default:!1},language:{type:String,default:"en"},format:{type:String,default:"DD/MM/YYYY HH:mm"},sameDateFormat:{type:Object,validator:d.isValidSameDateFormat,default:function(){return{from:"DD/MM/YYYY, HH:mm",to:"HH:mm"}}},dateInput:{type:Object,default:function(){return{}}},disabledDates:Object,availableDates:Object,showHelperButtons:Boolean,helperButtons:Array,calendarDateInput:Object,calendarTimeInput:Object,switchButtonLabel:String,switchButtonInitial:Boolean,applyButtonLabel:String,resetButtonLabel:String,isMondayFirst:Boolean},data:function(){var t=ot(this.initialDates,2),e=t[0],a=t[1];return{selectedStartDate:null!=e?e:null,selectedEndDate:null!=a?a:null,showCalendarDialog:this.inline}},emits:["date-applied","datepicker-opened","datepicker-closed","on-prev-calendar","on-next-calendar","select-date","select-disabled-date","on-reset"],computed:{dateUtil:function(){return new f(this.language)},showingDateInput:function(){return!this.inline},showingCalendarDialog:function(){return this.showCalendarDialog||this.inline}},methods:{onApply:function(t,e){return!(!t||!e)&&(this.selectedStartDate=t,this.selectedEndDate=e,this.inline||(this.showCalendarDialog=!1),this.$emit("date-applied",t,e))},onReset:function(){this.selectedStartDate=null,this.selectedEndDate=null,this.$emit("on-reset")},onClickDateInput:function(){this.inline||(this.showCalendarDialog=!this.showCalendarDialog,this.showCalendarDialog?this.$emit("datepicker-opened"):this.$emit("datepicker-closed"))},onPrevCalendar:function(){this.$emit("on-prev-calendar")},onNextCalendar:function(){this.$emit("on-next-calendar")},selectDate:function(t,e){this.$emit("select-date",t,e)},selectDisabledDate:function(t){this.$emit("select-disabled-date",t)}}},ct=(0,D.default)(dt,[["render",function(a,n,i,r,l,o){var s=(0,t.resolveComponent)("date-input"),d=(0,t.resolveComponent)("calendar-dialog");return(0,t.openBlock)(),(0,t.createElementBlock)("div",e,[(0,t.createVNode)(s,{type:o.showingDateInput?"text":"hidden",language:i.language,selectedStartDate:l.selectedStartDate,selectedEndDate:l.selectedEndDate,format:i.format,sameDateFormat:i.sameDateFormat,refName:i.dateInput.refName,inputClass:i.dateInput.inputClass,name:i.dateInput.name,id:i.dateInput.id,placeholder:i.dateInput.placeholder,required:i.dateInput.required,onOnClick:o.onClickDateInput},null,8,["type","language","selectedStartDate","selectedEndDate","format","sameDateFormat","refName","inputClass","name","id","placeholder","required","onOnClick"]),(0,t.withDirectives)((0,t.createVNode)(d,{language:i.language,inline:i.inline,initialDates:i.initialDates,disabledDates:i.disabledDates,availableDates:i.availableDates,showHelperButtons:i.showHelperButtons,helperButtons:i.helperButtons,dateInput:i.calendarDateInput,timeInput:i.calendarTimeInput,switchButtonLabel:i.switchButtonLabel,switchButtonInitial:i.switchButtonInitial,applyButtonLabel:i.applyButtonLabel,resetButtonLabel:i.resetButtonLabel,isMondayFirst:i.isMondayFirst,onOnApply:o.onApply,onOnReset:o.onReset,onSelectDate:o.selectDate,onSelectDisabledDate:o.selectDisabledDate,onOnPrevCalendar:o.onPrevCalendar,onOnNextCalendar:o.onNextCalendar},null,8,["language","inline","initialDates","disabledDates","availableDates","showHelperButtons","helperButtons","dateInput","timeInput","switchButtonLabel","switchButtonInitial","applyButtonLabel","resetButtonLabel","isMondayFirst","onOnApply","onOnReset","onSelectDate","onSelectDisabledDate","onOnPrevCalendar","onOnNextCalendar"]),[[t.vShow,o.showingCalendarDialog]])])}]])})(),r})())); //# sourceMappingURL=vdprDatePicker.min.js.map