eoss 0.1.0-alpha.20 → 0.1.0-alpha.21

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.
Files changed (207) hide show
  1. package/lib/account-login.js +1943 -1890
  2. package/lib/alert.js +4 -4
  3. package/lib/aside.js +4 -4
  4. package/lib/autocomplete.js +4936 -4834
  5. package/lib/avatar.js +4 -4
  6. package/lib/backtop.js +4 -4
  7. package/lib/badge.js +4 -4
  8. package/lib/breadcrumb-item.js +6 -6
  9. package/lib/breadcrumb.js +7 -7
  10. package/lib/button-group.js +11 -14
  11. package/lib/button.js +6 -6
  12. package/lib/ca-login.js +2480 -2382
  13. package/lib/calendar.js +798 -798
  14. package/lib/card.js +4 -4
  15. package/lib/carousel-item.js +911 -813
  16. package/lib/carousel.js +1646 -1548
  17. package/lib/cascader-panel.js +2556 -2458
  18. package/lib/cascader.js +4546 -4444
  19. package/lib/checkbox-button.js +4 -4
  20. package/lib/checkbox-group.js +2894 -2841
  21. package/lib/checkbox.js +4 -4
  22. package/lib/col.js +2 -2
  23. package/lib/collapse-item.js +35159 -2572
  24. package/lib/collapse.js +35410 -2762
  25. package/lib/color-picker.js +494 -490
  26. package/lib/config/api.js +15 -1
  27. package/lib/container.js +4 -4
  28. package/lib/cron.js +4 -4
  29. package/lib/data-table.js +1895 -1842
  30. package/lib/date-picker.js +6422 -6320
  31. package/lib/dialog.js +2912 -2806
  32. package/lib/divider.js +4 -4
  33. package/lib/drawer.js +311 -299
  34. package/lib/dropdown-item.js +6 -6
  35. package/lib/dropdown-menu.js +539 -535
  36. package/lib/dropdown.js +2270 -2172
  37. package/lib/email-login.js +1783 -1730
  38. package/lib/empty.js +723 -0
  39. package/lib/eoss.common.js +63680 -56193
  40. package/lib/flip.js +4 -4
  41. package/lib/flow-group.js +2985 -2887
  42. package/lib/flow.js +28067 -28022
  43. package/lib/footer.js +4 -4
  44. package/lib/form-item.js +1935 -1837
  45. package/lib/form.js +9230 -9092
  46. package/lib/header.js +4 -4
  47. package/lib/icon.js +1708 -1590
  48. package/lib/icons.js +4 -4
  49. package/lib/image-viewer.js +1660 -1562
  50. package/lib/image.js +162 -162
  51. package/lib/index.js +1 -1
  52. package/lib/infinite-scroll.js +76 -76
  53. package/lib/input-number.js +172 -172
  54. package/lib/input.js +1362 -1264
  55. package/lib/link.js +4 -4
  56. package/lib/loading.js +321 -317
  57. package/lib/login.js +3306 -3300
  58. package/lib/lowcode.js +13320 -0
  59. package/lib/main.js +14465 -14339
  60. package/lib/marquee.js +1237 -1139
  61. package/lib/menu-item-group.js +119 -119
  62. package/lib/menu-item.js +114 -114
  63. package/lib/menu.js +6193 -6091
  64. package/lib/message-box.js +3582 -3480
  65. package/lib/message.js +2265 -2163
  66. package/lib/notification.js +2430 -2328
  67. package/lib/option-group.js +4 -4
  68. package/lib/option.js +842 -744
  69. package/lib/page-header.js +4 -4
  70. package/lib/pagination.js +1916 -1815
  71. package/lib/phone-login.js +1788 -1735
  72. package/lib/popconfirm.js +8 -8
  73. package/lib/popover.js +4559 -4457
  74. package/lib/progress.js +4 -4
  75. package/lib/qr-code.js +9 -9
  76. package/lib/qrcode-login.js +1600 -1543
  77. package/lib/radio-button.js +6 -6
  78. package/lib/radio-group.js +2142 -2089
  79. package/lib/radio.js +6 -6
  80. package/lib/rate.js +1226 -1128
  81. package/lib/row.js +2 -2
  82. package/lib/scrollbar.js +2695 -2597
  83. package/lib/select.js +5985 -5961
  84. package/lib/selector-panel.js +5239 -5186
  85. package/lib/selector.js +1712 -1659
  86. package/lib/slider.js +16 -16
  87. package/lib/step.js +35836 -2736
  88. package/lib/steps.js +1281 -1183
  89. package/lib/submenu.js +461 -457
  90. package/lib/switch.js +1010 -912
  91. package/lib/tab-pane.js +4 -4
  92. package/lib/table-column.js +2595 -2497
  93. package/lib/table.js +9225 -9239
  94. package/lib/tabs.js +2414 -2320
  95. package/lib/tag.js +4 -4
  96. package/lib/theme-chalk/account-login.css +1 -1
  97. package/lib/theme-chalk/autocomplete.css +1 -1
  98. package/lib/theme-chalk/base.css +1 -1
  99. package/lib/theme-chalk/cascader.css +1 -1
  100. package/lib/theme-chalk/date-picker.css +1 -1
  101. package/lib/theme-chalk/empty.css +1 -0
  102. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  103. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  104. package/lib/theme-chalk/form.css +1 -1
  105. package/lib/theme-chalk/icon.css +1 -1
  106. package/lib/theme-chalk/index.css +1 -1
  107. package/lib/theme-chalk/input-number.css +1 -1
  108. package/lib/theme-chalk/input.css +1 -1
  109. package/lib/theme-chalk/login.css +1 -1
  110. package/lib/theme-chalk/lowcode.css +1 -0
  111. package/lib/theme-chalk/main.css +1 -1
  112. package/lib/theme-chalk/message-box.css +1 -1
  113. package/lib/theme-chalk/pagination.css +1 -1
  114. package/lib/theme-chalk/qrcode-login.css +1 -1
  115. package/lib/theme-chalk/select.css +1 -1
  116. package/lib/theme-chalk/slider.css +1 -1
  117. package/lib/theme-chalk/tabs.css +1 -1
  118. package/lib/theme-chalk/time-picker.css +1 -1
  119. package/lib/theme-chalk/transfer.css +1 -1
  120. package/lib/time-picker.js +5823 -5819
  121. package/lib/time-select.js +3578 -3574
  122. package/lib/timeline-item.js +4 -4
  123. package/lib/timeline.js +4 -4
  124. package/lib/tips.js +1633 -1580
  125. package/lib/toolbar.js +213 -213
  126. package/lib/tooltip.js +4441 -4339
  127. package/lib/transfer.js +938 -840
  128. package/lib/tree-group.js +1875 -1757
  129. package/lib/tree.js +2626 -2573
  130. package/lib/upload.js +7209 -7156
  131. package/lib/utils/ajax.js +185 -243
  132. package/lib/utils/bus.js +2 -2
  133. package/lib/utils/popup/index.js +5 -1
  134. package/lib/utils/util.js +108 -11
  135. package/package.json +2 -2
  136. package/packages/button/src/button-group.vue +1 -4
  137. package/packages/collapse/src/collapse-item.vue +47 -33
  138. package/packages/dialog/src/dialog.vue +4 -1
  139. package/packages/drawer/src/drawer.vue +12 -4
  140. package/packages/empty/index.js +7 -0
  141. package/packages/empty/src/img-empty.vue +132 -0
  142. package/packages/empty/src/index.vue +49 -0
  143. package/packages/form/src/form-item-render.vue +16 -18
  144. package/packages/form/src/form.vue +27 -5
  145. package/packages/icons/src/icon.json +1 -1
  146. package/packages/login/src/login.vue +19 -21
  147. package/packages/login/src/mixins.js +2 -1
  148. package/packages/lowcode/index.js +5 -0
  149. package/packages/lowcode/src/aside.vue +331 -0
  150. package/packages/lowcode/src/attribute/bind.vue +441 -0
  151. package/packages/lowcode/src/attribute/dependency.vue +325 -0
  152. package/packages/lowcode/src/attribute/function.vue +112 -0
  153. package/packages/lowcode/src/attribute/property.vue +331 -0
  154. package/packages/lowcode/src/attribute/styles.vue +318 -0
  155. package/packages/lowcode/src/attribute.vue +135 -0
  156. package/packages/lowcode/src/canvas.vue +296 -0
  157. package/packages/lowcode/src/json.vue +32 -0
  158. package/packages/lowcode/src/lowcode.vue +539 -0
  159. package/packages/lowcode/src/modules.vue +93 -0
  160. package/packages/lowcode/src/pages.vue +91 -0
  161. package/packages/lowcode/src/render.vue +247 -0
  162. package/packages/lowcode/src/source.vue +32 -0
  163. package/packages/lowcode/src/toolbar.vue +162 -0
  164. package/packages/main/src/components/pages.vue +28 -2
  165. package/packages/main/src/components/set-menus.vue +3 -3
  166. package/packages/main/src/components/user.vue +6 -1
  167. package/packages/main/src/early.vue +2 -2
  168. package/packages/main/src/gzw.vue +55 -61
  169. package/packages/main/src/minxs.js +113 -36
  170. package/packages/pagination/src/pager.vue +2 -2
  171. package/packages/pagination/src/pagination.js +4 -1
  172. package/packages/qrcode-login/src/qrcode-login.vue +6 -2
  173. package/packages/select/src/select.vue +28 -6
  174. package/packages/steps/src/step.vue +7 -5
  175. package/packages/tabs/src/tab-nav.vue +1 -0
  176. package/packages/tabs/src/tabs.vue +0 -2
  177. package/packages/theme-chalk/dist/fonts/iconfont.ttf +0 -0
  178. package/packages/theme-chalk/dist/fonts/iconfont.woff +0 -0
  179. package/packages/theme-chalk/gulpfile.js +3 -0
  180. package/packages/theme-chalk/src/account-login.scss +1 -0
  181. package/packages/theme-chalk/src/base.scss +1 -1
  182. package/packages/theme-chalk/src/common/var.scss +16 -0
  183. package/packages/theme-chalk/src/empty.scss +45 -0
  184. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  185. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  186. package/packages/theme-chalk/src/form.scss +1 -8
  187. package/packages/theme-chalk/src/icon.scss +30 -1
  188. package/packages/theme-chalk/src/index.scss +2 -0
  189. package/packages/theme-chalk/src/input-number.scss +0 -4
  190. package/packages/theme-chalk/src/input.scss +9 -0
  191. package/packages/theme-chalk/src/login.scss +32 -29
  192. package/packages/theme-chalk/src/lowcode.scss +461 -0
  193. package/packages/theme-chalk/src/main.scss +28 -65
  194. package/packages/theme-chalk/src/pagination.scss +4 -55
  195. package/packages/theme-chalk/src/qrcode-login.scss +3 -1
  196. package/packages/theme-chalk/src/tabs.scss +81 -50
  197. package/src/config/api.js +13 -0
  198. package/src/index.js +17 -4
  199. package/src/utils/ajax.js +61 -65
  200. package/src/utils/bus.js +2 -2
  201. package/src/utils/popup/index.js +5 -1
  202. package/src/utils/util.js +104 -7
  203. package/lib/index_/345/211/257/346/234/254.js +0 -583
  204. package/packages/dialog copy/index.js +0 -8
  205. package/packages/dialog copy/src/dialog.vue +0 -615
  206. package/src/index_/345/211/257/346/234/254.js +0 -359
  207. /package/{packages/form/src → src/components}/field-render.vue +0 -0
package/lib/calendar.js CHANGED
@@ -82,807 +82,12 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 165);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 169);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ({
89
89
 
90
- /***/ 165:
91
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
-
93
- "use strict";
94
- // ESM COMPAT FLAG
95
- __webpack_require__.r(__webpack_exports__);
96
-
97
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/calendar.vue?vue&type=template&id=541b30c2&
98
- var render = function () {
99
- var _vm = this
100
- var _h = _vm.$createElement
101
- var _c = _vm._self._c || _h
102
- return _c("div", { staticClass: "es-calendar" }, [
103
- _c("div", { staticClass: "es-calendar__header" }, [
104
- _c("div", { staticClass: "es-calendar__title" }, [
105
- _vm._v("\n " + _vm._s(_vm.i18nDate) + "\n "),
106
- ]),
107
- _vm.validatedRange.length === 0
108
- ? _c(
109
- "div",
110
- { staticClass: "es-calendar__button-group" },
111
- [
112
- _c(
113
- "es-button-group",
114
- [
115
- _c(
116
- "es-button",
117
- {
118
- attrs: { type: "plain", size: "mini" },
119
- on: {
120
- click: function ($event) {
121
- return _vm.selectDate("prev-month")
122
- },
123
- },
124
- },
125
- [_vm._v("\n 上个月\n ")]
126
- ),
127
- _c(
128
- "es-button",
129
- {
130
- attrs: { type: "plain", size: "mini" },
131
- on: {
132
- click: function ($event) {
133
- return _vm.selectDate("today")
134
- },
135
- },
136
- },
137
- [_vm._v("\n 今天\n ")]
138
- ),
139
- _c(
140
- "es-button",
141
- {
142
- attrs: { type: "plain", size: "mini" },
143
- on: {
144
- click: function ($event) {
145
- return _vm.selectDate("next-month")
146
- },
147
- },
148
- },
149
- [_vm._v("\n 下个月\n ")]
150
- ),
151
- ],
152
- 1
153
- ),
154
- ],
155
- 1
156
- )
157
- : _vm._e(),
158
- ]),
159
- _vm.validatedRange.length === 0
160
- ? _c(
161
- "div",
162
- { key: "no-range", staticClass: "es-calendar__body" },
163
- [
164
- _c("date-table", {
165
- attrs: {
166
- date: _vm.date,
167
- "selected-day": _vm.realSelectedDay,
168
- "first-day-of-week": _vm.realFirstDayOfWeek,
169
- },
170
- on: { pick: _vm.pickDay },
171
- }),
172
- ],
173
- 1
174
- )
175
- : _c(
176
- "div",
177
- { key: "has-range", staticClass: "es-calendar__body" },
178
- _vm._l(_vm.validatedRange, function (range, index) {
179
- return _c("date-table", {
180
- key: index,
181
- attrs: {
182
- date: range[0],
183
- "selected-day": _vm.realSelectedDay,
184
- range: range,
185
- "hide-header": index !== 0,
186
- "first-day-of-week": _vm.realFirstDayOfWeek,
187
- },
188
- on: { pick: _vm.pickDay },
189
- })
190
- }),
191
- 1
192
- ),
193
- ])
194
- }
195
- var staticRenderFns = []
196
- render._withStripped = true
197
-
198
-
199
- // CONCATENATED MODULE: ./packages/calendar/src/calendar.vue?vue&type=template&id=541b30c2&
200
-
201
- // EXTERNAL MODULE: ./src/utils/date.js
202
- var utils_date = __webpack_require__(6);
203
-
204
- // EXTERNAL MODULE: external "eoss/lib/button"
205
- var button_ = __webpack_require__(33);
206
- var button_default = /*#__PURE__*/__webpack_require__.n(button_);
207
-
208
- // EXTERNAL MODULE: external "eoss/lib/button-group"
209
- var button_group_ = __webpack_require__(89);
210
- var button_group_default = /*#__PURE__*/__webpack_require__.n(button_group_);
211
-
212
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/date-table.vue?vue&type=script&lang=js&
213
-
214
-
215
-
216
- /* harmony default export */ var date_tablevue_type_script_lang_js_ = ({
217
- props: {
218
- selectedDay: String, // formated date yyyy-MM-dd
219
- range: {
220
- type: Array,
221
- validator: function validator(val) {
222
- if (!(val && val.length)) return true;
223
- var start = val[0],
224
- end = val[1];
225
-
226
- return Object(utils_date["H" /* validateRangeInOneMonth */])(start, end);
227
- }
228
- },
229
- date: Date,
230
- hideHeader: Boolean,
231
- firstDayOfWeek: Number
232
- },
233
-
234
- inject: ['Calendar'],
235
-
236
- data: function data() {
237
- return {
238
- WEEK_DAYS: Object(utils_date["o" /* getSettings */])().dayNames
239
- };
240
- },
241
-
242
-
243
- methods: {
244
- toNestedArr: function toNestedArr(days) {
245
- return Object(utils_date["E" /* range */])(days.length / 7).map(function (_, index) {
246
- var start = index * 7;
247
- return days.slice(start, start + 7);
248
- });
249
- },
250
- getFormateDate: function getFormateDate(day, type) {
251
- if (!day || ['prev', 'current', 'next'].indexOf(type) === -1) {
252
- throw new Error('invalid day or type');
253
- }
254
- var prefix = this.curMonthDatePrefix;
255
- if (type === 'prev') {
256
- prefix = this.prevMonthDatePrefix;
257
- } else if (type === 'next') {
258
- prefix = this.nextMonthDatePrefix;
259
- }
260
- day = ('00' + day).slice(-2);
261
- return prefix + '-' + day;
262
- },
263
- getCellClass: function getCellClass(_ref) {
264
- var text = _ref.text,
265
- type = _ref.type;
266
-
267
- var classes = [type];
268
- if (type === 'current') {
269
- var date = this.getFormateDate(text, type);
270
- if (date === this.selectedDay) {
271
- classes.push('is-selected');
272
- }
273
- if (date === this.formatedToday) {
274
- classes.push('is-today');
275
- }
276
- }
277
- return classes;
278
- },
279
- pickDay: function pickDay(_ref2) {
280
- var text = _ref2.text,
281
- type = _ref2.type;
282
-
283
- var date = this.getFormateDate(text, type);
284
- this.$emit('pick', date);
285
- },
286
- cellRenderProxy: function cellRenderProxy(_ref3) {
287
- var text = _ref3.text,
288
- type = _ref3.type;
289
- var h = this.$createElement;
290
-
291
- var render = this.Calendar.$scopedSlots.dateCell;
292
- if (!render) return h('span', [text]);
293
-
294
- var day = this.getFormateDate(text, type);
295
- var date = new Date(day);
296
- var data = {
297
- isSelected: this.selectedDay === day,
298
- type: type + '-month',
299
- day: day
300
- };
301
- return render({ date: date, data: data });
302
- }
303
- },
304
-
305
- computed: {
306
- prevMonthDatePrefix: function prevMonthDatePrefix() {
307
- var temp = new Date(this.date.getTime());
308
- temp.setDate(0);
309
- return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
310
- },
311
- curMonthDatePrefix: function curMonthDatePrefix() {
312
- return utils_date["f" /* fecha */].format(this.date, 'yyyy-MM');
313
- },
314
- nextMonthDatePrefix: function nextMonthDatePrefix() {
315
- var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1);
316
- return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
317
- },
318
- formatedToday: function formatedToday() {
319
- return this.Calendar.formatedToday;
320
- },
321
- isInRange: function isInRange() {
322
- return this.range && this.range.length;
323
- },
324
- rows: function rows() {
325
- var days = [];
326
- // if range exists, should render days in range.
327
- if (this.isInRange) {
328
- var _range = this.range,
329
- start = _range[0],
330
- end = _range[1];
331
-
332
- var currentMonthRange = Object(utils_date["E" /* range */])(end.getDate() - start.getDate() + 1).map(function (_, index) {
333
- return {
334
- text: start.getDate() + index,
335
- type: 'current'
336
- };
337
- });
338
- var remaining = currentMonthRange.length % 7;
339
- remaining = remaining === 0 ? 0 : 7 - remaining;
340
- var nextMonthRange = Object(utils_date["E" /* range */])(remaining).map(function (_, index) {
341
- return {
342
- text: index + 1,
343
- type: 'next'
344
- };
345
- });
346
- days = currentMonthRange.concat(nextMonthRange);
347
- } else {
348
- var date = this.date;
349
- var firstDay = Object(utils_date["j" /* getFirstDayOfMonth */])(date);
350
- firstDay = firstDay === 0 ? 7 : firstDay;
351
- var firstDayOfWeek = typeof this.firstDayOfWeek === 'number' ? this.firstDayOfWeek : 1;
352
- var prevMonthDays = Object(utils_date["l" /* getPrevMonthLastDays */])(date, firstDay - firstDayOfWeek).map(function (day) {
353
- return {
354
- text: day,
355
- type: 'prev'
356
- };
357
- });
358
- var currentMonthDays = Object(utils_date["k" /* getMonthDays */])(date).map(function (day) {
359
- return {
360
- text: day,
361
- type: 'current'
362
- };
363
- });
364
- days = [].concat(prevMonthDays, currentMonthDays);
365
- var nextMonthDays = Object(utils_date["E" /* range */])(42 - days.length).map(function (_, index) {
366
- return {
367
- text: index + 1,
368
- type: 'next'
369
- };
370
- });
371
- days = days.concat(nextMonthDays);
372
- }
373
- return this.toNestedArr(days);
374
- },
375
- weekDays: function weekDays() {
376
- var start = this.firstDayOfWeek;
377
- var WEEK_DAYS = this.WEEK_DAYS;
378
-
379
-
380
- if (typeof start !== 'number' || start === 0) {
381
- return WEEK_DAYS.slice();
382
- } else {
383
- return WEEK_DAYS.slice(start).concat(WEEK_DAYS.slice(0, start));
384
- }
385
- }
386
- },
387
-
388
- render: function render() {
389
- var _this = this;
390
-
391
- var h = arguments[0];
392
-
393
- var thead = this.hideHeader ? null : h('thead', [this.weekDays.map(function (day) {
394
- return h(
395
- 'th',
396
- { key: day },
397
- [day]
398
- );
399
- })]);
400
- return h(
401
- 'table',
402
- {
403
- 'class': {
404
- 'es-calendar-table': true,
405
- 'is-range': this.isInRange
406
- },
407
- attrs: { cellspacing: '0',
408
- cellpadding: '0'
409
- }
410
- },
411
- [thead, h('tbody', [this.rows.map(function (row, index) {
412
- return h(
413
- 'tr',
414
- {
415
- 'class': {
416
- 'es-calendar-table__row': true,
417
- 'es-calendar-table__row--hide-border': index === 0 && _this.hideHeader
418
- },
419
- key: index
420
- },
421
- [row.map(function (cell, key) {
422
- return h(
423
- 'td',
424
- {
425
- key: key,
426
- 'class': _this.getCellClass(cell),
427
- on: {
428
- 'click': _this.pickDay.bind(_this, cell)
429
- }
430
- },
431
- [h(
432
- 'div',
433
- { 'class': 'es-calendar-day' },
434
- [_this.cellRenderProxy(cell)]
435
- )]
436
- );
437
- })]
438
- );
439
- })])]
440
- );
441
- }
442
- });
443
- // CONCATENATED MODULE: ./packages/calendar/src/date-table.vue?vue&type=script&lang=js&
444
- /* harmony default export */ var src_date_tablevue_type_script_lang_js_ = (date_tablevue_type_script_lang_js_);
445
- // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
446
- var componentNormalizer = __webpack_require__(5);
447
-
448
- // CONCATENATED MODULE: ./packages/calendar/src/date-table.vue
449
- var date_table_render, date_table_staticRenderFns
450
-
451
-
452
-
453
-
454
- /* normalize component */
455
-
456
- var component = Object(componentNormalizer["a" /* default */])(
457
- src_date_tablevue_type_script_lang_js_,
458
- date_table_render,
459
- date_table_staticRenderFns,
460
- false,
461
- null,
462
- null,
463
- null
464
-
465
- )
466
-
467
- /* harmony default export */ var date_table = (component.exports);
468
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/calendar.vue?vue&type=script&lang=js&
469
- //
470
- //
471
- //
472
- //
473
- //
474
- //
475
- //
476
- //
477
- //
478
- //
479
- //
480
- //
481
- //
482
- //
483
- //
484
- //
485
- //
486
- //
487
- //
488
- //
489
- //
490
- //
491
- //
492
- //
493
- //
494
- //
495
- //
496
- //
497
- //
498
- //
499
- //
500
- //
501
- //
502
- //
503
- //
504
- //
505
- //
506
- //
507
- //
508
- //
509
- //
510
- //
511
- //
512
- //
513
- //
514
- //
515
- //
516
- //
517
- //
518
- //
519
- //
520
- //
521
- //
522
- //
523
- //
524
- //
525
- //
526
- //
527
- //
528
- //
529
- //
530
- //
531
- //
532
- //
533
-
534
-
535
-
536
-
537
-
538
-
539
- var validTypes = ['prev-month', 'today', 'next-month'];
540
- var weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
541
- var oneDay = 86400000;
542
-
543
- /* harmony default export */ var calendarvue_type_script_lang_js_ = ({
544
- name: 'EsCalendar',
545
- components: {
546
- DateTable: date_table,
547
- EsButton: button_default.a,
548
- EsButtonGroup: button_group_default.a
549
- },
550
-
551
- props: {
552
- value: [Date, String, Number],
553
- range: {
554
- type: Array,
555
- validator: function validator(range) {
556
- if (Array.isArray(range)) {
557
- return range.length === 2 && range.every(function (item) {
558
- return typeof item === 'string' || typeof item === 'number' || item instanceof Date;
559
- });
560
- } else {
561
- return true;
562
- }
563
- }
564
- },
565
- firstDayOfWeek: {
566
- type: Number,
567
- default: 1
568
- }
569
- },
570
-
571
- provide: function provide() {
572
- return {
573
- Calendar: this
574
- };
575
- },
576
-
577
-
578
- methods: {
579
- pickDay: function pickDay(day) {
580
- this.realSelectedDay = day;
581
- },
582
- selectDate: function selectDate(type) {
583
- if (validTypes.indexOf(type) === -1) {
584
- throw new Error('invalid type ' + type);
585
- }
586
- var day = '';
587
- if (type === 'prev-month') {
588
- day = this.prevMonthDatePrefix + '-01';
589
- } else if (type === 'next-month') {
590
- day = this.nextMonthDatePrefix + '-01';
591
- } else {
592
- day = this.formatedToday;
593
- }
594
-
595
- if (day === this.formatedDate) return;
596
- this.pickDay(day);
597
- },
598
- toDate: function toDate(val) {
599
- if (!val) {
600
- throw new Error('invalid val');
601
- }
602
- return val instanceof Date ? val : new Date(val);
603
- },
604
- rangeValidator: function rangeValidator(date, isStart) {
605
- var firstDayOfWeek = this.realFirstDayOfWeek;
606
- var expected = isStart ? firstDayOfWeek : firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;
607
- var message = (isStart ? 'start' : 'end') + ' of range should be ' + weekDays[expected] + '.';
608
- if (date.getDay() !== expected) {
609
- console.warn('[EsementCalendar]', message, 'Invalid range will be ignored.');
610
- return false;
611
- }
612
- return true;
613
- }
614
- },
615
-
616
- computed: {
617
- prevMonthDatePrefix: function prevMonthDatePrefix() {
618
- var temp = new Date(this.date.getTime());
619
- temp.setDate(0);
620
- return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
621
- },
622
- curMonthDatePrefix: function curMonthDatePrefix() {
623
- return utils_date["f" /* fecha */].format(this.date, 'yyyy-MM');
624
- },
625
- nextMonthDatePrefix: function nextMonthDatePrefix() {
626
- var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1);
627
- return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
628
- },
629
- formatedDate: function formatedDate() {
630
- return utils_date["f" /* fecha */].format(this.date, 'yyyy-MM-dd');
631
- },
632
- i18nDate: function i18nDate() {
633
- var year = this.date.getFullYear();
634
- var month = this.date.getMonth() + 1;
635
- return year + '\u5E74' + month + '\u6708';
636
- },
637
- formatedToday: function formatedToday() {
638
- return utils_date["f" /* fecha */].format(this.now, 'yyyy-MM-dd');
639
- },
640
-
641
-
642
- realSelectedDay: {
643
- get: function get() {
644
- if (!this.value) return this.selectedDay;
645
- return this.formatedDate;
646
- },
647
- set: function set(val) {
648
- this.selectedDay = val;
649
- var date = new Date(val);
650
- this.$emit('input', date);
651
- }
652
- },
653
-
654
- date: function date() {
655
- if (!this.value) {
656
- if (this.realSelectedDay) {
657
- var d = this.selectedDay.split('-');
658
- return new Date(d[0], d[1] - 1, d[2]);
659
- } else if (this.validatedRange.length) {
660
- return this.validatedRange[0][0];
661
- }
662
- return this.now;
663
- } else {
664
- return this.toDate(this.value);
665
- }
666
- },
667
-
668
-
669
- // if range is valid, we get a two-digit array
670
- validatedRange: function validatedRange() {
671
- var _this = this;
672
-
673
- var range = this.range;
674
- if (!range) return [];
675
- range = range.reduce(function (prev, val, index) {
676
- var date = _this.toDate(val);
677
- if (_this.rangeValidator(date, index === 0)) {
678
- prev = prev.concat(date);
679
- }
680
- return prev;
681
- }, []);
682
- if (range.length === 2) {
683
- var _range = range,
684
- start = _range[0],
685
- end = _range[1];
686
-
687
- if (start > end) {
688
- console.warn('[EsementCalendar]end time should be greater than start time');
689
- return [];
690
- }
691
- // start time and end time in one month
692
- if (Object(utils_date["H" /* validateRangeInOneMonth */])(start, end)) {
693
- return [[start, end]];
694
- }
695
- var data = [];
696
- var startDay = new Date(start.getFullYear(), start.getMonth() + 1, 1);
697
- var lastDay = this.toDate(startDay.getTime() - oneDay);
698
- if (!Object(utils_date["H" /* validateRangeInOneMonth */])(startDay, end)) {
699
- console.warn('[EsementCalendar]start time and end time interval must not exceed two months');
700
- return [];
701
- }
702
- // 第一个月的时间范围
703
- data.push([start, lastDay]);
704
- // 下一月的时间范围,需要计算一下该月的第一个周起始日
705
- var firstDayOfWeek = this.realFirstDayOfWeek;
706
- var nextMontFirstDay = startDay.getDay();
707
- var interval = 0;
708
- if (nextMontFirstDay !== firstDayOfWeek) {
709
- if (firstDayOfWeek === 0) {
710
- interval = 7 - nextMontFirstDay;
711
- } else {
712
- interval = firstDayOfWeek - nextMontFirstDay;
713
- interval = interval > 0 ? interval : 7 + interval;
714
- }
715
- }
716
- startDay = this.toDate(startDay.getTime() + interval * oneDay);
717
- if (startDay.getDate() < end.getDate()) {
718
- data.push([startDay, end]);
719
- }
720
- return data;
721
- }
722
- return [];
723
- },
724
- realFirstDayOfWeek: function realFirstDayOfWeek() {
725
- if (this.firstDayOfWeek < 1 || this.firstDayOfWeek > 6) {
726
- return 0;
727
- }
728
- return Math.floor(this.firstDayOfWeek);
729
- }
730
- },
731
-
732
- data: function data() {
733
- return {
734
- selectedDay: '',
735
- now: new Date()
736
- };
737
- }
738
- });
739
- // CONCATENATED MODULE: ./packages/calendar/src/calendar.vue?vue&type=script&lang=js&
740
- /* harmony default export */ var src_calendarvue_type_script_lang_js_ = (calendarvue_type_script_lang_js_);
741
- // CONCATENATED MODULE: ./packages/calendar/src/calendar.vue
742
-
743
-
744
-
745
-
746
-
747
- /* normalize component */
748
-
749
- var calendar_component = Object(componentNormalizer["a" /* default */])(
750
- src_calendarvue_type_script_lang_js_,
751
- render,
752
- staticRenderFns,
753
- false,
754
- null,
755
- null,
756
- null
757
-
758
- )
759
-
760
- /* harmony default export */ var calendar = (calendar_component.exports);
761
- // CONCATENATED MODULE: ./packages/calendar/index.js
762
-
763
-
764
- /* istanbul ignore next */
765
- calendar.install = function (Vue) {
766
- Vue.component(calendar.name, calendar);
767
- };
768
-
769
- /* harmony default export */ var packages_calendar = __webpack_exports__["default"] = (calendar);
770
-
771
- /***/ }),
772
-
773
- /***/ 33:
774
- /***/ (function(module, exports) {
775
-
776
- module.exports = require("eoss/lib/button");
777
-
778
- /***/ }),
779
-
780
- /***/ 5:
781
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
782
-
783
- "use strict";
784
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
785
- /* globals __VUE_SSR_CONTEXT__ */
786
-
787
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
788
- // This module is a runtime utility for cleaner component module output and will
789
- // be included in the final webpack user bundle.
790
-
791
- function normalizeComponent(
792
- scriptExports,
793
- render,
794
- staticRenderFns,
795
- functionalTemplate,
796
- injectStyles,
797
- scopeId,
798
- moduleIdentifier /* server only */,
799
- shadowMode /* vue-cli only */
800
- ) {
801
- // Vue.extend constructor export interop
802
- var options =
803
- typeof scriptExports === 'function' ? scriptExports.options : scriptExports
804
-
805
- // render functions
806
- if (render) {
807
- options.render = render
808
- options.staticRenderFns = staticRenderFns
809
- options._compiled = true
810
- }
811
-
812
- // functional template
813
- if (functionalTemplate) {
814
- options.functional = true
815
- }
816
-
817
- // scopedId
818
- if (scopeId) {
819
- options._scopeId = 'data-v-' + scopeId
820
- }
821
-
822
- var hook
823
- if (moduleIdentifier) {
824
- // server build
825
- hook = function (context) {
826
- // 2.3 injection
827
- context =
828
- context || // cached call
829
- (this.$vnode && this.$vnode.ssrContext) || // stateful
830
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
831
- // 2.2 with runInNewContext: true
832
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
833
- context = __VUE_SSR_CONTEXT__
834
- }
835
- // inject component styles
836
- if (injectStyles) {
837
- injectStyles.call(this, context)
838
- }
839
- // register component module identifier for async chunk inferrence
840
- if (context && context._registeredComponents) {
841
- context._registeredComponents.add(moduleIdentifier)
842
- }
843
- }
844
- // used by ssr in case component is cached and beforeCreate
845
- // never gets called
846
- options._ssrRegister = hook
847
- } else if (injectStyles) {
848
- hook = shadowMode
849
- ? function () {
850
- injectStyles.call(
851
- this,
852
- (options.functional ? this.parent : this).$root.$options.shadowRoot
853
- )
854
- }
855
- : injectStyles
856
- }
857
-
858
- if (hook) {
859
- if (options.functional) {
860
- // for template-only hot-reload because in that case the render fn doesn't
861
- // go through the normalizer
862
- options._injectStyles = hook
863
- // register for functional component in vue file
864
- var originalRender = options.render
865
- options.render = function renderWithStyleInjection(h, context) {
866
- hook.call(context)
867
- return originalRender(h, context)
868
- }
869
- } else {
870
- // inject component registration as beforeCreate hook
871
- var existing = options.beforeCreate
872
- options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
873
- }
874
- }
875
-
876
- return {
877
- exports: scriptExports,
878
- options: options
879
- }
880
- }
881
-
882
-
883
- /***/ }),
884
-
885
- /***/ 6:
90
+ /***/ 1:
886
91
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
887
92
 
888
93
  "use strict";
@@ -1872,7 +1077,802 @@ const timeCycle = function (time) {
1872
1077
 
1873
1078
  /***/ }),
1874
1079
 
1875
- /***/ 89:
1080
+ /***/ 169:
1081
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1082
+
1083
+ "use strict";
1084
+ // ESM COMPAT FLAG
1085
+ __webpack_require__.r(__webpack_exports__);
1086
+
1087
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/calendar.vue?vue&type=template&id=541b30c2&
1088
+ var render = function () {
1089
+ var _vm = this
1090
+ var _h = _vm.$createElement
1091
+ var _c = _vm._self._c || _h
1092
+ return _c("div", { staticClass: "es-calendar" }, [
1093
+ _c("div", { staticClass: "es-calendar__header" }, [
1094
+ _c("div", { staticClass: "es-calendar__title" }, [
1095
+ _vm._v("\n " + _vm._s(_vm.i18nDate) + "\n "),
1096
+ ]),
1097
+ _vm.validatedRange.length === 0
1098
+ ? _c(
1099
+ "div",
1100
+ { staticClass: "es-calendar__button-group" },
1101
+ [
1102
+ _c(
1103
+ "es-button-group",
1104
+ [
1105
+ _c(
1106
+ "es-button",
1107
+ {
1108
+ attrs: { type: "plain", size: "mini" },
1109
+ on: {
1110
+ click: function ($event) {
1111
+ return _vm.selectDate("prev-month")
1112
+ },
1113
+ },
1114
+ },
1115
+ [_vm._v("\n 上个月\n ")]
1116
+ ),
1117
+ _c(
1118
+ "es-button",
1119
+ {
1120
+ attrs: { type: "plain", size: "mini" },
1121
+ on: {
1122
+ click: function ($event) {
1123
+ return _vm.selectDate("today")
1124
+ },
1125
+ },
1126
+ },
1127
+ [_vm._v("\n 今天\n ")]
1128
+ ),
1129
+ _c(
1130
+ "es-button",
1131
+ {
1132
+ attrs: { type: "plain", size: "mini" },
1133
+ on: {
1134
+ click: function ($event) {
1135
+ return _vm.selectDate("next-month")
1136
+ },
1137
+ },
1138
+ },
1139
+ [_vm._v("\n 下个月\n ")]
1140
+ ),
1141
+ ],
1142
+ 1
1143
+ ),
1144
+ ],
1145
+ 1
1146
+ )
1147
+ : _vm._e(),
1148
+ ]),
1149
+ _vm.validatedRange.length === 0
1150
+ ? _c(
1151
+ "div",
1152
+ { key: "no-range", staticClass: "es-calendar__body" },
1153
+ [
1154
+ _c("date-table", {
1155
+ attrs: {
1156
+ date: _vm.date,
1157
+ "selected-day": _vm.realSelectedDay,
1158
+ "first-day-of-week": _vm.realFirstDayOfWeek,
1159
+ },
1160
+ on: { pick: _vm.pickDay },
1161
+ }),
1162
+ ],
1163
+ 1
1164
+ )
1165
+ : _c(
1166
+ "div",
1167
+ { key: "has-range", staticClass: "es-calendar__body" },
1168
+ _vm._l(_vm.validatedRange, function (range, index) {
1169
+ return _c("date-table", {
1170
+ key: index,
1171
+ attrs: {
1172
+ date: range[0],
1173
+ "selected-day": _vm.realSelectedDay,
1174
+ range: range,
1175
+ "hide-header": index !== 0,
1176
+ "first-day-of-week": _vm.realFirstDayOfWeek,
1177
+ },
1178
+ on: { pick: _vm.pickDay },
1179
+ })
1180
+ }),
1181
+ 1
1182
+ ),
1183
+ ])
1184
+ }
1185
+ var staticRenderFns = []
1186
+ render._withStripped = true
1187
+
1188
+
1189
+ // CONCATENATED MODULE: ./packages/calendar/src/calendar.vue?vue&type=template&id=541b30c2&
1190
+
1191
+ // EXTERNAL MODULE: ./src/utils/date.js
1192
+ var utils_date = __webpack_require__(1);
1193
+
1194
+ // EXTERNAL MODULE: external "eoss/lib/button"
1195
+ var button_ = __webpack_require__(28);
1196
+ var button_default = /*#__PURE__*/__webpack_require__.n(button_);
1197
+
1198
+ // EXTERNAL MODULE: external "eoss/lib/button-group"
1199
+ var button_group_ = __webpack_require__(86);
1200
+ var button_group_default = /*#__PURE__*/__webpack_require__.n(button_group_);
1201
+
1202
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/date-table.vue?vue&type=script&lang=js&
1203
+
1204
+
1205
+
1206
+ /* harmony default export */ var date_tablevue_type_script_lang_js_ = ({
1207
+ props: {
1208
+ selectedDay: String, // formated date yyyy-MM-dd
1209
+ range: {
1210
+ type: Array,
1211
+ validator: function validator(val) {
1212
+ if (!(val && val.length)) return true;
1213
+ var start = val[0],
1214
+ end = val[1];
1215
+
1216
+ return Object(utils_date["H" /* validateRangeInOneMonth */])(start, end);
1217
+ }
1218
+ },
1219
+ date: Date,
1220
+ hideHeader: Boolean,
1221
+ firstDayOfWeek: Number
1222
+ },
1223
+
1224
+ inject: ['Calendar'],
1225
+
1226
+ data: function data() {
1227
+ return {
1228
+ WEEK_DAYS: Object(utils_date["o" /* getSettings */])().dayNames
1229
+ };
1230
+ },
1231
+
1232
+
1233
+ methods: {
1234
+ toNestedArr: function toNestedArr(days) {
1235
+ return Object(utils_date["E" /* range */])(days.length / 7).map(function (_, index) {
1236
+ var start = index * 7;
1237
+ return days.slice(start, start + 7);
1238
+ });
1239
+ },
1240
+ getFormateDate: function getFormateDate(day, type) {
1241
+ if (!day || ['prev', 'current', 'next'].indexOf(type) === -1) {
1242
+ throw new Error('invalid day or type');
1243
+ }
1244
+ var prefix = this.curMonthDatePrefix;
1245
+ if (type === 'prev') {
1246
+ prefix = this.prevMonthDatePrefix;
1247
+ } else if (type === 'next') {
1248
+ prefix = this.nextMonthDatePrefix;
1249
+ }
1250
+ day = ('00' + day).slice(-2);
1251
+ return prefix + '-' + day;
1252
+ },
1253
+ getCellClass: function getCellClass(_ref) {
1254
+ var text = _ref.text,
1255
+ type = _ref.type;
1256
+
1257
+ var classes = [type];
1258
+ if (type === 'current') {
1259
+ var date = this.getFormateDate(text, type);
1260
+ if (date === this.selectedDay) {
1261
+ classes.push('is-selected');
1262
+ }
1263
+ if (date === this.formatedToday) {
1264
+ classes.push('is-today');
1265
+ }
1266
+ }
1267
+ return classes;
1268
+ },
1269
+ pickDay: function pickDay(_ref2) {
1270
+ var text = _ref2.text,
1271
+ type = _ref2.type;
1272
+
1273
+ var date = this.getFormateDate(text, type);
1274
+ this.$emit('pick', date);
1275
+ },
1276
+ cellRenderProxy: function cellRenderProxy(_ref3) {
1277
+ var text = _ref3.text,
1278
+ type = _ref3.type;
1279
+ var h = this.$createElement;
1280
+
1281
+ var render = this.Calendar.$scopedSlots.dateCell;
1282
+ if (!render) return h('span', [text]);
1283
+
1284
+ var day = this.getFormateDate(text, type);
1285
+ var date = new Date(day);
1286
+ var data = {
1287
+ isSelected: this.selectedDay === day,
1288
+ type: type + '-month',
1289
+ day: day
1290
+ };
1291
+ return render({ date: date, data: data });
1292
+ }
1293
+ },
1294
+
1295
+ computed: {
1296
+ prevMonthDatePrefix: function prevMonthDatePrefix() {
1297
+ var temp = new Date(this.date.getTime());
1298
+ temp.setDate(0);
1299
+ return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
1300
+ },
1301
+ curMonthDatePrefix: function curMonthDatePrefix() {
1302
+ return utils_date["f" /* fecha */].format(this.date, 'yyyy-MM');
1303
+ },
1304
+ nextMonthDatePrefix: function nextMonthDatePrefix() {
1305
+ var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1);
1306
+ return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
1307
+ },
1308
+ formatedToday: function formatedToday() {
1309
+ return this.Calendar.formatedToday;
1310
+ },
1311
+ isInRange: function isInRange() {
1312
+ return this.range && this.range.length;
1313
+ },
1314
+ rows: function rows() {
1315
+ var days = [];
1316
+ // if range exists, should render days in range.
1317
+ if (this.isInRange) {
1318
+ var _range = this.range,
1319
+ start = _range[0],
1320
+ end = _range[1];
1321
+
1322
+ var currentMonthRange = Object(utils_date["E" /* range */])(end.getDate() - start.getDate() + 1).map(function (_, index) {
1323
+ return {
1324
+ text: start.getDate() + index,
1325
+ type: 'current'
1326
+ };
1327
+ });
1328
+ var remaining = currentMonthRange.length % 7;
1329
+ remaining = remaining === 0 ? 0 : 7 - remaining;
1330
+ var nextMonthRange = Object(utils_date["E" /* range */])(remaining).map(function (_, index) {
1331
+ return {
1332
+ text: index + 1,
1333
+ type: 'next'
1334
+ };
1335
+ });
1336
+ days = currentMonthRange.concat(nextMonthRange);
1337
+ } else {
1338
+ var date = this.date;
1339
+ var firstDay = Object(utils_date["j" /* getFirstDayOfMonth */])(date);
1340
+ firstDay = firstDay === 0 ? 7 : firstDay;
1341
+ var firstDayOfWeek = typeof this.firstDayOfWeek === 'number' ? this.firstDayOfWeek : 1;
1342
+ var prevMonthDays = Object(utils_date["l" /* getPrevMonthLastDays */])(date, firstDay - firstDayOfWeek).map(function (day) {
1343
+ return {
1344
+ text: day,
1345
+ type: 'prev'
1346
+ };
1347
+ });
1348
+ var currentMonthDays = Object(utils_date["k" /* getMonthDays */])(date).map(function (day) {
1349
+ return {
1350
+ text: day,
1351
+ type: 'current'
1352
+ };
1353
+ });
1354
+ days = [].concat(prevMonthDays, currentMonthDays);
1355
+ var nextMonthDays = Object(utils_date["E" /* range */])(42 - days.length).map(function (_, index) {
1356
+ return {
1357
+ text: index + 1,
1358
+ type: 'next'
1359
+ };
1360
+ });
1361
+ days = days.concat(nextMonthDays);
1362
+ }
1363
+ return this.toNestedArr(days);
1364
+ },
1365
+ weekDays: function weekDays() {
1366
+ var start = this.firstDayOfWeek;
1367
+ var WEEK_DAYS = this.WEEK_DAYS;
1368
+
1369
+
1370
+ if (typeof start !== 'number' || start === 0) {
1371
+ return WEEK_DAYS.slice();
1372
+ } else {
1373
+ return WEEK_DAYS.slice(start).concat(WEEK_DAYS.slice(0, start));
1374
+ }
1375
+ }
1376
+ },
1377
+
1378
+ render: function render() {
1379
+ var _this = this;
1380
+
1381
+ var h = arguments[0];
1382
+
1383
+ var thead = this.hideHeader ? null : h('thead', [this.weekDays.map(function (day) {
1384
+ return h(
1385
+ 'th',
1386
+ { key: day },
1387
+ [day]
1388
+ );
1389
+ })]);
1390
+ return h(
1391
+ 'table',
1392
+ {
1393
+ 'class': {
1394
+ 'es-calendar-table': true,
1395
+ 'is-range': this.isInRange
1396
+ },
1397
+ attrs: { cellspacing: '0',
1398
+ cellpadding: '0'
1399
+ }
1400
+ },
1401
+ [thead, h('tbody', [this.rows.map(function (row, index) {
1402
+ return h(
1403
+ 'tr',
1404
+ {
1405
+ 'class': {
1406
+ 'es-calendar-table__row': true,
1407
+ 'es-calendar-table__row--hide-border': index === 0 && _this.hideHeader
1408
+ },
1409
+ key: index
1410
+ },
1411
+ [row.map(function (cell, key) {
1412
+ return h(
1413
+ 'td',
1414
+ {
1415
+ key: key,
1416
+ 'class': _this.getCellClass(cell),
1417
+ on: {
1418
+ 'click': _this.pickDay.bind(_this, cell)
1419
+ }
1420
+ },
1421
+ [h(
1422
+ 'div',
1423
+ { 'class': 'es-calendar-day' },
1424
+ [_this.cellRenderProxy(cell)]
1425
+ )]
1426
+ );
1427
+ })]
1428
+ );
1429
+ })])]
1430
+ );
1431
+ }
1432
+ });
1433
+ // CONCATENATED MODULE: ./packages/calendar/src/date-table.vue?vue&type=script&lang=js&
1434
+ /* harmony default export */ var src_date_tablevue_type_script_lang_js_ = (date_tablevue_type_script_lang_js_);
1435
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
1436
+ var componentNormalizer = __webpack_require__(3);
1437
+
1438
+ // CONCATENATED MODULE: ./packages/calendar/src/date-table.vue
1439
+ var date_table_render, date_table_staticRenderFns
1440
+
1441
+
1442
+
1443
+
1444
+ /* normalize component */
1445
+
1446
+ var component = Object(componentNormalizer["a" /* default */])(
1447
+ src_date_tablevue_type_script_lang_js_,
1448
+ date_table_render,
1449
+ date_table_staticRenderFns,
1450
+ false,
1451
+ null,
1452
+ null,
1453
+ null
1454
+
1455
+ )
1456
+
1457
+ /* harmony default export */ var date_table = (component.exports);
1458
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/calendar/src/calendar.vue?vue&type=script&lang=js&
1459
+ //
1460
+ //
1461
+ //
1462
+ //
1463
+ //
1464
+ //
1465
+ //
1466
+ //
1467
+ //
1468
+ //
1469
+ //
1470
+ //
1471
+ //
1472
+ //
1473
+ //
1474
+ //
1475
+ //
1476
+ //
1477
+ //
1478
+ //
1479
+ //
1480
+ //
1481
+ //
1482
+ //
1483
+ //
1484
+ //
1485
+ //
1486
+ //
1487
+ //
1488
+ //
1489
+ //
1490
+ //
1491
+ //
1492
+ //
1493
+ //
1494
+ //
1495
+ //
1496
+ //
1497
+ //
1498
+ //
1499
+ //
1500
+ //
1501
+ //
1502
+ //
1503
+ //
1504
+ //
1505
+ //
1506
+ //
1507
+ //
1508
+ //
1509
+ //
1510
+ //
1511
+ //
1512
+ //
1513
+ //
1514
+ //
1515
+ //
1516
+ //
1517
+ //
1518
+ //
1519
+ //
1520
+ //
1521
+ //
1522
+ //
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+ var validTypes = ['prev-month', 'today', 'next-month'];
1530
+ var weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
1531
+ var oneDay = 86400000;
1532
+
1533
+ /* harmony default export */ var calendarvue_type_script_lang_js_ = ({
1534
+ name: 'EsCalendar',
1535
+ components: {
1536
+ DateTable: date_table,
1537
+ EsButton: button_default.a,
1538
+ EsButtonGroup: button_group_default.a
1539
+ },
1540
+
1541
+ props: {
1542
+ value: [Date, String, Number],
1543
+ range: {
1544
+ type: Array,
1545
+ validator: function validator(range) {
1546
+ if (Array.isArray(range)) {
1547
+ return range.length === 2 && range.every(function (item) {
1548
+ return typeof item === 'string' || typeof item === 'number' || item instanceof Date;
1549
+ });
1550
+ } else {
1551
+ return true;
1552
+ }
1553
+ }
1554
+ },
1555
+ firstDayOfWeek: {
1556
+ type: Number,
1557
+ default: 1
1558
+ }
1559
+ },
1560
+
1561
+ provide: function provide() {
1562
+ return {
1563
+ Calendar: this
1564
+ };
1565
+ },
1566
+
1567
+
1568
+ methods: {
1569
+ pickDay: function pickDay(day) {
1570
+ this.realSelectedDay = day;
1571
+ },
1572
+ selectDate: function selectDate(type) {
1573
+ if (validTypes.indexOf(type) === -1) {
1574
+ throw new Error('invalid type ' + type);
1575
+ }
1576
+ var day = '';
1577
+ if (type === 'prev-month') {
1578
+ day = this.prevMonthDatePrefix + '-01';
1579
+ } else if (type === 'next-month') {
1580
+ day = this.nextMonthDatePrefix + '-01';
1581
+ } else {
1582
+ day = this.formatedToday;
1583
+ }
1584
+
1585
+ if (day === this.formatedDate) return;
1586
+ this.pickDay(day);
1587
+ },
1588
+ toDate: function toDate(val) {
1589
+ if (!val) {
1590
+ throw new Error('invalid val');
1591
+ }
1592
+ return val instanceof Date ? val : new Date(val);
1593
+ },
1594
+ rangeValidator: function rangeValidator(date, isStart) {
1595
+ var firstDayOfWeek = this.realFirstDayOfWeek;
1596
+ var expected = isStart ? firstDayOfWeek : firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;
1597
+ var message = (isStart ? 'start' : 'end') + ' of range should be ' + weekDays[expected] + '.';
1598
+ if (date.getDay() !== expected) {
1599
+ console.warn('[EsementCalendar]', message, 'Invalid range will be ignored.');
1600
+ return false;
1601
+ }
1602
+ return true;
1603
+ }
1604
+ },
1605
+
1606
+ computed: {
1607
+ prevMonthDatePrefix: function prevMonthDatePrefix() {
1608
+ var temp = new Date(this.date.getTime());
1609
+ temp.setDate(0);
1610
+ return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
1611
+ },
1612
+ curMonthDatePrefix: function curMonthDatePrefix() {
1613
+ return utils_date["f" /* fecha */].format(this.date, 'yyyy-MM');
1614
+ },
1615
+ nextMonthDatePrefix: function nextMonthDatePrefix() {
1616
+ var temp = new Date(this.date.getFullYear(), this.date.getMonth() + 1, 1);
1617
+ return utils_date["f" /* fecha */].format(temp, 'yyyy-MM');
1618
+ },
1619
+ formatedDate: function formatedDate() {
1620
+ return utils_date["f" /* fecha */].format(this.date, 'yyyy-MM-dd');
1621
+ },
1622
+ i18nDate: function i18nDate() {
1623
+ var year = this.date.getFullYear();
1624
+ var month = this.date.getMonth() + 1;
1625
+ return year + '\u5E74' + month + '\u6708';
1626
+ },
1627
+ formatedToday: function formatedToday() {
1628
+ return utils_date["f" /* fecha */].format(this.now, 'yyyy-MM-dd');
1629
+ },
1630
+
1631
+
1632
+ realSelectedDay: {
1633
+ get: function get() {
1634
+ if (!this.value) return this.selectedDay;
1635
+ return this.formatedDate;
1636
+ },
1637
+ set: function set(val) {
1638
+ this.selectedDay = val;
1639
+ var date = new Date(val);
1640
+ this.$emit('input', date);
1641
+ }
1642
+ },
1643
+
1644
+ date: function date() {
1645
+ if (!this.value) {
1646
+ if (this.realSelectedDay) {
1647
+ var d = this.selectedDay.split('-');
1648
+ return new Date(d[0], d[1] - 1, d[2]);
1649
+ } else if (this.validatedRange.length) {
1650
+ return this.validatedRange[0][0];
1651
+ }
1652
+ return this.now;
1653
+ } else {
1654
+ return this.toDate(this.value);
1655
+ }
1656
+ },
1657
+
1658
+
1659
+ // if range is valid, we get a two-digit array
1660
+ validatedRange: function validatedRange() {
1661
+ var _this = this;
1662
+
1663
+ var range = this.range;
1664
+ if (!range) return [];
1665
+ range = range.reduce(function (prev, val, index) {
1666
+ var date = _this.toDate(val);
1667
+ if (_this.rangeValidator(date, index === 0)) {
1668
+ prev = prev.concat(date);
1669
+ }
1670
+ return prev;
1671
+ }, []);
1672
+ if (range.length === 2) {
1673
+ var _range = range,
1674
+ start = _range[0],
1675
+ end = _range[1];
1676
+
1677
+ if (start > end) {
1678
+ console.warn('[EsementCalendar]end time should be greater than start time');
1679
+ return [];
1680
+ }
1681
+ // start time and end time in one month
1682
+ if (Object(utils_date["H" /* validateRangeInOneMonth */])(start, end)) {
1683
+ return [[start, end]];
1684
+ }
1685
+ var data = [];
1686
+ var startDay = new Date(start.getFullYear(), start.getMonth() + 1, 1);
1687
+ var lastDay = this.toDate(startDay.getTime() - oneDay);
1688
+ if (!Object(utils_date["H" /* validateRangeInOneMonth */])(startDay, end)) {
1689
+ console.warn('[EsementCalendar]start time and end time interval must not exceed two months');
1690
+ return [];
1691
+ }
1692
+ // 第一个月的时间范围
1693
+ data.push([start, lastDay]);
1694
+ // 下一月的时间范围,需要计算一下该月的第一个周起始日
1695
+ var firstDayOfWeek = this.realFirstDayOfWeek;
1696
+ var nextMontFirstDay = startDay.getDay();
1697
+ var interval = 0;
1698
+ if (nextMontFirstDay !== firstDayOfWeek) {
1699
+ if (firstDayOfWeek === 0) {
1700
+ interval = 7 - nextMontFirstDay;
1701
+ } else {
1702
+ interval = firstDayOfWeek - nextMontFirstDay;
1703
+ interval = interval > 0 ? interval : 7 + interval;
1704
+ }
1705
+ }
1706
+ startDay = this.toDate(startDay.getTime() + interval * oneDay);
1707
+ if (startDay.getDate() < end.getDate()) {
1708
+ data.push([startDay, end]);
1709
+ }
1710
+ return data;
1711
+ }
1712
+ return [];
1713
+ },
1714
+ realFirstDayOfWeek: function realFirstDayOfWeek() {
1715
+ if (this.firstDayOfWeek < 1 || this.firstDayOfWeek > 6) {
1716
+ return 0;
1717
+ }
1718
+ return Math.floor(this.firstDayOfWeek);
1719
+ }
1720
+ },
1721
+
1722
+ data: function data() {
1723
+ return {
1724
+ selectedDay: '',
1725
+ now: new Date()
1726
+ };
1727
+ }
1728
+ });
1729
+ // CONCATENATED MODULE: ./packages/calendar/src/calendar.vue?vue&type=script&lang=js&
1730
+ /* harmony default export */ var src_calendarvue_type_script_lang_js_ = (calendarvue_type_script_lang_js_);
1731
+ // CONCATENATED MODULE: ./packages/calendar/src/calendar.vue
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+ /* normalize component */
1738
+
1739
+ var calendar_component = Object(componentNormalizer["a" /* default */])(
1740
+ src_calendarvue_type_script_lang_js_,
1741
+ render,
1742
+ staticRenderFns,
1743
+ false,
1744
+ null,
1745
+ null,
1746
+ null
1747
+
1748
+ )
1749
+
1750
+ /* harmony default export */ var calendar = (calendar_component.exports);
1751
+ // CONCATENATED MODULE: ./packages/calendar/index.js
1752
+
1753
+
1754
+ /* istanbul ignore next */
1755
+ calendar.install = function (Vue) {
1756
+ Vue.component(calendar.name, calendar);
1757
+ };
1758
+
1759
+ /* harmony default export */ var packages_calendar = __webpack_exports__["default"] = (calendar);
1760
+
1761
+ /***/ }),
1762
+
1763
+ /***/ 28:
1764
+ /***/ (function(module, exports) {
1765
+
1766
+ module.exports = require("eoss/lib/button");
1767
+
1768
+ /***/ }),
1769
+
1770
+ /***/ 3:
1771
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1772
+
1773
+ "use strict";
1774
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
1775
+ /* globals __VUE_SSR_CONTEXT__ */
1776
+
1777
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1778
+ // This module is a runtime utility for cleaner component module output and will
1779
+ // be included in the final webpack user bundle.
1780
+
1781
+ function normalizeComponent(
1782
+ scriptExports,
1783
+ render,
1784
+ staticRenderFns,
1785
+ functionalTemplate,
1786
+ injectStyles,
1787
+ scopeId,
1788
+ moduleIdentifier /* server only */,
1789
+ shadowMode /* vue-cli only */
1790
+ ) {
1791
+ // Vue.extend constructor export interop
1792
+ var options =
1793
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
1794
+
1795
+ // render functions
1796
+ if (render) {
1797
+ options.render = render
1798
+ options.staticRenderFns = staticRenderFns
1799
+ options._compiled = true
1800
+ }
1801
+
1802
+ // functional template
1803
+ if (functionalTemplate) {
1804
+ options.functional = true
1805
+ }
1806
+
1807
+ // scopedId
1808
+ if (scopeId) {
1809
+ options._scopeId = 'data-v-' + scopeId
1810
+ }
1811
+
1812
+ var hook
1813
+ if (moduleIdentifier) {
1814
+ // server build
1815
+ hook = function (context) {
1816
+ // 2.3 injection
1817
+ context =
1818
+ context || // cached call
1819
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
1820
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1821
+ // 2.2 with runInNewContext: true
1822
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1823
+ context = __VUE_SSR_CONTEXT__
1824
+ }
1825
+ // inject component styles
1826
+ if (injectStyles) {
1827
+ injectStyles.call(this, context)
1828
+ }
1829
+ // register component module identifier for async chunk inferrence
1830
+ if (context && context._registeredComponents) {
1831
+ context._registeredComponents.add(moduleIdentifier)
1832
+ }
1833
+ }
1834
+ // used by ssr in case component is cached and beforeCreate
1835
+ // never gets called
1836
+ options._ssrRegister = hook
1837
+ } else if (injectStyles) {
1838
+ hook = shadowMode
1839
+ ? function () {
1840
+ injectStyles.call(
1841
+ this,
1842
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
1843
+ )
1844
+ }
1845
+ : injectStyles
1846
+ }
1847
+
1848
+ if (hook) {
1849
+ if (options.functional) {
1850
+ // for template-only hot-reload because in that case the render fn doesn't
1851
+ // go through the normalizer
1852
+ options._injectStyles = hook
1853
+ // register for functional component in vue file
1854
+ var originalRender = options.render
1855
+ options.render = function renderWithStyleInjection(h, context) {
1856
+ hook.call(context)
1857
+ return originalRender(h, context)
1858
+ }
1859
+ } else {
1860
+ // inject component registration as beforeCreate hook
1861
+ var existing = options.beforeCreate
1862
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
1863
+ }
1864
+ }
1865
+
1866
+ return {
1867
+ exports: scriptExports,
1868
+ options: options
1869
+ }
1870
+ }
1871
+
1872
+
1873
+ /***/ }),
1874
+
1875
+ /***/ 86:
1876
1876
  /***/ (function(module, exports) {
1877
1877
 
1878
1878
  module.exports = require("eoss/lib/button-group");