UNPKG

configurable-date-input-polyfill

Version:

The last Date-Input-Polyfill you will ever need. Automatically adds datepickers to input[type=date] on IE, Firefox, and OS X Safari. Configurable localization and start of week day.

1 lines 35.1 kB
!function(){"use strict";var t={815:function(t,e,r){var a=r(81),n=r.n(a),o=r(645),i=r.n(o)()(n());i.push([t.id,'date-input-polyfill{width:auto;min-width:260px;height:auto;background-color:#fff;-webkit-box-shadow:0 0 5px 2px rgba(128,128,128,.81);-moz-box-shadow:0 0 5px 2px rgba(128,128,128,.81);box-shadow:0 0 5px 2px rgba(128,128,128,.81);position:absolute;font-family:Arial,sans-serif;font-size:16px;color:#000}date-input-polyfill .date-select-header{position:relative;width:100%;height:40px;background-color:#fff;text-align:center;line-height:40px}date-input-polyfill .date-select-header .date-header-button{padding:5px 25px 5px 5px;border:solid 1px #a8a3a3;background-color:#fff;min-width:150px;width:auto;max-width:180px;height:28px;border-radius:5px;cursor:pointer;position:relative;line-height:15px;font-size:13px;color:#000}date-input-polyfill .date-select-header .date-header-button.active:after{content:"<";display:inline-block;position:absolute;right:10px;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);font-size:18px;top:6px}date-input-polyfill .date-select-header .date-header-button.inactive:after{content:"<";display:inline-block;position:absolute;right:10px;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);font-size:18px;top:6px}date-input-polyfill .day-matrix-wrapper{position:relative;background-color:#fff;width:100%;height:auto;padding:0 10px 10px 10px;box-sizing:border-box}date-input-polyfill .day-matrix-wrapper table{width:100%;text-align:center;font-size:18px;padding:0;line-height:24px;border-collapse:separate}date-input-polyfill .day-matrix-wrapper table thead{color:#b4b4b4;pointer-events:none}date-input-polyfill .day-matrix-wrapper table thead th{border:none;padding:0;text-align:center;font-size:18px}date-input-polyfill .day-matrix-wrapper table tbody td{border:solid 1px #fff;padding:0;text-align:center;font-size:18px;width:30px}date-input-polyfill .day-matrix-wrapper table tbody td.current-day{border:solid 1px #cce5f3;background-color:#cce5f3}date-input-polyfill .day-matrix-wrapper table tbody td.current-day.disabled{border:solid 1px #fff}date-input-polyfill .day-matrix-wrapper table tbody td[data-selected]{font-weight:bold;border:solid 1px #a2d8f6;background-color:#a2d8f6}date-input-polyfill .day-matrix-wrapper table tbody td[data-selected]:hover{border:solid 1px #a2d8f6;background-color:#a2d8f6}date-input-polyfill .day-matrix-wrapper table tbody td.prev-month,date-input-polyfill .day-matrix-wrapper table tbody td.next-month{color:#d3d3d3}date-input-polyfill .day-matrix-wrapper table tbody td.prev-month:hover,date-input-polyfill .day-matrix-wrapper table tbody td.next-month:hover{color:#fff}date-input-polyfill .day-matrix-wrapper table tbody td.disabled{background-color:gray;color:#d3d3d3}date-input-polyfill .day-matrix-wrapper table tbody td.disabled:hover{background-color:gray;border:solid 1px #fff;color:#d3d3d3}date-input-polyfill .day-matrix-wrapper table tbody td:hover{cursor:pointer;background-color:#d3d3d3;border:solid 1px #d3d3d3}date-input-polyfill .date-select-dropdown{position:absolute;width:100%;height:auto;top:40px;background-color:#fff;display:none}date-input-polyfill .date-select-dropdown .select-container{position:relative;float:left;width:100%;height:auto;padding:5px 60px 5px 60px}date-input-polyfill .date-select-dropdown .select-container .up,date-input-polyfill .date-select-dropdown .select-container .down{width:100%;height:25px;text-align:center;background-color:rgba(0,0,0,0);cursor:pointer;line-height:22px;float:left;border:none;outline:none;color:#7d7d7d;position:relative}date-input-polyfill .date-select-dropdown .select-container .up:after,date-input-polyfill .date-select-dropdown .select-container .down:after{content:"<";position:absolute;top:0;left:19px;font-size:20px;display:inline-block;-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-o-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}date-input-polyfill .date-select-dropdown .select-container .down:after{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}date-input-polyfill .date-select-dropdown .select-container .select-wrapper{float:left;width:50px;height:175px;position:relative;margin:10px}date-input-polyfill .date-select-dropdown .select-container .select-wrapper .option-wrapper{float:left;width:100%;height:auto}date-input-polyfill .date-select-dropdown .select-container .select-wrapper .option-wrapper .option{height:25px;border-radius:5px;text-align:center;float:left;width:100%;line-height:25px}date-input-polyfill .date-select-dropdown .select-container .select-wrapper .option-wrapper .option:nth-child(3){background-color:#d3d3d3}date-input-polyfill[data-open=false]{visibility:hidden;z-index:-100 !important;top:0}date-input-polyfill[data-open=true]{visibility:visible}',""]),e.Z=i},645:function(t){t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r="",a=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),a&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),a&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,a,n,o){"string"==typeof t&&(t=[[null,t,void 0]]);var i={};if(a)for(var l=0;l<this.length;l++){var s=this[l][0];null!=s&&(i[s]=!0)}for(var u=0;u<t.length;u++){var d=[].concat(t[u]);a&&i[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),r&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=r):d[2]=r),n&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=n):d[4]="".concat(n)),e.push(d))}},e}},81:function(t){t.exports=function(t){return t[1]}},379:function(t){var e=[];function r(t){for(var r=-1,a=0;a<e.length;a++)if(e[a].identifier===t){r=a;break}return r}function a(t,a){for(var o={},i=[],l=0;l<t.length;l++){var s=t[l],u=a.base?s[0]+a.base:s[0],d=o[u]||0,c="".concat(u," ").concat(d);o[u]=d+1;var p=r(c),h={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==p)e[p].references++,e[p].updater(h);else{var m=n(h,a);a.byIndex=l,e.splice(l,0,{identifier:c,updater:m,references:1})}i.push(c)}return i}function n(t,e){var r=e.domAPI(e);return r.update(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;r.update(t=e)}else r.remove()}}t.exports=function(t,n){var o=a(t=t||[],n=n||{});return function(t){t=t||[];for(var i=0;i<o.length;i++){var l=r(o[i]);e[l].references--}for(var s=a(t,n),u=0;u<o.length;u++){var d=r(o[u]);0===e[d].references&&(e[d].updater(),e.splice(d,1))}o=s}}},569:function(t){var e={};t.exports=function(t,r){var a=function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}e[t]=r}return e[t]}(t);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(r)}},216:function(t){t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},565:function(t,e,r){t.exports=function(t){var e=r.nc;e&&t.setAttribute("nonce",e)}},795:function(t){t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(r){!function(t,e,r){var a="";r.supports&&(a+="@supports (".concat(r.supports,") {")),r.media&&(a+="@media ".concat(r.media," {"));var n=void 0!==r.layer;n&&(a+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),a+=r.css,n&&(a+="}"),r.media&&(a+="}"),r.supports&&(a+="}");var o=r.sourceMap;o&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(a,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},589:function(t){t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}},e={};function r(a){var n=e[a];if(void 0!==n)return n.exports;var o=e[a]={id:a,exports:{}};return t[a](o,o.exports,r),o.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var a in e)r.o(e,a)&&!r.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.nc=void 0,function(){var t=r(379),e=r.n(t),a=r(795),n=r.n(a),o=r(569),i=r.n(o),l=r(565),s=r.n(l),u=r(216),d=r.n(u),c=r(589),p=r.n(c),h=r(815),m={};function f(t){return f="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},f(t)}function y(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&b(t,e)}function b(t,e){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},b(t,e)}function g(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,a=v(t);if(e){var n=v(this).constructor;r=Reflect.construct(a,arguments,n)}else r=a.apply(this,arguments);return function(t,e){if(e&&("object"===f(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,r)}}function v(t){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},v(t)}function S(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function D(t,e){for(var r=0;r<e.length;r++){var a=e[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(void 0,n=function(t,e){if("object"!==f(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var a=r.call(t,"string");if("object"!==f(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(a.key),"symbol"===f(n)?n:String(n)),a)}var n}function w(t,e,r){return e&&D(t.prototype,e),r&&D(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}m.styleTagTransform=p(),m.setAttributes=s(),m.insert=i().bind(null,"head"),m.domAPI=n(),m.insertStyleElement=d(),e()(h.Z,m),h.Z&&h.Z.locals&&h.Z.locals;var A=function(){function t(){S(this,t),this.date=new Date,this.toggleUp=document.createElement("button"),this.toggleDown=document.createElement("button"),this.optionWrapper=document.createElement("div"),this.dateSelectWrapper=document.createElement("div"),this.toggleUp.className="control up",this.toggleDown.className="control down",this.optionWrapper.className="option-wrapper",this.dateSelectWrapper.className="select-wrapper",this.dateSelectWrapper.appendChild(this.toggleUp),this.dateSelectWrapper.appendChild(this.optionWrapper),this.dateSelectWrapper.appendChild(this.toggleDown)}return w(t,[{key:"returnDateSelectWrapper",value:function(){return this.dateSelectWrapper}}]),t}(),M=function(t){y(r,t);var e=g(r);function r(){var t;S(this,r),(t=e.call(this)).yearArray=[],t.dateSelectWrapper.className="select-wrapper year-select";for(var a=0;a<5;a+=1){var n=document.createElement("div");n.className="option",t.optionWrapper.appendChild(n)}return t.toggleDown.addEventListener("click",(function(){t.yearArray.shift(),t.yearArray.push(Number(t.yearArray[t.yearArray.length-1])+1),t.redrawYearSelect()})),t.toggleUp.addEventListener("click",(function(){1!==t.yearArray[2]&&(t.yearArray.pop(),t.yearArray.unshift(Number(t.yearArray[0])-1),t.yearArray[0]<1&&(t.yearArray[0]=""),t.redrawYearSelect())})),t}return w(r,[{key:"redrawYearSelect",value:function(){for(var t=0;t<5;t+=1)this.optionWrapper.getElementsByClassName("option")[t].innerHTML=String(this.yearArray[t])}},{key:"toggleByInput",value:function(t){var e=t;this.yearArray.length=0,e-=2;for(var r=0;r<5;r+=1)e<1?this.yearArray.push(""):this.yearArray.push(e),e+=1;this.redrawYearSelect()}},{key:"returnSelectedYear",value:function(){return Number(this.yearArray[2])}}]),r}(A),x=function(t){y(r,t);var e=g(r);function r(){var t;S(this,r),(t=e.call(this)).selectedLocaleArray=[],t.monthArray=[0,1,2,3,4,5,6,7,8,9,10,11],t.dateSelectWrapper.className="select-wrapper month-select";for(var a=0;a<5;a+=1){var n=document.createElement("div");n.className="option",n.innerHTML="s",t.optionWrapper.appendChild(n)}return t.toggleDown.addEventListener("click",(function(){t.monthArray.push(Number(t.monthArray.shift())),t.redrawMonthSelect()})),t.toggleUp.addEventListener("click",(function(){t.monthArray.unshift(Number(t.monthArray.pop())),t.redrawMonthSelect()})),t}return w(r,[{key:"setLocalLabels",value:function(t){this.selectedLocaleArray=t}},{key:"redrawMonthSelect",value:function(){for(var t=this.returnMonthStringArray(),e=0;e<5;e+=1)this.optionWrapper.getElementsByClassName("option")[e].innerHTML=t[e]}},{key:"returnMonthStringArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=[],r=this.selectedLocaleArray;return t||0===t?this.selectedLocaleArray[t]:(this.monthArray.forEach((function(t){e.push(r[t].substring(0,3))})),e)}},{key:"toggleByInput",value:function(t){t!==this.monthArray[2]&&(this.monthArray=this.rotate(this.monthArray,this.calculateDateOffset(t)),this.redrawMonthSelect())}},{key:"calculateDateOffset",value:function(t){var e=this.monthArray.length,r=0;switch(!0){case t<this.monthArray[2]:r=e-this.monthArray[2]+t;break;case t===this.monthArray[2]:break;case t>this.monthArray[2]:r=t-this.monthArray[2]}return r}},{key:"rotate",value:function(t,e){for(var r=e;r>0;){var a=t.shift();t.push(a),r-=1}return t}},{key:"toggleByMatrix",value:function(t){switch(t){case"next":this.monthArray=this.rotate(this.monthArray,1);break;case"prev":this.monthArray=this.rotate(this.monthArray,11)}this.redrawMonthSelect()}},{key:"returnSelectedMonthAsLabel",value:function(){return this.returnMonthStringArray(this.monthArray[2])}},{key:"returnSelectedMonth",value:function(){return this.monthArray[2]}}]),r}(A);function E(t){return E="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},E(t)}function k(t,e){for(var r=0;r<e.length;r++){var a=e[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,(void 0,n=function(t,e){if("object"!==E(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var a=r.call(t,"string");if("object"!==E(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(a.key),"symbol"===E(n)?n:String(n)),a)}var n}var T=new(function(){function t(){var e=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.date=new Date,this.isOpen=!1,this.yearSelect=new M,this.monthSelect=new x,this.localeLabels=[],this.firstDayOfWeek="",this.targetInputElement=null,this.daysHead=document.createElement("thead"),this.daysWrapper=document.createElement("tbody"),this.dateSelectWrapper=document.createElement("div"),this.dateSelectWrapper.className="date-select-dropdown",this.selectWrapper=document.createElement("div"),this.selectWrapper.className="select-container",this.selectWrapper.appendChild(this.monthSelect.returnDateSelectWrapper()),this.selectWrapper.appendChild(this.yearSelect.returnDateSelectWrapper()),this.dateSelectWrapper.appendChild(this.selectWrapper),this.pickerElement=document.createElement("date-input-polyfill"),this.pickerElement.className="date-input-polyfill";var r=document.createElement("div");r.className="date-select-header",this.dateHeaderButton=document.createElement("button"),this.dateHeaderButton.className="date-header-button inactive",this.dateHeaderButton.addEventListener("click",(function(){return e.toggleDateHeader()})),r.appendChild(this.dateHeaderButton);var a=document.createElement("div");a.className="day-matrix-wrapper",this.pickerElement.appendChild(r),this.pickerElement.appendChild(a),this.pickerElement.appendChild(this.dateSelectWrapper),this.daysWrapper.addEventListener("click",(function(t){return e.clickDayElement(t.target)}));var n=document.createElement("table");n.appendChild(this.daysHead),n.appendChild(this.daysWrapper),a.appendChild(n),this.hide(),document.body.appendChild(this.pickerElement)}var e,r;return e=t,(r=[{key:"removeClickOut",value:function(t){if(this.isOpen){for(var e=t.target,r=e===this.pickerElement||e===this.targetInputElement;!r&&null!==e;)r=(e=e.parentNode)===this.pickerElement;r||this.hide()}}},{key:"toggleDateHeader",value:function(){this.dateHeaderButton.classList.contains("inactive")?(this.dateHeaderButton.className="date-header-button active",this.dateSelectWrapper.style.display="block"):this.dateHeaderButton.classList.contains("active")&&(this.dateHeaderButton.className="date-header-button inactive",this.dateSelectWrapper.style.display="none",this.date.setMonth(this.monthSelect.returnSelectedMonth()),this.date.setFullYear(this.yearSelect.returnSelectedYear()),this.refreshDaysMatrix())}},{key:"clickDayElement",value:function(t){if(!(t.textContent.length>2||t.classList.contains("disabled"))){var e=this.daysWrapper.querySelector("[data-selected]");e&&e.removeAttribute("data-selected"),t.setAttribute("data-selected","");var r=!1;t.classList.contains("next-month")?(11===this.monthSelect.returnSelectedMonth()&&this.yearSelect.toggleByInput(this.yearSelect.returnSelectedYear()+1),this.monthSelect.toggleByMatrix("next"),r=!0):t.classList.contains("prev-month")&&(0===this.monthSelect.returnSelectedMonth()&&this.yearSelect.toggleByInput(this.yearSelect.returnSelectedYear()-1),this.monthSelect.toggleByMatrix("prev"),r=!0),r&&(this.date=new Date,this.date.setMonth(this.monthSelect.returnSelectedMonth()),this.date.setFullYear(this.yearSelect.returnSelectedYear()),this.dateHeaderButton.innerHTML="".concat(this.monthSelect.returnSelectedMonthAsLabel()," ").concat(this.yearSelect.returnSelectedYear())),this.date.setDate(parseInt(t.textContent)),this.setInput()}}},{key:"positionPicker",value:function(t){var e=t.getBoundingClientRect();this.pickerElement.style.top="".concat(e.top+e.height+(document.documentElement.scrollTop||document.body.scrollTop)+3,"px");var r=this.pickerElement.getBoundingClientRect(),a=r.width?r.width:280,n=e.right-a;this.pickerElement.className="polyfill-right-aligned",e.right<a&&(n=e.left,this.pickerElement.className="polyfill-left-aligned"),this.pickerElement.style.left="".concat(n+(document.documentElement.scrollLeft||document.body.scrollLeft),"px"),this.show()}},{key:"attachTo",value:function(t){var e;return!(t.htmlElement===(null===(e=this.targetInputElement)||void 0===e?void 0:e.htmlElement)&&this.isOpen||(this.targetInputElement=t,this.syncPickerWithInput(),this.positionPicker(this.targetInputElement.htmlElement),0))}},{key:"hide",value:function(){this.isOpen=!1,this.pickerElement.setAttribute("data-open",String(this.isOpen)),this.dateHeaderButton.className="date-header-button inactive",this.targetInputElement&&(this.dateSelectWrapper.style.display="none",this.targetInputElement.htmlElement.blur())}},{key:"show",value:function(){var t=this;this.isOpen=!0,this.pickerElement.setAttribute("data-open",String(this.isOpen)),setTimeout((function(){document.addEventListener("mousedown",(function(e){return t.removeClickOut(e)})),document.addEventListener("touchstart",(function(e){return t.removeClickOut(e)}))}),500),window.onpopstate=function(){t.hide()}}},{key:"syncPickerWithInput",value:function(){var t=this;null!=this.targetInputElement.htmlElement.valueAsDate?this.date=this.targetInputElement.htmlElement.valueAsDate:this.date=new Date,this.createMatrixHeader(),this.monthSelect.setLocalLabels(this.localeLabels.months),this.monthSelect.redrawMonthSelect();var e=new Date(this.targetInputElement.dateRange[0].getTime()),r=new Date(this.targetInputElement.dateRange[1].getTime());if(this.date<=r&&this.date>=e)this.monthSelect.toggleByInput(this.date.getMonth()),this.yearSelect.toggleByInput(this.date.getFullYear());else{var a=new Date;this.date=a<=r&&a>=e?a:e,this.monthSelect.toggleByInput(this.date.getMonth()),this.yearSelect.toggleByInput(this.date.getFullYear())}this.dateHeaderButton.innerHTML="".concat(this.monthSelect.returnSelectedMonthAsLabel()," ").concat(this.yearSelect.returnSelectedYear());for(var n=this.selectWrapper.getElementsByClassName("control"),o=0;o<n.length;o+=1)n[o].addEventListener("click",(function(){t.dateHeaderButton.innerHTML="".concat(t.monthSelect.returnSelectedMonthAsLabel()," ").concat(t.yearSelect.returnSelectedYear())}));this.refreshDaysMatrix()}},{key:"setInput",value:function(){var t=this;this.targetInputElement.htmlElement.valueAsDate=this.date,this.targetInputElement.htmlElement.focus(),setTimeout((function(){t.hide()}),100)}},{key:"createMatrixHeader",value:function(){if(this.localeLabels===this.targetInputElement.localeLabels&&this.firstDayOfWeek===this.targetInputElement.firstDayOfWeek)return!1;this.localeLabels=this.targetInputElement.localeLabels,this.firstDayOfWeek=this.targetInputElement.firstDayOfWeek;for(var t=[],e=0,r=this.localeLabels.days.length;e<r;e+=1)t.push('<th scope="col">'.concat(this.localeLabels.days[e],"</th>"));return"mo"===this.targetInputElement.firstDayOfWeek&&t.push(t.shift()),"sa"===this.targetInputElement.firstDayOfWeek&&t.unshift(t.pop()),this.daysHead.innerHTML="<tr> ".concat(t.join("")," </tr>"),!0}},{key:"refreshDaysMatrix",value:function(){var t,e=this.date.getFullYear(),r=this.date.getMonth(),a=[],n=this.returnAbsoluteDate(e,r,1).getDay(),o=this.returnAbsoluteDate(e,r+1,0).getDate();if("mo"===this.targetInputElement.firstDayOfWeek&&(0===n?n=6:n-=1),"sa"===this.targetInputElement.firstDayOfWeek&&(6===n?n=0:n+=1),n>0)for(var i=this.returnAbsoluteDate(e,r,0).getDate(),l=n,s=l-1,u=0;u<l;u+=1)a.push(i-s),s-=1;var d=(null===(t=this.targetInputElement)||void 0===t?void 0:t.htmlElement.valueAsDate)||!1,c=d&&e===d.getFullYear()&&r===d.getMonth(),p=[],h=new Date,m=!1;this.date.getFullYear()===h.getFullYear()&&this.date.getMonth()===h.getMonth()&&(m=!0);for(var f=this.targetInputElement.dateRange[0],y=this.targetInputElement.dateRange[1],b=0;b<o+n;b+=1)if(b%7==0&&p.push("".concat(0!==b?"</tr>":"","<tr>")),b+1<=n){var g=this.returnAbsoluteDate(e,r-1,a[b]);p.push('<td class="prev-month \n '.concat(g<f||g>y?"disabled":"",'">').concat(a[b],"</td>"))}else{var v=b+1-n,S=c&&d.getDate()===v,D=this.returnAbsoluteDate(e,r,v);if(m&&h.getDate()===v)p.push("<td data-day ".concat(S?"data-selected":""," class='current-day\n ").concat(D<f||D>y?"disabled":"","'>").concat(v,"</td>"));else{var w="<td data-day ".concat(S?"data-selected":""," \n class='").concat(D<f||D>y?"disabled":"","'>").concat(v,"</td>");p.push(w)}}var A=n+o;if(A<42)for(var M=this.returnAbsoluteDate(e,r+2,0),x=1;A<42;)M.setDate(x),A%7==0&&p.push("".concat(0!==x?"</tr>":"","<tr>")),p.push('<td class="next-month\n '.concat(M<f||M>y?"disabled":"",'\n ">').concat(x,"</td>")),x+=1,A+=1;this.daysWrapper.innerHTML=p.join("")}},{key:"returnCurrentDate",value:function(){return this.date}},{key:"returnAbsoluteDate",value:function(t,e,r){var a=new Date;return a.setFullYear(t,e,r),a.setHours(0,0,0,0),a}}])&&k(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),t}());function N(t){return N="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},N(t)}var O,L,H,W=(O=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZWN]|'[^']*'/g,L=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,H=/[^-+\dA-Z]/g,function(t,e,r,a){if(1!==arguments.length||"string"!==(null===(n=t)?"null":void 0===n?"undefined":"object"!==N(n)?N(n):Array.isArray(n)?"array":{}.toString.call(n).slice(8,-1).toLowerCase())||/\d/.test(t)||(e=t,t=void 0),(t=t||new Date)instanceof Date||(t=new Date(t)),isNaN(t))throw TypeError("Invalid date");var n,o=(e=String(W.masks[e]||e||W.masks.default)).slice(0,4);"UTC:"!==o&&"GMT:"!==o||(e=e.slice(4),r=!0,"GMT:"===o&&(a=!0));var i=r?"getUTC":"get",l=t[i+"Date"](),s=t[i+"Day"](),u=t[i+"Month"](),d=t[i+"FullYear"](),c=t[i+"Hours"](),p=t[i+"Minutes"](),h=t[i+"Seconds"](),m=t[i+"Milliseconds"](),f=r?0:t.getTimezoneOffset(),y=function(t){var e=new Date(t.getFullYear(),t.getMonth(),t.getDate());e.setDate(e.getDate()-(e.getDay()+6)%7+3);var r=new Date(e.getFullYear(),0,4);r.setDate(r.getDate()-(r.getDay()+6)%7+3);var a=e.getTimezoneOffset()-r.getTimezoneOffset();e.setHours(e.getHours()-a);var n=(e-r)/6048e5;return 1+Math.floor(n)}(t),b=function(t){var e=t.getDay();return 0===e&&(e=7),e}(t),g={d:l,dd:C(l),ddd:W.i18n.dayNames[s],dddd:W.i18n.dayNames[s+7],m:u+1,mm:C(u+1),mmm:W.i18n.monthNames[u],mmmm:W.i18n.monthNames[u+12],yy:String(d).length<3?d:String(d).slice(String(d).length-2),yyyy:C(d,4),h:c%12||12,hh:C(c%12||12),H:c,HH:C(c),M:p,MM:C(p),s:h,ss:C(h),l:C(m,3),L:C(Math.round(m/10)),t:c<12?"a":"p",tt:c<12?"am":"pm",T:c<12?"A":"P",TT:c<12?"AM":"PM",Z:a?"GMT":r?"UTC":(String(t).match(L)||[""]).pop().replace(H,""),o:(f>0?"-":"+")+C(100*Math.floor(Math.abs(f)/60)+Math.abs(f)%60,4),S:["th","st","nd","rd"][l%10>3?0:(l%100-l%10!=10)*l%10],W:y,N:b};return e.replace(O,(function(t){return t in g?g[t]:t.slice(1,t.length-1)}))});function C(t,e){for(t=String(t),e=e||2;t.length<e;)t="0".concat(t);return t}W.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},W.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};var I=W,Y={"en_en-US_en-UK":{days:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},"zh_zh-CN":{days:["星期天","星期一","星期二","星期三","星期四","星期五","星期六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},"zh-Hans_zh-Hans-CN":{days:["周日","周一","周二","周三","周四","周五","周六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},"zh-Hant_zh-Hant-TW":{days:["週日","週一","週二","週三","週四","週五","週六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},"de_de-DE":{days:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],today:"Heute",format:"D-M-Y"},"nl_nl-NL_nl-BE":{days:["Zo","Ma","Di","Wo","Do","Vr","Za"],months:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"],today:"Vandaag",format:"D/M/Y"},"pt_pt-BR":{days:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],today:"Hoje"},"fr_fr-FR_fr-BE":{days:["Di","Lu","Ma","Me","Je","Ve","Sa"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],today:"Aujourd'hui",format:"D/M/Y"},"es_es-VE":{days:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],today:"Hoy",format:"D/M/Y"},"it_it-IT":{days:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],today:"Oggi",format:"D/M/Y"},"da_da-dk":{days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],today:"I dag",format:"dd/MM-YYYY"},"ru_ru-RU_ru-UA_ru-KZ_ru-MD":{days:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],today:"Сегодня",format:"D.M.Y"},"uk_uk-UA":{days:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],today:"Cьогодні",format:"D.M.Y"},"sv_sv-SE":{days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],today:"Idag",format:"YYYY-MM-dd"},"fi_fi-FI":{days:["Su","Ma","Ti","Ke","To","Pe","La"],months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],today:"Tänään",format:"dd/MM/YYYY"}};function F(t){T.attachTo(t)}function B(t){return t.getAttribute("data-first-day")||document.body.getAttribute("data-first-day")||"su"}function J(t){return t.getAttribute("lang")||document.body.getAttribute("lang")||"en"}function P(t){return t.getAttribute("min")||t.getAttribute("data-min")||""}function _(t){return t.getAttribute("max")||t.getAttribute("data-max")||""}function j(t,e){var r=new Date("1800"),a=new Date("3000"),n=r,o=a;if(t&&Date.parse(t)){var i=new Date(t);i.setHours(0,0,0,0),n=i}if(e&&Date.parse(e)){var l=new Date(e);l.setHours(0,0,0,0),o=l}return n>o&&(n=r,o=a),n<new Date("0001")&&(n=new Date("0001")),[n,o]}function z(t){var e=[];return Object.keys(Y).forEach((function(r){var a=r,n=a.split("_");((n=n.map((function(t){return t.toLowerCase()}))).indexOf(t)>=0||n.indexOf(t.slice(0,2))>=0)&&(e=Y[a])})),e}function R(t){for(var e=function(){var e=t[r],a=J(e),n=function(t){return t.getAttribute("date-format")||document.body.getAttribute("date-format")||t.getAttribute("data-date-format")||document.body.getAttribute("data-date-format")||"yyyy-mm-dd"}(e),o=P(e),i=_(e),l=j(o,i),s=z(a),u=B(e),d=function(t){return!!t.getAttribute("data-force-polyfill")}(e);d&&e.setAttribute("type","text");var c,p,h,m,f,y={htmlElement:e,firstDayOfWeek:u,dateFormat:n,dateRange:l,locale:a,localeLabels:s,minDateAttribute:o,maxDateAttribute:i};e.setAttribute("data-has-picker",""),e.addEventListener("focus",(function(){return F(y)})),e.addEventListener("mouseup",(function(){return F(y)})),c=y,"MutationObserver"in window&&new MutationObserver((function(t){t.forEach((function(t){if(-1!==t.attributeName.indexOf("min")||-1!==t.attributeName.indexOf("max"))c.minDateAttribute=P(c.htmlElement),c.maxDateAttribute=_(c.htmlElement),c.dateRange=j(c.minDateAttribute,c.maxDateAttribute);else if("lang"===t.attributeName)c.locale=J(c.htmlElement),c.localeLabels=z(c.locale);else if("data-first-day"===t.attributeName)c.firstDayOfWeek=B(c.htmlElement);else if("data-date-format"===t.attributeName||"date-format"===t.attributeName){var e=c.htmlElement.valueAsDate;c.dateFormat=c.htmlElement.getAttribute(t.attributeName)||"yyyy-mm-dd",e&&(c.htmlElement.valueAsDate=e)}}))})).observe(c.htmlElement,{attributes:!0}),function(t){var e=t;Object.defineProperties(e.htmlElement,{valueAsDate:{get:function(){if(!e.htmlElement.value)return null;function t(t,e){for(var r=t.length-1;r>=0;r-=1)if(t[r].charAt(0)===e)return r;return null}var r=(e.dateFormat||"yyyy-mm-dd").split(/(m+|d+|y+)/).filter(Boolean),a=e.htmlElement.value.split(/(\D+)/).filter(Boolean),n=Number(a[t(r,"y")||0]),o=Number(a[t(r,"m")||0]),i=Number(a[t(r,"d")||0]),l=new Date(n,o-1,i,0,0,0,0);return isNaN(l.getDate())?null:l},set:function(t){var r;e.htmlElement.value=I(t,e.dateFormat),"function"==typeof Event?r=new Event("change",{bubbles:!0}):(r=document.createEvent("Event")).initEvent("change",!0,!0),e.htmlElement.dispatchEvent(r)}},valueAsNumber:{get:function(){return e.htmlElement.value?e.htmlElement.valueAsDate.valueOf():NaN},set:function(t){e.htmlElement.valueAsDate=new Date(t)}}})}(y),h=(p=y).dateRange[0],m=p.dateRange[1],(f=p.htmlElement).addEventListener("keydown",(function(t){var e=new Date;switch(t.keyCode){case 9:case 27:T.hide();break;case 37:f.valueAsDate&&((e=T.returnCurrentDate()).setDate(e.getDate()-1),e>=h&&(f.valueAsDate=e));break;case 38:f.valueAsDate&&((e=T.returnCurrentDate()).setDate(e.getDate()-7),e>=h&&(f.valueAsDate=e));break;case 39:f.valueAsDate&&((e=T.returnCurrentDate()).setDate(e.getDate()+1),e<=m&&(f.valueAsDate=e));break;case 40:f.valueAsDate&&((e=T.returnCurrentDate()).setDate(e.getDate()+7),e<=m&&(f.valueAsDate=e))}T.syncPickerWithInput()})),f.addEventListener("keyup",(function(){T.syncPickerWithInput()}))},r=0;r<t.length;r+=1)e()}function U(){R(document.querySelectorAll('input[type="text"].date-polyfill:not([data-has-picker])')),R(document.querySelectorAll('input[type="date"][data-force-polyfill]:not([data-has-picker])')),function(){var t=document.createElement("input");t.setAttribute("type","date");var e="not-a-date";return t.setAttribute("value",e),!(t.value===e)}()||R(document.querySelectorAll('input[type="date"]:not([data-has-picker])'))}document.addEventListener("DOMContentLoaded",(function(){var t;U(),null===(t=document.querySelector("body"))||void 0===t||t.addEventListener("mousedown",(function(){return U()}))}))}()}();