@element-plus/nightly 0.0.20220822 → 0.0.20220825

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 (340) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +33 -20
  4. package/dist/index.full.min.js +10 -10
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +34 -21
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/cs.js +1 -1
  34. package/dist/locale/cs.min.js +1 -1
  35. package/dist/locale/cs.min.mjs +1 -1
  36. package/dist/locale/cs.mjs +1 -1
  37. package/dist/locale/da.js +1 -1
  38. package/dist/locale/da.min.js +1 -1
  39. package/dist/locale/da.min.mjs +1 -1
  40. package/dist/locale/da.mjs +1 -1
  41. package/dist/locale/de.js +1 -1
  42. package/dist/locale/de.min.js +1 -1
  43. package/dist/locale/de.min.mjs +1 -1
  44. package/dist/locale/de.mjs +1 -1
  45. package/dist/locale/el.js +1 -1
  46. package/dist/locale/el.min.js +1 -1
  47. package/dist/locale/el.min.mjs +1 -1
  48. package/dist/locale/el.mjs +1 -1
  49. package/dist/locale/en.js +1 -1
  50. package/dist/locale/en.min.js +1 -1
  51. package/dist/locale/en.min.mjs +1 -1
  52. package/dist/locale/en.mjs +1 -1
  53. package/dist/locale/eo.js +1 -1
  54. package/dist/locale/eo.min.js +1 -1
  55. package/dist/locale/eo.min.mjs +1 -1
  56. package/dist/locale/eo.mjs +1 -1
  57. package/dist/locale/es.js +1 -1
  58. package/dist/locale/es.min.js +1 -1
  59. package/dist/locale/es.min.mjs +1 -1
  60. package/dist/locale/es.mjs +1 -1
  61. package/dist/locale/et.js +1 -1
  62. package/dist/locale/et.min.js +1 -1
  63. package/dist/locale/et.min.mjs +1 -1
  64. package/dist/locale/et.mjs +1 -1
  65. package/dist/locale/eu.js +1 -1
  66. package/dist/locale/eu.min.js +1 -1
  67. package/dist/locale/eu.min.mjs +1 -1
  68. package/dist/locale/eu.mjs +1 -1
  69. package/dist/locale/fa.js +1 -1
  70. package/dist/locale/fa.min.js +1 -1
  71. package/dist/locale/fa.min.mjs +1 -1
  72. package/dist/locale/fa.mjs +1 -1
  73. package/dist/locale/fi.js +1 -1
  74. package/dist/locale/fi.min.js +1 -1
  75. package/dist/locale/fi.min.mjs +1 -1
  76. package/dist/locale/fi.mjs +1 -1
  77. package/dist/locale/fr.js +1 -1
  78. package/dist/locale/fr.min.js +1 -1
  79. package/dist/locale/fr.min.mjs +1 -1
  80. package/dist/locale/fr.mjs +1 -1
  81. package/dist/locale/he.js +1 -1
  82. package/dist/locale/he.min.js +1 -1
  83. package/dist/locale/he.min.mjs +1 -1
  84. package/dist/locale/he.mjs +1 -1
  85. package/dist/locale/hr.js +1 -1
  86. package/dist/locale/hr.min.js +1 -1
  87. package/dist/locale/hr.min.mjs +1 -1
  88. package/dist/locale/hr.mjs +1 -1
  89. package/dist/locale/hu.js +1 -1
  90. package/dist/locale/hu.min.js +1 -1
  91. package/dist/locale/hu.min.mjs +1 -1
  92. package/dist/locale/hu.mjs +1 -1
  93. package/dist/locale/hy-am.js +1 -1
  94. package/dist/locale/hy-am.min.js +1 -1
  95. package/dist/locale/hy-am.min.mjs +1 -1
  96. package/dist/locale/hy-am.mjs +1 -1
  97. package/dist/locale/id.js +1 -1
  98. package/dist/locale/id.min.js +1 -1
  99. package/dist/locale/id.min.mjs +1 -1
  100. package/dist/locale/id.mjs +1 -1
  101. package/dist/locale/it.js +1 -1
  102. package/dist/locale/it.min.js +1 -1
  103. package/dist/locale/it.min.mjs +1 -1
  104. package/dist/locale/it.mjs +1 -1
  105. package/dist/locale/ja.js +1 -1
  106. package/dist/locale/ja.min.js +1 -1
  107. package/dist/locale/ja.min.mjs +1 -1
  108. package/dist/locale/ja.mjs +1 -1
  109. package/dist/locale/kk.js +1 -1
  110. package/dist/locale/kk.min.js +1 -1
  111. package/dist/locale/kk.min.mjs +1 -1
  112. package/dist/locale/kk.mjs +1 -1
  113. package/dist/locale/km.js +1 -1
  114. package/dist/locale/km.min.js +1 -1
  115. package/dist/locale/km.min.mjs +1 -1
  116. package/dist/locale/km.mjs +1 -1
  117. package/dist/locale/ko.js +1 -1
  118. package/dist/locale/ko.min.js +1 -1
  119. package/dist/locale/ko.min.mjs +1 -1
  120. package/dist/locale/ko.mjs +1 -1
  121. package/dist/locale/ku.js +1 -1
  122. package/dist/locale/ku.min.js +1 -1
  123. package/dist/locale/ku.min.mjs +1 -1
  124. package/dist/locale/ku.mjs +1 -1
  125. package/dist/locale/ky.js +1 -1
  126. package/dist/locale/ky.min.js +1 -1
  127. package/dist/locale/ky.min.mjs +1 -1
  128. package/dist/locale/ky.mjs +1 -1
  129. package/dist/locale/lt.js +1 -1
  130. package/dist/locale/lt.min.js +1 -1
  131. package/dist/locale/lt.min.mjs +1 -1
  132. package/dist/locale/lt.mjs +1 -1
  133. package/dist/locale/lv.js +1 -1
  134. package/dist/locale/lv.min.js +1 -1
  135. package/dist/locale/lv.min.mjs +1 -1
  136. package/dist/locale/lv.mjs +1 -1
  137. package/dist/locale/mg.js +1 -1
  138. package/dist/locale/mg.min.js +1 -1
  139. package/dist/locale/mg.min.mjs +1 -1
  140. package/dist/locale/mg.mjs +1 -1
  141. package/dist/locale/mn.js +1 -1
  142. package/dist/locale/mn.min.js +1 -1
  143. package/dist/locale/mn.min.mjs +1 -1
  144. package/dist/locale/mn.mjs +1 -1
  145. package/dist/locale/nb-no.js +1 -1
  146. package/dist/locale/nb-no.min.js +1 -1
  147. package/dist/locale/nb-no.min.mjs +1 -1
  148. package/dist/locale/nb-no.mjs +1 -1
  149. package/dist/locale/nl.js +1 -1
  150. package/dist/locale/nl.min.js +1 -1
  151. package/dist/locale/nl.min.mjs +1 -1
  152. package/dist/locale/nl.mjs +1 -1
  153. package/dist/locale/pa.js +1 -1
  154. package/dist/locale/pa.min.js +1 -1
  155. package/dist/locale/pa.min.mjs +1 -1
  156. package/dist/locale/pa.mjs +1 -1
  157. package/dist/locale/pl.js +1 -1
  158. package/dist/locale/pl.min.js +1 -1
  159. package/dist/locale/pl.min.mjs +1 -1
  160. package/dist/locale/pl.mjs +1 -1
  161. package/dist/locale/pt-br.js +1 -1
  162. package/dist/locale/pt-br.min.js +1 -1
  163. package/dist/locale/pt-br.min.mjs +1 -1
  164. package/dist/locale/pt-br.mjs +1 -1
  165. package/dist/locale/pt.js +1 -1
  166. package/dist/locale/pt.min.js +1 -1
  167. package/dist/locale/pt.min.mjs +1 -1
  168. package/dist/locale/pt.mjs +1 -1
  169. package/dist/locale/ro.js +1 -1
  170. package/dist/locale/ro.min.js +1 -1
  171. package/dist/locale/ro.min.mjs +1 -1
  172. package/dist/locale/ro.mjs +1 -1
  173. package/dist/locale/ru.js +1 -1
  174. package/dist/locale/ru.min.js +1 -1
  175. package/dist/locale/ru.min.mjs +1 -1
  176. package/dist/locale/ru.mjs +1 -1
  177. package/dist/locale/sk.js +1 -1
  178. package/dist/locale/sk.min.js +1 -1
  179. package/dist/locale/sk.min.mjs +1 -1
  180. package/dist/locale/sk.mjs +1 -1
  181. package/dist/locale/sl.js +1 -1
  182. package/dist/locale/sl.min.js +1 -1
  183. package/dist/locale/sl.min.mjs +1 -1
  184. package/dist/locale/sl.mjs +1 -1
  185. package/dist/locale/sr.js +1 -1
  186. package/dist/locale/sr.min.js +1 -1
  187. package/dist/locale/sr.min.mjs +1 -1
  188. package/dist/locale/sr.mjs +1 -1
  189. package/dist/locale/sv.js +1 -1
  190. package/dist/locale/sv.min.js +1 -1
  191. package/dist/locale/sv.min.mjs +1 -1
  192. package/dist/locale/sv.mjs +1 -1
  193. package/dist/locale/ta.js +1 -1
  194. package/dist/locale/ta.min.js +1 -1
  195. package/dist/locale/ta.min.mjs +1 -1
  196. package/dist/locale/ta.mjs +1 -1
  197. package/dist/locale/th.js +1 -1
  198. package/dist/locale/th.min.js +1 -1
  199. package/dist/locale/th.min.mjs +1 -1
  200. package/dist/locale/th.mjs +1 -1
  201. package/dist/locale/tk.js +1 -1
  202. package/dist/locale/tk.min.js +1 -1
  203. package/dist/locale/tk.min.mjs +1 -1
  204. package/dist/locale/tk.mjs +1 -1
  205. package/dist/locale/tr.js +1 -1
  206. package/dist/locale/tr.min.js +1 -1
  207. package/dist/locale/tr.min.mjs +1 -1
  208. package/dist/locale/tr.mjs +1 -1
  209. package/dist/locale/ug-cn.js +1 -1
  210. package/dist/locale/ug-cn.min.js +1 -1
  211. package/dist/locale/ug-cn.min.mjs +1 -1
  212. package/dist/locale/ug-cn.mjs +1 -1
  213. package/dist/locale/uk.js +1 -1
  214. package/dist/locale/uk.min.js +1 -1
  215. package/dist/locale/uk.min.mjs +1 -1
  216. package/dist/locale/uk.mjs +1 -1
  217. package/dist/locale/uz-uz.js +1 -1
  218. package/dist/locale/uz-uz.min.js +1 -1
  219. package/dist/locale/uz-uz.min.mjs +1 -1
  220. package/dist/locale/uz-uz.mjs +1 -1
  221. package/dist/locale/vi.js +1 -1
  222. package/dist/locale/vi.min.js +1 -1
  223. package/dist/locale/vi.min.mjs +1 -1
  224. package/dist/locale/vi.mjs +1 -1
  225. package/dist/locale/zh-cn.js +1 -1
  226. package/dist/locale/zh-cn.min.js +1 -1
  227. package/dist/locale/zh-cn.min.mjs +1 -1
  228. package/dist/locale/zh-cn.mjs +1 -1
  229. package/dist/locale/zh-tw.js +1 -1
  230. package/dist/locale/zh-tw.min.js +1 -1
  231. package/dist/locale/zh-tw.min.mjs +1 -1
  232. package/dist/locale/zh-tw.mjs +1 -1
  233. package/es/components/calendar/src/calendar2.mjs +1 -1
  234. package/es/components/calendar/src/date-table.mjs +31 -153
  235. package/es/components/calendar/src/date-table.mjs.map +1 -1
  236. package/es/components/calendar/src/date-table2.mjs +153 -31
  237. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  238. package/es/components/cascader/src/index.mjs +1 -1
  239. package/es/components/cascader/src/index.mjs.map +1 -1
  240. package/es/components/checkbox/src/checkbox.mjs +2 -2
  241. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  242. package/es/components/form/index.d.ts +4 -0
  243. package/es/components/form/src/form-item2.mjs +1 -0
  244. package/es/components/form/src/form-item2.mjs.map +1 -1
  245. package/es/components/form/src/form.d.ts +1 -0
  246. package/es/components/form/src/form.mjs +5 -0
  247. package/es/components/form/src/form.mjs.map +1 -1
  248. package/es/components/form/src/form.vue.d.ts +4 -0
  249. package/es/components/index.mjs +1 -1
  250. package/es/components/menu/src/menu.mjs +2 -2
  251. package/es/components/menu/src/menu.mjs.map +1 -1
  252. package/es/components/message/src/instance.mjs +1 -1
  253. package/es/components/message/src/instance.mjs.map +1 -1
  254. package/es/components/message/src/method.mjs +1 -1
  255. package/es/components/message/src/method.mjs.map +1 -1
  256. package/es/components/notification/src/notify.mjs +2 -2
  257. package/es/components/notification/src/notify.mjs.map +1 -1
  258. package/es/components/space/index.d.ts +3 -3
  259. package/es/components/space/src/space.d.ts +5 -4
  260. package/es/components/space/src/space.mjs.map +1 -1
  261. package/es/components/space/src/use-space.d.ts +1 -1
  262. package/es/components/table/src/table/style-helper.mjs +7 -5
  263. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  264. package/es/components/table/src/table-header/index.mjs +1 -2
  265. package/es/components/table/src/table-header/index.mjs.map +1 -1
  266. package/es/components/tree-v2/src/composables/useTree.d.ts +1 -0
  267. package/es/components/tree-v2/src/composables/useTree.mjs +5 -1
  268. package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
  269. package/es/components/tree-v2/src/tree.mjs +4 -2
  270. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  271. package/es/components/upload/index.mjs +1 -1
  272. package/es/components/upload/src/upload-content2.mjs +1 -1
  273. package/es/components/upload/src/upload-dragger.mjs +70 -11
  274. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  275. package/es/components/upload/src/upload-dragger2.mjs +11 -70
  276. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  277. package/es/index.mjs +1 -1
  278. package/es/version.d.ts +1 -1
  279. package/es/version.mjs +1 -1
  280. package/es/version.mjs.map +1 -1
  281. package/lib/components/calendar/src/calendar2.js +1 -1
  282. package/lib/components/calendar/src/date-table.js +35 -158
  283. package/lib/components/calendar/src/date-table.js.map +1 -1
  284. package/lib/components/calendar/src/date-table2.js +158 -35
  285. package/lib/components/calendar/src/date-table2.js.map +1 -1
  286. package/lib/components/cascader/src/index.js +1 -1
  287. package/lib/components/cascader/src/index.js.map +1 -1
  288. package/lib/components/checkbox/src/checkbox.js +1 -1
  289. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  290. package/lib/components/form/index.d.ts +4 -0
  291. package/lib/components/form/src/form-item2.js +1 -0
  292. package/lib/components/form/src/form-item2.js.map +1 -1
  293. package/lib/components/form/src/form.d.ts +1 -0
  294. package/lib/components/form/src/form.js +5 -0
  295. package/lib/components/form/src/form.js.map +1 -1
  296. package/lib/components/form/src/form.vue.d.ts +4 -0
  297. package/lib/components/index.js +1 -1
  298. package/lib/components/menu/src/menu.js +2 -2
  299. package/lib/components/menu/src/menu.js.map +1 -1
  300. package/lib/components/message/src/instance.js +1 -1
  301. package/lib/components/message/src/instance.js.map +1 -1
  302. package/lib/components/message/src/method.js +1 -1
  303. package/lib/components/message/src/method.js.map +1 -1
  304. package/lib/components/notification/src/notify.js +2 -2
  305. package/lib/components/notification/src/notify.js.map +1 -1
  306. package/lib/components/space/index.d.ts +3 -3
  307. package/lib/components/space/src/space.d.ts +5 -4
  308. package/lib/components/space/src/space.js.map +1 -1
  309. package/lib/components/space/src/use-space.d.ts +1 -1
  310. package/lib/components/table/src/table/style-helper.js +7 -5
  311. package/lib/components/table/src/table/style-helper.js.map +1 -1
  312. package/lib/components/table/src/table-header/index.js +1 -2
  313. package/lib/components/table/src/table-header/index.js.map +1 -1
  314. package/lib/components/tree-v2/src/composables/useTree.d.ts +1 -0
  315. package/lib/components/tree-v2/src/composables/useTree.js +5 -1
  316. package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
  317. package/lib/components/tree-v2/src/tree.js +4 -2
  318. package/lib/components/tree-v2/src/tree.js.map +1 -1
  319. package/lib/components/upload/index.js +1 -1
  320. package/lib/components/upload/src/upload-content2.js +1 -1
  321. package/lib/components/upload/src/upload-dragger.js +70 -12
  322. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  323. package/lib/components/upload/src/upload-dragger2.js +12 -70
  324. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  325. package/lib/index.js +1 -1
  326. package/lib/version.d.ts +1 -1
  327. package/lib/version.js +1 -1
  328. package/lib/version.js.map +1 -1
  329. package/package.json +2 -2
  330. package/tags.json +1 -1
  331. package/theme-chalk/el-form.css +1 -1
  332. package/theme-chalk/el-popover.css +1 -1
  333. package/theme-chalk/el-select.css +1 -1
  334. package/theme-chalk/el-table.css +1 -1
  335. package/theme-chalk/index.css +1 -1
  336. package/theme-chalk/src/form.scss +17 -6
  337. package/theme-chalk/src/popover.scss +7 -0
  338. package/theme-chalk/src/select.scss +1 -0
  339. package/theme-chalk/src/table.scss +8 -15
  340. package/web-types.json +1 -1
@@ -2,169 +2,46 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var dayjs = require('dayjs');
7
- var localeData = require('dayjs/plugin/localeData.js');
8
- require('../../../hooks/index.js');
5
+ require('../../../utils/index.js');
9
6
  require('../../time-picker/index.js');
10
- require('../../../constants/index.js');
11
- var dateTable = require('./date-table2.js');
12
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
- var index = require('../../../hooks/use-locale/index.js');
14
- var index$1 = require('../../../hooks/use-namespace/index.js');
15
7
  var utils = require('../../time-picker/src/utils.js');
16
- var date = require('../../../constants/date.js');
8
+ var runtime = require('../../../utils/vue/props/runtime.js');
9
+ var shared = require('@vue/shared');
17
10
 
18
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
-
20
- var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
21
- var localeData__default = /*#__PURE__*/_interopDefaultLegacy(localeData);
22
-
23
- const _hoisted_1 = { key: 0 };
24
- const _hoisted_2 = ["onClick"];
25
- const __default__ = {
26
- name: "DateTable"
11
+ const getPrevMonthLastDays = (date, count) => {
12
+ const lastDay = date.subtract(1, "month").endOf("month").date();
13
+ return utils.rangeArr(count).map((_, index) => lastDay - (count - index - 1));
14
+ };
15
+ const getMonthDays = (date) => {
16
+ const days = date.daysInMonth();
17
+ return utils.rangeArr(days).map((_, index) => index + 1);
27
18
  };
28
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
- ...__default__,
30
- props: dateTable.dateTableProps,
31
- emits: dateTable.dateTableEmits,
32
- setup(__props, { expose, emit }) {
33
- const props = __props;
34
- dayjs__default["default"].extend(localeData__default["default"]);
35
- const { t, lang } = index.useLocale();
36
- const nsTable = index$1.useNamespace("calendar-table");
37
- const nsDay = index$1.useNamespace("calendar-day");
38
- const now = dayjs__default["default"]().locale(lang.value);
39
- const firstDayOfWeek = now.$locale().weekStart || 0;
40
- const isInRange = vue.computed(() => !!props.range && !!props.range.length);
41
- const rows = vue.computed(() => {
42
- let days = [];
43
- if (isInRange.value) {
44
- const [start, end] = props.range;
45
- const currentMonthRange = utils.rangeArr(end.date() - start.date() + 1).map((index) => ({
46
- text: start.date() + index,
47
- type: "current"
48
- }));
49
- let remaining = currentMonthRange.length % 7;
50
- remaining = remaining === 0 ? 0 : 7 - remaining;
51
- const nextMonthRange = utils.rangeArr(remaining).map((_, index) => ({
52
- text: index + 1,
53
- type: "next"
54
- }));
55
- days = currentMonthRange.concat(nextMonthRange);
56
- } else {
57
- const firstDay = props.date.startOf("month").day();
58
- const prevMonthDays = dateTable.getPrevMonthLastDays(props.date, firstDay - firstDayOfWeek).map((day) => ({
59
- text: day,
60
- type: "prev"
61
- }));
62
- const currentMonthDays = dateTable.getMonthDays(props.date).map((day) => ({
63
- text: day,
64
- type: "current"
65
- }));
66
- days = [...prevMonthDays, ...currentMonthDays];
67
- const remaining = 7 - (days.length % 7 || 7);
68
- const nextMonthDays = utils.rangeArr(remaining).map((_, index) => ({
69
- text: index + 1,
70
- type: "next"
71
- }));
72
- days = days.concat(nextMonthDays);
73
- }
74
- return dateTable.toNestedArr(days);
75
- });
76
- const weekDays = vue.computed(() => {
77
- const start = firstDayOfWeek;
78
- if (start === 0) {
79
- return date.WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`));
80
- } else {
81
- return date.WEEK_DAYS.slice(start).concat(date.WEEK_DAYS.slice(0, start)).map((_) => t(`el.datepicker.weeks.${_}`));
82
- }
83
- });
84
- const getFormattedDate = (day, type) => {
85
- switch (type) {
86
- case "prev":
87
- return props.date.startOf("month").subtract(1, "month").date(day);
88
- case "next":
89
- return props.date.startOf("month").add(1, "month").date(day);
90
- case "current":
91
- return props.date.date(day);
92
- }
93
- };
94
- const getCellClass = ({ text, type }) => {
95
- const classes = [type];
96
- if (type === "current") {
97
- const date = getFormattedDate(text, type);
98
- if (date.isSame(props.selectedDay, "day")) {
99
- classes.push(nsDay.is("selected"));
100
- }
101
- if (date.isSame(now, "day")) {
102
- classes.push(nsDay.is("today"));
103
- }
104
- }
105
- return classes;
106
- };
107
- const handlePickDay = ({ text, type }) => {
108
- const date = getFormattedDate(text, type);
109
- emit("pick", date);
110
- };
111
- const getSlotData = ({ text, type }) => {
112
- const day = getFormattedDate(text, type);
113
- return {
114
- isSelected: day.isSame(props.selectedDay),
115
- type: `${type}-month`,
116
- day: day.format("YYYY-MM-DD"),
117
- date: day.toDate()
118
- };
119
- };
120
- expose({
121
- getFormattedDate
122
- });
123
- return (_ctx, _cache) => {
124
- return vue.openBlock(), vue.createElementBlock("table", {
125
- class: vue.normalizeClass([vue.unref(nsTable).b(), vue.unref(nsTable).is("range", vue.unref(isInRange))]),
126
- cellspacing: "0",
127
- cellpadding: "0"
128
- }, [
129
- !_ctx.hideHeader ? (vue.openBlock(), vue.createElementBlock("thead", _hoisted_1, [
130
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(weekDays), (day) => {
131
- return vue.openBlock(), vue.createElementBlock("th", { key: day }, vue.toDisplayString(day), 1);
132
- }), 128))
133
- ])) : vue.createCommentVNode("v-if", true),
134
- vue.createElementVNode("tbody", null, [
135
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(rows), (row, index) => {
136
- return vue.openBlock(), vue.createElementBlock("tr", {
137
- key: index,
138
- class: vue.normalizeClass({
139
- [vue.unref(nsTable).e("row")]: true,
140
- [vue.unref(nsTable).em("row", "hide-border")]: index === 0 && _ctx.hideHeader
141
- })
142
- }, [
143
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(row, (cell, key) => {
144
- return vue.openBlock(), vue.createElementBlock("td", {
145
- key,
146
- class: vue.normalizeClass(getCellClass(cell)),
147
- onClick: ($event) => handlePickDay(cell)
148
- }, [
149
- vue.createElementVNode("div", {
150
- class: vue.normalizeClass(vue.unref(nsDay).b())
151
- }, [
152
- vue.renderSlot(_ctx.$slots, "dateCell", {
153
- data: getSlotData(cell)
154
- }, () => [
155
- vue.createElementVNode("span", null, vue.toDisplayString(cell.text), 1)
156
- ])
157
- ], 2)
158
- ], 10, _hoisted_2);
159
- }), 128))
160
- ], 2);
161
- }), 128))
162
- ])
163
- ], 2);
164
- };
19
+ const toNestedArr = (days) => utils.rangeArr(days.length / 7).map((index) => {
20
+ const start = index * 7;
21
+ return days.slice(start, start + 7);
22
+ });
23
+ const dateTableProps = runtime.buildProps({
24
+ selectedDay: {
25
+ type: runtime.definePropType(Object)
26
+ },
27
+ range: {
28
+ type: runtime.definePropType(Array)
29
+ },
30
+ date: {
31
+ type: runtime.definePropType(Object),
32
+ required: true
33
+ },
34
+ hideHeader: {
35
+ type: Boolean
165
36
  }
166
37
  });
167
- var DateTable = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/calendar/src/date-table.vue"]]);
38
+ const dateTableEmits = {
39
+ pick: (value) => shared.isObject(value)
40
+ };
168
41
 
169
- exports["default"] = DateTable;
42
+ exports.dateTableEmits = dateTableEmits;
43
+ exports.dateTableProps = dateTableProps;
44
+ exports.getMonthDays = getMonthDays;
45
+ exports.getPrevMonthLastDays = getPrevMonthLastDays;
46
+ exports.toNestedArr = toNestedArr;
170
47
  //# sourceMappingURL=date-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-table.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { WEEK_DAYS } from '@element-plus/constants'\nimport {\n dateTableEmits,\n dateTableProps,\n getMonthDays,\n getPrevMonthLastDays,\n toNestedArr,\n} from './date-table'\n\nimport type { CalendarDateCell, CalendarDateCellType } from './date-table'\nimport type { Dayjs } from 'dayjs'\n\ndefineOptions({\n name: 'DateTable',\n})\n\nconst props = defineProps(dateTableProps)\nconst emit = defineEmits(dateTableEmits)\n\ndayjs.extend(localeData)\n\nconst { t, lang } = useLocale()\nconst nsTable = useNamespace('calendar-table')\nconst nsDay = useNamespace('calendar-day')\n\nconst now = dayjs().locale(lang.value)\n// todo better way to get Day.js locale object\nconst firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\nconst isInRange = computed(() => !!props.range && !!props.range.length)\n\nconst rows = computed(() => {\n let days: CalendarDateCell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: CalendarDateCell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day()\n const prevMonthDays: CalendarDateCell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: CalendarDateCell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const remaining = 7 - (days.length % 7 || 7)\n const nextMonthDays: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n})\n\nconst weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n})\n\nconst getFormattedDate = (day: number, type: CalendarDateCellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n}\n\nconst getCellClass = ({ text, type }: CalendarDateCell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push(nsDay.is('selected'))\n }\n if (date.isSame(now, 'day')) {\n classes.push(nsDay.is('today'))\n }\n }\n return classes\n}\n\nconst handlePickDay = ({ text, type }: CalendarDateCell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n}\n\nconst getSlotData = ({ text, type }: CalendarDateCell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n}\n\ndefineExpose({\n /** @description toggle date panel */\n getFormattedDate,\n})\n</script>\n"],"names":["dayjs","localeData","useLocale","useNamespace","computed","rangeArr","getPrevMonthLastDays","getMonthDays","toNestedArr","WEEK_DAYS"],"mappings":"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"}
1
+ {"version":3,"file":"date-table.js","sources":["../../../../../../packages/components/calendar/src/date-table.ts"],"sourcesContent":["import { buildProps, definePropType, isObject } from '@element-plus/utils'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type DateTable from './date-table.vue'\n\nexport type CalendarDateCellType = 'next' | 'prev' | 'current'\nexport type CalendarDateCell = {\n text: number\n type: CalendarDateCellType\n}\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nexport const toNestedArr = (days: CalendarDateCell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport const dateTableProps = buildProps({\n selectedDay: {\n type: definePropType<Dayjs>(Object),\n },\n range: {\n type: definePropType<[Dayjs, Dayjs]>(Array),\n },\n date: {\n type: definePropType<Dayjs>(Object),\n required: true,\n },\n hideHeader: {\n type: Boolean,\n },\n} as const)\nexport type DateTableProps = ExtractPropTypes<typeof dateTableProps>\n\nexport const dateTableEmits = {\n pick: (value: Dayjs) => isObject(value),\n}\nexport type DateTableEmits = typeof dateTableEmits\n\nexport type DateTableInstance = InstanceType<typeof DateTable>\n"],"names":["rangeArr","buildProps","definePropType","isObject"],"mappings":";;;;;;;;;;AAEY,MAAC,oBAAoB,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK;AACrD,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClE,EAAE,OAAOA,cAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,EAAE;AACU,MAAC,YAAY,GAAG,CAAC,IAAI,KAAK;AACtC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,EAAE,OAAOA,cAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;AACrD,EAAE;AACU,MAAC,WAAW,GAAG,CAAC,IAAI,KAAKA,cAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9E,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1B,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC,EAAE;AACS,MAAC,cAAc,GAAGC,kBAAU,CAAC;AACzC,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAEC,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,sBAAc,CAAC,KAAK,CAAC;AAC/B,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,IAAI,EAAE,CAAC,KAAK,KAAKC,eAAQ,CAAC,KAAK,CAAC;AAClC;;;;;;;;"}
@@ -2,46 +2,169 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
5
+ var vue = require('vue');
6
+ var dayjs = require('dayjs');
7
+ var localeData = require('dayjs/plugin/localeData.js');
8
+ require('../../../hooks/index.js');
6
9
  require('../../time-picker/index.js');
10
+ require('../../../constants/index.js');
11
+ var dateTable = require('./date-table.js');
12
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
+ var index = require('../../../hooks/use-locale/index.js');
14
+ var index$1 = require('../../../hooks/use-namespace/index.js');
7
15
  var utils = require('../../time-picker/src/utils.js');
8
- var runtime = require('../../../utils/vue/props/runtime.js');
9
- var shared = require('@vue/shared');
16
+ var date = require('../../../constants/date.js');
10
17
 
11
- const getPrevMonthLastDays = (date, count) => {
12
- const lastDay = date.subtract(1, "month").endOf("month").date();
13
- return utils.rangeArr(count).map((_, index) => lastDay - (count - index - 1));
14
- };
15
- const getMonthDays = (date) => {
16
- const days = date.daysInMonth();
17
- return utils.rangeArr(days).map((_, index) => index + 1);
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
21
+ var localeData__default = /*#__PURE__*/_interopDefaultLegacy(localeData);
22
+
23
+ const _hoisted_1 = { key: 0 };
24
+ const _hoisted_2 = ["onClick"];
25
+ const __default__ = {
26
+ name: "DateTable"
18
27
  };
19
- const toNestedArr = (days) => utils.rangeArr(days.length / 7).map((index) => {
20
- const start = index * 7;
21
- return days.slice(start, start + 7);
22
- });
23
- const dateTableProps = runtime.buildProps({
24
- selectedDay: {
25
- type: runtime.definePropType(Object)
26
- },
27
- range: {
28
- type: runtime.definePropType(Array)
29
- },
30
- date: {
31
- type: runtime.definePropType(Object),
32
- required: true
33
- },
34
- hideHeader: {
35
- type: Boolean
28
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
+ ...__default__,
30
+ props: dateTable.dateTableProps,
31
+ emits: dateTable.dateTableEmits,
32
+ setup(__props, { expose, emit }) {
33
+ const props = __props;
34
+ dayjs__default["default"].extend(localeData__default["default"]);
35
+ const { t, lang } = index.useLocale();
36
+ const nsTable = index$1.useNamespace("calendar-table");
37
+ const nsDay = index$1.useNamespace("calendar-day");
38
+ const now = dayjs__default["default"]().locale(lang.value);
39
+ const firstDayOfWeek = now.$locale().weekStart || 0;
40
+ const isInRange = vue.computed(() => !!props.range && !!props.range.length);
41
+ const rows = vue.computed(() => {
42
+ let days = [];
43
+ if (isInRange.value) {
44
+ const [start, end] = props.range;
45
+ const currentMonthRange = utils.rangeArr(end.date() - start.date() + 1).map((index) => ({
46
+ text: start.date() + index,
47
+ type: "current"
48
+ }));
49
+ let remaining = currentMonthRange.length % 7;
50
+ remaining = remaining === 0 ? 0 : 7 - remaining;
51
+ const nextMonthRange = utils.rangeArr(remaining).map((_, index) => ({
52
+ text: index + 1,
53
+ type: "next"
54
+ }));
55
+ days = currentMonthRange.concat(nextMonthRange);
56
+ } else {
57
+ const firstDay = props.date.startOf("month").day();
58
+ const prevMonthDays = dateTable.getPrevMonthLastDays(props.date, firstDay - firstDayOfWeek).map((day) => ({
59
+ text: day,
60
+ type: "prev"
61
+ }));
62
+ const currentMonthDays = dateTable.getMonthDays(props.date).map((day) => ({
63
+ text: day,
64
+ type: "current"
65
+ }));
66
+ days = [...prevMonthDays, ...currentMonthDays];
67
+ const remaining = 7 - (days.length % 7 || 7);
68
+ const nextMonthDays = utils.rangeArr(remaining).map((_, index) => ({
69
+ text: index + 1,
70
+ type: "next"
71
+ }));
72
+ days = days.concat(nextMonthDays);
73
+ }
74
+ return dateTable.toNestedArr(days);
75
+ });
76
+ const weekDays = vue.computed(() => {
77
+ const start = firstDayOfWeek;
78
+ if (start === 0) {
79
+ return date.WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`));
80
+ } else {
81
+ return date.WEEK_DAYS.slice(start).concat(date.WEEK_DAYS.slice(0, start)).map((_) => t(`el.datepicker.weeks.${_}`));
82
+ }
83
+ });
84
+ const getFormattedDate = (day, type) => {
85
+ switch (type) {
86
+ case "prev":
87
+ return props.date.startOf("month").subtract(1, "month").date(day);
88
+ case "next":
89
+ return props.date.startOf("month").add(1, "month").date(day);
90
+ case "current":
91
+ return props.date.date(day);
92
+ }
93
+ };
94
+ const getCellClass = ({ text, type }) => {
95
+ const classes = [type];
96
+ if (type === "current") {
97
+ const date = getFormattedDate(text, type);
98
+ if (date.isSame(props.selectedDay, "day")) {
99
+ classes.push(nsDay.is("selected"));
100
+ }
101
+ if (date.isSame(now, "day")) {
102
+ classes.push(nsDay.is("today"));
103
+ }
104
+ }
105
+ return classes;
106
+ };
107
+ const handlePickDay = ({ text, type }) => {
108
+ const date = getFormattedDate(text, type);
109
+ emit("pick", date);
110
+ };
111
+ const getSlotData = ({ text, type }) => {
112
+ const day = getFormattedDate(text, type);
113
+ return {
114
+ isSelected: day.isSame(props.selectedDay),
115
+ type: `${type}-month`,
116
+ day: day.format("YYYY-MM-DD"),
117
+ date: day.toDate()
118
+ };
119
+ };
120
+ expose({
121
+ getFormattedDate
122
+ });
123
+ return (_ctx, _cache) => {
124
+ return vue.openBlock(), vue.createElementBlock("table", {
125
+ class: vue.normalizeClass([vue.unref(nsTable).b(), vue.unref(nsTable).is("range", vue.unref(isInRange))]),
126
+ cellspacing: "0",
127
+ cellpadding: "0"
128
+ }, [
129
+ !_ctx.hideHeader ? (vue.openBlock(), vue.createElementBlock("thead", _hoisted_1, [
130
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(weekDays), (day) => {
131
+ return vue.openBlock(), vue.createElementBlock("th", { key: day }, vue.toDisplayString(day), 1);
132
+ }), 128))
133
+ ])) : vue.createCommentVNode("v-if", true),
134
+ vue.createElementVNode("tbody", null, [
135
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(rows), (row, index) => {
136
+ return vue.openBlock(), vue.createElementBlock("tr", {
137
+ key: index,
138
+ class: vue.normalizeClass({
139
+ [vue.unref(nsTable).e("row")]: true,
140
+ [vue.unref(nsTable).em("row", "hide-border")]: index === 0 && _ctx.hideHeader
141
+ })
142
+ }, [
143
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(row, (cell, key) => {
144
+ return vue.openBlock(), vue.createElementBlock("td", {
145
+ key,
146
+ class: vue.normalizeClass(getCellClass(cell)),
147
+ onClick: ($event) => handlePickDay(cell)
148
+ }, [
149
+ vue.createElementVNode("div", {
150
+ class: vue.normalizeClass(vue.unref(nsDay).b())
151
+ }, [
152
+ vue.renderSlot(_ctx.$slots, "dateCell", {
153
+ data: getSlotData(cell)
154
+ }, () => [
155
+ vue.createElementVNode("span", null, vue.toDisplayString(cell.text), 1)
156
+ ])
157
+ ], 2)
158
+ ], 10, _hoisted_2);
159
+ }), 128))
160
+ ], 2);
161
+ }), 128))
162
+ ])
163
+ ], 2);
164
+ };
36
165
  }
37
166
  });
38
- const dateTableEmits = {
39
- pick: (value) => shared.isObject(value)
40
- };
167
+ var DateTable = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/calendar/src/date-table.vue"]]);
41
168
 
42
- exports.dateTableEmits = dateTableEmits;
43
- exports.dateTableProps = dateTableProps;
44
- exports.getMonthDays = getMonthDays;
45
- exports.getPrevMonthLastDays = getPrevMonthLastDays;
46
- exports.toNestedArr = toNestedArr;
169
+ exports["default"] = DateTable;
47
170
  //# sourceMappingURL=date-table2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-table2.js","sources":["../../../../../../packages/components/calendar/src/date-table.ts"],"sourcesContent":["import { buildProps, definePropType, isObject } from '@element-plus/utils'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type DateTable from './date-table.vue'\n\nexport type CalendarDateCellType = 'next' | 'prev' | 'current'\nexport type CalendarDateCell = {\n text: number\n type: CalendarDateCellType\n}\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nexport const toNestedArr = (days: CalendarDateCell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport const dateTableProps = buildProps({\n selectedDay: {\n type: definePropType<Dayjs>(Object),\n },\n range: {\n type: definePropType<[Dayjs, Dayjs]>(Array),\n },\n date: {\n type: definePropType<Dayjs>(Object),\n required: true,\n },\n hideHeader: {\n type: Boolean,\n },\n} as const)\nexport type DateTableProps = ExtractPropTypes<typeof dateTableProps>\n\nexport const dateTableEmits = {\n pick: (value: Dayjs) => isObject(value),\n}\nexport type DateTableEmits = typeof dateTableEmits\n\nexport type DateTableInstance = InstanceType<typeof DateTable>\n"],"names":["rangeArr","buildProps","definePropType","isObject"],"mappings":";;;;;;;;;;AAEY,MAAC,oBAAoB,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK;AACrD,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClE,EAAE,OAAOA,cAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,EAAE;AACU,MAAC,YAAY,GAAG,CAAC,IAAI,KAAK;AACtC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,EAAE,OAAOA,cAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;AACrD,EAAE;AACU,MAAC,WAAW,GAAG,CAAC,IAAI,KAAKA,cAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9E,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1B,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC,EAAE;AACS,MAAC,cAAc,GAAGC,kBAAU,CAAC;AACzC,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAEC,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,sBAAc,CAAC,KAAK,CAAC;AAC/B,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEA,sBAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,IAAI,EAAE,CAAC,KAAK,KAAKC,eAAQ,CAAC,KAAK,CAAC;AAClC;;;;;;;;"}
1
+ {"version":3,"file":"date-table2.js","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { WEEK_DAYS } from '@element-plus/constants'\nimport {\n dateTableEmits,\n dateTableProps,\n getMonthDays,\n getPrevMonthLastDays,\n toNestedArr,\n} from './date-table'\n\nimport type { CalendarDateCell, CalendarDateCellType } from './date-table'\nimport type { Dayjs } from 'dayjs'\n\ndefineOptions({\n name: 'DateTable',\n})\n\nconst props = defineProps(dateTableProps)\nconst emit = defineEmits(dateTableEmits)\n\ndayjs.extend(localeData)\n\nconst { t, lang } = useLocale()\nconst nsTable = useNamespace('calendar-table')\nconst nsDay = useNamespace('calendar-day')\n\nconst now = dayjs().locale(lang.value)\n// todo better way to get Day.js locale object\nconst firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\nconst isInRange = computed(() => !!props.range && !!props.range.length)\n\nconst rows = computed(() => {\n let days: CalendarDateCell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: CalendarDateCell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day()\n const prevMonthDays: CalendarDateCell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: CalendarDateCell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const remaining = 7 - (days.length % 7 || 7)\n const nextMonthDays: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n})\n\nconst weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n})\n\nconst getFormattedDate = (day: number, type: CalendarDateCellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n}\n\nconst getCellClass = ({ text, type }: CalendarDateCell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push(nsDay.is('selected'))\n }\n if (date.isSame(now, 'day')) {\n classes.push(nsDay.is('today'))\n }\n }\n return classes\n}\n\nconst handlePickDay = ({ text, type }: CalendarDateCell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n}\n\nconst getSlotData = ({ text, type }: CalendarDateCell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n}\n\ndefineExpose({\n /** @description toggle date panel */\n getFormattedDate,\n})\n</script>\n"],"names":["dayjs","localeData","useLocale","useNamespace","computed","rangeArr","getPrevMonthLastDays","getMonthDays","toNestedArr","WEEK_DAYS"],"mappings":"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"}
@@ -395,7 +395,7 @@ const _sfc_main = vue.defineComponent({
395
395
  const tags = presentTags.value;
396
396
  const lastTag = tags[tags.length - 1];
397
397
  pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1;
398
- if (!lastTag || !pressDeleteCount)
398
+ if (!lastTag || !pressDeleteCount || props.collapseTags && tags.length > 1)
399
399
  return;
400
400
  if (lastTag.hitState) {
401
401
  deleteTag(lastTag);