@ezuikit/control-date-picker 0.0.1-alpha.1 → 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -0
- package/dist/index.js +3 -229
- package/dist/index.umd.js +8 -379
- package/dist/style.css +5 -0
- package/dist/style.js +6 -0
- package/dist/types/index.d.ts +748 -28
- package/package.json +22 -15
- package/dist/index.mjs +0 -228
package/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
## 时间轴控件
|
|
2
|
+
|
|
3
|
+
## Usage
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install @ezuikit/control-date-picker
|
|
7
|
+
# or
|
|
8
|
+
yarn add @ezuikit/control-date-picker
|
|
9
|
+
# or
|
|
10
|
+
pnpm add @ezuikit/control-date-picker
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## demo
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import '@ezuikit/control-date-picker/dist/style.css';
|
|
17
|
+
import { DatePicker, type DatePickerModeType } from '@ezuikit/control-date-picker';
|
|
18
|
+
|
|
19
|
+
const timeLine = new DatePicker(document.getElementById('container'), {
|
|
20
|
+
isMobile: false,
|
|
21
|
+
onChange: function (current) {
|
|
22
|
+
console.log('onChange', current);
|
|
23
|
+
},
|
|
24
|
+
onCell: function (current) {
|
|
25
|
+
console.log('onCell', current);
|
|
26
|
+
},
|
|
27
|
+
onOk: function (current, mode: DatePickerModeType) {
|
|
28
|
+
console.log('onOk', current);
|
|
29
|
+
},
|
|
30
|
+
onClose: function (current, mode: DatePickerModeType) {
|
|
31
|
+
console.log('onClose', current);
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### umd
|
|
37
|
+
|
|
38
|
+
```html
|
|
39
|
+
<!-- 引入 umd, -->
|
|
40
|
+
<!-- node_modules/@ezuikit/control-date-picker/dist/style.css -->
|
|
41
|
+
<link rel="stylesheet" href="./style.css" />
|
|
42
|
+
<!-- node_modules/@ezuikit/control-date-picker/dist/index.umd.js-->
|
|
43
|
+
<script src="./index.umd.js"></script>
|
|
44
|
+
<div id="container"></div>
|
|
45
|
+
<script>
|
|
46
|
+
const timeLine = new window.TimeLine(document.getElementById('container'), {
|
|
47
|
+
isMobile: false,
|
|
48
|
+
onChange: function (current) {
|
|
49
|
+
console.log('onChange', current);
|
|
50
|
+
},
|
|
51
|
+
onCell: function (current) {
|
|
52
|
+
console.log('onCell', current);
|
|
53
|
+
},
|
|
54
|
+
onOk: function (current, mode: DatePickerModeType) {
|
|
55
|
+
console.log('onOk', current);
|
|
56
|
+
},
|
|
57
|
+
onClose: function (current, mode: DatePickerModeType) {
|
|
58
|
+
console.log('onClose', current);
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
```
|
package/dist/index.js
CHANGED
|
@@ -1,232 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* @ezuikit/control-date-picker
|
|
3
|
-
* Copyright (c) 2025-
|
|
2
|
+
* @ezuikit/control-date-picker v1.0.0-beta.1
|
|
3
|
+
* Copyright (c) 2025-12-02 Ezviz-OpenBiz
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
'use strict';
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
-
|
|
10
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
11
|
-
try {
|
|
12
|
-
var info = gen[key](arg);
|
|
13
|
-
var value = info.value;
|
|
14
|
-
} catch (error) {
|
|
15
|
-
reject(error);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
if (info.done) {
|
|
19
|
-
resolve(value);
|
|
20
|
-
} else {
|
|
21
|
-
Promise.resolve(value).then(_next, _throw);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function _async_to_generator(fn) {
|
|
25
|
-
return function() {
|
|
26
|
-
var self = this, args = arguments;
|
|
27
|
-
return new Promise(function(resolve, reject) {
|
|
28
|
-
var gen = fn.apply(self, args);
|
|
29
|
-
function _next(value) {
|
|
30
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
31
|
-
}
|
|
32
|
-
function _throw(err) {
|
|
33
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
34
|
-
}
|
|
35
|
-
_next(undefined);
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
class AppendJS {
|
|
40
|
-
static loadScript(src) {
|
|
41
|
-
return _async_to_generator(function*() {
|
|
42
|
-
return yield new Promise((resolve, reject)=>{
|
|
43
|
-
if (AppendJS.LoadedScr.includes(src)) {
|
|
44
|
-
return resolve(src);
|
|
45
|
-
}
|
|
46
|
-
if (AppendJS.LoadingScrQueue[src]) {
|
|
47
|
-
return AppendJS.LoadingScrQueue[src].push(resolve);
|
|
48
|
-
} else {
|
|
49
|
-
AppendJS.LoadingScrQueue[src] = [
|
|
50
|
-
resolve
|
|
51
|
-
];
|
|
52
|
-
}
|
|
53
|
-
let link;
|
|
54
|
-
if (src.includes('.js')) {
|
|
55
|
-
link = document.createElement('script');
|
|
56
|
-
link.src = src;
|
|
57
|
-
link.async = true;
|
|
58
|
-
} else if (src.includes('.css')) {
|
|
59
|
-
link = document.createElement('link');
|
|
60
|
-
link.rel = 'stylesheet';
|
|
61
|
-
link.href = src;
|
|
62
|
-
}
|
|
63
|
-
link.onload = ()=>{
|
|
64
|
-
AppendJS.LoadedScr.push(src);
|
|
65
|
-
AppendJS.LoadingScrQueue[src].forEach((resolve)=>resolve(src));
|
|
66
|
-
AppendJS.LoadingScrQueue[src] = [];
|
|
67
|
-
};
|
|
68
|
-
link.onerror = ()=>reject(new Error('Failed to load ' + src));
|
|
69
|
-
document.head.appendChild(link);
|
|
70
|
-
});
|
|
71
|
-
})();
|
|
72
|
-
}
|
|
73
|
-
static loadScriptsBatch(srcArr) {
|
|
74
|
-
return _async_to_generator(function*() {
|
|
75
|
-
return yield Promise.all(srcArr.map(AppendJS.loadScript));
|
|
76
|
-
})();
|
|
77
|
-
}
|
|
78
|
-
static remove(src) {
|
|
79
|
-
src.forEach((item)=>{
|
|
80
|
-
const link = document.querySelector(`script[src="${item}"]`) || document.querySelector(`link[href="${item}"]`);
|
|
81
|
-
if (link) {
|
|
82
|
-
link.remove();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
static clear() {
|
|
87
|
-
AppendJS.remove(AppendJS.LoadedScr);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/** 已经加载完的js/css */ AppendJS.LoadedScr = [];
|
|
91
|
-
/** 正在加载的js/css */ AppendJS.LoadingScrQueue = {};
|
|
92
|
-
|
|
93
|
-
const DEFAULT_OPTIONS = {
|
|
94
|
-
staticPath: '.',
|
|
95
|
-
place: 'top-right',
|
|
96
|
-
language: 'zh-CN',
|
|
97
|
-
current: new Date(),
|
|
98
|
-
maxDate: new Date()
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* 日期选择器
|
|
102
|
-
*/ class DatePicker {
|
|
103
|
-
_init() {
|
|
104
|
-
// 因为挂载在行内,需要父标签设置 position: relative;
|
|
105
|
-
this.$container.style.cssText += `;position: relative;`;
|
|
106
|
-
this.$container.classList.add(`datepicker-inline-${this.options.place}`);
|
|
107
|
-
AppendJS.loadScriptsBatch([
|
|
108
|
-
`${this.options.staticPath}/rec/jquery.min.js`,
|
|
109
|
-
`${this.options.staticPath}/rec/datepicker.min.css`
|
|
110
|
-
]).then(()=>{
|
|
111
|
-
AppendJS.loadScriptsBatch([
|
|
112
|
-
`${this.options.staticPath}/rec/datepicker.js`
|
|
113
|
-
]).then(()=>{
|
|
114
|
-
AppendJS.loadScriptsBatch([
|
|
115
|
-
`${this.options.staticPath}/rec/datepicker.zh-CN.js`,
|
|
116
|
-
`${this.options.staticPath}/rec/datepicker.en-US.js`
|
|
117
|
-
]).then(()=>{
|
|
118
|
-
window.$(this.$container).datepicker({
|
|
119
|
-
date: this.options.current,
|
|
120
|
-
language: this.options.language,
|
|
121
|
-
endDate: this.options.maxDate,
|
|
122
|
-
inline: true
|
|
123
|
-
});
|
|
124
|
-
this.hide();
|
|
125
|
-
window.$(this.$container).on('pick.datepicker', (e)=>{
|
|
126
|
-
var _this__date, _this__date1, _this__date2, _this__date3, _this__date4, _this__date5;
|
|
127
|
-
if (e.view === 'year' && ((_this__date = this._date) == null ? void 0 : _this__date.getFullYear()) !== e.date.getFullYear()) {
|
|
128
|
-
this.options.onYearChange == null ? void 0 : this.options.onYearChange.call(this.options, e.date);
|
|
129
|
-
} else if (e.view === 'month' && (((_this__date1 = this._date) == null ? void 0 : _this__date1.getMonth()) !== e.date.getMonth() || ((_this__date2 = this._date) == null ? void 0 : _this__date2.getFullYear()) !== e.date.getFullYear())) {
|
|
130
|
-
this.options.onMonthChange == null ? void 0 : this.options.onMonthChange.call(this.options, e.date);
|
|
131
|
-
} else if ([
|
|
132
|
-
'day',
|
|
133
|
-
'pick'
|
|
134
|
-
].includes(e.view || e.type) && (((_this__date3 = this._date) == null ? void 0 : _this__date3.getDate()) !== e.date.getDate() || ((_this__date4 = this._date) == null ? void 0 : _this__date4.getMonth()) !== e.date.getMonth() || ((_this__date5 = this._date) == null ? void 0 : _this__date5.getFullYear()) !== e.date.getFullYear())) {
|
|
135
|
-
if (this._change) {
|
|
136
|
-
this.options.onChange == null ? void 0 : this.options.onChange.call(this.options, e.date);
|
|
137
|
-
}
|
|
138
|
-
this._date = new Date(e.date.getTime());
|
|
139
|
-
}
|
|
140
|
-
if (e.view === 'day') this.hide();
|
|
141
|
-
this._change = true;
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* 获取日期
|
|
149
|
-
*/ get date() {
|
|
150
|
-
return this._date;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* 设置日期, change = true 时触发 onChange 事件
|
|
154
|
-
*
|
|
155
|
-
* @param date 设置的日期
|
|
156
|
-
* @param change 是否触发 onChange 事件
|
|
157
|
-
*/ setDate(date, change = true) {
|
|
158
|
-
const $datepicker = this.$container.querySelector(`.datepicker-inline`);
|
|
159
|
-
if ($datepicker) {
|
|
160
|
-
this._change = change;
|
|
161
|
-
window.$(this.$container).datepicker('setDate', date);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* 隐藏面板, 会触发 onPanelChange 事件
|
|
166
|
-
*/ hide() {
|
|
167
|
-
const $datepicker = this.$container.querySelector(`.datepicker-inline`);
|
|
168
|
-
if ($datepicker) {
|
|
169
|
-
if (this._open) {
|
|
170
|
-
this._open = false;
|
|
171
|
-
this.options.onPanelChange == null ? void 0 : this.options.onPanelChange.call(this.options, false, this._date);
|
|
172
|
-
}
|
|
173
|
-
$datepicker.classList.add('datepicker-hide');
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* 显示面板, 会触发 onPanelChange 事件
|
|
178
|
-
*/ show() {
|
|
179
|
-
const $datepicker = this.$container.querySelector(`.datepicker-inline`);
|
|
180
|
-
if ($datepicker) {
|
|
181
|
-
var _window_$_datepicker, _window_$;
|
|
182
|
-
if (!this._open) {
|
|
183
|
-
this._open = true;
|
|
184
|
-
this.options.onPanelChange == null ? void 0 : this.options.onPanelChange.call(this.options, true, this._date);
|
|
185
|
-
}
|
|
186
|
-
if (this._date) this.setDate(this._date, false);
|
|
187
|
-
(_window_$_datepicker = (_window_$ = window.$(this.$container)).datepicker) == null ? void 0 : _window_$_datepicker.call(_window_$, 'showView');
|
|
188
|
-
if (this.options.place === 'bottom-left') {
|
|
189
|
-
$datepicker.style.cssText += `top: ${this.$container.clientHeight + 10}px; bottom: auto; right: auto; left: 0px`;
|
|
190
|
-
} else {
|
|
191
|
-
$datepicker.style.cssText += `bottom: ${this.$container.clientHeight + 10}px; top: auto`;
|
|
192
|
-
}
|
|
193
|
-
$datepicker.classList.remove('datepicker-hide');
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* 销毁
|
|
198
|
-
*/ destroy() {
|
|
199
|
-
this.hide();
|
|
200
|
-
this._date = undefined;
|
|
201
|
-
window.$(this.$container).datepicker('destroy');
|
|
202
|
-
// AppendJS.remove([
|
|
203
|
-
// `${this.options.staticPath}/rec/jquery.min.js`,
|
|
204
|
-
// `${this.options.staticPath}/rec/datepicker.min.css`,
|
|
205
|
-
// `${this.options.staticPath}/rec/datepicker.js`,
|
|
206
|
-
// `${this.options.staticPath}/rec/datepicker.zh-CN.js`,
|
|
207
|
-
// `${this.options.staticPath}/rec/datepicker.en-US.js`,
|
|
208
|
-
// ]);
|
|
209
|
-
}
|
|
210
|
-
constructor(container, options){
|
|
211
|
-
this._open = false;
|
|
212
|
-
this._change = true;
|
|
213
|
-
this.$container = container;
|
|
214
|
-
this.options = Object.assign({}, DEFAULT_OPTIONS, options);
|
|
215
|
-
this.options.staticPath = (this.options.staticPath || '').replace(/\/$/, '');
|
|
216
|
-
if (this.options.current) {
|
|
217
|
-
this._date = this.options.current;
|
|
218
|
-
}
|
|
219
|
-
this._init();
|
|
220
|
-
this.$container.addEventListener('click', ()=>{
|
|
221
|
-
if (this._open) this.hide();
|
|
222
|
-
else this.show();
|
|
223
|
-
});
|
|
224
|
-
document.body.addEventListener('click', (e)=>{
|
|
225
|
-
if (!this.$container.contains(e.target)) {
|
|
226
|
-
this.hide();
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
exports.default = DatePicker;
|
|
6
|
+
"use strict";var delegate=require("@skax/delegate"),utilsTools=require("@ezuikit/utils-tools"),deepmerge=require("deepmerge"),Picker=require("@skax/picker"),Util=function(){function Util(){}return Util.fillZero=function(num,len){return void 0===len&&(len=2),num.toString().padStart(len,"0")},Util.chunkBySize=function(arr,size){return Array.from({length:Math.ceil(arr.length/size)}).map(function(_,index){return arr.slice(index*size,(index+1)*size)})},Util.generateYears=function(year){for(var years=[],i=year%10+1;i>=0;i--)years.push(year-i);for(var i1=1;years.length<12;i1++)years.push(year+i1);return years},Util.getDaysInMonth=function(year,month){return new Date(year,month+1,0).getDate()},Util.getFirstDayOfMonth=function(year,month,startOfWeek){return void 0===startOfWeek&&(startOfWeek=0),(new Date(year,month).getDay()-startOfWeek+7)%7},Util.generateWeeksByYearMonth=function(year,month,startOfWeek){void 0===startOfWeek&&(startOfWeek=0),month-=1;for(var daysInMonth=Util.getDaysInMonth(year,month),firstDay=Util.getFirstDayOfMonth(year,month,startOfWeek),weeks=[],i=1;i<=firstDay+daysInMonth;i++){var day=i-firstDay;day<1?weeks.push((0===month?year-1:year)+"-"+Util.fillZero((month+12-1)%12+1)+"-"+Util.fillZero(Util.getDaysInMonth(year,month-1)+day)):day>daysInMonth?weeks.push((11===month?year+1:year)+"-"+Util.fillZero((month+1)%12+1)+"-"+(day-daysInMonth)):weeks.push(year+"-"+Util.fillZero(month+1)+"-"+Util.fillZero(day))}for(var nextDay=1;weeks.length<42;)weeks.push((11===month?year+1:year)+"-"+Util.fillZero((month+1)%12+1)+"-"+Util.fillZero(nextDay++));return weeks},Util.generateHours=function(){for(var hours=[],i=0;i<24;i++)hours.push(Util.fillZero(i));return hours},Util.generateMinutesOrSeconds=function(){for(var hours=[],i=0;i<=59;i++)hours.push(Util.fillZero(i));return hours},Util}(),__$CALENDAR_LOCALES$__={en:{year:"",month:"",weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],today:"Today",ok:"OK",months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},zh:{year:"年",month:"月",weeks:["日","一","二","三","四","五","六"],today:"今天",ok:"确定",months:["01","02","03","04","05","06","07","08","09","10","11","12"]}},__DEFAULT_COMPONENTS_OPTIONS__={showSuperPrevIcon:!1,showSuperNextIcon:!1,showPrevIcon:!1,showNextIcon:!1,showHeaderClose:!1,showHeaderOk:!1,renderSuperPrevIcon:'<span class="edate-super-prev-icon"></span>',renderSuperNextIcon:'<span class="edate-super-next-icon"></span>',renderPrevIcon:'<span class="edate-prev-icon"></span>',renderNextIcon:'<span class="edate-next-icon"></span>',renderHeaderCloseIcon:'<span class="edate-close-icon">\n <svg viewBox="0 0 24 24" fill="none" width="1em" height="1em" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="close">\n\t <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,0.707114,-0.707114,0.707099,6.34277,6.34326)" />\n\t\t <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,-0.707114,0.707114,0.707099,6.34277,17.6567)" />\n </svg>\n </span>',renderHeaderOkIcon:function(locale){return'<span class="edate-btn-text">'+((null==locale?void 0:locale.ok)||"确定")+"</span>"}},Header=function(){function Header(options){this.$header=null,this.options=deepmerge.all([{},__DEFAULT_COMPONENTS_OPTIONS__,options],{clone:!1}),this.$header=document.createElement("div"),this.$header.classList.add("edate-header",options.prefixCls+"-header"),options.className&&this.$header.classList.add(options.className),this._render(),this._eventListeners()}var _proto=Header.prototype;return _proto._render=function(){var _this__getStrOrFunToStr,_this__getStrOrFunToStr1,_this__getStrOrFunToStr2,_this__getStrOrFunToStr3,_this__getStrOrFunToStr4,_this__getStrOrFunToStr5;this.$header&&(this.$header.innerHTML="\n "+(this.options.showHeaderClose?'<div class="edate-close-btn">\n '+(null!=(_this__getStrOrFunToStr=this._getStrOrFunToStr(this.options.renderHeaderCloseIcon))?_this__getStrOrFunToStr:__DEFAULT_COMPONENTS_OPTIONS__.renderHeaderCloseIcon)+"\n </div>":this.options.showHeaderOk?"<span></span>":"")+"\n "+(this.options.showSuperPrevIcon||this.options.showPrevIcon?'\n <div class="edate-prev-btns">\n '+(this.options.showSuperPrevIcon?'<div class="edate-super-prev-btn '+this.options.prefixCls+'-super-prev-btn">\n '+(null!=(_this__getStrOrFunToStr1=this._getStrOrFunToStr(this.options.renderSuperPrevIcon))?_this__getStrOrFunToStr1:__DEFAULT_COMPONENTS_OPTIONS__.renderSuperPrevIcon)+"\n </div>":"")+"\n "+(this.options.showPrevIcon?'<div class="edate-prev-btn '+this.options.prefixCls+'-prev-btn">\n '+(null!=(_this__getStrOrFunToStr2=this._getStrOrFunToStr(this.options.renderPrevIcon))?_this__getStrOrFunToStr2:__DEFAULT_COMPONENTS_OPTIONS__.renderPrevIcon)+"\n </div>":"")+"\n </div>\n ":"")+'\n\n <div class="edate-header-view '+this.options.prefixCls+'-header-view"></div>\n\n '+(this.options.showNextIcon||this.options.showSuperNextIcon?'\n <div class="edate-next-btns">\n '+(this.options.showNextIcon?'<div class="edate-next-btn '+this.options.prefixCls+'-next-btn">\n '+(null!=(_this__getStrOrFunToStr3=this._getStrOrFunToStr(this.options.renderNextIcon))?_this__getStrOrFunToStr3:__DEFAULT_COMPONENTS_OPTIONS__.renderNextIcon)+"\n </div>":"")+"\n "+(this.options.showSuperNextIcon?'<div class="edate-super-next-btn '+this.options.prefixCls+'-super-next-btn">\n '+(null!=(_this__getStrOrFunToStr4=this._getStrOrFunToStr(this.options.renderSuperNextIcon))?_this__getStrOrFunToStr4:__DEFAULT_COMPONENTS_OPTIONS__.renderSuperNextIcon)+"\n </div>":"")+"\n </div>\n ":"")+"\n "+(this.options.showHeaderOk?'<div class="edate-ok-btn">\n '+(null!=(_this__getStrOrFunToStr5=this._getStrOrFunToStr(this.options.renderHeaderOkIcon))?_this__getStrOrFunToStr5:__DEFAULT_COMPONENTS_OPTIONS__.renderHeaderOkIcon)+"\n </div>":this.options.showHeaderClose?"<span></span>":""))},_proto._getStrOrFunToStr=function(value){if(null!=value){var _this_options;if("function"==typeof value)return this._getStrOrFunToStr(null==value?void 0:value(null==(_this_options=this.options)?void 0:_this_options.locale));if("string"==typeof value)return value}},_proto.renderContent=function(html){if(this.$header){var _$content=this.$header.querySelector(".edate-header-view");if(!_$content)return;_$content.innerHTML=html}},_proto.destroy=function(){this.$header&&this.$header.remove()},_proto._eventListeners=function(){var _this=this;_this.$header&&(delegate(_this.$header,".edate-super-prev-btn","click",function(event){event.delegateTarget.classList.contains("edate-disabled")||null==_this.options.onSuperPrev||_this.options.onSuperPrev.call(_this.options)}),delegate(_this.$header,".edate-prev-btn","click",function(event){event.delegateTarget.classList.contains("edate-disabled")||null==_this.options.onPrev||_this.options.onPrev.call(_this.options)}),delegate(_this.$header,".edate-next-btn","click",function(event){event.delegateTarget.classList.contains("edate-disabled")||null==_this.options.onNext||_this.options.onNext.call(_this.options)}),delegate(_this.$header,".edate-super-next-btn","click",function(event){event.delegateTarget.classList.contains("edate-disabled")||null==_this.options.onSuperNext||_this.options.onSuperNext.call(_this.options)}),delegate(_this.$header,".edate-close-btn","click",function(event){event.delegateTarget.classList.contains("edate-disabled")||null==_this.options.onClose||_this.options.onClose.call(_this.options)}),delegate(_this.$header,".edate-ok-btn","click",function(event){event.delegateTarget.classList.contains("edate-disabled")||null==_this.options.onOk||_this.options.onOk.call(_this.options)}))},Header}();function _extends$2(){return _extends$2=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends$2.apply(this,arguments)}var _CONTAINER_DEFAULT_OPTIONS_={prefixCls:"edate",locales:__$CALENDAR_LOCALES$__,showHeader:!0},Container=function(){function Container(popupContainer,options){this.$panel=document.createElement("div"),this.$body=document.createElement("div"),this.$container=document.createElement("div"),this.language="zh",this.header=null,this.locale=__$CALENDAR_LOCALES$__.zh,this.options=deepmerge.all([{},_CONTAINER_DEFAULT_OPTIONS_,options],{clone:!1}),this.$popupContainer=popupContainer?"function"==typeof popupContainer?popupContainer():popupContainer:document.body,this._setLocale(),this.$container.classList.add("edate-container",(this.options.prefixCls||"edate")+"-container"),options.isMobile&&this.$container.classList.add("edate-mobile",this.options.prefixCls+"-mobile"),this.options.wrapClassName&&this.$container.classList.add(this.options.wrapClassName),this.$panel.classList.add("edate-panel",(this.options.prefixCls||"edate")+"-panel"),this.options.showHeader&&(this.header=new Header(_extends$2({},this.options,{locale:this.locale,onPrev:this._onPrev.bind(this),onNext:this._onNext.bind(this),onSuperPrev:this._onSuperPrev.bind(this),onSuperNext:this._onSuperNext.bind(this),onClose:this._onClose.bind(this),onOk:this._onOk.bind(this)})),this.$panel.appendChild(this.header.$header)),this.$body.classList.add("edate-body",(this.options.prefixCls||"edate")+"-body"),this.$container.appendChild(this.$panel),this.$popupContainer.appendChild(this.$container)}var _proto=Container.prototype;return _proto._setLocale=function(){if(this.options.locales)if("string"==typeof this.options.language){var language=this.options.language||navigator.language;this.options.locales[language]?this.locale=this.options.locales[language]:this.locale=this.options.locales.zh}else this.locale=this.options.locales.zh},_proto.destroy=function(){var _this_$container;(null==(_this_$container=this.$container)?void 0:_this_$container.parentNode)&&this.$container.parentNode.removeChild(this.$container),this.header=null,this.$container=null},_proto.setLocale=function(locale){"string"==typeof locale?this._setLocale():this.locale=locale},_proto._onSuperPrev=function(){},_proto._onSuperNext=function(){},_proto._onPrev=function(){},_proto._onNext=function(){},_proto._onClose=function(){},_proto._onOk=function(){},Container}();function _create_class$3(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}(Constructor.prototype,protoProps),Constructor}function _extends$1(){return _extends$1=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends$1.apply(this,arguments)}function _set_prototype_of$3(o,p){return _set_prototype_of$3=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$3(o,p)}var _CALENDAR_DEFAULT_OPTIONS_={startOfWeek:0,showHeader:!0,showSuperPrevIcon:!0,showSuperNextIcon:!0,showPrevIcon:!0,showNextIcon:!0,language:"zh",renderBadge:'<span class="ecalendar-badge"></span>',badges:[]},Calendar=function(Container){function Calendar(container,options){var _this,_this_options_badges,_this_options,_this_options1,_this_options2;return(_this=Container.call(this,container,_extends$1({},_CALENDAR_DEFAULT_OPTIONS_,options,{prefixCls:"ecalendar"}))||this).badges=[],(null==(_this_options_badges=_this.options.badges)?void 0:_this_options_badges.length)&&(_this.badges=_this.options.badges),(null==(_this_options=_this.options)?void 0:_this_options.startOfWeek)&&((null==(_this_options1=_this.options)?void 0:_this_options1.startOfWeek)>6||(null==(_this_options2=_this.options)?void 0:_this_options2.startOfWeek)<0)&&(_this.options.startOfWeek=0),_this._render(),_this.setCurrent(_this.options.current,!1),_this._onHeader(),_this._onCell(),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$3(subClass,superClass)}(Calendar,Container);var _proto=Calendar.prototype;return _proto.setCurrent=function(date,change){if(void 0===change&&(change=!0),"string"==typeof date||(left=date,null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right))try{if(date="string"==typeof date?utilsTools.DateTime.toDate(date):date,(!this._current||utilsTools.DateTime.format(date,"YYYY-MM-DD")!==utilsTools.DateTime.format(this._current,"YYYY-MM-DD"))&&(this._current=date,change&&(null==this.options.onChange||this.options.onChange.call(this.options,date,utilsTools.DateTime.format(date,"YYYY-MM-DD"))),this._setRenderCurrent(this._current),this.$body)){var _this_$body_querySelector,_this_$body_querySelector1;null==(_this_$body_querySelector=this.$body.querySelector(".ecalendar-cell-selected"))||_this_$body_querySelector.classList.remove("ecalendar-cell-selected");var title=utilsTools.DateTime.format(this._current,"YYYY-MM-DD");null==(_this_$body_querySelector1=this.$body.querySelector(".ecalendar-cell-in-view[title='"+title+"']"))||_this_$body_querySelector1.classList.add("ecalendar-cell-selected")}}catch(error){this._setRenderCurrent(new Date)}else this._setRenderCurrent(new Date);var left,right},_proto.updateBadges=function(badges){(null==badges?void 0:badges.length)&&(this.badges=badges,this._renderDate())},_proto._setRenderCurrent=function(date){(!this._renderCurrent||date&&utilsTools.DateTime.format(this._renderCurrent,"YYYY-MM")!==utilsTools.DateTime.format(date,"YYYY-MM"))&&(this._renderCurrent=date||new Date,this._renderDate())},_proto._onCell=function(){var _this=this;delegate(this.$body,".ecalendar-cell","click",function(event){var date=new Date(event.delegateTarget.getAttribute("title").replace(/\//gi,"/"));null==_this.options.onCell||_this.options.onCell.call(_this.options,date,_this._renderCurrent),event.delegateTarget.classList.contains("edate-disabled")||(_this.setCurrent(date),event.stopPropagation(),event.preventDefault())})},_proto._onSuperPrev=function(){var date=new Date(this._renderCurrent);date.setFullYear(date.getFullYear()-1,date.getMonth(),date.getDate()),this._setRenderCurrent(date),null==this.options.onPrevMonth||this.options.onPrevMonth.call(this.options,this._current,this._renderCurrent)},_proto._onSuperNext=function(){var date=new Date(this._renderCurrent);date.setFullYear(date.getFullYear()+1,date.getMonth(),date.getDate()),this._setRenderCurrent(date),null==this.options.onNextMonth||this.options.onNextMonth.call(this.options,this._current,this._renderCurrent)},_proto._onPrev=function(){var date=new Date(this._renderCurrent);date.setMonth(date.getMonth()-1,date.getDate()),this._setRenderCurrent(date),null==this.options.onPrevMonth||this.options.onPrevMonth.call(this.options,this._current,this._renderCurrent)},_proto._onNext=function(){var date=new Date(this._renderCurrent);date.setMonth(date.getMonth()+1,date.getDate()),this._setRenderCurrent(date),null==this.options.onNextMonth||this.options.onNextMonth.call(this.options,this._current,this._renderCurrent)},_proto._onHeader=function(){var _this=this;delegate(this.$panel,".ecalendar-header-month-btn","click",function(){null==_this.options.onMonth||_this.options.onMonth.call(_this.options,_this._current,_this._renderCurrent)}),delegate(this.$panel,".ecalendar-header-year-btn","click",function(){null==_this.options.onYear||_this.options.onYear.call(_this.options,_this._current,_this._renderCurrent)})},_proto._onOk=function(){null==this.options.onOk||this.options.onOk.call(this.options,this.current)},_proto._onClose=function(){null==this.options.onClose||this.options.onClose.call(this.options,this.current)},_proto._render=function(){var _this_locale,_this_locale1,shiftedCustomDays=[].concat(((null==(_this_locale=this.locale)?void 0:_this_locale.weeks)||[]).slice(this.options.startOfWeek),((null==(_this_locale1=this.locale)?void 0:_this_locale1.weeks)||[]).slice(0,this.options.startOfWeek));this.$body.innerHTML='<table class="ecalendar-content">\n <thead><tr>'+shiftedCustomDays.map(function(day){return"<th>"+day+"</th>"}).join("")+"</tr></thead>\n <tbody></tbody>\n </table>",this.$panel.appendChild(this.$body)},_proto._renderDate=function(){var _this_header,_this_$body_querySelector,_this=this;if(this.$body){var _this_locale_months,_this_locale,_this_locale1,_this_locale2,_this_locale3,_this_locale_months1,_this_locale4,_this_locale5,_this_$body_querySelector1,todayStr=utilsTools.DateTime.format(new Date,"YYYY-MM-DD"),year=this._renderCurrent.getFullYear(),month=this._renderCurrent.getMonth()+1,dayGroupArray=Util.chunkBySize(Util.generateWeeksByYearMonth(year,month,this.options.startOfWeek),7),allowMonthClick="function"==typeof this.options.onMonth,allowYearClick="function"==typeof this.options.onYear;if(null==(_this_header=this.header)?void 0:_this_header.$header)this.header.renderContent("\n "+("zh"!==this.options.language?'<span class="ecalendar-header-month-btn '+(allowMonthClick?"edate-header-title-hover":"")+'">'+(null==(_this_locale=this.locale)||null==(_this_locale_months=_this_locale.months)?void 0:_this_locale_months[+(month-1)])+((null==(_this_locale1=this.locale)?void 0:_this_locale1.month)||"")+'</span> <span class="ecalendar-header-year-btn '+(allowYearClick?"edate-header-title-hover":"")+'">'+year+((null==(_this_locale2=this.locale)?void 0:_this_locale2.year)||"")+"</span>":'<span class="ecalendar-header-year-btn '+(allowYearClick?"edate-header-title-hover":"")+'">'+year+((null==(_this_locale3=this.locale)?void 0:_this_locale3.year)||"")+'</span> <span class="ecalendar-header-month-btn '+(allowMonthClick?"edate-header-title-hover":"")+'">'+(null==(_this_locale4=this.locale)||null==(_this_locale_months1=_this_locale4.months)?void 0:_this_locale_months1[+(month-1)])+((null==(_this_locale5=this.locale)?void 0:_this_locale5.month)||"")+"</span>"));if(null==(_this_$body_querySelector=this.$body.querySelector(".ecalendar-content"))?void 0:_this_$body_querySelector.querySelector("tbody"))(null==(_this_$body_querySelector1=this.$body.querySelector(".ecalendar-content"))?void 0:_this_$body_querySelector1.querySelector("tbody")).innerHTML="\n "+dayGroupArray.slice(0,7).map(function(dates){return"<tr>\n "+dates.map(function(dateStr){var _this_options,_dateStr_split=dateStr.split("-"),y=_dateStr_split[0],m=_dateStr_split[1],d=_dateStr_split[2],date=new Date(+y,+m,+d),classNames=[month===+m?"ecalendar-cell-in-view":"",todayStr===dateStr?"ecalendar-cell-today":"",_this._current&&utilsTools.DateTime.format(_this._current,"YYYY-MM-DD")===dateStr?"ecalendar-cell-selected":"","function"==typeof(null==(_this_options=_this.options)?void 0:_this_options.disabledDate)&&_this.options.disabledDate(utilsTools.DateTime.toDate(dateStr),dateStr)?"edate-disabled":""].filter(Boolean),badgeHtml=_this._renderBadge(date,dateStr);return'<td title="'+dateStr+'" class="ecalendar-cell '+classNames.join(" ")+'">\n '+("function"==typeof _this.options.renderDate?_this.options.renderDate(date,dateStr):'<span class="ecalendar-cell-inner">'+Util.fillZero(+d)+"</span>")+"\n "+badgeHtml+"\n </td>"}).join("")+"\n </tr>"}).join("")}},_proto._renderBadge=function(date,dateStr){var badgeHtml="";badgeHtml="function"==typeof this.options.renderBadge?this.options.renderBadge(date,dateStr):"string"==typeof this.options.renderBadge?this.options.renderBadge:"";var showBadge="function"==typeof this.options.showBadge&&this.options.showBadge(date,dateStr);return this.badges.includes(dateStr)||showBadge||(badgeHtml=""),badgeHtml},_create_class$3(Calendar,[{key:"current",get:function(){return this._current}}]),Calendar}(Container);function _create_class$2(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}(Constructor.prototype,protoProps),Constructor}function _set_prototype_of$2(o,p){return _set_prototype_of$2=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$2(o,p)}Calendar.DateTime=utilsTools.DateTime;var _Month_DEFAULT_OPTIONS_={showHeader:!0,showSuperPrevIcon:!0,showSuperNextIcon:!0,language:"zh"},Month=function(Container){function Month(popupContainer,options){var _this;return(_this=Container.call(this,popupContainer,deepmerge.all([{},_Month_DEFAULT_OPTIONS_,options||{},{showPrevIcon:!1,showNextIcon:!1,prefixCls:"emonth"}],{clone:!1}))||this)._render(),_this.setCurrent(_this.options.current,!1),_this._onHeaderTitle(),_this._onCell(),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$2(subClass,superClass)}(Month,Container);var _proto=Month.prototype;return _proto.setCurrent=function(date,change){void 0===change&&(change=!0),this._setCurrent(date,change)},_proto._setCurrent=function(date,change){if("string"==typeof date||(left=date,null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right))try{var d=date;"string"==typeof d&&(d=utilsTools.DateTime.toDate(d));var current=d;(!this._current&¤t||utilsTools.DateTime.format(current,"YYYY-MM")!==utilsTools.DateTime.format(this._current,"YYYY-MM"))&&(this._current=current,"function"==typeof this.options.onChange&&change&&(null==this.options.onChange||this.options.onChange.call(this.options,current,utilsTools.DateTime.format(current,"YYYY-MM")))),this._setRenderCurrent(current)}catch(error){this._setRenderCurrent(new Date)}else this._setRenderCurrent(new Date);var left,right},_proto._setRenderCurrent=function(date){if((!this._renderCurrent||this._renderCurrent&&utilsTools.DateTime.format(date,"YYYY")!==utilsTools.DateTime.format(this._renderCurrent,"YYYY"))&&(this._renderCurrent=date,this._renderMonths(date.getFullYear())),this._current){var _this_$body_querySelector,_this_$body_querySelector1;null==(_this_$body_querySelector=this.$body.querySelector(".emonth-cell-selected"))||_this_$body_querySelector.classList.remove("emonth-cell-selected");var selectedTitle=utilsTools.DateTime.format(this._current,"YYYY-MM");null==(_this_$body_querySelector1=this.$body.querySelector(".emonth-cell-in-view[title='"+selectedTitle+"']"))||_this_$body_querySelector1.classList.add("emonth-cell-selected")}this._setHeader()},_proto._onOk=function(){null==this.options.onOk||this.options.onOk.call(this.options,this.current)},_proto._onClose=function(){null==this.options.onClose||this.options.onClose.call(this.options,this.current)},_proto._onCell=function(){var _this=this;delegate(this.$body,".emonth-cell","click",function(e){e.stopPropagation(),e.preventDefault();var month=e.delegateTarget.getAttribute("title"),date=utilsTools.DateTime.toDate(month+utilsTools.DateTime.format(_this._renderCurrent,"-DDTHH:mm:ss"));null==_this.options.onCell||_this.options.onCell.call(_this.options,date,utilsTools.DateTime.format(date,"YYYY-MM")),e.delegateTarget.classList.contains("edate-disabled")||_this.setCurrent(date)})},_proto._onSuperPrev=function(){var year=this._renderCurrent.getFullYear()-1,date=utilsTools.DateTime.toDate(year+utilsTools.DateTime.format(this._renderCurrent,"-MM-DDTHH:mm:ss"));this._setRenderCurrent(date),null==this.options.onSuperPrev||this.options.onSuperPrev.call(this.options,this._current,this._renderCurrent)},_proto._onSuperNext=function(){var year=this._renderCurrent.getFullYear()+1,date=utilsTools.DateTime.toDate(year+utilsTools.DateTime.format(this._renderCurrent,"-MM-DDTHH:mm:ss"));this._setRenderCurrent(date),null==this.options.onSuperNext||this.options.onSuperNext.call(this.options,this._current,this._renderCurrent)},_proto._onHeaderTitle=function(){var _this=this;delegate(this.$panel,".edate-header-title-hover","click",function(){null==_this.options.onYear||_this.options.onYear.call(_this.options,_this._current,_this._renderCurrent)})},_proto._setHeader=function(){if(this.$panel.querySelector(".emonth-header-view")){var allowClick="function"==typeof this.options.onYear;this.$panel.querySelector(".emonth-header-view").innerHTML='<span class="'+(allowClick?"edate-header-title-hover":"")+'">'+this._renderCurrent.getFullYear()+this.locale.year+"</span>"}},_proto._setDisabled=function(){for(var year=this._renderCurrent.getFullYear(),i=0;i<12;i++){var $cell=this.$body.querySelector(".emonth-cell[title='"+year+"-"+Util.fillZero(i+1)+"']");if($cell){var date=utilsTools.DateTime.toDate(year+"-"+Util.fillZero(i+1)+"-"+utilsTools.DateTime.format(this._renderCurrent,"DDTHH:mm:ss"));"function"==typeof this.options.disabledMonth&&this.options.disabledMonth(date,utilsTools.DateTime.format(date,"YYYY-MM"))?$cell.classList.add("edate-disabled"):$cell.classList.remove("edate-disabled")}}},_proto._render=function(){this.$body.innerHTML='<table class="emonth-content"></table>',this.$panel.appendChild(this.$body)},_proto._renderMonths=function(year){var _this=this;this.$body.querySelector(".emonth-content")&&(this.$body.querySelector(".emonth-content").innerHTML="\n <tbody>\n "+Util.chunkBySize(this.locale.months,3).slice(0,4).map(function(month,index){return"<tr>\n "+month.map(function(m,i){return'<td title="'+year+"-"+Util.fillZero(3*index+i+1)+'" class="emonth-cell emonth-cell-in-view">\n <span class="emonth-cell-inner">'+(_this.options.monthRender&&"function"==typeof _this.options.monthRender?_this.options.monthRender(utilsTools.DateTime.toDate(year+"-"+Util.fillZero(3*index+i+1)),year+"-"+Util.fillZero(3*index+i+1))||"":m)+"</span>\n </td>"}).join("")+"\n </tr>"}).join("")+"\n </tbody>"),this._setDisabled()},_create_class$2(Month,[{key:"current",get:function(){return this._current}}]),Month}(Container);function _create_class$1(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}(Constructor.prototype,protoProps),Constructor}function _set_prototype_of$1(o,p){return _set_prototype_of$1=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$1(o,p)}var _YEAR_DEFAULT_OPTIONS_={showHeader:!0,showSuperPrevIcon:!0,showSuperNextIcon:!0,language:"zh",prefixCls:"eyear"},Year=function(Container){function Year(popupContainer,options){var _this;return(_this=Container.call(this,popupContainer,deepmerge.all([{},_YEAR_DEFAULT_OPTIONS_,options||{},{showPrevIcon:!1,showNextIcon:!1,renderPrevIcon:"",renderNextIcon:""}],{clone:!1}))||this)._render(),_this._setCurrent(_this.options.current,!1),_this._onCell(),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of$1(subClass,superClass)}(Year,Container);var _proto=Year.prototype;return _proto.setCurrent=function(year,change){void 0===change&&(change=!0),this._setCurrent(year,change)},_proto._setCurrent=function(year,change){var _this__current;void 0===change&&(change=!0);var left,right,_year="number"==typeof year?utilsTools.DateTime.toDate(year):(left=year,(null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right)?year:new Date);_year.getFullYear()!==(null==(_this__current=this._current)?void 0:_this__current.getFullYear())&&(this._current=_year,"function"==typeof this.options.onChange&&change&&this.options.onChange(_year)),this._renderTenYear=(this._current||new Date).getFullYear(),this._renderYearList()},_proto._onOk=function(){null==this.options.onOk||this.options.onOk.call(this.options,this.current)},_proto._onClose=function(){null==this.options.onClose||this.options.onClose.call(this.options,this.current)},_proto._onCell=function(){var _this=this;delegate(this.$body,".eyear-cell","click",function(e){var yearStr=+e.delegateTarget.getAttribute("title"),newDate=utilsTools.DateTime.toDate(utilsTools.DateTime.format(_this._current,"yyyy-MM-dd HH:mm:ss"));newDate.setFullYear(yearStr),null==_this.options.onCell||_this.options.onCell.call(_this.options,newDate),e.delegateTarget.classList.contains("edate-disabled")||(_this._setCurrent(newDate),e.stopPropagation(),e.preventDefault())})},_proto._onSuperPrev=function(){this._renderTenYear=this._renderTenYear-10,null==this.options.onPrevYear||this.options.onPrevYear.call(this.options,this._current,Util.generateYears(this._renderTenYear)),this._renderYearList()},_proto._onSuperNext=function(){this._renderTenYear=this._renderTenYear+10,null==this.options.onNextYear||this.options.onNextYear.call(this.options,this._current,Util.generateYears(this._renderTenYear)),this._renderYearList()},_proto._render=function(){this.$body.innerHTML='<table class="eyear-content"></table>',this.$panel.appendChild(this.$body)},_proto._renderYearList=function(){var _this_header,_this=this,list=Util.generateYears(this._renderTenYear);null==(_this_header=this.header)||_this_header.renderContent(""+list[1]+this.locale.year+" - "+list[list.length-2]+this.locale.year),this.$body.querySelector(".eyear-content")&&(this.$body.querySelector(".eyear-content").innerHTML="\n <tbody>\n "+Util.chunkBySize(list,3).slice(0,4).map(function(years,i){return"<tr>\n "+years.map(function(y,j){var classNames=0===i&&0===j||3===i&&2===j?"eyear-cell":"eyear-cell eyear-cell-in-view";return+y===+_this._current.getFullYear()&&(classNames+=" eyear-cell-selected"),"function"==typeof _this.options.disabledYear&&_this.options.disabledYear(utilsTools.DateTime.toDate(y),y)&&(classNames+=" edate-disabled"),'<td title="'+y+'" class="'+classNames+'">\n '+(_this.options.yearRender&&"function"==typeof _this.options.yearRender?_this.options.yearRender(utilsTools.DateTime.toDate(y),y):'<span class="eyear-cell-inner">'+ +y+"</span>")+"\n </td>"}).join("")+"\n </tr>"}).join("")+"\n </tbody>\n ")},_create_class$1(Year,[{key:"current",get:function(){return this._current}}]),Year}(Container);function _create_class(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}(Constructor.prototype,protoProps),Constructor}function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_extends.apply(this,arguments)}function _set_prototype_of(o,p){return _set_prototype_of=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of(o,p)}var _DATEPICKER_MODE_ARRAY=["date","month","year"],_DATEPICKER_DEFAULT_OPTIONS_={getPopupContainer:function(){return document.body},language:"zh",isMobile:!1,mode:_DATEPICKER_MODE_ARRAY[0]},DatePicker=function(Picker){function DatePicker(container,options){var _this;return(_this=Picker.call(this,container,deepmerge.all([{},_DATEPICKER_DEFAULT_OPTIONS_,options||{},{wrapClassName:"edate-picker-container"}],{clone:!1}))||this).current=null,_this._current=null,_this._calendar=null,_this._month=null,_this._year=null,_this._currentMode="date",_this.options=deepmerge.all([{},_DATEPICKER_DEFAULT_OPTIONS_,options||{}],{clone:!1}),_this.options.current&&(_this.current=_this.options.current,_this._current=_this.options.current),_this._currentMode=_this.options.mode,_this._switchMode(),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_set_prototype_of(subClass,superClass)}(DatePicker,Picker);var _proto=DatePicker.prototype;return _proto.setCurrent=function(date){this._setCurrent(date)},_proto.updateBadges=function(badges){var _this__calendar;(null==badges?void 0:badges.length)&&(null==(_this__calendar=this._calendar)||_this__calendar.updateBadges(badges))},_proto.destroy=function(){var _this__calendar,_this__month,_this__year;null==(_this__calendar=this._calendar)||_this__calendar.destroy(),this._calendar=null,null==(_this__month=this._month)||_this__month.destroy(),this._month=null,null==(_this__year=this._year)||_this__year.destroy(),this._year=null,Picker.prototype.destroy.call(this)},_proto._setCurrent=function(date,change){var _this__calendar,_this__month,_this__year;void 0===change&&(change=!0),this._current=date,null==(_this__calendar=this._calendar)||_this__calendar.setCurrent(date,change),null==(_this__month=this._month)||_this__month.setCurrent(date,change),null==(_this__year=this._year)||_this__year.setCurrent(date,change)},_proto._switchMode=function(){this.$body.classList.add("edate-picker-"+this._currentMode),"date"===this._currentMode?this._initCalendar():"month"===this._currentMode?this._initMonth():"year"===this._currentMode&&this._initYear()},_proto._hide=function(){this.open=!1},_proto._onOpenChange=function(open){Picker.prototype._onOpenChange.call(this,open),open&&(this._removeCurrentTypeClass(),this._currentMode=this.options.mode||"date",this._switchMode()),null==this.options.onPanelOpen||this.options.onPanelOpen.call(this.options,open)},_proto._initCalendar=function(){var _this=this;this._calendar||(this._calendar=new Calendar(this.$body,_extends({},this.options,{current:this._current||new Date,onCell:this._onCell.bind(this),showHeaderOk:this.options.isMobile,showHeaderClose:this.options.isMobile,onOk:this._onOk.bind(this),onClose:this._onClose.bind(this),onMonth:this._onMonth.bind(this),onYear:this._onYear.bind(this),onChange:function(date){var _this__calendar;_this._current&&utilsTools.DateTime.format(_this._current,"YYYY-MM-DD")===utilsTools.DateTime.format(date,"YYYY-MM-DD")||_this._onChange(date,null==(_this__calendar=_this._calendar)?void 0:_this__calendar.options.showHeaderOk)}})))},_proto._initMonth=function(){var _this=this;this._month||(this._month=new Month(this.$body,_extends({},this.options,{current:this._current||new Date,onCell:this._onCell.bind(this),onOk:this._onOk.bind(this),onClose:this._onClose.bind(this),showHeaderOk:this.options.isMobile,showHeaderClose:this.options.isMobile,onChange:function(date){var _this__month;_this._current&&utilsTools.DateTime.format(_this._current,"YYYY-MM")===utilsTools.DateTime.format(date,"YYYY-MM")||_this._onChange(date,null==(_this__month=_this._month)?void 0:_this__month.options.showHeaderOk),_this._minModeIndex<1&&(_this._removeCurrentTypeClass(),_this._currentMode="date",_this._switchMode())},onYear:this._onYear.bind(this)})))},_proto._initYear=function(){var _this=this;this._year||(this._year=new Year(this.$body,_extends({},this.options,{current:this._current||new Date,onCell:this._onCell.bind(this),onOk:this._onOk.bind(this),onClose:this._onClose.bind(this),showHeaderOk:this.options.isMobile,showHeaderClose:this.options.isMobile,onChange:function(date){var _this__year;_this._current&&utilsTools.DateTime.format(_this._current,"YYYY")===utilsTools.DateTime.format(date,"YYYY")||_this._onChange(date,null==(_this__year=_this._year)?void 0:_this__year.options.showHeaderOk),_this._minModeIndex<2&&(_this._removeCurrentTypeClass(),_this._currentMode="month",_this._switchMode())}})))},_proto._onOk=function(date){this.current=date||this._current,this._setCurrent(date||this._current),null==this.options.onOk||this.options.onOk.call(this.options,this.current,this._currentMode),this._hide()},_proto._onClose=function(){this._setCurrent(this.current,!1),null==this.options.onClose||this.options.onClose.call(this.options,this.current,this._currentMode),this._hide()},_proto._onChange=function(date,showHeaderOk){var index=_DATEPICKER_MODE_ARRAY.indexOf(this._currentMode);showHeaderOk||this._minModeIndex!==index||this._hide(),null==this.options.onChange||this.options.onChange.call(this.options,date,this._currentMode),this._setCurrent(date)},_proto._onCell=function(date){null==this.options.onCell||this.options.onCell.call(this.options,date,this._currentMode)},_proto._onYear=function(){this._removeCurrentTypeClass(),this._currentMode="year",this._switchMode()},_proto._onMonth=function(){this._removeCurrentTypeClass(),this._currentMode="month",this._switchMode()},_proto._removeCurrentTypeClass=function(){this.$body.classList.remove("edate-picker-"+this._currentMode)},_create_class(DatePicker,[{key:"_minModeIndex",get:function(){return _DATEPICKER_MODE_ARRAY.indexOf(this.options.mode)}}]),DatePicker}(Picker);exports.Calendar=Calendar,exports.DatePicker=DatePicker,exports.Header=Header,exports.Month=Month,exports.Year=Year;
|