@element-plus/nightly 0.0.20220123 → 0.0.20220127

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 (693) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +1248 -1000
  4. package/dist/index.full.min.js +11 -11
  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 +1248 -1000
  9. package/dist/locale/af.js +6 -8
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.js.map +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +6 -8
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.js.map +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/bg.js +6 -8
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.js.map +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +6 -8
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.js.map +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 +6 -8
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.js.map +1 -1
  32. package/dist/locale/ca.min.mjs +1 -1
  33. package/dist/locale/ca.mjs +1 -1
  34. package/dist/locale/cs.js +6 -8
  35. package/dist/locale/cs.min.js +1 -1
  36. package/dist/locale/cs.min.js.map +1 -1
  37. package/dist/locale/cs.min.mjs +1 -1
  38. package/dist/locale/cs.mjs +1 -1
  39. package/dist/locale/da.js +6 -8
  40. package/dist/locale/da.min.js +1 -1
  41. package/dist/locale/da.min.js.map +1 -1
  42. package/dist/locale/da.min.mjs +1 -1
  43. package/dist/locale/da.mjs +1 -1
  44. package/dist/locale/de.js +6 -8
  45. package/dist/locale/de.min.js +1 -1
  46. package/dist/locale/de.min.js.map +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +6 -8
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.js.map +1 -1
  52. package/dist/locale/el.min.mjs +1 -1
  53. package/dist/locale/el.mjs +1 -1
  54. package/dist/locale/en.js +6 -8
  55. package/dist/locale/en.min.js +1 -1
  56. package/dist/locale/en.min.js.map +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +6 -8
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.js.map +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +6 -8
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.js.map +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +6 -8
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.js.map +1 -1
  72. package/dist/locale/et.min.mjs +1 -1
  73. package/dist/locale/et.mjs +1 -1
  74. package/dist/locale/eu.js +6 -8
  75. package/dist/locale/eu.min.js +1 -1
  76. package/dist/locale/eu.min.js.map +1 -1
  77. package/dist/locale/eu.min.mjs +1 -1
  78. package/dist/locale/eu.mjs +1 -1
  79. package/dist/locale/fa.js +6 -8
  80. package/dist/locale/fa.min.js +1 -1
  81. package/dist/locale/fa.min.js.map +1 -1
  82. package/dist/locale/fa.min.mjs +1 -1
  83. package/dist/locale/fa.mjs +1 -1
  84. package/dist/locale/fi.js +6 -8
  85. package/dist/locale/fi.min.js +1 -1
  86. package/dist/locale/fi.min.js.map +1 -1
  87. package/dist/locale/fi.min.mjs +1 -1
  88. package/dist/locale/fi.mjs +1 -1
  89. package/dist/locale/fr.js +6 -8
  90. package/dist/locale/fr.min.js +1 -1
  91. package/dist/locale/fr.min.js.map +1 -1
  92. package/dist/locale/fr.min.mjs +1 -1
  93. package/dist/locale/fr.mjs +1 -1
  94. package/dist/locale/he.js +6 -8
  95. package/dist/locale/he.min.js +1 -1
  96. package/dist/locale/he.min.js.map +1 -1
  97. package/dist/locale/he.min.mjs +1 -1
  98. package/dist/locale/he.mjs +1 -1
  99. package/dist/locale/hr.js +6 -8
  100. package/dist/locale/hr.min.js +1 -1
  101. package/dist/locale/hr.min.js.map +1 -1
  102. package/dist/locale/hr.min.mjs +1 -1
  103. package/dist/locale/hr.mjs +1 -1
  104. package/dist/locale/hu.js +6 -8
  105. package/dist/locale/hu.min.js +1 -1
  106. package/dist/locale/hu.min.js.map +1 -1
  107. package/dist/locale/hu.min.mjs +1 -1
  108. package/dist/locale/hu.mjs +1 -1
  109. package/dist/locale/hy-am.js +6 -8
  110. package/dist/locale/hy-am.min.js +1 -1
  111. package/dist/locale/hy-am.min.js.map +1 -1
  112. package/dist/locale/hy-am.min.mjs +1 -1
  113. package/dist/locale/hy-am.mjs +1 -1
  114. package/dist/locale/id.js +6 -8
  115. package/dist/locale/id.min.js +1 -1
  116. package/dist/locale/id.min.js.map +1 -1
  117. package/dist/locale/id.min.mjs +1 -1
  118. package/dist/locale/id.mjs +1 -1
  119. package/dist/locale/it.js +6 -8
  120. package/dist/locale/it.min.js +1 -1
  121. package/dist/locale/it.min.js.map +1 -1
  122. package/dist/locale/it.min.mjs +1 -1
  123. package/dist/locale/it.mjs +1 -1
  124. package/dist/locale/ja.js +6 -8
  125. package/dist/locale/ja.min.js +1 -1
  126. package/dist/locale/ja.min.js.map +1 -1
  127. package/dist/locale/ja.min.mjs +1 -1
  128. package/dist/locale/ja.mjs +1 -1
  129. package/dist/locale/kk.js +6 -8
  130. package/dist/locale/kk.min.js +1 -1
  131. package/dist/locale/kk.min.js.map +1 -1
  132. package/dist/locale/kk.min.mjs +1 -1
  133. package/dist/locale/kk.mjs +1 -1
  134. package/dist/locale/km.js +6 -8
  135. package/dist/locale/km.min.js +1 -1
  136. package/dist/locale/km.min.js.map +1 -1
  137. package/dist/locale/km.min.mjs +1 -1
  138. package/dist/locale/km.mjs +1 -1
  139. package/dist/locale/ko.js +6 -8
  140. package/dist/locale/ko.min.js +1 -1
  141. package/dist/locale/ko.min.js.map +1 -1
  142. package/dist/locale/ko.min.mjs +1 -1
  143. package/dist/locale/ko.mjs +1 -1
  144. package/dist/locale/ku.js +6 -8
  145. package/dist/locale/ku.min.js +1 -1
  146. package/dist/locale/ku.min.js.map +1 -1
  147. package/dist/locale/ku.min.mjs +1 -1
  148. package/dist/locale/ku.mjs +1 -1
  149. package/dist/locale/ky.js +6 -8
  150. package/dist/locale/ky.min.js +1 -1
  151. package/dist/locale/ky.min.js.map +1 -1
  152. package/dist/locale/ky.min.mjs +1 -1
  153. package/dist/locale/ky.mjs +1 -1
  154. package/dist/locale/lt.js +6 -8
  155. package/dist/locale/lt.min.js +1 -1
  156. package/dist/locale/lt.min.js.map +1 -1
  157. package/dist/locale/lt.min.mjs +1 -1
  158. package/dist/locale/lt.mjs +1 -1
  159. package/dist/locale/lv.js +6 -8
  160. package/dist/locale/lv.min.js +1 -1
  161. package/dist/locale/lv.min.js.map +1 -1
  162. package/dist/locale/lv.min.mjs +1 -1
  163. package/dist/locale/lv.mjs +1 -1
  164. package/dist/locale/mn.js +6 -8
  165. package/dist/locale/mn.min.js +1 -1
  166. package/dist/locale/mn.min.js.map +1 -1
  167. package/dist/locale/mn.min.mjs +1 -1
  168. package/dist/locale/mn.mjs +1 -1
  169. package/dist/locale/nb-no.js +6 -8
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.js.map +1 -1
  172. package/dist/locale/nb-no.min.mjs +1 -1
  173. package/dist/locale/nb-no.mjs +1 -1
  174. package/dist/locale/nl.js +6 -8
  175. package/dist/locale/nl.min.js +1 -1
  176. package/dist/locale/nl.min.js.map +1 -1
  177. package/dist/locale/nl.min.mjs +1 -1
  178. package/dist/locale/nl.mjs +1 -1
  179. package/dist/locale/pa.js +6 -8
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.js.map +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +6 -8
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.js.map +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +6 -8
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.js.map +1 -1
  192. package/dist/locale/pt-br.min.mjs +1 -1
  193. package/dist/locale/pt-br.mjs +1 -1
  194. package/dist/locale/pt.js +6 -8
  195. package/dist/locale/pt.min.js +1 -1
  196. package/dist/locale/pt.min.js.map +1 -1
  197. package/dist/locale/pt.min.mjs +1 -1
  198. package/dist/locale/pt.mjs +1 -1
  199. package/dist/locale/ro.js +6 -8
  200. package/dist/locale/ro.min.js +1 -1
  201. package/dist/locale/ro.min.js.map +1 -1
  202. package/dist/locale/ro.min.mjs +1 -1
  203. package/dist/locale/ro.mjs +1 -1
  204. package/dist/locale/ru.js +6 -8
  205. package/dist/locale/ru.min.js +1 -1
  206. package/dist/locale/ru.min.js.map +1 -1
  207. package/dist/locale/ru.min.mjs +1 -1
  208. package/dist/locale/ru.mjs +1 -1
  209. package/dist/locale/sk.js +6 -8
  210. package/dist/locale/sk.min.js +1 -1
  211. package/dist/locale/sk.min.js.map +1 -1
  212. package/dist/locale/sk.min.mjs +1 -1
  213. package/dist/locale/sk.mjs +1 -1
  214. package/dist/locale/sl.js +6 -8
  215. package/dist/locale/sl.min.js +1 -1
  216. package/dist/locale/sl.min.js.map +1 -1
  217. package/dist/locale/sl.min.mjs +1 -1
  218. package/dist/locale/sl.mjs +1 -1
  219. package/dist/locale/sr.js +6 -8
  220. package/dist/locale/sr.min.js +1 -1
  221. package/dist/locale/sr.min.js.map +1 -1
  222. package/dist/locale/sr.min.mjs +1 -1
  223. package/dist/locale/sr.mjs +1 -1
  224. package/dist/locale/sv.js +6 -8
  225. package/dist/locale/sv.min.js +1 -1
  226. package/dist/locale/sv.min.js.map +1 -1
  227. package/dist/locale/sv.min.mjs +1 -1
  228. package/dist/locale/sv.mjs +1 -1
  229. package/dist/locale/ta.js +6 -8
  230. package/dist/locale/ta.min.js +1 -1
  231. package/dist/locale/ta.min.js.map +1 -1
  232. package/dist/locale/ta.min.mjs +1 -1
  233. package/dist/locale/ta.mjs +1 -1
  234. package/dist/locale/th.js +6 -8
  235. package/dist/locale/th.min.js +1 -1
  236. package/dist/locale/th.min.js.map +1 -1
  237. package/dist/locale/th.min.mjs +1 -1
  238. package/dist/locale/th.mjs +1 -1
  239. package/dist/locale/tk.js +6 -8
  240. package/dist/locale/tk.min.js +1 -1
  241. package/dist/locale/tk.min.js.map +1 -1
  242. package/dist/locale/tk.min.mjs +1 -1
  243. package/dist/locale/tk.mjs +1 -1
  244. package/dist/locale/tr.js +6 -8
  245. package/dist/locale/tr.min.js +1 -1
  246. package/dist/locale/tr.min.js.map +1 -1
  247. package/dist/locale/tr.min.mjs +1 -1
  248. package/dist/locale/tr.mjs +1 -1
  249. package/dist/locale/ug-cn.js +6 -8
  250. package/dist/locale/ug-cn.min.js +1 -1
  251. package/dist/locale/ug-cn.min.js.map +1 -1
  252. package/dist/locale/ug-cn.min.mjs +1 -1
  253. package/dist/locale/ug-cn.mjs +1 -1
  254. package/dist/locale/uk.js +6 -8
  255. package/dist/locale/uk.min.js +1 -1
  256. package/dist/locale/uk.min.js.map +1 -1
  257. package/dist/locale/uk.min.mjs +1 -1
  258. package/dist/locale/uk.mjs +1 -1
  259. package/dist/locale/uz-uz.js +6 -8
  260. package/dist/locale/uz-uz.min.js +1 -1
  261. package/dist/locale/uz-uz.min.js.map +1 -1
  262. package/dist/locale/uz-uz.min.mjs +1 -1
  263. package/dist/locale/uz-uz.mjs +1 -1
  264. package/dist/locale/vi.js +6 -8
  265. package/dist/locale/vi.min.js +1 -1
  266. package/dist/locale/vi.min.js.map +1 -1
  267. package/dist/locale/vi.min.mjs +1 -1
  268. package/dist/locale/vi.mjs +1 -1
  269. package/dist/locale/zh-cn.js +6 -8
  270. package/dist/locale/zh-cn.min.js +1 -1
  271. package/dist/locale/zh-cn.min.js.map +1 -1
  272. package/dist/locale/zh-cn.min.mjs +1 -1
  273. package/dist/locale/zh-cn.mjs +1 -1
  274. package/dist/locale/zh-tw.js +6 -8
  275. package/dist/locale/zh-tw.min.js +1 -1
  276. package/dist/locale/zh-tw.min.js.map +1 -1
  277. package/dist/locale/zh-tw.min.mjs +1 -1
  278. package/dist/locale/zh-tw.mjs +1 -1
  279. package/es/components/affix/src/affix2.mjs +2 -1
  280. package/es/components/affix/src/affix2.mjs.map +1 -1
  281. package/es/components/autocomplete/src/index.mjs +2 -1
  282. package/es/components/autocomplete/src/index.mjs.map +1 -1
  283. package/es/components/backtop/src/backtop2.mjs +2 -1
  284. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  285. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +2 -2
  286. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  287. package/es/components/button/src/button2.mjs +11 -7
  288. package/es/components/button/src/button2.mjs.map +1 -1
  289. package/es/components/carousel/index.d.ts +11 -0
  290. package/es/components/carousel/src/item.mjs +21 -15
  291. package/es/components/carousel/src/item.mjs.map +1 -1
  292. package/es/components/carousel/src/main.mjs +25 -23
  293. package/es/components/carousel/src/main.mjs.map +1 -1
  294. package/es/components/carousel/src/main.vue.d.ts +11 -0
  295. package/es/components/cascader/index.d.ts +4 -0
  296. package/es/components/cascader/src/index.mjs +38 -21
  297. package/es/components/cascader/src/index.mjs.map +1 -1
  298. package/es/components/cascader/src/index.vue.d.ts +2 -0
  299. package/es/components/cascader-panel/src/index.mjs +16 -13
  300. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  301. package/es/components/cascader-panel/src/menu.mjs +25 -22
  302. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  303. package/es/components/cascader-panel/src/node2.mjs +6 -2
  304. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  305. package/es/components/checkbox/index.d.ts +36 -3
  306. package/es/components/checkbox/src/checkbox-button.mjs +21 -15
  307. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  308. package/es/components/checkbox/src/checkbox-button.vue.d.ts +12 -1
  309. package/es/components/checkbox/src/checkbox-group.mjs +5 -2
  310. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  311. package/es/components/checkbox/src/checkbox.mjs +36 -28
  312. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  313. package/es/components/checkbox/src/checkbox.vue.d.ts +12 -1
  314. package/es/components/checkbox/src/useCheckbox.d.ts +1 -1
  315. package/es/components/checkbox/src/useCheckbox.mjs +2 -2
  316. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  317. package/es/components/collapse/src/collapse-item.mjs +3 -3
  318. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  319. package/es/components/color-picker/src/index.mjs +8 -5
  320. package/es/components/color-picker/src/index.mjs.map +1 -1
  321. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
  322. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  323. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +2 -1
  324. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  325. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  326. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  327. package/es/components/descriptions/src/index.mjs +7 -2
  328. package/es/components/descriptions/src/index.mjs.map +1 -1
  329. package/es/components/dialog/src/dialog.mjs +1 -3
  330. package/es/components/dialog/src/dialog.mjs.map +1 -1
  331. package/es/components/drawer/index.d.ts +11 -0
  332. package/es/components/drawer/src/drawer.vue.d.ts +11 -0
  333. package/es/components/drawer/src/drawer2.mjs +33 -29
  334. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  335. package/es/components/dropdown/src/dropdown-item.mjs +12 -6
  336. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  337. package/es/components/dropdown/src/dropdown-menu.mjs +2 -1
  338. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  339. package/es/components/dropdown/src/dropdown2.mjs +9 -5
  340. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  341. package/es/components/empty/src/img-empty.mjs +13 -13
  342. package/es/components/empty/src/img-empty.mjs.map +1 -1
  343. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  344. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  345. package/es/components/form/src/form-item.mjs +6 -4
  346. package/es/components/form/src/form-item.mjs.map +1 -1
  347. package/es/components/image/src/image2.mjs +3 -2
  348. package/es/components/image/src/image2.mjs.map +1 -1
  349. package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
  350. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  351. package/es/components/index.mjs +2 -2
  352. package/es/components/input/src/input2.mjs +17 -8
  353. package/es/components/input/src/input2.mjs.map +1 -1
  354. package/es/components/input-number/src/input-number2.mjs +12 -6
  355. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  356. package/es/components/message/src/message2.mjs +1 -1
  357. package/es/components/message-box/src/index.mjs +9 -4
  358. package/es/components/message-box/src/index.mjs.map +1 -1
  359. package/es/components/message-box/src/index.vue.d.ts +1 -0
  360. package/es/components/notification/src/notification2.mjs +1 -1
  361. package/es/components/pagination/src/components/jumper.mjs +11 -5
  362. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  363. package/es/components/pagination/src/components/sizes.mjs +9 -4
  364. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  365. package/es/components/pagination/src/components/sizes.vue.d.ts +3 -0
  366. package/es/components/pagination/src/components/total.mjs +10 -4
  367. package/es/components/pagination/src/components/total.mjs.map +1 -1
  368. package/es/components/pagination/src/components/total.vue.d.ts +1 -0
  369. package/es/components/pagination/src/pagination.mjs +12 -1
  370. package/es/components/pagination/src/pagination.mjs.map +1 -1
  371. package/es/components/popconfirm/index.mjs +2 -2
  372. package/es/components/popconfirm/src/popconfirm.mjs +45 -104
  373. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  374. package/es/components/popconfirm/src/popconfirm2.mjs +107 -45
  375. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  376. package/es/components/popover/index.d.ts +0 -6
  377. package/es/components/popover/src/index.mjs +4 -2
  378. package/es/components/popover/src/index.mjs.map +1 -1
  379. package/es/components/popover/src/index.vue.d.ts +0 -3
  380. package/es/components/popover/src/popover.d.ts +0 -1
  381. package/es/components/popover/src/popover.mjs +0 -4
  382. package/es/components/popover/src/popover.mjs.map +1 -1
  383. package/es/components/popper/src/content.mjs +5 -3
  384. package/es/components/popper/src/content.mjs.map +1 -1
  385. package/es/components/popper/src/trigger.mjs +1 -1
  386. package/es/components/popper/src/trigger.mjs.map +1 -1
  387. package/es/components/progress/src/progress2.mjs +2 -1
  388. package/es/components/progress/src/progress2.mjs.map +1 -1
  389. package/es/components/radio/src/radio-button2.mjs +4 -4
  390. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  391. package/es/components/radio/src/radio-group2.mjs +1 -1
  392. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  393. package/es/components/rate/index.d.ts +8 -8
  394. package/es/components/rate/src/rate.d.ts +4 -4
  395. package/es/components/rate/src/rate.mjs +8 -4
  396. package/es/components/rate/src/rate.mjs.map +1 -1
  397. package/es/components/rate/src/rate.vue.d.ts +8 -8
  398. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +10 -6
  399. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  400. package/es/components/scrollbar/index.d.ts +2 -1
  401. package/es/components/scrollbar/index.mjs +1 -1
  402. package/es/components/scrollbar/index.mjs.map +1 -1
  403. package/es/components/scrollbar/src/bar.d.ts +5 -5
  404. package/es/components/scrollbar/src/bar.mjs +18 -6
  405. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  406. package/es/components/scrollbar/src/bar.vue.d.ts +18 -37
  407. package/es/components/scrollbar/src/bar2.mjs +34 -117
  408. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  409. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -0
  410. package/es/components/scrollbar/src/scrollbar2.mjs +16 -22
  411. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  412. package/es/components/scrollbar/src/thumb.d.ts +9 -0
  413. package/es/components/scrollbar/src/thumb.mjs +15 -0
  414. package/es/components/scrollbar/src/thumb.mjs.map +1 -0
  415. package/es/components/scrollbar/src/thumb.vue.d.ts +43 -0
  416. package/es/components/scrollbar/src/thumb2.mjs +135 -0
  417. package/es/components/scrollbar/src/thumb2.mjs.map +1 -0
  418. package/es/components/select/src/option-group.mjs +2 -1
  419. package/es/components/select/src/option-group.mjs.map +1 -1
  420. package/es/components/select/src/select-dropdown.mjs +2 -1
  421. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  422. package/es/components/select/src/select.mjs +5 -1
  423. package/es/components/select/src/select.mjs.map +1 -1
  424. package/es/components/select-v2/src/select-dropdown.mjs +2 -1
  425. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  426. package/es/components/select-v2/src/select.mjs +192 -186
  427. package/es/components/select-v2/src/select.mjs.map +1 -1
  428. package/es/components/slider/src/index.mjs +3 -2
  429. package/es/components/slider/src/index.mjs.map +1 -1
  430. package/es/components/slider/src/marker.mjs +2 -1
  431. package/es/components/slider/src/marker.mjs.map +1 -1
  432. package/es/components/steps/src/item.mjs +2 -1
  433. package/es/components/steps/src/item.mjs.map +1 -1
  434. package/es/components/switch/src/switch2.mjs +4 -2
  435. package/es/components/switch/src/switch2.mjs.map +1 -1
  436. package/es/components/table/src/filter-panel.mjs +7 -3
  437. package/es/components/table/src/filter-panel.mjs.map +1 -1
  438. package/es/components/table/src/table-body/index.mjs +1 -1
  439. package/es/components/table/src/table-body/index.mjs.map +1 -1
  440. package/es/components/table/src/table.mjs +3 -2
  441. package/es/components/table/src/table.mjs.map +1 -1
  442. package/es/components/tabs/src/tab-bar2.mjs +3 -2
  443. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  444. package/es/components/tag/index.d.ts +12 -1
  445. package/es/components/tag/src/tag.vue.d.ts +12 -1
  446. package/es/components/tag/src/tag2.mjs +23 -18
  447. package/es/components/tag/src/tag2.mjs.map +1 -1
  448. package/es/components/time-picker/src/common/picker.mjs +16 -8
  449. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  450. package/es/components/time-select/src/time-select.mjs +4 -2
  451. package/es/components/time-select/src/time-select.mjs.map +1 -1
  452. package/es/components/tooltip/src/content.mjs +9 -4
  453. package/es/components/tooltip/src/content.mjs.map +1 -1
  454. package/es/components/tooltip/src/tooltip2.mjs +2 -1
  455. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  456. package/es/components/transfer/index.d.ts +492 -0
  457. package/es/components/transfer/src/index.mjs +13 -7
  458. package/es/components/transfer/src/index.mjs.map +1 -1
  459. package/es/components/transfer/src/index.vue.d.ts +246 -0
  460. package/es/components/tree/src/tree.mjs +2 -1
  461. package/es/components/tree/src/tree.mjs.map +1 -1
  462. package/es/components/tree-v2/src/tree-node.mjs +11 -7
  463. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  464. package/es/components/tree-v2/src/tree.mjs +2 -1
  465. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  466. package/es/components/upload/src/index.mjs +3 -2
  467. package/es/components/upload/src/index.mjs.map +1 -1
  468. package/es/components/upload/src/upload-dragger.mjs +2 -1
  469. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  470. package/es/index.mjs +2 -2
  471. package/es/utils/validators.d.ts +0 -1
  472. package/es/utils/validators.mjs +1 -9
  473. package/es/utils/validators.mjs.map +1 -1
  474. package/es/version.d.ts +1 -1
  475. package/es/version.mjs +1 -1
  476. package/es/version.mjs.map +1 -1
  477. package/lib/components/affix/src/affix2.js +2 -1
  478. package/lib/components/affix/src/affix2.js.map +1 -1
  479. package/lib/components/autocomplete/src/index.js +2 -1
  480. package/lib/components/autocomplete/src/index.js.map +1 -1
  481. package/lib/components/backtop/src/backtop2.js +2 -1
  482. package/lib/components/backtop/src/backtop2.js.map +1 -1
  483. package/lib/components/breadcrumb/src/breadcrumb-item2.js +2 -2
  484. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  485. package/lib/components/button/src/button2.js +11 -7
  486. package/lib/components/button/src/button2.js.map +1 -1
  487. package/lib/components/carousel/index.d.ts +11 -0
  488. package/lib/components/carousel/src/item.js +21 -15
  489. package/lib/components/carousel/src/item.js.map +1 -1
  490. package/lib/components/carousel/src/main.js +25 -23
  491. package/lib/components/carousel/src/main.js.map +1 -1
  492. package/lib/components/carousel/src/main.vue.d.ts +11 -0
  493. package/lib/components/cascader/index.d.ts +4 -0
  494. package/lib/components/cascader/src/index.js +38 -21
  495. package/lib/components/cascader/src/index.js.map +1 -1
  496. package/lib/components/cascader/src/index.vue.d.ts +2 -0
  497. package/lib/components/cascader-panel/src/index.js +16 -13
  498. package/lib/components/cascader-panel/src/index.js.map +1 -1
  499. package/lib/components/cascader-panel/src/menu.js +25 -22
  500. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  501. package/lib/components/cascader-panel/src/node2.js +6 -2
  502. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  503. package/lib/components/checkbox/index.d.ts +36 -3
  504. package/lib/components/checkbox/src/checkbox-button.js +21 -15
  505. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  506. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +12 -1
  507. package/lib/components/checkbox/src/checkbox-group.js +5 -2
  508. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  509. package/lib/components/checkbox/src/checkbox.js +35 -27
  510. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  511. package/lib/components/checkbox/src/checkbox.vue.d.ts +12 -1
  512. package/lib/components/checkbox/src/useCheckbox.d.ts +1 -1
  513. package/lib/components/checkbox/src/useCheckbox.js +2 -2
  514. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  515. package/lib/components/collapse/src/collapse-item.js +3 -3
  516. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  517. package/lib/components/color-picker/src/index.js +8 -5
  518. package/lib/components/color-picker/src/index.js.map +1 -1
  519. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
  520. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  521. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +2 -1
  522. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  523. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  524. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  525. package/lib/components/descriptions/src/index.js +7 -2
  526. package/lib/components/descriptions/src/index.js.map +1 -1
  527. package/lib/components/dialog/src/dialog.js +1 -3
  528. package/lib/components/dialog/src/dialog.js.map +1 -1
  529. package/lib/components/drawer/index.d.ts +11 -0
  530. package/lib/components/drawer/src/drawer.vue.d.ts +11 -0
  531. package/lib/components/drawer/src/drawer2.js +33 -29
  532. package/lib/components/drawer/src/drawer2.js.map +1 -1
  533. package/lib/components/dropdown/src/dropdown-item.js +12 -6
  534. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  535. package/lib/components/dropdown/src/dropdown-menu.js +2 -1
  536. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  537. package/lib/components/dropdown/src/dropdown2.js +9 -5
  538. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  539. package/lib/components/empty/src/img-empty.js +13 -13
  540. package/lib/components/empty/src/img-empty.js.map +1 -1
  541. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  542. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  543. package/lib/components/form/src/form-item.js +6 -4
  544. package/lib/components/form/src/form-item.js.map +1 -1
  545. package/lib/components/image/src/image2.js +3 -2
  546. package/lib/components/image/src/image2.js.map +1 -1
  547. package/lib/components/image-viewer/src/image-viewer2.js +3 -2
  548. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  549. package/lib/components/index.js +3 -3
  550. package/lib/components/input/src/input2.js +17 -8
  551. package/lib/components/input/src/input2.js.map +1 -1
  552. package/lib/components/input-number/src/input-number2.js +12 -6
  553. package/lib/components/input-number/src/input-number2.js.map +1 -1
  554. package/lib/components/message/src/message2.js +1 -1
  555. package/lib/components/message-box/src/index.js +17 -12
  556. package/lib/components/message-box/src/index.js.map +1 -1
  557. package/lib/components/message-box/src/index.vue.d.ts +1 -0
  558. package/lib/components/notification/src/notification2.js +1 -1
  559. package/lib/components/pagination/src/components/jumper.js +11 -5
  560. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  561. package/lib/components/pagination/src/components/sizes.js +9 -4
  562. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  563. package/lib/components/pagination/src/components/sizes.vue.d.ts +3 -0
  564. package/lib/components/pagination/src/components/total.js +10 -4
  565. package/lib/components/pagination/src/components/total.js.map +1 -1
  566. package/lib/components/pagination/src/components/total.vue.d.ts +1 -0
  567. package/lib/components/pagination/src/pagination.js +12 -1
  568. package/lib/components/pagination/src/pagination.js.map +1 -1
  569. package/lib/components/popconfirm/index.js +2 -2
  570. package/lib/components/popconfirm/src/popconfirm.js +45 -104
  571. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  572. package/lib/components/popconfirm/src/popconfirm2.js +107 -45
  573. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  574. package/lib/components/popover/index.d.ts +0 -6
  575. package/lib/components/popover/src/index.js +4 -2
  576. package/lib/components/popover/src/index.js.map +1 -1
  577. package/lib/components/popover/src/index.vue.d.ts +0 -3
  578. package/lib/components/popover/src/popover.d.ts +0 -1
  579. package/lib/components/popover/src/popover.js +0 -4
  580. package/lib/components/popover/src/popover.js.map +1 -1
  581. package/lib/components/popper/src/content.js +5 -3
  582. package/lib/components/popper/src/content.js.map +1 -1
  583. package/lib/components/popper/src/trigger.js +1 -1
  584. package/lib/components/popper/src/trigger.js.map +1 -1
  585. package/lib/components/progress/src/progress2.js +2 -1
  586. package/lib/components/progress/src/progress2.js.map +1 -1
  587. package/lib/components/radio/src/radio-button2.js +4 -4
  588. package/lib/components/radio/src/radio-button2.js.map +1 -1
  589. package/lib/components/radio/src/radio-group2.js +1 -1
  590. package/lib/components/radio/src/radio-group2.js.map +1 -1
  591. package/lib/components/rate/index.d.ts +8 -8
  592. package/lib/components/rate/src/rate.d.ts +4 -4
  593. package/lib/components/rate/src/rate.js +8 -4
  594. package/lib/components/rate/src/rate.js.map +1 -1
  595. package/lib/components/rate/src/rate.vue.d.ts +8 -8
  596. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +10 -6
  597. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  598. package/lib/components/scrollbar/index.d.ts +2 -1
  599. package/lib/components/scrollbar/index.js +2 -2
  600. package/lib/components/scrollbar/index.js.map +1 -1
  601. package/lib/components/scrollbar/src/bar.d.ts +5 -5
  602. package/lib/components/scrollbar/src/bar.js +18 -6
  603. package/lib/components/scrollbar/src/bar.js.map +1 -1
  604. package/lib/components/scrollbar/src/bar.vue.d.ts +18 -37
  605. package/lib/components/scrollbar/src/bar2.js +33 -116
  606. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  607. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -0
  608. package/lib/components/scrollbar/src/scrollbar2.js +15 -21
  609. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  610. package/lib/components/scrollbar/src/thumb.d.ts +9 -0
  611. package/lib/components/scrollbar/src/thumb.js +19 -0
  612. package/lib/components/scrollbar/src/thumb.js.map +1 -0
  613. package/lib/components/scrollbar/src/thumb.vue.d.ts +43 -0
  614. package/lib/components/scrollbar/src/thumb2.js +139 -0
  615. package/lib/components/scrollbar/src/thumb2.js.map +1 -0
  616. package/lib/components/select/src/option-group.js +2 -1
  617. package/lib/components/select/src/option-group.js.map +1 -1
  618. package/lib/components/select/src/select-dropdown.js +2 -1
  619. package/lib/components/select/src/select-dropdown.js.map +1 -1
  620. package/lib/components/select/src/select.js +5 -1
  621. package/lib/components/select/src/select.js.map +1 -1
  622. package/lib/components/select-v2/src/select-dropdown.js +2 -1
  623. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  624. package/lib/components/select-v2/src/select.js +192 -186
  625. package/lib/components/select-v2/src/select.js.map +1 -1
  626. package/lib/components/slider/src/index.js +3 -2
  627. package/lib/components/slider/src/index.js.map +1 -1
  628. package/lib/components/slider/src/marker.js +2 -1
  629. package/lib/components/slider/src/marker.js.map +1 -1
  630. package/lib/components/steps/src/item.js +2 -1
  631. package/lib/components/steps/src/item.js.map +1 -1
  632. package/lib/components/switch/src/switch2.js +4 -2
  633. package/lib/components/switch/src/switch2.js.map +1 -1
  634. package/lib/components/table/src/filter-panel.js +7 -3
  635. package/lib/components/table/src/filter-panel.js.map +1 -1
  636. package/lib/components/table/src/table-body/index.js +1 -1
  637. package/lib/components/table/src/table-body/index.js.map +1 -1
  638. package/lib/components/table/src/table.js +3 -2
  639. package/lib/components/table/src/table.js.map +1 -1
  640. package/lib/components/tabs/src/tab-bar2.js +3 -2
  641. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  642. package/lib/components/tag/index.d.ts +12 -1
  643. package/lib/components/tag/src/tag.vue.d.ts +12 -1
  644. package/lib/components/tag/src/tag2.js +23 -18
  645. package/lib/components/tag/src/tag2.js.map +1 -1
  646. package/lib/components/time-picker/src/common/picker.js +16 -8
  647. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  648. package/lib/components/time-select/src/time-select.js +4 -2
  649. package/lib/components/time-select/src/time-select.js.map +1 -1
  650. package/lib/components/tooltip/src/content.js +9 -4
  651. package/lib/components/tooltip/src/content.js.map +1 -1
  652. package/lib/components/tooltip/src/tooltip2.js +2 -1
  653. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  654. package/lib/components/transfer/index.d.ts +492 -0
  655. package/lib/components/transfer/src/index.js +13 -7
  656. package/lib/components/transfer/src/index.js.map +1 -1
  657. package/lib/components/transfer/src/index.vue.d.ts +246 -0
  658. package/lib/components/tree/src/tree.js +2 -1
  659. package/lib/components/tree/src/tree.js.map +1 -1
  660. package/lib/components/tree-v2/src/tree-node.js +11 -7
  661. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  662. package/lib/components/tree-v2/src/tree.js +2 -1
  663. package/lib/components/tree-v2/src/tree.js.map +1 -1
  664. package/lib/components/upload/src/index.js +3 -2
  665. package/lib/components/upload/src/index.js.map +1 -1
  666. package/lib/components/upload/src/upload-dragger.js +2 -1
  667. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  668. package/lib/index.js +3 -3
  669. package/lib/utils/validators.d.ts +0 -1
  670. package/lib/utils/validators.js +0 -9
  671. package/lib/utils/validators.js.map +1 -1
  672. package/lib/version.d.ts +1 -1
  673. package/lib/version.js +1 -1
  674. package/lib/version.js.map +1 -1
  675. package/package.json +2 -2
  676. package/tags.json +1 -1
  677. package/theme-chalk/el-breadcrumb.css +1 -1
  678. package/theme-chalk/el-empty.css +1 -1
  679. package/theme-chalk/el-pagination.css +1 -1
  680. package/theme-chalk/el-popper.css +1 -1
  681. package/theme-chalk/el-rate.css +1 -1
  682. package/theme-chalk/el-select.css +1 -1
  683. package/theme-chalk/el-table.css +1 -1
  684. package/theme-chalk/el-tooltip.css +0 -1
  685. package/theme-chalk/index.css +1 -1
  686. package/theme-chalk/src/breadcrumb.scss +2 -0
  687. package/theme-chalk/src/common/var.scss +18 -19
  688. package/theme-chalk/src/pagination.scss +73 -56
  689. package/theme-chalk/src/popper.scss +20 -2
  690. package/theme-chalk/src/select.scss +3 -3
  691. package/theme-chalk/src/table.scss +0 -12
  692. package/theme-chalk/src/tooltip.scss +0 -95
  693. package/web-types.json +1 -1
@@ -58,6 +58,7 @@ const _sfc_main = vue.defineComponent({
58
58
  const lastRow = vue.ref(null);
59
59
  const lastColumn = vue.ref(null);
60
60
  const rows = vue.computed(() => {
61
+ var _a;
61
62
  const rows2 = tableRows.value;
62
63
  const now = dayjs__default["default"]().locale(lang.value).startOf("month");
63
64
  for (let i = 0; i < 3; i++) {
@@ -79,7 +80,7 @@ const _sfc_main = vue.defineComponent({
79
80
  const calTime = props.date.startOf("year").month(index);
80
81
  const calEndDate = props.rangeState.endDate || props.maxDate || props.rangeState.selecting && props.minDate;
81
82
  cell.inRange = props.minDate && calTime.isSameOrAfter(props.minDate, "month") && calEndDate && calTime.isSameOrBefore(calEndDate, "month") || props.minDate && calTime.isSameOrBefore(props.minDate, "month") && calEndDate && calTime.isSameOrAfter(calEndDate, "month");
82
- if (props.minDate?.isSameOrAfter(calEndDate)) {
83
+ if ((_a = props.minDate) == null ? void 0 : _a.isSameOrAfter(calEndDate)) {
83
84
  cell.start = calEndDate && calTime.isSame(calEndDate, "month");
84
85
  cell.end = props.minDate && calTime.isSame(props.minDate, "month");
85
86
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"basic-month-table.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-month-table.vue"],"sourcesContent":["<template>\n <table\n class=\"el-month-table\"\n @click=\"handleMonthTableClick\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody>\n <tr v-for=\"(row, key) in rows\" :key=\"key\">\n <td v-for=\"(cell, key_) in row\" :key=\"key_\" :class=\"getCellStyle(cell)\">\n <div>\n <a class=\"cell\">{{\n t('el.datepicker.months.' + months[cell.text])\n }}</a>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { hasClass } from '@element-plus/utils/dom'\nimport { coerceTruthyValueToArray } from '@element-plus/utils/util'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst datesInMonth = (year: number, month: number, lang: string) => {\n const firstDay = dayjs().locale(lang).startOf('month').month(month).year(year)\n const numOfDays = firstDay.daysInMonth()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: {\n disabledDate: {\n type: Function as PropType<(_: Date) => void>,\n },\n selectionMode: {\n type: String,\n default: 'month',\n },\n minDate: {\n type: Object as PropType<Dayjs>,\n },\n maxDate: {\n type: Object as PropType<Dayjs>,\n },\n date: {\n type: Object as PropType<Dayjs>,\n },\n parsedValue: {\n type: Object as PropType<Dayjs>,\n },\n rangeState: {\n type: Object,\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n },\n\n emits: ['changerange', 'pick', 'select'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const months = ref(\n props.date\n .locale('en')\n .localeData()\n .monthsShort()\n .map((_) => _.toLowerCase())\n )\n const tableRows = ref([[], [], []])\n const lastRow = ref(null)\n const lastColumn = ref(null)\n const rows = computed(() => {\n // TODO: refactory rows / getCellClasses\n const rows = tableRows.value\n const now = dayjs().locale(lang.value).startOf('month')\n\n for (let i = 0; i < 3; i++) {\n const row = rows[i]\n for (let j = 0; j < 4; j++) {\n let cell = row[j]\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n\n cell.type = 'normal'\n\n const index = i * 4 + j\n const calTime = props.date.startOf('year').month(index)\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate)\n\n cell.inRange =\n (props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'month')) ||\n (props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'month'))\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = calEndDate && calTime.isSame(calEndDate, 'month')\n cell.end = props.minDate && calTime.isSame(props.minDate, 'month')\n } else {\n cell.start = props.minDate && calTime.isSame(props.minDate, 'month')\n cell.end = calEndDate && calTime.isSame(calEndDate, 'month')\n }\n\n const isToday = now.isSame(calTime)\n\n if (isToday) {\n cell.type = 'today'\n }\n cell.text = index\n const cellDate = calTime.toDate()\n cell.disabled = props.disabledDate && props.disabledDate(cellDate)\n row[j] = cell\n }\n }\n return rows\n })\n const getCellStyle = (cell) => {\n const style = {} as any\n const year = props.date.year()\n const today = new Date()\n const month = cell.text\n\n style.disabled = props.disabledDate\n ? datesInMonth(year, month, lang.value).every(props.disabledDate)\n : false\n style.current =\n coerceTruthyValueToArray(props.parsedValue).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n style.today = today.getFullYear() === year && today.getMonth() === month\n\n if (cell.inRange) {\n style['in-range'] = true\n\n if (cell.start) {\n style['start-date'] = true\n }\n\n if (cell.end) {\n style['end-date'] = true\n }\n }\n return style\n }\n\n const handleMouseMove = (event) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target\n if (target.tagName === 'A') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n\n const row = target.parentNode.rowIndex\n const column = target.cellIndex\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n ctx.emit('changerange', {\n selecting: true,\n endDate: props.date.startOf('year').month(row * 4 + column),\n })\n }\n }\n const handleMonthTableClick = (event) => {\n let target = event.target\n if (target.tagName === 'A') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n if (hasClass(target, 'disabled')) return\n const column = target.cellIndex\n const row = target.parentNode.rowIndex\n const month = row * 4 + column\n const newDate = props.date.startOf('year').month(month)\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting) {\n ctx.emit('pick', { minDate: newDate, maxDate: null })\n ctx.emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n ctx.emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n ctx.emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n ctx.emit('select', false)\n }\n } else {\n ctx.emit('pick', month)\n }\n }\n\n return {\n handleMouseMove,\n handleMonthTableClick,\n rows,\n getCellStyle,\n t,\n months,\n }\n },\n})\n</script>\n"],"names":["dayjs","rangeArr","defineComponent","useLocale","ref","computed","coerceTruthyValueToArray","hasClass","_openBlock","_createElementBlock","_renderList","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"basic-month-table.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-month-table.vue"],"sourcesContent":["<template>\n <table\n class=\"el-month-table\"\n @click=\"handleMonthTableClick\"\n @mousemove=\"handleMouseMove\"\n >\n <tbody>\n <tr v-for=\"(row, key) in rows\" :key=\"key\">\n <td v-for=\"(cell, key_) in row\" :key=\"key_\" :class=\"getCellStyle(cell)\">\n <div>\n <a class=\"cell\">{{\n t('el.datepicker.months.' + months[cell.text])\n }}</a>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { hasClass } from '@element-plus/utils/dom'\nimport { coerceTruthyValueToArray } from '@element-plus/utils/util'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst datesInMonth = (year: number, month: number, lang: string) => {\n const firstDay = dayjs().locale(lang).startOf('month').month(month).year(year)\n const numOfDays = firstDay.daysInMonth()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport default defineComponent({\n props: {\n disabledDate: {\n type: Function as PropType<(_: Date) => void>,\n },\n selectionMode: {\n type: String,\n default: 'month',\n },\n minDate: {\n type: Object as PropType<Dayjs>,\n },\n maxDate: {\n type: Object as PropType<Dayjs>,\n },\n date: {\n type: Object as PropType<Dayjs>,\n },\n parsedValue: {\n type: Object as PropType<Dayjs>,\n },\n rangeState: {\n type: Object,\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n },\n\n emits: ['changerange', 'pick', 'select'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const months = ref(\n props.date\n .locale('en')\n .localeData()\n .monthsShort()\n .map((_) => _.toLowerCase())\n )\n const tableRows = ref([[], [], []])\n const lastRow = ref(null)\n const lastColumn = ref(null)\n const rows = computed(() => {\n // TODO: refactory rows / getCellClasses\n const rows = tableRows.value\n const now = dayjs().locale(lang.value).startOf('month')\n\n for (let i = 0; i < 3; i++) {\n const row = rows[i]\n for (let j = 0; j < 4; j++) {\n let cell = row[j]\n if (!cell) {\n cell = {\n row: i,\n column: j,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n\n cell.type = 'normal'\n\n const index = i * 4 + j\n const calTime = props.date.startOf('year').month(index)\n\n const calEndDate =\n props.rangeState.endDate ||\n props.maxDate ||\n (props.rangeState.selecting && props.minDate)\n\n cell.inRange =\n (props.minDate &&\n calTime.isSameOrAfter(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrBefore(calEndDate, 'month')) ||\n (props.minDate &&\n calTime.isSameOrBefore(props.minDate, 'month') &&\n calEndDate &&\n calTime.isSameOrAfter(calEndDate, 'month'))\n\n if (props.minDate?.isSameOrAfter(calEndDate)) {\n cell.start = calEndDate && calTime.isSame(calEndDate, 'month')\n cell.end = props.minDate && calTime.isSame(props.minDate, 'month')\n } else {\n cell.start = props.minDate && calTime.isSame(props.minDate, 'month')\n cell.end = calEndDate && calTime.isSame(calEndDate, 'month')\n }\n\n const isToday = now.isSame(calTime)\n\n if (isToday) {\n cell.type = 'today'\n }\n cell.text = index\n const cellDate = calTime.toDate()\n cell.disabled = props.disabledDate && props.disabledDate(cellDate)\n row[j] = cell\n }\n }\n return rows\n })\n const getCellStyle = (cell) => {\n const style = {} as any\n const year = props.date.year()\n const today = new Date()\n const month = cell.text\n\n style.disabled = props.disabledDate\n ? datesInMonth(year, month, lang.value).every(props.disabledDate)\n : false\n style.current =\n coerceTruthyValueToArray(props.parsedValue).findIndex(\n (date) => date.year() === year && date.month() === month\n ) >= 0\n style.today = today.getFullYear() === year && today.getMonth() === month\n\n if (cell.inRange) {\n style['in-range'] = true\n\n if (cell.start) {\n style['start-date'] = true\n }\n\n if (cell.end) {\n style['end-date'] = true\n }\n }\n return style\n }\n\n const handleMouseMove = (event) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target\n if (target.tagName === 'A') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n\n const row = target.parentNode.rowIndex\n const column = target.cellIndex\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n ctx.emit('changerange', {\n selecting: true,\n endDate: props.date.startOf('year').month(row * 4 + column),\n })\n }\n }\n const handleMonthTableClick = (event) => {\n let target = event.target\n if (target.tagName === 'A') {\n target = target.parentNode.parentNode\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode\n }\n if (target.tagName !== 'TD') return\n if (hasClass(target, 'disabled')) return\n const column = target.cellIndex\n const row = target.parentNode.rowIndex\n const month = row * 4 + column\n const newDate = props.date.startOf('year').month(month)\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting) {\n ctx.emit('pick', { minDate: newDate, maxDate: null })\n ctx.emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n ctx.emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n ctx.emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n ctx.emit('select', false)\n }\n } else {\n ctx.emit('pick', month)\n }\n }\n\n return {\n handleMouseMove,\n handleMonthTableClick,\n rows,\n getCellStyle,\n t,\n months,\n }\n },\n})\n</script>\n"],"names":["dayjs","rangeArr","defineComponent","useLocale","ref","computed","_openBlock"],"mappings":"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"}
@@ -185,7 +185,7 @@ const _sfc_main = vue.defineComponent({
185
185
  currentView.value = "date";
186
186
  }, { immediate: true });
187
187
  vue.watch(() => currentView.value, () => {
188
- popper?.updatePopper();
188
+ popper == null ? void 0 : popper.updatePopper();
189
189
  });
190
190
  const hasShortcuts = vue.computed(() => !!shortcuts.length);
191
191
  const handleMonthPick = (month2) => {
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch, toRef } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option', 'panel-change'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n const popper = inject(TOOLTIP_INJECTION_KEY)\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n arrowControl,\n } = pickerBase.props\n const defaultValue = toRef(pickerBase.props, 'defaultValue')\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n handlePanelChange('month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n handlePanelChange('month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n watch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n handlePanelChange('month')\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n handlePanelChange('year')\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n const handlePanelChange = (mode: 'month' | 'year') => {\n ctx.emit(\n 'panel-change',\n innerDate.value.toDate(),\n mode,\n currentView.value\n )\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DateTable","ElInput","ElButton","ElIcon","TimePickPanel","MonthTable","YearTable","DArrowLeft","ArrowLeft","DArrowRight","ArrowRight","ClickOutside","isValidDatePickType","useLocale","inject","TOOLTIP_INJECTION_KEY","toRef","ref","dayjs","computed","extractTimeFormat","extractDateFormat","EVENT_CODE","_openBlock","_Fragment","_createElementBlock","_createCommentVNode","_createElementVNode","_withCtx","_normalizeClass","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"panel-date-pick.js","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/panel-date-pick.vue"],"sourcesContent":["<template>\n <div\n class=\"el-picker-panel el-date-picker\"\n :class=\"[\n {\n 'has-sidebar': $slots.sidebar || hasShortcuts,\n 'has-time': showTime,\n },\n ]\"\n >\n <div class=\"el-picker-panel__body-wrapper\">\n <slot name=\"sidebar\" class=\"el-picker-panel__sidebar\"></slot>\n <div v-if=\"hasShortcuts\" class=\"el-picker-panel__sidebar\">\n <button\n v-for=\"(shortcut, key) in shortcuts\"\n :key=\"key\"\n type=\"button\"\n class=\"el-picker-panel__shortcut\"\n @click=\"handleShortcutClick(shortcut)\"\n >\n {{ shortcut.text }}\n </button>\n </div>\n <div class=\"el-picker-panel__body\">\n <div v-if=\"showTime\" class=\"el-date-picker__time-header\">\n <span class=\"el-date-picker__editor-wrap\">\n <el-input\n :placeholder=\"t('el.datepicker.selectDate')\"\n :model-value=\"visibleDate\"\n size=\"small\"\n @input=\"(val) => (userInputDate = val)\"\n @change=\"handleVisibleDateChange\"\n />\n </span>\n <span\n v-clickoutside=\"handleTimePickClose\"\n class=\"el-date-picker__editor-wrap\"\n >\n <el-input\n :placeholder=\"t('el.datepicker.selectTime')\"\n :model-value=\"visibleTime\"\n size=\"small\"\n @focus=\"onTimePickerInputFocus\"\n @input=\"(val) => (userInputTime = val)\"\n @change=\"handleVisibleTimeChange\"\n />\n <time-pick-panel\n :visible=\"timePickerVisible\"\n :format=\"timeFormat\"\n :time-arrow-control=\"arrowControl\"\n :parsed-value=\"innerDate\"\n @pick=\"handleTimePick\"\n />\n </span>\n </div>\n <div\n v-show=\"currentView !== 'time'\"\n class=\"el-date-picker__header\"\n :class=\"{\n 'el-date-picker__header--bordered':\n currentView === 'year' || currentView === 'month',\n }\"\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn d-arrow-left\"\n @click=\"prevYear_\"\n >\n <el-icon><d-arrow-left /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.prevMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__prev-btn arrow-left\"\n @click=\"prevMonth_\"\n >\n <el-icon><arrow-left /></el-icon>\n </button>\n <span\n role=\"button\"\n class=\"el-date-picker__header-label\"\n @click=\"showYearPicker\"\n >{{ yearLabel }}</span\n >\n <span\n v-show=\"currentView === 'date'\"\n role=\"button\"\n class=\"el-date-picker__header-label\"\n :class=\"{ active: currentView === 'month' }\"\n @click=\"showMonthPicker\"\n >{{ t(`el.datepicker.month${month + 1}`) }}</span\n >\n <button\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextYear`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn d-arrow-right\"\n @click=\"nextYear_\"\n >\n <el-icon><d-arrow-right /></el-icon>\n </button>\n <button\n v-show=\"currentView === 'date'\"\n type=\"button\"\n :aria-label=\"t(`el.datepicker.nextMonth`)\"\n class=\"el-picker-panel__icon-btn el-date-picker__next-btn arrow-right\"\n @click=\"nextMonth_\"\n >\n <el-icon><arrow-right /></el-icon>\n </button>\n </div>\n <div class=\"el-picker-panel__content\">\n <date-table\n v-if=\"currentView === 'date'\"\n :selection-mode=\"selectionMode\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleDatePick\"\n />\n <year-table\n v-if=\"currentView === 'year'\"\n :date=\"innerDate\"\n :disabled-date=\"disabledDate\"\n :parsed-value=\"parsedValue\"\n @pick=\"handleYearPick\"\n />\n <month-table\n v-if=\"currentView === 'month'\"\n :date=\"innerDate\"\n :parsed-value=\"parsedValue\"\n :disabled-date=\"disabledDate\"\n @pick=\"handleMonthPick\"\n />\n </div>\n </div>\n </div>\n <div\n v-show=\"footerVisible && currentView === 'date'\"\n class=\"el-picker-panel__footer\"\n >\n <el-button\n v-show=\"selectionMode !== 'dates'\"\n size=\"small\"\n type=\"text\"\n class=\"el-picker-panel__link-btn\"\n @click=\"changeToNow\"\n >\n {{ t('el.datepicker.now') }}\n </el-button>\n <el-button\n plain\n size=\"small\"\n class=\"el-picker-panel__link-btn\"\n @click=\"onConfirm\"\n >\n {{ t('el.datepicker.confirm') }}\n </el-button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, watch, toRef } from 'vue'\nimport dayjs from 'dayjs'\nimport ElButton from '@element-plus/components/button'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport {\n extractDateFormat,\n extractTimeFormat,\n TimePickPanel,\n} from '@element-plus/components/time-picker'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { EVENT_CODE } from '@element-plus/utils/aria'\nimport { isValidDatePickType } from '@element-plus/utils/validators'\nimport {\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n} from '@element-plus/icons-vue'\nimport { TOOLTIP_INJECTION_KEY } from '@element-plus/components/tooltip'\nimport DateTable from './basic-date-table.vue'\nimport MonthTable from './basic-month-table.vue'\nimport YearTable from './basic-year-table.vue'\n\nimport type { PropType } from 'vue'\nimport type { ConfigType, Dayjs } from 'dayjs'\nimport type { IDatePickerType } from '../date-picker.type'\n\n// todo\n/* eslint-disable-next-line */\nconst timeWithinRange = (_: ConfigType, __: any, ___: string) => true\n\nexport default defineComponent({\n components: {\n DateTable,\n ElInput,\n ElButton,\n ElIcon,\n TimePickPanel,\n MonthTable,\n YearTable,\n DArrowLeft,\n ArrowLeft,\n DArrowRight,\n ArrowRight,\n },\n\n directives: { clickoutside: ClickOutside },\n props: {\n visible: {\n type: Boolean,\n default: false,\n },\n parsedValue: {\n type: [Object, Array] as PropType<Dayjs | Dayjs[]>,\n },\n format: {\n type: String,\n default: '',\n },\n type: {\n type: String as PropType<IDatePickerType>,\n required: true,\n validator: isValidDatePickType,\n },\n },\n emits: ['pick', 'set-picker-option', 'panel-change'],\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const pickerBase = inject('EP_PICKER_BASE') as any\n const popper = inject(TOOLTIP_INJECTION_KEY)\n const {\n shortcuts,\n disabledDate,\n cellClassName,\n defaultTime,\n arrowControl,\n } = pickerBase.props\n const defaultValue = toRef(pickerBase.props, 'defaultValue')\n\n const innerDate = ref(dayjs().locale(lang.value))\n\n const defaultTimeD = computed(() => {\n return dayjs(defaultTime).locale(lang.value)\n })\n\n const month = computed(() => {\n return innerDate.value.month()\n })\n\n const year = computed(() => {\n return innerDate.value.year()\n })\n\n const selectableRange = ref([])\n const userInputDate = ref(null)\n const userInputTime = ref(null)\n // todo update to disableHour\n const checkDateWithinRange = (date: ConfigType) => {\n return selectableRange.value.length > 0\n ? timeWithinRange(\n date,\n selectableRange.value,\n props.format || 'HH:mm:ss'\n )\n : true\n }\n const formatEmit = (emitDayjs: Dayjs) => {\n if (defaultTime && !visibleTime.value) {\n return defaultTimeD.value\n .year(emitDayjs.year())\n .month(emitDayjs.month())\n .date(emitDayjs.date())\n }\n if (showTime.value) return emitDayjs.millisecond(0)\n return emitDayjs.startOf('day')\n }\n const emit = (value, ...args) => {\n if (!value) {\n ctx.emit('pick', value, ...args)\n } else if (Array.isArray(value)) {\n const dates = value.map(formatEmit)\n ctx.emit('pick', dates, ...args)\n } else {\n ctx.emit('pick', formatEmit(value), ...args)\n }\n userInputDate.value = null\n userInputTime.value = null\n }\n const handleDatePick = (value: Dayjs) => {\n if (selectionMode.value === 'day') {\n let newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n : value\n // change default time while out of selectableRange\n if (!checkDateWithinRange(newDate)) {\n newDate = (selectableRange.value[0][0] as Dayjs)\n .year(value.year())\n .month(value.month())\n .date(value.date())\n }\n innerDate.value = newDate\n emit(newDate, showTime.value)\n } else if (selectionMode.value === 'week') {\n emit(value.date)\n } else if (selectionMode.value === 'dates') {\n emit(value, true) // set false to keep panel open\n }\n }\n const prevMonth_ = () => {\n innerDate.value = innerDate.value.subtract(1, 'month')\n handlePanelChange('month')\n }\n\n const nextMonth_ = () => {\n innerDate.value = innerDate.value.add(1, 'month')\n handlePanelChange('month')\n }\n\n const prevYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.subtract(10, 'year')\n } else {\n innerDate.value = innerDate.value.subtract(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const nextYear_ = () => {\n if (currentView.value === 'year') {\n innerDate.value = innerDate.value.add(10, 'year')\n } else {\n innerDate.value = innerDate.value.add(1, 'year')\n }\n handlePanelChange('year')\n }\n\n const currentView = ref('date')\n\n const yearLabel = computed(() => {\n const yearTranslation = t('el.datepicker.year')\n if (currentView.value === 'year') {\n const startYear = Math.floor(year.value / 10) * 10\n if (yearTranslation) {\n return `${startYear} ${yearTranslation} - ${\n startYear + 9\n } ${yearTranslation}`\n }\n return `${startYear} - ${startYear + 9}`\n }\n return `${year.value} ${yearTranslation}`\n })\n\n const handleShortcutClick = (shortcut) => {\n const shortcutValue =\n typeof shortcut.value === 'function' ? shortcut.value() : shortcut.value\n if (shortcutValue) {\n emit(dayjs(shortcutValue).locale(lang.value))\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick(ctx)\n }\n }\n\n const selectionMode = computed(() => {\n if (['week', 'month', 'year', 'dates'].includes(props.type)) {\n return props.type\n }\n return 'day'\n })\n\n watch(\n () => selectionMode.value,\n (val) => {\n if (['month', 'year'].includes(val)) {\n currentView.value = val\n return\n }\n currentView.value = 'date'\n },\n { immediate: true }\n )\n\n watch(\n () => currentView.value,\n () => {\n popper?.updatePopper()\n }\n )\n\n const hasShortcuts = computed(() => !!shortcuts.length)\n\n const handleMonthPick = (month) => {\n innerDate.value = innerDate.value.startOf('month').month(month)\n if (selectionMode.value === 'month') {\n emit(innerDate.value)\n } else {\n currentView.value = 'date'\n }\n handlePanelChange('month')\n }\n\n const handleYearPick = (year) => {\n if (selectionMode.value === 'year') {\n innerDate.value = innerDate.value.startOf('year').year(year)\n emit(innerDate.value)\n } else {\n innerDate.value = innerDate.value.year(year)\n currentView.value = 'month'\n }\n handlePanelChange('year')\n }\n\n const showMonthPicker = () => {\n currentView.value = 'month'\n }\n\n const showYearPicker = () => {\n currentView.value = 'year'\n }\n\n const showTime = computed(\n () => props.type === 'datetime' || props.type === 'datetimerange'\n )\n\n const footerVisible = computed(() => {\n return showTime.value || selectionMode.value === 'dates'\n })\n\n const onConfirm = () => {\n if (selectionMode.value === 'dates') {\n emit(props.parsedValue)\n } else {\n // deal with the scenario where: user opens the date time picker, then confirm without doing anything\n let result = props.parsedValue as Dayjs\n if (!result) {\n const defaultTimeD = dayjs(defaultTime).locale(lang.value)\n const defaultValueD = getDefaultValue()\n result = defaultTimeD\n .year(defaultValueD.year())\n .month(defaultValueD.month())\n .date(defaultValueD.date())\n }\n innerDate.value = result\n emit(result)\n }\n }\n\n const changeToNow = () => {\n // NOTE: not a permanent solution\n // consider disable \"now\" button in the future\n const now = dayjs().locale(lang.value)\n const nowDate = now.toDate()\n if (\n (!disabledDate || !disabledDate(nowDate)) &&\n checkDateWithinRange(nowDate)\n ) {\n innerDate.value = dayjs().locale(lang.value)\n emit(innerDate.value)\n }\n }\n\n const timeFormat = computed(() => {\n return extractTimeFormat(props.format)\n })\n\n const dateFormat = computed(() => {\n return extractDateFormat(props.format)\n })\n\n const visibleTime = computed(() => {\n if (userInputTime.value) return userInputTime.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n timeFormat.value\n )\n })\n\n const visibleDate = computed(() => {\n if (userInputDate.value) return userInputDate.value\n if (!props.parsedValue && !defaultValue.value) return\n return ((props.parsedValue || innerDate.value) as Dayjs).format(\n dateFormat.value\n )\n })\n\n const timePickerVisible = ref(false)\n const onTimePickerInputFocus = () => {\n timePickerVisible.value = true\n }\n const handleTimePickClose = () => {\n timePickerVisible.value = false\n }\n\n const handleTimePick = (value, visible, first) => {\n const newDate = props.parsedValue\n ? (props.parsedValue as Dayjs)\n .hour(value.hour())\n .minute(value.minute())\n .second(value.second())\n : value\n innerDate.value = newDate\n emit(innerDate.value, true)\n if (!first) {\n timePickerVisible.value = visible\n }\n }\n\n const handleVisibleTimeChange = (value) => {\n const newDate = dayjs(value, timeFormat.value).locale(lang.value)\n if (newDate.isValid() && checkDateWithinRange(newDate)) {\n innerDate.value = newDate\n .year(innerDate.value.year())\n .month(innerDate.value.month())\n .date(innerDate.value.date())\n userInputTime.value = null\n timePickerVisible.value = false\n emit(innerDate.value, true)\n }\n }\n\n const handleVisibleDateChange = (value) => {\n const newDate = dayjs(value, dateFormat.value).locale(lang.value)\n if (newDate.isValid()) {\n if (disabledDate && disabledDate(newDate.toDate())) {\n return\n }\n innerDate.value = newDate\n .hour(innerDate.value.hour())\n .minute(innerDate.value.minute())\n .second(innerDate.value.second())\n userInputDate.value = null\n emit(innerDate.value, true)\n }\n }\n\n const isValidValue = (date: unknown) => {\n return (\n dayjs.isDayjs(date) &&\n date.isValid() &&\n (disabledDate ? !disabledDate(date.toDate()) : true)\n )\n }\n\n const formatToString = (value) => {\n if (selectionMode.value === 'dates') {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const parseUserInput = (value) => {\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const getDefaultValue = () => {\n const parseDate = dayjs(defaultValue.value).locale(lang.value)\n if (!defaultValue.value) {\n const defaultTimeDValue = defaultTimeD.value\n return dayjs()\n .hour(defaultTimeDValue.hour())\n .minute(defaultTimeDValue.minute())\n .second(defaultTimeDValue.second())\n .locale(lang.value)\n }\n return parseDate\n }\n\n const handleKeydown = (event) => {\n const { code, keyCode } = event\n const list = [\n EVENT_CODE.up,\n EVENT_CODE.down,\n EVENT_CODE.left,\n EVENT_CODE.right,\n ]\n if (props.visible && !timePickerVisible.value) {\n if (list.includes(code)) {\n handleKeyControl(keyCode)\n event.stopPropagation()\n event.preventDefault()\n }\n if (\n code === EVENT_CODE.enter &&\n userInputDate.value === null &&\n userInputTime.value === null\n ) {\n // Enter\n emit(innerDate, false)\n }\n }\n }\n\n const handleKeyControl = (keyCode) => {\n const mapping = {\n year: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setFullYear(date.getFullYear() + step),\n },\n month: {\n 38: -4,\n 40: 4,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setMonth(date.getMonth() + step),\n },\n week: {\n 38: -1,\n 40: 1,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step * 7),\n },\n day: {\n 38: -7,\n 40: 7,\n 37: -1,\n 39: 1,\n offset: (date, step) => date.setDate(date.getDate() + step),\n },\n }\n\n const newDate = innerDate.value.toDate()\n while (Math.abs(innerDate.value.diff(newDate, 'year', true)) < 1) {\n const map = mapping[selectionMode.value]\n map.offset(newDate, map[keyCode])\n if (disabledDate && disabledDate(newDate)) {\n continue\n }\n const result = dayjs(newDate).locale(lang.value)\n innerDate.value = result\n ctx.emit('pick', result, true)\n break\n }\n }\n\n const handlePanelChange = (mode: 'month' | 'year') => {\n ctx.emit(\n 'panel-change',\n innerDate.value.toDate(),\n mode,\n currentView.value\n )\n }\n\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n\n watch(\n () => defaultValue.value,\n (val) => {\n if (val) {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n watch(\n () => props.parsedValue,\n (val) => {\n if (val) {\n if (selectionMode.value === 'dates') return\n if (Array.isArray(val)) return\n innerDate.value = val\n } else {\n innerDate.value = getDefaultValue()\n }\n },\n { immediate: true }\n )\n\n return {\n handleTimePick,\n handleTimePickClose,\n onTimePickerInputFocus,\n timePickerVisible,\n visibleTime,\n visibleDate,\n showTime,\n changeToNow,\n onConfirm,\n footerVisible,\n handleYearPick,\n showMonthPicker,\n showYearPicker,\n handleMonthPick,\n hasShortcuts,\n shortcuts,\n arrowControl,\n disabledDate,\n cellClassName,\n selectionMode,\n handleShortcutClick,\n prevYear_,\n nextYear_,\n prevMonth_,\n nextMonth_,\n innerDate,\n t,\n yearLabel,\n currentView,\n month,\n handleDatePick,\n handleVisibleTimeChange,\n handleVisibleDateChange,\n timeFormat,\n userInputTime,\n userInputDate,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DateTable","ElInput","ElButton","ElIcon","TimePickPanel","MonthTable","YearTable","DArrowLeft","ArrowLeft","DArrowRight","ArrowRight","ClickOutside","isValidDatePickType","useLocale","inject","TOOLTIP_INJECTION_KEY","toRef","ref","dayjs","computed","extractTimeFormat","extractDateFormat","EVENT_CODE","_openBlock","_Fragment","_createElementBlock","_createCommentVNode","_createElementVNode","_withCtx","_normalizeClass","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmMA,MAAM,kBAAkB,CAAC,GAAe,IAAS,QAAgB;AAEjE,MAAK,YAAaA,oBAAa;AAAA,EAC7B,YAAY;AAAA,eACVC;AAAA,aACAC;AAAA,cACAC;AAAA,YACAC;AAAA,mBACAC;AAAA,gBACAC;AAAA,eACAC;AAAA,gBACAC;AAAA,eACAC;AAAA,iBACAC;AAAA,gBACAC;AAAA;AAAA,EAGF,YAAY,EAAE,cAAcC;AAAA,EAC5B,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ;AAAA;AAAA,IAEjB,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,WAAWC;AAAA;AAAA;AAAA,EAGf,OAAO,CAAC,QAAQ,qBAAqB;AAAA,EACrC,MAAM,OAAO,KAAK;AAChB,UAAM,EAAE,GAAG,SAASC;AACpB,UAAM,aAAaC,WAAO;AAC1B,UAAM,SAASA,WAAOC;AACtB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,WAAW;AACf,UAAM,eAAeC,UAAM,WAAW,OAAO;AAE7C,UAAM,YAAYC,QAAIC,4BAAQ,OAAO,KAAK;AAE1C,UAAM,eAAeC,aAAS,MAAM;AAClC,aAAOD,0BAAM,aAAa,OAAO,KAAK;AAAA;AAGxC,UAAM,QAAQC,aAAS,MAAM;AAC3B,aAAO,UAAU,MAAM;AAAA;AAGzB,UAAM,OAAOA,aAAS,MAAM;AAC1B,aAAO,UAAU,MAAM;AAAA;AAGzB,UAAM,kBAAkBF,QAAI;AAC5B,UAAM,gBAAgBA,QAAI;AAC1B,UAAM,gBAAgBA,QAAI;AAE1B,UAAM,uBAAuB,CAAC,SAAqB;AACjD,aAAO,gBAAgB,MAAM,SAAS,IAClC,gBACE,MACA,gBAAgB,OAChB,MAAM,UAAU,cAElB;AAAA;AAEN,UAAM,aAAa,CAAC,cAAqB;AACvC,UAAI,eAAe,CAAC,YAAY,OAAO;AACrC,eAAO,aAAa,MACjB,KAAK,UAAU,QACf,MAAM,UAAU,SAChB,KAAK,UAAU;AAAA;AAEpB,UAAI,SAAS;AAAO,eAAO,UAAU,YAAY;AACjD,aAAO,UAAU,QAAQ;AAAA;AAE3B,UAAM,OAAO,CAAC,UAAU,SAAS;AAC/B,UAAI,CAAC,OAAO;AACV,YAAI,KAAK,QAAQ,OAAO,GAAG;AAAA,iBAClB,MAAM,QAAQ,QAAQ;AAC/B,cAAM,QAAQ,MAAM,IAAI;AACxB,YAAI,KAAK,QAAQ,OAAO,GAAG;AAAA,aACtB;AACL,YAAI,KAAK,QAAQ,WAAW,QAAQ,GAAG;AAAA;AAEzC,oBAAc,QAAQ;AACtB,oBAAc,QAAQ;AAAA;AAExB,UAAM,iBAAiB,CAAC,UAAiB;AACvC,UAAI,cAAc,UAAU,OAAO;AACjC,YAAI,UAAU,MAAM,cACf,MAAM,YACJ,KAAK,MAAM,QACX,MAAM,MAAM,SACZ,KAAK,MAAM,UACd;AAEJ,YAAI,CAAC,qBAAqB,UAAU;AAClC,oBAAW,gBAAgB,MAAM,GAAG,GACjC,KAAK,MAAM,QACX,MAAM,MAAM,SACZ,KAAK,MAAM;AAAA;AAEhB,kBAAU,QAAQ;AAClB,aAAK,SAAS,SAAS;AAAA,iBACd,cAAc,UAAU,QAAQ;AACzC,aAAK,MAAM;AAAA,iBACF,cAAc,UAAU,SAAS;AAC1C,aAAK,OAAO;AAAA;AAAA;AAGhB,UAAM,aAAa,MAAM;AACvB,gBAAU,QAAQ,UAAU,MAAM,SAAS,GAAG;AAC9C,wBAAkB;AAAA;AAGpB,UAAM,aAAa,MAAM;AACvB,gBAAU,QAAQ,UAAU,MAAM,IAAI,GAAG;AACzC,wBAAkB;AAAA;AAGpB,UAAM,YAAY,MAAM;AACtB,UAAI,YAAY,UAAU,QAAQ;AAChC,kBAAU,QAAQ,UAAU,MAAM,SAAS,IAAI;AAAA,aAC1C;AACL,kBAAU,QAAQ,UAAU,MAAM,SAAS,GAAG;AAAA;AAEhD,wBAAkB;AAAA;AAGpB,UAAM,YAAY,MAAM;AACtB,UAAI,YAAY,UAAU,QAAQ;AAChC,kBAAU,QAAQ,UAAU,MAAM,IAAI,IAAI;AAAA,aACrC;AACL,kBAAU,QAAQ,UAAU,MAAM,IAAI,GAAG;AAAA;AAE3C,wBAAkB;AAAA;AAGpB,UAAM,cAAcA,QAAI;AAExB,UAAM,YAAYE,aAAS,MAAM;AAC/B,YAAM,kBAAkB,EAAE;AAC1B,UAAI,YAAY,UAAU,QAAQ;AAChC,cAAM,YAAY,KAAK,MAAM,KAAK,QAAQ,MAAM;AAChD,YAAI,iBAAiB;AACnB,iBAAO,GAAG,aAAa,qBACrB,YAAY,KACV;AAAA;AAEN,eAAO,GAAG,eAAe,YAAY;AAAA;AAEvC,aAAO,GAAG,KAAK,SAAS;AAAA;AAG1B,UAAM,sBAAsB,CAAC,aAAa;AACxC,YAAM,gBACJ,OAAO,SAAS,UAAU,aAAa,SAAS,UAAU,SAAS;AACrE,UAAI,eAAe;AACjB,aAAKD,0BAAM,eAAe,OAAO,KAAK;AACtC;AAAA;AAEF,UAAI,SAAS,SAAS;AACpB,iBAAS,QAAQ;AAAA;AAAA;AAIrB,UAAM,gBAAgBC,aAAS,MAAM;AACnC,UAAI,CAAC,QAAQ,SAAS,QAAQ,SAAS,SAAS,MAAM,OAAO;AAC3D,eAAO,MAAM;AAAA;AAEf,aAAO;AAAA;AAGT,cACE,MAAM,cAAc,OACpB,CAAC,QAAQ;AACP,UAAI,CAAC,SAAS,QAAQ,SAAS,MAAM;AACnC,oBAAY,QAAQ;AACpB;AAAA;AAEF,kBAAY,QAAQ;AAAA,OAEtB,EAAE,WAAW;AAGf,cACE,MAAM,YAAY,OAClB,MAAM;AACJ;AAAQ;AAIZ,UAAM,eAAeA,aAAS,MAAM,CAAC,CAAC,UAAU;AAEhD,UAAM,kBAAkB,CAAC,WAAU;AACjC,gBAAU,QAAQ,UAAU,MAAM,QAAQ,SAAS,MAAM;AACzD,UAAI,cAAc,UAAU,SAAS;AACnC,aAAK,UAAU;AAAA,aACV;AACL,oBAAY,QAAQ;AAAA;AAEtB,wBAAkB;AAAA;AAGpB,UAAM,iBAAiB,CAAC,UAAS;AAC/B,UAAI,cAAc,UAAU,QAAQ;AAClC,kBAAU,QAAQ,UAAU,MAAM,QAAQ,QAAQ,KAAK;AACvD,aAAK,UAAU;AAAA,aACV;AACL,kBAAU,QAAQ,UAAU,MAAM,KAAK;AACvC,oBAAY,QAAQ;AAAA;AAEtB,wBAAkB;AAAA;AAGpB,UAAM,kBAAkB,MAAM;AAC5B,kBAAY,QAAQ;AAAA;AAGtB,UAAM,iBAAiB,MAAM;AAC3B,kBAAY,QAAQ;AAAA;AAGtB,UAAM,WAAWA,aACf,MAAM,MAAM,SAAS,cAAc,MAAM,SAAS;AAGpD,UAAM,gBAAgBA,aAAS,MAAM;AACnC,aAAO,SAAS,SAAS,cAAc,UAAU;AAAA;AAGnD,UAAM,YAAY,MAAM;AACtB,UAAI,cAAc,UAAU,SAAS;AACnC,aAAK,MAAM;AAAA,aACN;AAEL,YAAI,SAAS,MAAM;AACnB,YAAI,CAAC,QAAQ;AACX,gBAAM,gBAAeD,0BAAM,aAAa,OAAO,KAAK;AACpD,gBAAM,gBAAgB;AACtB,mBAAS,cACN,KAAK,cAAc,QACnB,MAAM,cAAc,SACpB,KAAK,cAAc;AAAA;AAExB,kBAAU,QAAQ;AAClB,aAAK;AAAA;AAAA;AAIT,UAAM,cAAc,MAAM;AAGxB,YAAM,MAAMA,4BAAQ,OAAO,KAAK;AAChC,YAAM,UAAU,IAAI;AACpB,UACG,EAAC,gBAAgB,CAAC,aAAa,aAChC,qBAAqB,UACrB;AACA,kBAAU,QAAQA,4BAAQ,OAAO,KAAK;AACtC,aAAK,UAAU;AAAA;AAAA;AAInB,UAAM,aAAaC,aAAS,MAAM;AAChC,aAAOC,4BAAkB,MAAM;AAAA;AAGjC,UAAM,aAAaD,aAAS,MAAM;AAChC,aAAOE,4BAAkB,MAAM;AAAA;AAGjC,UAAM,cAAcF,aAAS,MAAM;AACjC,UAAI,cAAc;AAAO,eAAO,cAAc;AAC9C,UAAI,CAAC,MAAM,eAAe,CAAC,aAAa;AAAO;AAC/C,aAAS,OAAM,eAAe,UAAU,OAAiB,OACvD,WAAW;AAAA;AAIf,UAAM,cAAcA,aAAS,MAAM;AACjC,UAAI,cAAc;AAAO,eAAO,cAAc;AAC9C,UAAI,CAAC,MAAM,eAAe,CAAC,aAAa;AAAO;AAC/C,aAAS,OAAM,eAAe,UAAU,OAAiB,OACvD,WAAW;AAAA;AAIf,UAAM,oBAAoBF,QAAI;AAC9B,UAAM,yBAAyB,MAAM;AACnC,wBAAkB,QAAQ;AAAA;AAE5B,UAAM,sBAAsB,MAAM;AAChC,wBAAkB,QAAQ;AAAA;AAG5B,UAAM,iBAAiB,CAAC,OAAO,SAAS,UAAU;AAChD,YAAM,UAAU,MAAM,cACjB,MAAM,YACJ,KAAK,MAAM,QACX,OAAO,MAAM,UACb,OAAO,MAAM,YAChB;AACJ,gBAAU,QAAQ;AAClB,WAAK,UAAU,OAAO;AACtB,UAAI,CAAC,OAAO;AACV,0BAAkB,QAAQ;AAAA;AAAA;AAI9B,UAAM,0BAA0B,CAAC,UAAU;AACzC,YAAM,UAAUC,0BAAM,OAAO,WAAW,OAAO,OAAO,KAAK;AAC3D,UAAI,QAAQ,aAAa,qBAAqB,UAAU;AACtD,kBAAU,QAAQ,QACf,KAAK,UAAU,MAAM,QACrB,MAAM,UAAU,MAAM,SACtB,KAAK,UAAU,MAAM;AACxB,sBAAc,QAAQ;AACtB,0BAAkB,QAAQ;AAC1B,aAAK,UAAU,OAAO;AAAA;AAAA;AAI1B,UAAM,0BAA0B,CAAC,UAAU;AACzC,YAAM,UAAUA,0BAAM,OAAO,WAAW,OAAO,OAAO,KAAK;AAC3D,UAAI,QAAQ,WAAW;AACrB,YAAI,gBAAgB,aAAa,QAAQ,WAAW;AAClD;AAAA;AAEF,kBAAU,QAAQ,QACf,KAAK,UAAU,MAAM,QACrB,OAAO,UAAU,MAAM,UACvB,OAAO,UAAU,MAAM;AAC1B,sBAAc,QAAQ;AACtB,aAAK,UAAU,OAAO;AAAA;AAAA;AAI1B,UAAM,eAAe,CAAC,SAAkB;AACtC,aACEA,0BAAM,QAAQ,SACd,KAAK,6BACW,CAAC,aAAa,KAAK,YAAY;AAAA;AAInD,UAAM,iBAAiB,CAAC,UAAU;AAChC,UAAI,cAAc,UAAU,SAAS;AACnC,eAAO,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,MAAM;AAAA;AAEzC,aAAO,MAAM,OAAO,MAAM;AAAA;AAG5B,UAAM,iBAAiB,CAAC,UAAU;AAChC,aAAOA,0BAAM,OAAO,MAAM,QAAQ,OAAO,KAAK;AAAA;AAGhD,UAAM,kBAAkB,MAAM;AAC5B,YAAM,YAAYA,0BAAM,aAAa,OAAO,OAAO,KAAK;AACxD,UAAI,CAAC,aAAa,OAAO;AACvB,cAAM,oBAAoB,aAAa;AACvC,eAAOA,4BACJ,KAAK,kBAAkB,QACvB,OAAO,kBAAkB,UACzB,OAAO,kBAAkB,UACzB,OAAO,KAAK;AAAA;AAEjB,aAAO;AAAA;AAGT,UAAM,gBAAgB,CAAC,UAAU;AAC/B,YAAM,EAAE,MAAM,YAAY;AAC1B,YAAM,OAAO;AAAA,QACXI,gBAAW;AAAA,QACXA,gBAAW;AAAA,QACXA,gBAAW;AAAA,QACXA,gBAAW;AAAA;AAEb,UAAI,MAAM,WAAW,CAAC,kBAAkB,OAAO;AAC7C,YAAI,KAAK,SAAS,OAAO;AACvB,2BAAiB;AACjB,gBAAM;AACN,gBAAM;AAAA;AAER,YACE,SAASA,gBAAW,SACpB,cAAc,UAAU,QACxB,cAAc,UAAU,MACxB;AAEA,eAAK,WAAW;AAAA;AAAA;AAAA;AAKtB,UAAM,mBAAmB,CAAC,YAAY;AACpC,YAAM,UAAU;AAAA,QACd,MAAM;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,QAAQ,CAAC,MAAM,SAAS,KAAK,YAAY,KAAK,gBAAgB;AAAA;AAAA,QAEhE,OAAO;AAAA,UACL,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,QAAQ,CAAC,MAAM,SAAS,KAAK,SAAS,KAAK,aAAa;AAAA;AAAA,QAE1D,MAAM;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,QAAQ,CAAC,MAAM,SAAS,KAAK,QAAQ,KAAK,YAAY,OAAO;AAAA;AAAA,QAE/D,KAAK;AAAA,UACH,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,QAAQ,CAAC,MAAM,SAAS,KAAK,QAAQ,KAAK,YAAY;AAAA;AAAA;AAI1D,YAAM,UAAU,UAAU,MAAM;AAChC,aAAO,KAAK,IAAI,UAAU,MAAM,KAAK,SAAS,QAAQ,SAAS,GAAG;AAChE,cAAM,MAAM,QAAQ,cAAc;AAClC,YAAI,OAAO,SAAS,IAAI;AACxB,YAAI,gBAAgB,aAAa,UAAU;AACzC;AAAA;AAEF,cAAM,SAASJ,0BAAM,SAAS,OAAO,KAAK;AAC1C,kBAAU,QAAQ;AAClB,YAAI,KAAK,QAAQ,QAAQ;AACzB;AAAA;AAAA;AAIJ,UAAM,oBAAoB,CAAC,SAA2B;AACpD,UAAI,KACF,gBACA,UAAU,MAAM,UAChB,MACA,YAAY;AAAA;AAIhB,QAAI,KAAK,qBAAqB,CAAC,gBAAgB;AAC/C,QAAI,KAAK,qBAAqB,CAAC,kBAAkB;AACjD,QAAI,KAAK,qBAAqB,CAAC,kBAAkB;AACjD,QAAI,KAAK,qBAAqB,CAAC,iBAAiB;AAEhD,cACE,MAAM,aAAa,OACnB,CAAC,QAAQ;AACP,UAAI,KAAK;AACP,kBAAU,QAAQ;AAAA;AAAA,OAGtB,EAAE,WAAW;AAGf,cACE,MAAM,MAAM,aACZ,CAAC,QAAQ;AACP,UAAI,KAAK;AACP,YAAI,cAAc,UAAU;AAAS;AACrC,YAAI,MAAM,QAAQ;AAAM;AACxB,kBAAU,QAAQ;AAAA,aACb;AACL,kBAAU,QAAQ;AAAA;AAAA,OAGtB,EAAE,WAAW;AAGf,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;EAtsByB,KAAK;AAAA;;;;;EAYP,KAAK;AAAA;;qBAYtB,OAAM;;;;;;sBAwGZ,OAAM;;;;;;;;;;;;;;;SA1IHK,wCAAC;AAAA;;uBACuF,YAAQ;AAAA;;;KAOrG;AAAA,2BAC+D;AAAA,qBAClD,aAAY;AAAA,mEACrB,OAQS;AAAA,qDARTC,cAQS;iBANDD,iBAAGE;AAAA,YACT;AAAA,YACA,MAAK;AAAA,YACJ,OAAK;AAAA,iCAEH,yBAAa;AAAA;;YAGpBC,uBAiHM,QAjHN;AAAA,6BACqB;AAAA,0CACjBD,8BAQO;AAAA,iCADH;AAAA,4BALY,qBAAG;AAAA,cACd,aAAW,KAAE;AAAA,cACd,eAAY;AAAA,cACX;AAAA,cACA,SAAM,OAAE,4BAAuB;AAAA;;;;AAchC,4BANY,qBAAG;AAAA,cACd,aAAW,KAAE;AAAA,cACd,eAAY;AAAA,cACX;AAAA,cACA,SAAK;AAAA,cACL,SAAM,OAAE,4BAAuB;AAAA;eAElC,SAME;AAAA,4BALU,4BAAiB;AAAA,cAC1B,SAAQ;AAAA,cACR;AAAA,cACA,sBAAc;AAAA,cACd,gBAAM;AAAA;;;;;qCAIb;AAAA,2BAEOE,uBAAC;AAAA;;;WAMN;AAAA,iCACe;AAAA,YACZ;AAAA,YACD,cAAM;AAAA,YACL,OAAK;AAAA;aAEN;AAAA,gDAAyB;AAAA,uBAAhBC,YAAgB;AAAA;;;;gBAE3B;AAAA,6BAEeD;AAAA,YACZ;AAAA,YACD,cAAM;AAAA,YACL,OAAK;AAAA;aAEN;AAAA,gDAAuB;AAAA,uBAAdC,YAAc;AAAA;;;;gBANf,aAAW;AAAA;;iCASN;AAAA,YACb,MAAK;AAAA,YACJ,OAAK;AAAA,+CACO;AAAA,iCAEf,iBAOC;AAAA,6BALcD;AAAA,YACb,MAAK;AAAA,YAEJ,OAAKE,oDAAE;AAAA,0CACH,kBAAuB,wBAAK;AAAA,iCALzB,OAAW;AAAA;;iCAQN;AAAA,YACZ;AAAA,YACD,cAAM;AAAA,YACL,OAAK;AAAA;aAEN;AAAA,gDAA0B;AAAA,uBAAjBD,YAAiB;AAAA;;;;gBAE5B;AAAA,6BAEeD;AAAA,YACZ;AAAA,YACD,cAAM;AAAA,YACL,OAAK;AAAA;aAEN;AAAA,gDAAwB;AAAA,uBAAfC,YAAe;AAAA;;;;gBANhB,cAAW;AAAA;;eA/Cb;AAAA;;+BA0DW;AAAA,+BADnB;YAEG;AAAA,YACA,kBAAM,KAAS;AAAA,YACf;AAAA,YACA,gBAAa,KAAE;AAAA,YACf,iBAAM;AAAA;gGAGDF,uBAAW;AAAA,+BADnB;YAEG,KAAI;AAAA,YACJ;AAAA,YACA,iBAAc;AAAA,YACd,gBAAM;AAAA;8EAGDA,uBAAW;AAAA,+BADnB;YAEG,KAAI;AAAA,YACJ;AAAA,YACA,gBAAa,KAAE;AAAA,YACf,iBAAM;AAAA;;;;;8CAiBD;AAAA,yBANEI;AAAA,QACZ,MAAK;AAAA,QACL,MAAK;AAAA,QACJ,OAAK;AAAA;;;;;;YAJE,cAAa;AAAA;;sBAShB;AAAA,QACL,OAAK;AAAA,QACL,MAAK;AAAA,QACJ,OAAK;AAAA;;;;;;;aAhBA;AAAA;;;;;;;;"}
@@ -75,13 +75,18 @@ const _sfc_main = vue.defineComponent({
75
75
  return node;
76
76
  };
77
77
  const getRows = () => {
78
- const children = flattedChildren(slots.default?.()).filter((node) => node?.type?.name === "ElDescriptionsItem");
78
+ var _a;
79
+ const children = flattedChildren((_a = slots.default) == null ? void 0 : _a.call(slots)).filter((node) => {
80
+ var _a2;
81
+ return ((_a2 = node == null ? void 0 : node.type) == null ? void 0 : _a2.name) === "ElDescriptionsItem";
82
+ });
79
83
  const rows = [];
80
84
  let temp = [];
81
85
  let count = props.column;
82
86
  let totalSpan = 0;
83
87
  children.forEach((node, index) => {
84
- const span = node.props?.span || 1;
88
+ var _a2;
89
+ const span = ((_a2 = node.props) == null ? void 0 : _a2.span) || 1;
85
90
  if (index < children.length - 1) {
86
91
  totalSpan += span > count ? count : span;
87
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/descriptions/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, index) in getRows()\" :key=\"index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide } from 'vue'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport DescriptionsRow from './descriptions-row.vue'\nimport { elDescriptionsKey } from './token'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\nexport default defineComponent({\n name: 'ElDescriptions',\n components: {\n [DescriptionsRow.name]: DescriptionsRow,\n },\n props: {\n border: {\n type: Boolean,\n default: false,\n },\n column: {\n type: Number,\n default: 3,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n title: {\n type: String,\n default: '',\n },\n extra: {\n type: String,\n default: '',\n },\n },\n setup(props, { slots }) {\n provide(elDescriptionsKey, props)\n\n const descriptionsSize = useSize()\n const ns = useNamespace('descriptions')\n\n const descriptionKls = computed(() => [\n ns.b(),\n ns.is(ns.m(descriptionsSize.value), !!descriptionsSize.value),\n ])\n\n const flattedChildren = (children) => {\n const temp = Array.isArray(children) ? children : [children]\n const res = []\n temp.forEach((child) => {\n if (Array.isArray(child.children)) {\n res.push(...flattedChildren(child.children))\n } else {\n res.push(child)\n }\n })\n return res\n }\n\n const filledNode = (node, span, count, isLast = false) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n }\n\n const getRows = () => {\n const children = flattedChildren(slots.default?.()).filter(\n (node) => node?.type?.name === 'ElDescriptionsItem'\n )\n const rows = []\n let temp = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n }\n\n return {\n descriptionKls,\n getRows,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DescriptionsRow","isValidComponentSize","elDescriptionsKey","useSize","useNamespace","computed","_openBlock","_createCommentVNode","_Fragment","_createBlock"],"mappings":";;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACTC,2BAAgB,OAAOA;AAAA;AAAA,EAE1B,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAWC;AAAA;AAAA,IAEb,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO,EAAE,SAAS;AACtB,gBAAQC,yBAAmB;AAE3B,UAAM,mBAAmBC;AACzB,UAAM,KAAKC,qBAAa;AAExB,UAAM,iBAAiBC,aAAS,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,GAAG,GAAG,GAAG,EAAE,iBAAiB,QAAQ,CAAC,CAAC,iBAAiB;AAAA;AAGzD,UAAM,kBAAkB,CAAC,aAAa;AACpC,YAAM,OAAO,MAAM,QAAQ,YAAY,WAAW,CAAC;AACnD,YAAM,MAAM;AACZ,WAAK,QAAQ,CAAC,UAAU;AACtB,YAAI,MAAM,QAAQ,MAAM,WAAW;AACjC,cAAI,KAAK,GAAG,gBAAgB,MAAM;AAAA,eAC7B;AACL,cAAI,KAAK;AAAA;AAAA;AAGb,aAAO;AAAA;AAGT,UAAM,aAAa,CAAC,MAAM,MAAM,OAAO,SAAS,UAAU;AACxD,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,QAAQ;AAAA;AAEf,UAAI,OAAO,OAAO;AAChB,aAAK,MAAM,OAAO;AAAA;AAEpB,UAAI,QAAQ;AAEV,aAAK,MAAM,OAAO;AAAA;AAEpB,aAAO;AAAA;AAGT,UAAM,UAAU,MAAM;AACpB,YAAM,WAAW,gBAAgB,MAAM,aAAa,OAClD,CAAC,SAAS,MAAM,MAAM,SAAS;AAEjC,YAAM,OAAO;AACb,UAAI,OAAO;AACX,UAAI,QAAQ,MAAM;AAClB,UAAI,YAAY;AAEhB,eAAS,QAAQ,CAAC,MAAM,UAAU;AAChC,cAAM,OAAO,KAAK,OAAO,QAAQ;AAEjC,YAAI,QAAQ,SAAS,SAAS,GAAG;AAC/B,uBAAa,OAAO,QAAQ,QAAQ;AAAA;AAGtC,YAAI,UAAU,SAAS,SAAS,GAAG;AAEjC,gBAAM,WAAW,MAAM,SAAU,YAAY,MAAM;AACnD,eAAK,KAAK,WAAW,MAAM,UAAU,OAAO;AAC5C,eAAK,KAAK;AACV;AAAA;AAGF,YAAI,OAAO,OAAO;AAChB,mBAAS;AACT,eAAK,KAAK;AAAA,eACL;AACL,eAAK,KAAK,WAAW,MAAM,MAAM;AACjC,eAAK,KAAK;AACV,kBAAQ,MAAM;AACd,iBAAO;AAAA;AAAA;AAIX,aAAO;AAAA;AAGT,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;SAjJOC,wCAAE,OAAc;AAAA;KAEjB;AAAA,uBADR,qBAUM;MARH,KAAK;AAAA;OAEN;AAAA,6BAAW,OAAE;AAAA;SACX;AAAA,iDAAsB;AAAA;;SAExB;AAAA,6BAAW,OAAE;AAAA;SACX;AAAA,iDAAsB;AAAA;;;aAI1BC,uBAQM;AAAA,2BARK,OAAE;AAAA;OACX;AAAA,6BAAa,SAAG;AAAA;SACd;AAAA,wCACE;AAAA,uDACoCC;mBADcF,iBAAKG;AAAA,cAC/B,KAAK;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/descriptions/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, index) in getRows()\" :key=\"index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide } from 'vue'\nimport { isValidComponentSize } from '@element-plus/utils/validators'\nimport { useSize, useNamespace } from '@element-plus/hooks'\nimport DescriptionsRow from './descriptions-row.vue'\nimport { elDescriptionsKey } from './token'\n\nimport type { PropType } from 'vue'\nimport type { ComponentSize } from '@element-plus/utils/types'\n\nexport default defineComponent({\n name: 'ElDescriptions',\n components: {\n [DescriptionsRow.name]: DescriptionsRow,\n },\n props: {\n border: {\n type: Boolean,\n default: false,\n },\n column: {\n type: Number,\n default: 3,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n title: {\n type: String,\n default: '',\n },\n extra: {\n type: String,\n default: '',\n },\n },\n setup(props, { slots }) {\n provide(elDescriptionsKey, props)\n\n const descriptionsSize = useSize()\n const ns = useNamespace('descriptions')\n\n const descriptionKls = computed(() => [\n ns.b(),\n ns.is(ns.m(descriptionsSize.value), !!descriptionsSize.value),\n ])\n\n const flattedChildren = (children) => {\n const temp = Array.isArray(children) ? children : [children]\n const res = []\n temp.forEach((child) => {\n if (Array.isArray(child.children)) {\n res.push(...flattedChildren(child.children))\n } else {\n res.push(child)\n }\n })\n return res\n }\n\n const filledNode = (node, span, count, isLast = false) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n }\n\n const getRows = () => {\n const children = flattedChildren(slots.default?.()).filter(\n (node) => node?.type?.name === 'ElDescriptionsItem'\n )\n const rows = []\n let temp = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n }\n\n return {\n descriptionKls,\n getRows,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","DescriptionsRow","isValidComponentSize","elDescriptionsKey","useSize","useNamespace","computed"],"mappings":";;;;;;;;;;;;;AAoCA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACTC,2BAAgB,OAAOA;AAAA;AAAA,EAE1B,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAWC;AAAA;AAAA,IAEb,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO,EAAE,SAAS;AACtB,gBAAQC,yBAAmB;AAE3B,UAAM,mBAAmBC;AACzB,UAAM,KAAKC,qBAAa;AAExB,UAAM,iBAAiBC,aAAS,MAAM;AAAA,MACpC,GAAG;AAAA,MACH,GAAG,GAAG,GAAG,EAAE,iBAAiB,QAAQ,CAAC,CAAC,iBAAiB;AAAA;AAGzD,UAAM,kBAAkB,CAAC,aAAa;AACpC,YAAM,OAAO,MAAM,QAAQ,YAAY,WAAW,CAAC;AACnD,YAAM,MAAM;AACZ,WAAK,QAAQ,CAAC,UAAU;AACtB,YAAI,MAAM,QAAQ,MAAM,WAAW;AACjC,cAAI,KAAK,GAAG,gBAAgB,MAAM;AAAA,eAC7B;AACL,cAAI,KAAK;AAAA;AAAA;AAGb,aAAO;AAAA;AAGT,UAAM,aAAa,CAAC,MAAM,MAAM,OAAO,SAAS,UAAU;AACxD,UAAI,CAAC,KAAK,OAAO;AACf,aAAK,QAAQ;AAAA;AAEf,UAAI,OAAO,OAAO;AAChB,aAAK,MAAM,OAAO;AAAA;AAEpB,UAAI,QAAQ;AAEV,aAAK,MAAM,OAAO;AAAA;AAEpB,aAAO;AAAA;AAGT,UAAM,UAAU,MAAM;AACpB,YAAM;AAGN,YAAM;AACN;AACA;AACA;AAEA;AACE,cAAM;AAEN;AACE,uBAAa;AAAuB;AAGtC,YAAI;AAEF,iCAAuB,2BAA4B;AACnD,oBAAU;AACV;AACA;AAAA;AAGF;AACE,mBAAS;AACT,eAAK,KAAK;AAAA;AAEV;AACA;AACA,wBAAc;AACd;AAAO;AAAA;AAIX;AAAO;AAGT;AAAO;AACL;AACA,MACA;AAAA;AAAA;AAAA;;;;;AAjJuB;AAEjB;;AACA;;AAEN;AAAa;SACX;AAAA;AAAsB;;;AAExB;AAAa;;AACX;AAAsB;;;;AAYpB,2BARK,OAAE;AAAA;;AACX;AAAgB;;AACd,wCACE;AAAA;oCAAuD;AAAA;AAC1B;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var validators = require('../../../utils/validators.js');
6
5
  var props = require('../../../utils/props.js');
7
6
  var constants = require('../../../utils/constants.js');
8
7
 
@@ -75,8 +74,7 @@ const dialogProps = props.buildProps({
75
74
  },
76
75
  modalClass: String,
77
76
  width: {
78
- type: [String, Number],
79
- validator: validators.isValidWidthUnit
77
+ type: [String, Number]
80
78
  },
81
79
  zIndex: {
82
80
  type: Number
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { isValidWidthUnit } from '@element-plus/utils/validators'\nimport { buildProps, definePropType } from '@element-plus/utils/props'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\n\nimport type { ExtractPropTypes, Component } from 'vue'\n\nexport const dialogProps = buildProps({\n appendToBody: {\n type: Boolean,\n default: false,\n },\n beforeClose: {\n type: definePropType<(...args: any[]) => void>(Function),\n },\n destroyOnClose: {\n type: Boolean,\n default: false,\n },\n center: {\n type: Boolean,\n default: false,\n },\n customClass: {\n type: String,\n default: '',\n },\n closeIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n title: {\n type: String,\n default: '',\n },\n openDelay: {\n type: Number,\n default: 0,\n },\n closeDelay: {\n type: Number,\n default: 0,\n },\n top: {\n type: String,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n modalClass: String,\n width: {\n type: [String, Number],\n validator: isValidWidthUnit,\n },\n zIndex: {\n type: Number,\n },\n} as const)\nexport type DialogProps = ExtractPropTypes<typeof dialogProps>\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => typeof value === 'boolean',\n}\nexport type DialogEmits = typeof dialogEmits\n"],"names":["buildProps","definePropType","isValidWidthUnit","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;;AAGY,MAAC,WAAW,GAAGA,gBAAU,CAAC;AACtC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAEC,oBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEA,oBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,SAAS,EAAEC,2BAAgB;AAC/B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,IAAI,EAAE,MAAM,IAAI;AAClB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAACC,4BAAkB,GAAG,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,SAAS;AAC7D;;;;;"}
1
+ {"version":3,"file":"dialog.js","sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils/props'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/utils/constants'\n\nimport type { ExtractPropTypes, Component } from 'vue'\n\nexport const dialogProps = buildProps({\n appendToBody: {\n type: Boolean,\n default: false,\n },\n beforeClose: {\n type: definePropType<(...args: any[]) => void>(Function),\n },\n destroyOnClose: {\n type: Boolean,\n default: false,\n },\n center: {\n type: Boolean,\n default: false,\n },\n customClass: {\n type: String,\n default: '',\n },\n closeIcon: {\n type: definePropType<string | Component>([String, Object]),\n default: '',\n },\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n lockScroll: {\n type: Boolean,\n default: true,\n },\n modal: {\n type: Boolean,\n default: true,\n },\n showClose: {\n type: Boolean,\n default: true,\n },\n title: {\n type: String,\n default: '',\n },\n openDelay: {\n type: Number,\n default: 0,\n },\n closeDelay: {\n type: Number,\n default: 0,\n },\n top: {\n type: String,\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n modalClass: String,\n width: {\n type: [String, Number],\n },\n zIndex: {\n type: Number,\n },\n} as const)\nexport type DialogProps = ExtractPropTypes<typeof dialogProps>\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => typeof value === 'boolean',\n}\nexport type DialogEmits = typeof dialogEmits\n"],"names":["buildProps","definePropType","UPDATE_MODEL_EVENT"],"mappings":";;;;;;;AAEY,MAAC,WAAW,GAAGA,gBAAU,CAAC;AACtC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAEC,oBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEA,oBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,IAAI,EAAE,MAAM,IAAI;AAClB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,KAAK,EAAE,MAAM,IAAI;AACnB,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAACC,4BAAkB,GAAG,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,SAAS;AAC7D;;;;;"}
@@ -27,6 +27,17 @@ export declare const ElDrawer: import("../../utils/types").SFCWithInstall<import
27
27
  drawerRef: import("vue").Ref<HTMLElement | undefined>;
28
28
  isHorizontal: import("vue").ComputedRef<boolean>;
29
29
  drawerSize: import("vue").ComputedRef<string>;
30
+ ns: {
31
+ namespace: import("vue").ComputedRef<string>;
32
+ b: (blockSuffix?: string) => string;
33
+ e: (element?: string | undefined) => string;
34
+ m: (modifier?: string | undefined) => string;
35
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
36
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
37
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
38
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
39
+ is: (name: string, state?: boolean) => string;
40
+ };
30
41
  afterEnter: () => void;
31
42
  afterLeave: () => void;
32
43
  beforeLeave: () => void;
@@ -27,6 +27,17 @@ declare const _default: import("vue").DefineComponent<{
27
27
  drawerRef: import("vue").Ref<HTMLElement | undefined>;
28
28
  isHorizontal: import("vue").ComputedRef<boolean>;
29
29
  drawerSize: import("vue").ComputedRef<string>;
30
+ ns: {
31
+ namespace: import("vue").ComputedRef<string>;
32
+ b: (blockSuffix?: string) => string;
33
+ e: (element?: string | undefined) => string;
34
+ m: (modifier?: string | undefined) => string;
35
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
36
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
37
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
38
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
39
+ is: (name: string, state?: boolean) => string;
40
+ };
30
41
  afterEnter: () => void;
31
42
  afterLeave: () => void;
32
43
  beforeLeave: () => void;
@@ -8,9 +8,11 @@ var index = require('../../overlay/index.js');
8
8
  require('../../dialog/index.js');
9
9
  var index$1 = require('../../icon/index.js');
10
10
  require('../../../directives/index.js');
11
+ require('../../../hooks/index.js');
11
12
  var drawer = require('./drawer.js');
12
13
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
14
  var index$2 = require('../../../directives/trap-focus/index.js');
15
+ var index$3 = require('../../../hooks/use-namespace/index.js');
14
16
  var useDialog = require('../../dialog/src/use-dialog.js');
15
17
 
16
18
  const _sfc_main = vue.defineComponent({
@@ -27,32 +29,22 @@ const _sfc_main = vue.defineComponent({
27
29
  emits: drawer.drawerEmits,
28
30
  setup(props, ctx) {
29
31
  const drawerRef = vue.ref();
32
+ const ns = index$3.useNamespace("drawer");
30
33
  const isHorizontal = vue.computed(() => props.direction === "rtl" || props.direction === "ltr");
31
34
  const drawerSize = vue.computed(() => typeof props.size === "number" ? `${props.size}px` : props.size);
32
35
  return {
33
36
  ...useDialog.useDialog(props, ctx, drawerRef),
34
37
  drawerRef,
35
38
  isHorizontal,
36
- drawerSize
39
+ drawerSize,
40
+ ns
37
41
  };
38
42
  }
39
43
  });
40
- const _hoisted_1 = ["aria-label"];
41
- const _hoisted_2 = {
42
- key: 0,
43
- id: "el-drawer__title",
44
- class: "el-drawer__header"
45
- };
44
+ const _hoisted_1 = ["aria-labelledby", "aria-label"];
45
+ const _hoisted_2 = ["id"];
46
46
  const _hoisted_3 = ["title"];
47
47
  const _hoisted_4 = ["aria-label"];
48
- const _hoisted_5 = {
49
- key: 1,
50
- class: "el-drawer__body"
51
- };
52
- const _hoisted_6 = {
53
- key: 2,
54
- class: "el-drawer__footer"
55
- };
56
48
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
57
49
  const _component_close = vue.resolveComponent("close");
58
50
  const _component_el_icon = vue.resolveComponent("el-icon");
@@ -63,7 +55,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
63
55
  disabled: !_ctx.appendToBody
64
56
  }, [
65
57
  vue.createVNode(vue.Transition, {
66
- name: "el-drawer-fade",
58
+ name: _ctx.ns.b("fade"),
67
59
  onAfterEnter: _ctx.afterEnter,
68
60
  onAfterLeave: _ctx.afterLeave,
69
61
  onBeforeLeave: _ctx.beforeLeave
@@ -79,15 +71,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
79
71
  vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
80
72
  ref: "drawerRef",
81
73
  "aria-modal": "true",
82
- "aria-labelledby": "el-drawer__title",
74
+ "aria-labelledby": _ctx.ns.e("title"),
83
75
  "aria-label": _ctx.title,
84
- class: vue.normalizeClass(["el-drawer", _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
76
+ class: vue.normalizeClass([_ctx.ns.b(), _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
85
77
  style: vue.normalizeStyle(_ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize),
86
78
  role: "dialog",
87
79
  onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
88
80
  }, ["stop"]))
89
81
  }, [
90
- _ctx.withHeader ? (vue.openBlock(), vue.createElementBlock("header", _hoisted_2, [
82
+ _ctx.withHeader ? (vue.openBlock(), vue.createElementBlock("header", {
83
+ key: 0,
84
+ id: _ctx.ns.e("title"),
85
+ class: vue.normalizeClass(_ctx.ns.e("header"))
86
+ }, [
91
87
  vue.renderSlot(_ctx.$slots, "title", {}, () => [
92
88
  vue.createElementVNode("span", {
93
89
  role: "heading",
@@ -97,24 +93,32 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
97
93
  _ctx.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
98
94
  key: 0,
99
95
  "aria-label": "close " + (_ctx.title || "drawer"),
100
- class: "el-drawer__close-btn",
96
+ class: vue.normalizeClass(_ctx.ns.e("close-btn")),
101
97
  type: "button",
102
98
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClose && _ctx.handleClose(...args))
103
99
  }, [
104
- vue.createVNode(_component_el_icon, { class: "el-drawer__close" }, {
100
+ vue.createVNode(_component_el_icon, {
101
+ class: vue.normalizeClass(_ctx.ns.e("close"))
102
+ }, {
105
103
  default: vue.withCtx(() => [
106
104
  vue.createVNode(_component_close)
107
105
  ]),
108
106
  _: 1
109
- })
110
- ], 8, _hoisted_4)) : vue.createCommentVNode("v-if", true)
111
- ])) : vue.createCommentVNode("v-if", true),
112
- _ctx.rendered ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_5, [
107
+ }, 8, ["class"])
108
+ ], 10, _hoisted_4)) : vue.createCommentVNode("v-if", true)
109
+ ], 10, _hoisted_2)) : vue.createCommentVNode("v-if", true),
110
+ _ctx.rendered ? (vue.openBlock(), vue.createElementBlock("section", {
111
+ key: 1,
112
+ class: vue.normalizeClass(_ctx.ns.e("body"))
113
+ }, [
113
114
  vue.renderSlot(_ctx.$slots, "default")
114
- ])) : vue.createCommentVNode("v-if", true),
115
- _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
115
+ ], 2)) : vue.createCommentVNode("v-if", true),
116
+ _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
117
+ key: 2,
118
+ class: vue.normalizeClass(_ctx.ns.e("footer"))
119
+ }, [
116
120
  vue.renderSlot(_ctx.$slots, "footer")
117
- ])) : vue.createCommentVNode("v-if", true)
121
+ ], 2)) : vue.createCommentVNode("v-if", true)
118
122
  ], 14, _hoisted_1)), [
119
123
  [_directive_trap_focus]
120
124
  ])
@@ -125,7 +129,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
125
129
  ])
126
130
  ]),
127
131
  _: 3
128
- }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
132
+ }, 8, ["name", "onAfterEnter", "onAfterLeave", "onBeforeLeave"])
129
133
  ], 8, ["disabled"]);
130
134
  }
131
135
  var Drawer = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n name=\"el-drawer-fade\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <div\n ref=\"drawerRef\"\n v-trap-focus\n aria-modal=\"true\"\n aria-labelledby=\"el-drawer__title\"\n :aria-label=\"title\"\n :class=\"['el-drawer', direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <header\n v-if=\"withHeader\"\n id=\"el-drawer__title\"\n class=\"el-drawer__header\"\n >\n <slot name=\"title\">\n <span role=\"heading\" :title=\"title\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"'close ' + (title || 'drawer')\"\n class=\"el-drawer__close-btn\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon class=\"el-drawer__close\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <section class=\"el-drawer__body\">\n <slot></slot>\n </section>\n </template>\n <div v-if=\"$slots.footer\" class=\"el-drawer__footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDialog } from '@element-plus/components/dialog'\nimport ElIcon from '@element-plus/components/icon'\nimport { TrapFocus } from '@element-plus/directives'\nimport { drawerProps, drawerEmits } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElIcon,\n Close,\n },\n directives: {\n TrapFocus,\n },\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, ctx) {\n const drawerRef = ref<HTMLElement>()\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() =>\n typeof props.size === 'number' ? `${props.size}px` : props.size\n )\n\n return {\n ...useDialog(props, ctx, drawerRef),\n drawerRef,\n isHorizontal,\n drawerSize,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElIcon","Close","TrapFocus","drawerProps","drawerEmits","ref","computed","useDialog","_openBlock","_createBlock","_Transition","_createVNode","_createElementBlock","_normalizeClass","_withCtx","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;AAwEA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,eACVC;AAAA,YACAC;AAAA,WACAC;AAAA;AAAA,EAEF,YAAY;AAAA,eACVC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,YAAYC;AAElB,UAAM,eAAeC,aACnB,MAAM,MAAM,cAAc,SAAS,MAAM,cAAc;AAEzD,UAAM,aAAaA,aAAS,MAC1B,OAAO,MAAM,SAAS,WAAW,GAAG,MAAM,WAAW,MAAM;AAG7D,WAAO;AAAA,SACFC,oBAAU,OAAO,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;EArEM,KAAG;AAAA,EACH;AAAA;;;;;EAkBS,KAAK;AAAA;;;EAIU,KAAK;AAAA;;;;;;;SApD1BC,iBAAMC;AAAA,IAAE;AAAA;KACnB;AAAA,oBACOC,gBAAgB;AAAA,MACpB;AAAA,MACA,cAAa;AAAA,MACb,cAAY,KAAE;AAAA;;2BAEf;AAAA,2BAESC,gBAAK;AAAA,UACX;AAAA,UACA,iBAAS,KAAM;AAAA,UACf,WAAO;AAAA;;;iDAGSC;AAAA,cAEf;AAAA,cACA;AAAA,cACC,mBAAY;AAAA,cACZ,cAAK;AAAA,cACL,OAAKC;AAAA,cAAe;cAIpB;AAAA;;eAGO;AAAA,kDAQCD;AAAA,+BAHL,aAEO;AAAA,yCAFa;AAAA,oBAAE,MAAK;AAAA;;;;kBAM1B;AAAA,kBACD,cAAM,iBAAsB;AAAA,kBAC5B,OAAK;AAAA,kBACJ;AAAA;mBAED;AAAA,sDAA2C;AAAA,6BAATE,YAAS;AAAA;;;;;oBAG/BC,uBAAQ;AAAA,gDAEPH;AAAA;oBAGNG,uBAAa;AAAA,qDACKH;AAAA;;;;;;;cA7CvB,SAAO;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"drawer2.js","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <teleport to=\"body\" :disabled=\"!appendToBody\">\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <div\n ref=\"drawerRef\"\n v-trap-focus\n aria-modal=\"true\"\n :aria-labelledby=\"ns.e('title')\"\n :aria-label=\"title\"\n :class=\"[ns.b(), direction, visible && 'open', customClass]\"\n :style=\"\n isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n \"\n role=\"dialog\"\n @click.stop\n >\n <header v-if=\"withHeader\" :id=\"ns.e('title')\" :class=\"ns.e('header')\">\n <slot name=\"title\">\n <span role=\"heading\" :title=\"title\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n :aria-label=\"'close ' + (title || 'drawer')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <section :class=\"ns.e('body')\">\n <slot></slot>\n </section>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, ref } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDialog } from '@element-plus/components/dialog'\nimport ElIcon from '@element-plus/components/icon'\nimport { TrapFocus } from '@element-plus/directives'\nimport { useNamespace } from '@element-plus/hooks'\nimport { drawerProps, drawerEmits } from './drawer'\n\nexport default defineComponent({\n name: 'ElDrawer',\n components: {\n ElOverlay,\n ElIcon,\n Close,\n },\n directives: {\n TrapFocus,\n },\n props: drawerProps,\n emits: drawerEmits,\n\n setup(props, ctx) {\n const drawerRef = ref<HTMLElement>()\n const ns = useNamespace('drawer')\n\n const isHorizontal = computed(\n () => props.direction === 'rtl' || props.direction === 'ltr'\n )\n const drawerSize = computed(() =>\n typeof props.size === 'number' ? `${props.size}px` : props.size\n )\n\n return {\n ...useDialog(props, ctx, drawerRef),\n drawerRef,\n isHorizontal,\n drawerSize,\n ns,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElOverlay","ElIcon","Close","TrapFocus","drawerProps","drawerEmits","ref","useNamespace","computed","useDialog","_openBlock","_createBlock","_Transition","_createVNode","_createElementBlock","_normalizeClass","_withCtx","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;;AAqEA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,eACVC;AAAA,YACAC;AAAA,WACAC;AAAA;AAAA,EAEF,YAAY;AAAA,eACVC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAOC;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,YAAYC;AAClB,UAAM,KAAKC,qBAAa;AAExB,UAAM,eAAeC,aACnB,MAAM,MAAM,cAAc,SAAS,MAAM,cAAc;AAEzD,UAAM,aAAaA,aAAS,MAC1B,OAAO,MAAM,SAAS,WAAW,GAAG,MAAM,WAAW,MAAM;AAG7D,WAAO;AAAA,SACFC,oBAAU,OAAO,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;SAjGSC,iBAAMC;AAAA,IAAE;AAAA;KACnB;AAAA,oBACSC,gBAAI;AAAA,MACV,cAAa;AAAA,MACb,cAAa;AAAA,MACb,cAAY,KAAE;AAAA;;2BAEf;AAAA,2BAESC,gBAAK;AAAA,UACX;AAAA,UACA,iBAAS,KAAM;AAAA,UACf,WAAO;AAAA;;;iDAGSC;AAAA,cAEf;AAAA,cACC;AAAA,cACA,mBAAY,KAAK;AAAA,cACjB,cAAK;AAAA,cACL,OAAKC;AAAA,cAAe;cAIpB;AAAA;;eAEa;AAAA;gBAAa,KAAI;AAAA,gBAAgB,SAAK;AAAA;iBAClD;AAAA,+BACE,aAEO;AAAA,yCAFa;AAAA,oBAAE,MAAK;AAAA;;;;kBAM1B;AAAA,kBACA,cAAK,iBAAK,SAAC;AAAA,kBACZ,OAAKA,mBAAQ;AAAA,kBACZ;AAAA;mBAED;AAAA,kCAAe,oBAAK;AAAA;;6BAAYC,YAAS;AAAA;;;;;oCAG7BC,uBAAQ;AAAA;gBACZ,KAAK;AAAA;iBACb;AAAA;uBAGOA,uBAAa;AAAA;gBAAG,KAAK;AAAA;iBAC9B;AAAA;;;;;;;cAzCI,SAAO;AAAA;;;;;;;;;;;"}
@@ -25,19 +25,23 @@ const _sfc_main = vue.defineComponent({
25
25
  const { elDropdown } = useDropdown.useDropdown();
26
26
  const _instance = vue.getCurrentInstance();
27
27
  const itemRef = vue.ref(null);
28
- const textContent = vue.computed(() => vue.unref(itemRef)?.textContent ?? "");
28
+ const textContent = vue.computed(() => {
29
+ var _a, _b;
30
+ return (_b = (_a = vue.unref(itemRef)) == null ? void 0 : _a.textContent) != null ? _b : "";
31
+ });
29
32
  const { onItemEnter, onItemLeave } = vue.inject(tokens.DROPDOWN_INJECTION_KEY, void 0);
30
33
  const handlePointerMove = dom.composeEventHandlers((e) => {
31
34
  emit("pointermove", e);
32
35
  return e.defaultPrevented;
33
36
  }, dom.whenMouse((e) => {
37
+ var _a;
34
38
  if (props.disabled) {
35
39
  onItemLeave(e);
36
40
  } else {
37
41
  onItemEnter(e);
38
42
  if (!e.defaultPrevented) {
39
43
  ;
40
- e.currentTarget?.focus();
44
+ (_a = e.currentTarget) == null ? void 0 : _a.focus();
41
45
  }
42
46
  }
43
47
  }));
@@ -51,14 +55,15 @@ const _sfc_main = vue.defineComponent({
51
55
  emit("click", e);
52
56
  return e.defaultPrevented;
53
57
  }, (e) => {
58
+ var _a, _b, _c;
54
59
  if (props.disabled) {
55
60
  e.stopImmediatePropagation();
56
61
  return;
57
62
  }
58
- if (elDropdown?.hideOnClick?.value) {
59
- elDropdown.handleClick?.();
63
+ if ((_a = elDropdown == null ? void 0 : elDropdown.hideOnClick) == null ? void 0 : _a.value) {
64
+ (_b = elDropdown.handleClick) == null ? void 0 : _b.call(elDropdown);
60
65
  }
61
- elDropdown.commandHandler?.(props.command, _instance, e);
66
+ (_c = elDropdown.commandHandler) == null ? void 0 : _c.call(elDropdown, props.command, _instance, e);
62
67
  });
63
68
  return {
64
69
  handleClick,
@@ -69,12 +74,13 @@ const _sfc_main = vue.defineComponent({
69
74
  }
70
75
  });
71
76
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
77
+ var _a;
72
78
  const _component_el_dropdown_item_impl = vue.resolveComponent("el-dropdown-item-impl");
73
79
  const _component_el_roving_focus_item = vue.resolveComponent("el-roving-focus-item");
74
80
  const _component_el_dropdown_collection_item = vue.resolveComponent("el-dropdown-collection-item");
75
81
  return vue.openBlock(), vue.createBlock(_component_el_dropdown_collection_item, {
76
82
  disabled: _ctx.disabled,
77
- "text-value": _ctx.textValue ?? _ctx.textContent
83
+ "text-value": (_a = _ctx.textValue) != null ? _a : _ctx.textContent
78
84
  }, {
79
85
  default: vue.withCtx(() => [
80
86
  vue.createVNode(_component_el_roving_focus_item, {