calendar-lite
Version:
1 lines • 14.9 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.calendar=t():e.calendar=t()}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/lib/",n(n.s=4)}([function(e,t,n){var r=n(1);"string"==typeof r&&(r=[[e.i,r,""]]);var a={insert:"head",singleton:!1};n(3)(r,a);r.locals&&(e.exports=r.locals)},function(e,t,n){(t=e.exports=n(2)(!1)).push([e.i,".calendar_container_3ie {\n width: 100vw; }\n\n.calendar_controller_Hhh {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 2.667vw;\n height: 9.867vw; }\n\n.calendar_showMonth_2rY {\n margin: 0 5.333vw;\n font-size: 4vw;\n color: #000; }\n\n.calendar_controllerArrow_2U9 {\n width: 5.333vw;\n height: 5.333vw;\n border-radius: 1.6vw;\n border: 0;\n background-size: 2.133vw 3.2vw;\n background-position: center;\n background-color: #f7f8fc;\n background-repeat: no-repeat;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAAAXNSR0IArs4c6QAAAnFJREFUOBGVVF1rE0EUnXt3tzFtWmqjKYKfqIhVa1L8FQVRWtwnXwRhidXGDwQf81oCUQMioZRCHwNSgiD4lD9QSYVKsA8KbaW1jbamX8adnWsmMnESbYz7cs6ee8/ZnZm7y9h/Xk/Gs70TE9lOZQNFWsGx1IvDJoozxNDttNpmHOfyTssBj59PHxceP6keREDlYPvBGUMJzTD5LHuKhHtC70EEQe72atMAIoLu0MWzRPxInZnEdxZib2I37L2XEI/HsSvYd44AQrqZIW5b3J8fHR0sS/2ve5DJZIzFFexnSD262QAs+c1js45zyVU6KqIwnU5bS58x0mhGhusbaz153Sw9dW+QSr3yCdwJe4wCKlCigbAWiw7PAYDQdclrAclkxk8+iDBifr3JMq3lO86VQsVMuq549RQSU687mOcNANE+VfiFxuLd6NX3e5llD8qjskqb54E8n24mk5Yf3B6ab2auBsgGC8Q7QOJ1AS6ExrSZ12s6r57CyIi99cNgswywtkkIzDB2eSSdftmuGxp57RgfOfY38HlvRWVNqgmYsDb57sDkZK5hb1RHZQ9+U8bu37S/MtOc0zUg8G2U1yOV4WrTdcXrAqT4MDq0yokXVINEwb32pS9WOJfLmboueW0OGgtP05mj3IXTum6iuXHogDtr27an9D/eQBVijr2AiB/VvUQuePenNXZBfmhKrxEl6Hjv1vAHA2lJ1wRBcH9vf5+cH6k3DZANsei1eWCwIrm6uOf1Jsenq8v7Z4ActFJxrsBMo6gC0GAebPHq/Z6bqJoVyn/EQpGFK08MmF2B/Oj1wZKqtYzxeM5MJKY6dMNPQnnePR8FubkAAAAASUVORK5CYII=); }\n\n.calendar_nextArrow_3Ye {\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.calendar_weekBox_2u3 {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n height: 9.6vw; }\n\n.calendar_weekItem_g_8 {\n -webkit-flex: 1;\n -ms-flex: 1;\n flex: 1;\n font-size: 4vw;\n text-align: center;\n color: #b8bfc6; }\n\n.calendar_dayBox_3Ws {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap; }\n\n.calendar_dayItem_1pA {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0.667vw 0;\n -webkit-flex: 0 0 calc(100% / 7);\n -ms-flex: 0 0 calc(100% / 7);\n flex: 0 0 calc(100% / 7);\n height: 9.6vw;\n border: 0;\n font-size: 4vw;\n background: none; }\n\n.calendar_dayItemContainer_Vm_ {\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 9.6vw;\n height: 9.6vw;\n border-radius: 50%;\n transition: background-color 200ms ease; }\n\n.calendar_dayItemText_117 {\n color: #7c86a2;\n transition: color 200ms ease; }\n\n.calendar_blurDay_15z .calendar_dayItemText_117 {\n color: #e1e4e7; }\n\n.calendar_today_2oW .calendar_dayItemText_117 {\n font-weight: bold;\n color: #667cff; }\n\n.calendar_chooseDate_2NB .calendar_dayItemContainer_Vm_ {\n background-color: #667cff; }\n .calendar_chooseDate_2NB .calendar_dayItemContainer_Vm_ .calendar_dayItemText_117 {\n color: #fff; }\n",""]),t.locals={container:"calendar_container_3ie",controller:"calendar_controller_Hhh",showMonth:"calendar_showMonth_2rY",controllerArrow:"calendar_controllerArrow_2U9",nextArrow:"calendar_nextArrow_3Ye",weekBox:"calendar_weekBox_2u3",weekItem:"calendar_weekItem_g_8",dayBox:"calendar_dayBox_3Ws",dayItem:"calendar_dayItem_1pA",dayItemContainer:"calendar_dayItemContainer_Vm_",dayItemText:"calendar_dayItemText_117",blurDay:"calendar_blurDay_15z",today:"calendar_today_2oW",chooseDate:"calendar_chooseDate_2NB"}},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var a=(c=r,i=btoa(unescape(encodeURIComponent(JSON.stringify(c)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),"/*# ".concat(l," */")),o=r.sources.map(function(e){return"/*# sourceURL=".concat(r.sourceRoot).concat(e," */")});return[n].concat(o).concat([a]).join("\n")}var c,i,l;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(n,"}"):n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},a=0;a<this.length;a++){var o=this[a][0];null!=o&&(r[o]=!0)}for(var c=0;c<e.length;c++){var i=e[c];null!=i[0]&&r[i[0]]||(n&&!i[2]?i[2]=n:n&&(i[2]="(".concat(i[2],") and (").concat(n,")")),t.push(i))}},t}},function(e,t,n){"use strict";var r,a={},o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},c=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}();function i(e,t){for(var n=[],r={},a=0;a<e.length;a++){var o=e[a],c=t.base?o[0]+t.base:o[0],i={css:o[1],media:o[2],sourceMap:o[3]};r[c]?r[c].parts.push(i):n.push(r[c]={id:c,parts:[i]})}return n}function l(e,t){for(var n=0;n<e.length;n++){var r=e[n],o=a[r.id],c=0;if(o){for(o.refs++;c<o.parts.length;c++)o.parts[c](r.parts[c]);for(;c<r.parts.length;c++)o.parts.push(m(r.parts[c],t))}else{for(var i=[];c<r.parts.length;c++)i.push(m(r.parts[c],t));a[r.id]={id:r.id,refs:1,parts:i}}}}function s(e){var t=document.createElement("style");if(void 0===e.attributes.nonce){var r=n.nc;r&&(e.attributes.nonce=r)}if(Object.keys(e.attributes).forEach(function(n){t.setAttribute(n,e.attributes[n])}),"function"==typeof e.insert)e.insert(t);else{var a=c(e.insert||"head");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(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function f(e,t,n,r){var a=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=d(t,a);else{var o=document.createTextNode(a),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(o,c[t]):e.appendChild(o)}}var p=null,h=0;function m(e,t){var n,r,a;if(t.singleton){var o=h++;n=p||(p=s(t)),r=f.bind(null,n,o,!1),a=f.bind(null,n,o,!0)}else n=s(t),r=function(e,t,n){var r=n.css,a=n.media,o=n.sourceMap;if(a&&e.setAttribute("media",a),o&&btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}.bind(null,n,t),a=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else a()}}e.exports=function(e,t){(t=t||{}).attributes="object"==typeof t.attributes?t.attributes:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=i(e,t);return l(n,t),function(e){for(var r=[],o=0;o<n.length;o++){var c=n[o],s=a[c.id];s&&(s.refs--,r.push(s))}e&&l(i(e,t),t);for(var u=0;u<r.length;u++){var d=r[u];if(0===d.refs){for(var f=0;f<d.parts.length;f++)d.parts[f]();delete a[d.id]}}}}},function(e,t,n){"use strict";n.r(t);var r={formatNumber:function(e){return(e=e.toString())[1]?e:"0"+e},createElement:function(e,t){var n=document.createElement(e);return t&&(n.className=t),n},dateFormat:function(e,t){var n={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(var r in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),n)new RegExp("("+r+")").test(t)&&(t=t.replace(RegExp.$1,1===RegExp.$1.length?n[r]:("00"+n[r]).substr((""+n[r]).length)));return t}},a=n(0),o=n.n(a);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var s="yyyy/MM/dd",u=r.dateFormat(new Date,s),d=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n={currentDate:u,format:s,monthFormat:"yyyy年MM月",chooseDate:""};t.currentDate&&(n.chooseDate=r.dateFormat(new Date(t.currentDate),s)),this.options=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(n,!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},n,{},t),this.init()}var t,n,a;return t=e,(n=[{key:"init",value:function(){this.renderContainer(),this.renderController(),this.renderContent()}},{key:"renderContainer",value:function(){var e=this.options.el,t=r.createElement("div",o.a.container);this.options.containerEl=t,e.appendChild(t)}},{key:"renderController",value:function(){var e=this,t=this.options.containerEl,n=r.createElement("div",o.a.controller),a=r.createElement("div",o.a.showMonth),c=r.createElement("button",o.a.controllerArrow);c.onclick=function(){return e.switchMonth("prev")};var i=r.createElement("button","".concat(o.a.controllerArrow," ").concat(o.a.nextArrow));i.onclick=function(){return e.switchMonth("next")},this.options.showMonthEl=a,this.handelShowMonth(),n.appendChild(c),n.appendChild(a),n.appendChild(i),t.appendChild(n)}},{key:"renderContent",value:function(){var e=this.options.containerEl,t=r.createElement("div",o.a.content),n=r.createElement("div");this.options.daysEl=n,this.renderDays(),t.innerHTML=this.renderWeeks(),t.appendChild(n),e.appendChild(t)}},{key:"renderWeeks",value:function(){var e=["日","一","二","三","四","五","六"].map(function(e){return"<span class=".concat(o.a.weekItem,">").concat(e,"</span>")});return"<div class=".concat(o.a.weekBox,">").concat(e.join(""),"</div>")}},{key:"renderDays",value:function(){var e=this,t=this.options,n=t.chooseDate,a=t.daysEl,c=this.generateCalendarGroup(),i=r.createElement("div",o.a.dayBox);c.forEach(function(t){var a=o.a.dayItem,c=t.value;"current"!==t.type&&(a="".concat(a," ").concat(o.a.blurDay)),c===u&&(a="".concat(a," ").concat(o.a.today)),c===n&&(a="".concat(a," ").concat(o.a.chooseDate));var l=r.createElement("button",a);l.innerHTML="<div class=".concat(o.a.dayItemContainer,">\n <span class=").concat(o.a.dayItemText,">").concat(t.text,"</span></div>"),l.onclick=function(){return e.chooseDate(l,c)},i.appendChild(l)});var l=a.firstChild;l?a.replaceChild(i,l):a.appendChild(i)}},{key:"generateCalendarGroup",value:function(){var e=this.options.currentDate;e=new Date(e);for(var t=new Date(this.switchMonthOfDate("prev")),n=new Date(this.switchMonthOfDate("next")),a=e.getFullYear(),o=e.getMonth()+1,c=t.getFullYear(),i=t.getMonth()+1,l=n.getFullYear(),s=n.getMonth()+1,u=new Date(a,o,0).getDate(),d=new Date("".concat(a,"/").concat(r.formatNumber(o),"/01")).getDay(),f=new Date(c,i,0).getDate(),p=[],h=0;h<d;h++){var m=f-h,v={text:m,type:"prev",value:"".concat(c,"/").concat(r.formatNumber(i),"/").concat(r.formatNumber(m))};p.push(v)}p.reverse();for(var y=1;y<=u;y++){var b=y,w={text:b,type:"current",value:"".concat(a,"/").concat(r.formatNumber(o),"/").concat(r.formatNumber(b))};p.push(w)}for(var g=1;p.length<42;g++){var x=g,_={text:x,type:"next",value:"".concat(l,"/").concat(r.formatNumber(s),"/").concat(r.formatNumber(x))};p.push(_)}return p}},{key:"chooseDate",value:function(e,t){var n=this.options,a=n.onDayClick,c=n.format;this.options.chooseDate=t,this.options.currentDate=t;var i=document.getElementsByClassName(o.a.chooseDate)[0];i&&i.classList.remove(o.a.chooseDate),e.classList.add(o.a.chooseDate),a&&a(r.dateFormat(new Date(t),c))}},{key:"switchMonth",value:function(e){this.options.currentDate=this.switchMonthOfDate(e),this.handelShowMonth(),this.renderDays()}},{key:"switchMonthOfDate",value:function(e){var t,n,a=this.options,o=a.currentDate,c=a.onClickPreMonth,i=a.onClickNextMonth,l=a.onMonthChange,s=(o=new Date(o)).getFullYear(),u=o.getMonth()+1;return"prev"===e?(n=s,(t=u-1)<1&&(n=s-1,t=12),c&&c()):"next"===e&&(n=s,(t=u+1)>12&&(n=s+1,t=1),i&&i()),l&&l(),"".concat(n,"/").concat(r.formatNumber(t),"/01")}},{key:"handelShowMonth",value:function(){var e=this.options,t=e.showMonthEl,n=e.currentDate,a=e.monthFormat,o=r.dateFormat(new Date(n),a);t.textContent=o}}])&&l(t.prototype,n),a&&l(t,a),e}();t.default=d}])});