@element-plus/nightly 0.0.20220122 → 0.0.20220126

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 (641) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +1028 -862
  4. package/dist/index.full.min.js +8 -8
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +8 -8
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +1028 -862
  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/index.d.ts +22 -0
  282. package/es/components/autocomplete/src/index.mjs +17 -16
  283. package/es/components/autocomplete/src/index.mjs.map +1 -1
  284. package/es/components/autocomplete/src/index.vue.d.ts +11 -0
  285. package/es/components/backtop/index.d.ts +11 -0
  286. package/es/components/backtop/src/backtop.vue.d.ts +11 -0
  287. package/es/components/backtop/src/backtop2.mjs +18 -9
  288. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  289. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +2 -2
  290. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  291. package/es/components/button/src/button2.mjs +11 -7
  292. package/es/components/button/src/button2.mjs.map +1 -1
  293. package/es/components/carousel/index.d.ts +11 -0
  294. package/es/components/carousel/src/item.mjs +21 -15
  295. package/es/components/carousel/src/item.mjs.map +1 -1
  296. package/es/components/carousel/src/main.mjs +25 -23
  297. package/es/components/carousel/src/main.mjs.map +1 -1
  298. package/es/components/carousel/src/main.vue.d.ts +11 -0
  299. package/es/components/cascader/src/index.mjs +38 -21
  300. package/es/components/cascader/src/index.mjs.map +1 -1
  301. package/es/components/cascader-panel/src/index.mjs +16 -13
  302. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  303. package/es/components/cascader-panel/src/menu.mjs +25 -22
  304. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  305. package/es/components/cascader-panel/src/node2.mjs +6 -2
  306. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  307. package/es/components/checkbox/index.d.ts +36 -3
  308. package/es/components/checkbox/src/checkbox-button.mjs +21 -15
  309. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  310. package/es/components/checkbox/src/checkbox-button.vue.d.ts +12 -1
  311. package/es/components/checkbox/src/checkbox-group.mjs +5 -2
  312. package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
  313. package/es/components/checkbox/src/checkbox.mjs +36 -28
  314. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  315. package/es/components/checkbox/src/checkbox.vue.d.ts +12 -1
  316. package/es/components/checkbox/src/useCheckbox.d.ts +1 -1
  317. package/es/components/checkbox/src/useCheckbox.mjs +2 -2
  318. package/es/components/checkbox/src/useCheckbox.mjs.map +1 -1
  319. package/es/components/collapse/src/collapse-item.mjs +3 -3
  320. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  321. package/es/components/color-picker/src/index.mjs +8 -5
  322. package/es/components/color-picker/src/index.mjs.map +1 -1
  323. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
  324. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  325. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs +2 -1
  326. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  327. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  328. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  329. package/es/components/descriptions/src/index.mjs +7 -2
  330. package/es/components/descriptions/src/index.mjs.map +1 -1
  331. package/es/components/dialog/src/dialog.mjs +1 -3
  332. package/es/components/dialog/src/dialog.mjs.map +1 -1
  333. package/es/components/drawer/index.d.ts +11 -0
  334. package/es/components/drawer/src/drawer.vue.d.ts +11 -0
  335. package/es/components/drawer/src/drawer2.mjs +33 -29
  336. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  337. package/es/components/dropdown/src/dropdown-item.mjs +12 -6
  338. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  339. package/es/components/dropdown/src/dropdown-menu.mjs +2 -1
  340. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  341. package/es/components/dropdown/src/dropdown2.mjs +9 -5
  342. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  343. package/es/components/empty/src/img-empty.mjs +13 -13
  344. package/es/components/empty/src/img-empty.mjs.map +1 -1
  345. package/es/components/focus-trap/src/focus-trap.mjs +1 -1
  346. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  347. package/es/components/form/src/form-item.mjs +6 -4
  348. package/es/components/form/src/form-item.mjs.map +1 -1
  349. package/es/components/image/src/image2.mjs +3 -2
  350. package/es/components/image/src/image2.mjs.map +1 -1
  351. package/es/components/image-viewer/src/image-viewer2.mjs +3 -2
  352. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  353. package/es/components/input/src/input2.mjs +17 -8
  354. package/es/components/input/src/input2.mjs.map +1 -1
  355. package/es/components/input-number/src/input-number2.mjs +12 -6
  356. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  357. package/es/components/message/src/message2.mjs +1 -1
  358. package/es/components/message-box/src/index.mjs +9 -4
  359. package/es/components/message-box/src/index.mjs.map +1 -1
  360. package/es/components/message-box/src/index.vue.d.ts +1 -0
  361. package/es/components/notification/src/notification2.mjs +1 -1
  362. package/es/components/pagination/src/components/jumper.mjs +5 -2
  363. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  364. package/es/components/pagination/src/components/sizes.mjs +2 -1
  365. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  366. package/es/components/popconfirm/src/popconfirm2.mjs +6 -3
  367. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  368. package/es/components/popover/index.d.ts +0 -6
  369. package/es/components/popover/src/index.mjs +4 -2
  370. package/es/components/popover/src/index.mjs.map +1 -1
  371. package/es/components/popover/src/index.vue.d.ts +0 -3
  372. package/es/components/popover/src/popover.d.ts +0 -1
  373. package/es/components/popover/src/popover.mjs +0 -4
  374. package/es/components/popover/src/popover.mjs.map +1 -1
  375. package/es/components/popper/src/content.mjs +5 -3
  376. package/es/components/popper/src/content.mjs.map +1 -1
  377. package/es/components/popper/src/trigger.mjs +1 -1
  378. package/es/components/popper/src/trigger.mjs.map +1 -1
  379. package/es/components/progress/src/progress2.mjs +2 -1
  380. package/es/components/progress/src/progress2.mjs.map +1 -1
  381. package/es/components/radio/src/radio-button2.mjs +4 -4
  382. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  383. package/es/components/radio/src/radio-group2.mjs +1 -1
  384. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  385. package/es/components/rate/index.d.ts +8 -8
  386. package/es/components/rate/src/rate.d.ts +4 -4
  387. package/es/components/rate/src/rate.mjs +8 -4
  388. package/es/components/rate/src/rate.mjs.map +1 -1
  389. package/es/components/rate/src/rate.vue.d.ts +8 -8
  390. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +10 -6
  391. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  392. package/es/components/scrollbar/src/bar2.mjs +2 -1
  393. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  394. package/es/components/scrollbar/src/scrollbar2.mjs +2 -2
  395. package/es/components/select/src/option-group.mjs +2 -1
  396. package/es/components/select/src/option-group.mjs.map +1 -1
  397. package/es/components/select/src/select-dropdown.mjs +2 -1
  398. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  399. package/es/components/select/src/select.mjs +2 -1
  400. package/es/components/select/src/select.mjs.map +1 -1
  401. package/es/components/select-v2/src/select-dropdown.mjs +2 -1
  402. package/es/components/select-v2/src/select-dropdown.mjs.map +1 -1
  403. package/es/components/select-v2/src/select.mjs +192 -186
  404. package/es/components/select-v2/src/select.mjs.map +1 -1
  405. package/es/components/slider/src/index.mjs +3 -2
  406. package/es/components/slider/src/index.mjs.map +1 -1
  407. package/es/components/slider/src/marker.mjs +2 -1
  408. package/es/components/slider/src/marker.mjs.map +1 -1
  409. package/es/components/steps/src/item.mjs +2 -1
  410. package/es/components/steps/src/item.mjs.map +1 -1
  411. package/es/components/switch/src/switch2.mjs +4 -2
  412. package/es/components/switch/src/switch2.mjs.map +1 -1
  413. package/es/components/table/src/filter-panel.mjs +7 -3
  414. package/es/components/table/src/filter-panel.mjs.map +1 -1
  415. package/es/components/table/src/table-body/index.mjs +1 -1
  416. package/es/components/table/src/table-body/index.mjs.map +1 -1
  417. package/es/components/table/src/table.mjs +3 -2
  418. package/es/components/table/src/table.mjs.map +1 -1
  419. package/es/components/tabs/src/tab-bar2.mjs +3 -2
  420. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  421. package/es/components/tag/index.d.ts +12 -1
  422. package/es/components/tag/src/tag.vue.d.ts +12 -1
  423. package/es/components/tag/src/tag2.mjs +23 -18
  424. package/es/components/tag/src/tag2.mjs.map +1 -1
  425. package/es/components/time-picker/src/common/picker.mjs +16 -8
  426. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  427. package/es/components/time-select/src/time-select.mjs +4 -2
  428. package/es/components/time-select/src/time-select.mjs.map +1 -1
  429. package/es/components/tooltip/src/content.mjs +9 -4
  430. package/es/components/tooltip/src/content.mjs.map +1 -1
  431. package/es/components/tooltip/src/tooltip2.mjs +2 -1
  432. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  433. package/es/components/transfer/index.d.ts +492 -0
  434. package/es/components/transfer/src/index.mjs +13 -7
  435. package/es/components/transfer/src/index.mjs.map +1 -1
  436. package/es/components/transfer/src/index.vue.d.ts +246 -0
  437. package/es/components/tree/src/tree.mjs +2 -1
  438. package/es/components/tree/src/tree.mjs.map +1 -1
  439. package/es/components/tree-v2/src/tree-node.mjs +11 -7
  440. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  441. package/es/components/tree-v2/src/tree.mjs +2 -1
  442. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  443. package/es/components/upload/src/index.mjs +3 -2
  444. package/es/components/upload/src/index.mjs.map +1 -1
  445. package/es/components/upload/src/upload-dragger.mjs +2 -1
  446. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  447. package/es/utils/validators.d.ts +0 -1
  448. package/es/utils/validators.mjs +1 -9
  449. package/es/utils/validators.mjs.map +1 -1
  450. package/es/version.d.ts +1 -1
  451. package/es/version.mjs +1 -1
  452. package/es/version.mjs.map +1 -1
  453. package/lib/components/affix/src/affix2.js +2 -1
  454. package/lib/components/affix/src/affix2.js.map +1 -1
  455. package/lib/components/autocomplete/index.d.ts +22 -0
  456. package/lib/components/autocomplete/src/index.js +19 -18
  457. package/lib/components/autocomplete/src/index.js.map +1 -1
  458. package/lib/components/autocomplete/src/index.vue.d.ts +11 -0
  459. package/lib/components/backtop/index.d.ts +11 -0
  460. package/lib/components/backtop/src/backtop.vue.d.ts +11 -0
  461. package/lib/components/backtop/src/backtop2.js +17 -8
  462. package/lib/components/backtop/src/backtop2.js.map +1 -1
  463. package/lib/components/breadcrumb/src/breadcrumb-item2.js +2 -2
  464. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  465. package/lib/components/button/src/button2.js +11 -7
  466. package/lib/components/button/src/button2.js.map +1 -1
  467. package/lib/components/carousel/index.d.ts +11 -0
  468. package/lib/components/carousel/src/item.js +21 -15
  469. package/lib/components/carousel/src/item.js.map +1 -1
  470. package/lib/components/carousel/src/main.js +25 -23
  471. package/lib/components/carousel/src/main.js.map +1 -1
  472. package/lib/components/carousel/src/main.vue.d.ts +11 -0
  473. package/lib/components/cascader/src/index.js +38 -21
  474. package/lib/components/cascader/src/index.js.map +1 -1
  475. package/lib/components/cascader-panel/src/index.js +16 -13
  476. package/lib/components/cascader-panel/src/index.js.map +1 -1
  477. package/lib/components/cascader-panel/src/menu.js +25 -22
  478. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  479. package/lib/components/cascader-panel/src/node2.js +6 -2
  480. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  481. package/lib/components/checkbox/index.d.ts +36 -3
  482. package/lib/components/checkbox/src/checkbox-button.js +21 -15
  483. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  484. package/lib/components/checkbox/src/checkbox-button.vue.d.ts +12 -1
  485. package/lib/components/checkbox/src/checkbox-group.js +5 -2
  486. package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
  487. package/lib/components/checkbox/src/checkbox.js +35 -27
  488. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  489. package/lib/components/checkbox/src/checkbox.vue.d.ts +12 -1
  490. package/lib/components/checkbox/src/useCheckbox.d.ts +1 -1
  491. package/lib/components/checkbox/src/useCheckbox.js +2 -2
  492. package/lib/components/checkbox/src/useCheckbox.js.map +1 -1
  493. package/lib/components/collapse/src/collapse-item.js +3 -3
  494. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  495. package/lib/components/color-picker/src/index.js +8 -5
  496. package/lib/components/color-picker/src/index.js.map +1 -1
  497. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
  498. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  499. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js +2 -1
  500. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  501. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  502. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  503. package/lib/components/descriptions/src/index.js +7 -2
  504. package/lib/components/descriptions/src/index.js.map +1 -1
  505. package/lib/components/dialog/src/dialog.js +1 -3
  506. package/lib/components/dialog/src/dialog.js.map +1 -1
  507. package/lib/components/drawer/index.d.ts +11 -0
  508. package/lib/components/drawer/src/drawer.vue.d.ts +11 -0
  509. package/lib/components/drawer/src/drawer2.js +33 -29
  510. package/lib/components/drawer/src/drawer2.js.map +1 -1
  511. package/lib/components/dropdown/src/dropdown-item.js +12 -6
  512. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  513. package/lib/components/dropdown/src/dropdown-menu.js +2 -1
  514. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  515. package/lib/components/dropdown/src/dropdown2.js +9 -5
  516. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  517. package/lib/components/empty/src/img-empty.js +13 -13
  518. package/lib/components/empty/src/img-empty.js.map +1 -1
  519. package/lib/components/focus-trap/src/focus-trap.js +1 -1
  520. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  521. package/lib/components/form/src/form-item.js +6 -4
  522. package/lib/components/form/src/form-item.js.map +1 -1
  523. package/lib/components/image/src/image2.js +3 -2
  524. package/lib/components/image/src/image2.js.map +1 -1
  525. package/lib/components/image-viewer/src/image-viewer2.js +3 -2
  526. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  527. package/lib/components/input/src/input2.js +17 -8
  528. package/lib/components/input/src/input2.js.map +1 -1
  529. package/lib/components/input-number/src/input-number2.js +12 -6
  530. package/lib/components/input-number/src/input-number2.js.map +1 -1
  531. package/lib/components/message/src/message2.js +1 -1
  532. package/lib/components/message-box/src/index.js +17 -12
  533. package/lib/components/message-box/src/index.js.map +1 -1
  534. package/lib/components/message-box/src/index.vue.d.ts +1 -0
  535. package/lib/components/notification/src/notification2.js +1 -1
  536. package/lib/components/pagination/src/components/jumper.js +5 -2
  537. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  538. package/lib/components/pagination/src/components/sizes.js +2 -1
  539. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  540. package/lib/components/popconfirm/src/popconfirm2.js +6 -3
  541. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  542. package/lib/components/popover/index.d.ts +0 -6
  543. package/lib/components/popover/src/index.js +4 -2
  544. package/lib/components/popover/src/index.js.map +1 -1
  545. package/lib/components/popover/src/index.vue.d.ts +0 -3
  546. package/lib/components/popover/src/popover.d.ts +0 -1
  547. package/lib/components/popover/src/popover.js +0 -4
  548. package/lib/components/popover/src/popover.js.map +1 -1
  549. package/lib/components/popper/src/content.js +5 -3
  550. package/lib/components/popper/src/content.js.map +1 -1
  551. package/lib/components/popper/src/trigger.js +1 -1
  552. package/lib/components/popper/src/trigger.js.map +1 -1
  553. package/lib/components/progress/src/progress2.js +2 -1
  554. package/lib/components/progress/src/progress2.js.map +1 -1
  555. package/lib/components/radio/src/radio-button2.js +4 -4
  556. package/lib/components/radio/src/radio-button2.js.map +1 -1
  557. package/lib/components/radio/src/radio-group2.js +1 -1
  558. package/lib/components/radio/src/radio-group2.js.map +1 -1
  559. package/lib/components/rate/index.d.ts +8 -8
  560. package/lib/components/rate/src/rate.d.ts +4 -4
  561. package/lib/components/rate/src/rate.js +8 -4
  562. package/lib/components/rate/src/rate.js.map +1 -1
  563. package/lib/components/rate/src/rate.vue.d.ts +8 -8
  564. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +10 -6
  565. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  566. package/lib/components/scrollbar/src/bar2.js +2 -1
  567. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  568. package/lib/components/scrollbar/src/scrollbar2.js +2 -2
  569. package/lib/components/select/src/option-group.js +2 -1
  570. package/lib/components/select/src/option-group.js.map +1 -1
  571. package/lib/components/select/src/select-dropdown.js +2 -1
  572. package/lib/components/select/src/select-dropdown.js.map +1 -1
  573. package/lib/components/select/src/select.js +2 -1
  574. package/lib/components/select/src/select.js.map +1 -1
  575. package/lib/components/select-v2/src/select-dropdown.js +2 -1
  576. package/lib/components/select-v2/src/select-dropdown.js.map +1 -1
  577. package/lib/components/select-v2/src/select.js +192 -186
  578. package/lib/components/select-v2/src/select.js.map +1 -1
  579. package/lib/components/slider/src/index.js +3 -2
  580. package/lib/components/slider/src/index.js.map +1 -1
  581. package/lib/components/slider/src/marker.js +2 -1
  582. package/lib/components/slider/src/marker.js.map +1 -1
  583. package/lib/components/steps/src/item.js +2 -1
  584. package/lib/components/steps/src/item.js.map +1 -1
  585. package/lib/components/switch/src/switch2.js +4 -2
  586. package/lib/components/switch/src/switch2.js.map +1 -1
  587. package/lib/components/table/src/filter-panel.js +7 -3
  588. package/lib/components/table/src/filter-panel.js.map +1 -1
  589. package/lib/components/table/src/table-body/index.js +1 -1
  590. package/lib/components/table/src/table-body/index.js.map +1 -1
  591. package/lib/components/table/src/table.js +3 -2
  592. package/lib/components/table/src/table.js.map +1 -1
  593. package/lib/components/tabs/src/tab-bar2.js +3 -2
  594. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  595. package/lib/components/tag/index.d.ts +12 -1
  596. package/lib/components/tag/src/tag.vue.d.ts +12 -1
  597. package/lib/components/tag/src/tag2.js +23 -18
  598. package/lib/components/tag/src/tag2.js.map +1 -1
  599. package/lib/components/time-picker/src/common/picker.js +16 -8
  600. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  601. package/lib/components/time-select/src/time-select.js +4 -2
  602. package/lib/components/time-select/src/time-select.js.map +1 -1
  603. package/lib/components/tooltip/src/content.js +9 -4
  604. package/lib/components/tooltip/src/content.js.map +1 -1
  605. package/lib/components/tooltip/src/tooltip2.js +2 -1
  606. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  607. package/lib/components/transfer/index.d.ts +492 -0
  608. package/lib/components/transfer/src/index.js +13 -7
  609. package/lib/components/transfer/src/index.js.map +1 -1
  610. package/lib/components/transfer/src/index.vue.d.ts +246 -0
  611. package/lib/components/tree/src/tree.js +2 -1
  612. package/lib/components/tree/src/tree.js.map +1 -1
  613. package/lib/components/tree-v2/src/tree-node.js +11 -7
  614. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  615. package/lib/components/tree-v2/src/tree.js +2 -1
  616. package/lib/components/tree-v2/src/tree.js.map +1 -1
  617. package/lib/components/upload/src/index.js +3 -2
  618. package/lib/components/upload/src/index.js.map +1 -1
  619. package/lib/components/upload/src/upload-dragger.js +2 -1
  620. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  621. package/lib/utils/validators.d.ts +0 -1
  622. package/lib/utils/validators.js +0 -9
  623. package/lib/utils/validators.js.map +1 -1
  624. package/lib/version.d.ts +1 -1
  625. package/lib/version.js +1 -1
  626. package/lib/version.js.map +1 -1
  627. package/package.json +2 -2
  628. package/tags.json +1 -1
  629. package/theme-chalk/el-empty.css +1 -1
  630. package/theme-chalk/el-pagination.css +1 -1
  631. package/theme-chalk/el-popper.css +1 -1
  632. package/theme-chalk/el-rate.css +1 -1
  633. package/theme-chalk/el-table.css +1 -1
  634. package/theme-chalk/el-tooltip.css +0 -1
  635. package/theme-chalk/index.css +1 -1
  636. package/theme-chalk/src/common/var.scss +17 -18
  637. package/theme-chalk/src/pagination.scss +4 -5
  638. package/theme-chalk/src/popper.scss +20 -2
  639. package/theme-chalk/src/table.scss +0 -12
  640. package/theme-chalk/src/tooltip.scss +0 -95
  641. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"basic-month-table.mjs","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":["_openBlock","_createElementBlock","_renderList","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"basic-month-table.mjs","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":["_openBlock"],"mappings":"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"}
@@ -177,7 +177,7 @@ const _sfc_main = defineComponent({
177
177
  currentView.value = "date";
178
178
  }, { immediate: true });
179
179
  watch(() => currentView.value, () => {
180
- popper?.updatePopper();
180
+ popper == null ? void 0 : popper.updatePopper();
181
181
  });
182
182
  const hasShortcuts = computed(() => !!shortcuts.length);
183
183
  const handleMonthPick = (month2) => {
@@ -1 +1 @@
1
- {"version":3,"file":"panel-date-pick.mjs","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":["_openBlock","_Fragment","_createElementBlock","_createCommentVNode","_createElementVNode","_withCtx","_normalizeClass","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"panel-date-pick.mjs","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":["_openBlock","_Fragment","_createElementBlock","_createCommentVNode","_createElementVNode","_withCtx","_normalizeClass","_createVNode"],"mappings":"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"}
@@ -71,13 +71,18 @@ const _sfc_main = defineComponent({
71
71
  return node;
72
72
  };
73
73
  const getRows = () => {
74
- const children = flattedChildren(slots.default?.()).filter((node) => node?.type?.name === "ElDescriptionsItem");
74
+ var _a;
75
+ const children = flattedChildren((_a = slots.default) == null ? void 0 : _a.call(slots)).filter((node) => {
76
+ var _a2;
77
+ return ((_a2 = node == null ? void 0 : node.type) == null ? void 0 : _a2.name) === "ElDescriptionsItem";
78
+ });
75
79
  const rows = [];
76
80
  let temp = [];
77
81
  let count = props.column;
78
82
  let totalSpan = 0;
79
83
  children.forEach((node, index) => {
80
- const span = node.props?.span || 1;
84
+ var _a2;
85
+ const span = ((_a2 = node.props) == null ? void 0 : _a2.span) || 1;
81
86
  if (index < children.length - 1) {
82
87
  totalSpan += span > count ? count : span;
83
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","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":["_openBlock","_createCommentVNode","_Fragment","_createBlock"],"mappings":";;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACT,gBAAgB,OAAO;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,WAAW;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,YAAQ,mBAAmB;AAE3B,UAAM,mBAAmB;AACzB,UAAM,KAAK,aAAa;AAExB,UAAM,iBAAiB,SAAS,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;;;SAjJOA,gCAAE,OAAc;AAAA;KAEjB;AAAA,uBADR,qBAUM;MARH,KAAK;AAAA;OAEN;AAAA,yBAAW,OAAE;AAAA;SACX;AAAA,6CAAsB;AAAA;;SAExB;AAAA,yBAAW,OAAE;AAAA;SACX;AAAA,6CAAsB;AAAA;;;aAI1BC,mBAQM;AAAA,uBARK,OAAE;AAAA;OACX;AAAA,yBAAa,SAAG;AAAA;SACd;AAAA,oCACE;AAAA,+CACoCC;mBADcF,aAAKG;AAAA,cAC/B,KAAK;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","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":[],"mappings":";;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACT,gBAAgB,OAAO;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,WAAW;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,YAAQ,mBAAmB;AAE3B,UAAM,mBAAmB;AACzB,UAAM,KAAK,aAAa;AAExB,UAAM,iBAAiB,SAAS,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,uBARK,OAAE;AAAA;;AACX;AAAgB;;AACd,oCACE;AAAA;gCAAuD;AAAA;AAC1B;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,3 @@
1
- import { isValidWidthUnit } from '../../../utils/validators.mjs';
2
1
  import { buildProps, definePropType } from '../../../utils/props.mjs';
3
2
  import { UPDATE_MODEL_EVENT } from '../../../utils/constants.mjs';
4
3
 
@@ -71,8 +70,7 @@ const dialogProps = buildProps({
71
70
  },
72
71
  modalClass: String,
73
72
  width: {
74
- type: [String, Number],
75
- validator: isValidWidthUnit
73
+ type: [String, Number]
76
74
  },
77
75
  zIndex: {
78
76
  type: Number
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.mjs","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":[],"mappings":";;;;AAGY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,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,EAAE,cAAc,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,EAAE,gBAAgB;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,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,SAAS;AAC7D;;;;"}
1
+ {"version":3,"file":"dialog.mjs","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":[],"mappings":";;;AAEY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,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,EAAE,cAAc,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,CAAC,kBAAkB,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;
@@ -4,9 +4,11 @@ import { ElOverlay } from '../../overlay/index.mjs';
4
4
  import '../../dialog/index.mjs';
5
5
  import { ElIcon } from '../../icon/index.mjs';
6
6
  import '../../../directives/index.mjs';
7
+ import '../../../hooks/index.mjs';
7
8
  import { drawerProps, drawerEmits } from './drawer.mjs';
8
9
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
10
  import TrapFocus from '../../../directives/trap-focus/index.mjs';
11
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
12
  import { useDialog } from '../../dialog/src/use-dialog.mjs';
11
13
 
12
14
  const _sfc_main = defineComponent({
@@ -23,32 +25,22 @@ const _sfc_main = defineComponent({
23
25
  emits: drawerEmits,
24
26
  setup(props, ctx) {
25
27
  const drawerRef = ref();
28
+ const ns = useNamespace("drawer");
26
29
  const isHorizontal = computed(() => props.direction === "rtl" || props.direction === "ltr");
27
30
  const drawerSize = computed(() => typeof props.size === "number" ? `${props.size}px` : props.size);
28
31
  return {
29
32
  ...useDialog(props, ctx, drawerRef),
30
33
  drawerRef,
31
34
  isHorizontal,
32
- drawerSize
35
+ drawerSize,
36
+ ns
33
37
  };
34
38
  }
35
39
  });
36
- const _hoisted_1 = ["aria-label"];
37
- const _hoisted_2 = {
38
- key: 0,
39
- id: "el-drawer__title",
40
- class: "el-drawer__header"
41
- };
40
+ const _hoisted_1 = ["aria-labelledby", "aria-label"];
41
+ const _hoisted_2 = ["id"];
42
42
  const _hoisted_3 = ["title"];
43
43
  const _hoisted_4 = ["aria-label"];
44
- const _hoisted_5 = {
45
- key: 1,
46
- class: "el-drawer__body"
47
- };
48
- const _hoisted_6 = {
49
- key: 2,
50
- class: "el-drawer__footer"
51
- };
52
44
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
53
45
  const _component_close = resolveComponent("close");
54
46
  const _component_el_icon = resolveComponent("el-icon");
@@ -59,7 +51,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
59
51
  disabled: !_ctx.appendToBody
60
52
  }, [
61
53
  createVNode(Transition, {
62
- name: "el-drawer-fade",
54
+ name: _ctx.ns.b("fade"),
63
55
  onAfterEnter: _ctx.afterEnter,
64
56
  onAfterLeave: _ctx.afterLeave,
65
57
  onBeforeLeave: _ctx.beforeLeave
@@ -75,15 +67,19 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
75
67
  withDirectives((openBlock(), createElementBlock("div", {
76
68
  ref: "drawerRef",
77
69
  "aria-modal": "true",
78
- "aria-labelledby": "el-drawer__title",
70
+ "aria-labelledby": _ctx.ns.e("title"),
79
71
  "aria-label": _ctx.title,
80
- class: normalizeClass(["el-drawer", _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
72
+ class: normalizeClass([_ctx.ns.b(), _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
81
73
  style: normalizeStyle(_ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize),
82
74
  role: "dialog",
83
75
  onClick: _cache[1] || (_cache[1] = withModifiers(() => {
84
76
  }, ["stop"]))
85
77
  }, [
86
- _ctx.withHeader ? (openBlock(), createElementBlock("header", _hoisted_2, [
78
+ _ctx.withHeader ? (openBlock(), createElementBlock("header", {
79
+ key: 0,
80
+ id: _ctx.ns.e("title"),
81
+ class: normalizeClass(_ctx.ns.e("header"))
82
+ }, [
87
83
  renderSlot(_ctx.$slots, "title", {}, () => [
88
84
  createElementVNode("span", {
89
85
  role: "heading",
@@ -93,24 +89,32 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
93
89
  _ctx.showClose ? (openBlock(), createElementBlock("button", {
94
90
  key: 0,
95
91
  "aria-label": "close " + (_ctx.title || "drawer"),
96
- class: "el-drawer__close-btn",
92
+ class: normalizeClass(_ctx.ns.e("close-btn")),
97
93
  type: "button",
98
94
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClose && _ctx.handleClose(...args))
99
95
  }, [
100
- createVNode(_component_el_icon, { class: "el-drawer__close" }, {
96
+ createVNode(_component_el_icon, {
97
+ class: normalizeClass(_ctx.ns.e("close"))
98
+ }, {
101
99
  default: withCtx(() => [
102
100
  createVNode(_component_close)
103
101
  ]),
104
102
  _: 1
105
- })
106
- ], 8, _hoisted_4)) : createCommentVNode("v-if", true)
107
- ])) : createCommentVNode("v-if", true),
108
- _ctx.rendered ? (openBlock(), createElementBlock("section", _hoisted_5, [
103
+ }, 8, ["class"])
104
+ ], 10, _hoisted_4)) : createCommentVNode("v-if", true)
105
+ ], 10, _hoisted_2)) : createCommentVNode("v-if", true),
106
+ _ctx.rendered ? (openBlock(), createElementBlock("section", {
107
+ key: 1,
108
+ class: normalizeClass(_ctx.ns.e("body"))
109
+ }, [
109
110
  renderSlot(_ctx.$slots, "default")
110
- ])) : createCommentVNode("v-if", true),
111
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6, [
111
+ ], 2)) : createCommentVNode("v-if", true),
112
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
113
+ key: 2,
114
+ class: normalizeClass(_ctx.ns.e("footer"))
115
+ }, [
112
116
  renderSlot(_ctx.$slots, "footer")
113
- ])) : createCommentVNode("v-if", true)
117
+ ], 2)) : createCommentVNode("v-if", true)
114
118
  ], 14, _hoisted_1)), [
115
119
  [_directive_trap_focus]
116
120
  ])
@@ -121,7 +125,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
121
125
  ])
122
126
  ]),
123
127
  _: 3
124
- }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
128
+ }, 8, ["name", "onAfterEnter", "onAfterLeave", "onBeforeLeave"])
125
129
  ], 8, ["disabled"]);
126
130
  }
127
131
  var Drawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
@@ -1 +1 @@
1
- {"version":3,"file":"drawer2.mjs","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":["_openBlock","_createBlock","_Transition","_createVNode","_createElementBlock","_normalizeClass","_withCtx","_createCommentVNode"],"mappings":";;;;;;;;;;;AAwEA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,YAAY;AAElB,UAAM,eAAe,SACnB,MAAM,MAAM,cAAc,SAAS,MAAM,cAAc;AAEzD,UAAM,aAAa,SAAS,MAC1B,OAAO,MAAM,SAAS,WAAW,GAAG,MAAM,WAAW,MAAM;AAG7D,WAAO;AAAA,SACF,UAAU,OAAO,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;EArEM,KAAG;AAAA,EACH;AAAA;;;;;EAkBS,KAAK;AAAA;;;EAIU,KAAK;AAAA;;;;;;;SApD1BA,aAAMC;AAAA,IAAE;AAAA;KACnB;AAAA,gBACOC,YAAgB;AAAA,MACpB;AAAA,MACA,cAAa;AAAA,MACb,cAAY,KAAE;AAAA;;uBAEf;AAAA,uBAESC,YAAK;AAAA,UACX;AAAA,UACA,iBAAS,KAAM;AAAA,UACf,WAAO;AAAA;;;yCAGSC;AAAA,cAEf;AAAA,cACA;AAAA,cACC,mBAAY;AAAA,cACZ,cAAK;AAAA,cACL,OAAKC;AAAA,cAAe;cAIpB;AAAA;;eAGO;AAAA,8CAQCD;AAAA,2BAHL,aAEO;AAAA,qCAFa;AAAA,oBAAE,MAAK;AAAA;;;;kBAM1B;AAAA,kBACD,cAAM,iBAAsB;AAAA,kBAC5B,OAAK;AAAA,kBACJ;AAAA;mBAED;AAAA,kDAA2C;AAAA,6BAATE,QAAS;AAAA;;;;;oBAG/BC,mBAAQ;AAAA,4CAEPH;AAAA;oBAGNG,mBAAa;AAAA,iDACKH;AAAA;;;;;;;cA7CvB,SAAO;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"drawer2.mjs","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":["_openBlock","_createBlock","_Transition","_createVNode","_createElementBlock","_normalizeClass","_withCtx","_createCommentVNode"],"mappings":";;;;;;;;;;;;;AAqEA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,YAAY;AAClB,UAAM,KAAK,aAAa;AAExB,UAAM,eAAe,SACnB,MAAM,MAAM,cAAc,SAAS,MAAM,cAAc;AAEzD,UAAM,aAAa,SAAS,MAC1B,OAAO,MAAM,SAAS,WAAW,GAAG,MAAM,WAAW,MAAM;AAG7D,WAAO;AAAA,SACF,UAAU,OAAO,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;SAjGSA,aAAMC;AAAA,IAAE;AAAA;KACnB;AAAA,gBACSC,YAAI;AAAA,MACV,cAAa;AAAA,MACb,cAAa;AAAA,MACb,cAAY,KAAE;AAAA;;uBAEf;AAAA,uBAESC,YAAK;AAAA,UACX;AAAA,UACA,iBAAS,KAAM;AAAA,UACf,WAAO;AAAA;;;yCAGSC;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,2BACE,aAEO;AAAA,qCAFa;AAAA,oBAAE,MAAK;AAAA;;;;kBAM1B;AAAA,kBACA,cAAK,iBAAK,SAAC;AAAA,kBACZ,OAAKA,eAAQ;AAAA,kBACZ;AAAA;mBAED;AAAA,8BAAe,oBAAK;AAAA;;6BAAYC,QAAS;AAAA;;;;;oCAG7BC,mBAAQ;AAAA;gBACZ,KAAK;AAAA;iBACb;AAAA;uBAGOA,mBAAa;AAAA;gBAAG,KAAK;AAAA;iBAC9B;AAAA;;;;;;;cAzCI,SAAO;AAAA;;;;;;;;;;;"}
@@ -21,19 +21,23 @@ const _sfc_main = defineComponent({
21
21
  const { elDropdown } = useDropdown();
22
22
  const _instance = getCurrentInstance();
23
23
  const itemRef = ref(null);
24
- const textContent = computed(() => unref(itemRef)?.textContent ?? "");
24
+ const textContent = computed(() => {
25
+ var _a, _b;
26
+ return (_b = (_a = unref(itemRef)) == null ? void 0 : _a.textContent) != null ? _b : "";
27
+ });
25
28
  const { onItemEnter, onItemLeave } = inject(DROPDOWN_INJECTION_KEY, void 0);
26
29
  const handlePointerMove = composeEventHandlers((e) => {
27
30
  emit("pointermove", e);
28
31
  return e.defaultPrevented;
29
32
  }, whenMouse((e) => {
33
+ var _a;
30
34
  if (props.disabled) {
31
35
  onItemLeave(e);
32
36
  } else {
33
37
  onItemEnter(e);
34
38
  if (!e.defaultPrevented) {
35
39
  ;
36
- e.currentTarget?.focus();
40
+ (_a = e.currentTarget) == null ? void 0 : _a.focus();
37
41
  }
38
42
  }
39
43
  }));
@@ -47,14 +51,15 @@ const _sfc_main = defineComponent({
47
51
  emit("click", e);
48
52
  return e.defaultPrevented;
49
53
  }, (e) => {
54
+ var _a, _b, _c;
50
55
  if (props.disabled) {
51
56
  e.stopImmediatePropagation();
52
57
  return;
53
58
  }
54
- if (elDropdown?.hideOnClick?.value) {
55
- elDropdown.handleClick?.();
59
+ if ((_a = elDropdown == null ? void 0 : elDropdown.hideOnClick) == null ? void 0 : _a.value) {
60
+ (_b = elDropdown.handleClick) == null ? void 0 : _b.call(elDropdown);
56
61
  }
57
- elDropdown.commandHandler?.(props.command, _instance, e);
62
+ (_c = elDropdown.commandHandler) == null ? void 0 : _c.call(elDropdown, props.command, _instance, e);
58
63
  });
59
64
  return {
60
65
  handleClick,
@@ -65,12 +70,13 @@ const _sfc_main = defineComponent({
65
70
  }
66
71
  });
67
72
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
73
+ var _a;
68
74
  const _component_el_dropdown_item_impl = resolveComponent("el-dropdown-item-impl");
69
75
  const _component_el_roving_focus_item = resolveComponent("el-roving-focus-item");
70
76
  const _component_el_dropdown_collection_item = resolveComponent("el-dropdown-collection-item");
71
77
  return openBlock(), createBlock(_component_el_dropdown_collection_item, {
72
78
  disabled: _ctx.disabled,
73
- "text-value": _ctx.textValue ?? _ctx.textContent
79
+ "text-value": (_a = _ctx.textValue) != null ? _a : _ctx.textContent
74
80
  }, {
75
81
  default: withCtx(() => [
76
82
  createVNode(_component_el_roving_focus_item, {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-item.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollectionItem","_openBlock","_createBlock","_withCtx","_mergeProps"],"mappings":";;;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,eAAe;AACvB,UAAM,YAAY;AAClB,UAAM,UAAU,IAAwB;AACxC,UAAM,cAAc,SAAS,MAAM,MAAM,UAAU,eAAe;AAClE,UAAM,EAAE,aAAa,gBAAgB,OACnC,wBACA;AAGF,UAAM,oBAAoB,qBACxB,CAAC,MAAoB;AACnB,WAAK,eAAe;AACpB,aAAO,EAAE;AAAA,OAEX,UAAU,CAAC,MAAM;AACf,UAAI,MAAM,UAAU;AAClB,oBAAY;AAAA,aACP;AACL,oBAAY;AACZ,YAAI,CAAC,EAAE,kBAAkB;AACvB;AAAC,UAAC,EAAE,eAA+B;AAAA;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB,CAAC,MAAoB;AACnB,WAAK,gBAAgB;AACrB,aAAO,EAAE;AAAA,OAEX,UAAU,CAAC,MAAM;AACf,kBAAY;AAAA;AAIhB,UAAM,cAAc,qBAClB,CAAC,MAAoB;AACnB,WAAK,SAAS;AACd,aAAO,EAAE;AAAA,OAEX,CAAC,MAAM;AACL,UAAI,MAAM,UAAU;AAClB,UAAE;AACF;AAAA;AAEF,UAAI,YAAY,aAAa,OAAO;AAClC,mBAAW;AAAA;AAEb,iBAAW,iBAAiB,MAAM,SAAS,WAAW;AAAA;AAI1D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;SArGDC,aAAUC,YAAQ;AAAA,IAClB,eAAY;AAAA;;aAEbC,QASuB;AAAA,kBATS,iCAAW;AAAA;;iBACzCA,QAOwB;AAAA,sBALrB,kCAAgCC;AAAA,YAChC,gBAAa;AAAA,YACb,eAAO;AAAA;;qBAERD,QAAQ;AAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dropdown-item.mjs","sources":["../../../../../../packages/components/dropdown/src/dropdown-item.vue"],"sourcesContent":["<template>\n <el-dropdown-collection-item\n :disabled=\"disabled\"\n :text-value=\"textValue ?? textContent\"\n >\n <el-roving-focus-item :focusable=\"!disabled\">\n <el-dropdown-item-impl\n v-bind=\"$props\"\n @pointerleave=\"handlePointerLeave\"\n @pointermove=\"handlePointerMove\"\n @click=\"handleClick\"\n >\n <slot />\n </el-dropdown-item-impl>\n </el-roving-focus-item>\n </el-dropdown-collection-item>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n ref,\n unref,\n} from 'vue'\nimport { ElRovingFocusItem } from '@element-plus/components/roving-focus-group'\nimport { composeEventHandlers, whenMouse } from '@element-plus/utils/dom'\nimport ElDropdownItemImpl from './dropdown-item-impl.vue'\nimport { useDropdown } from './useDropdown'\nimport {\n ElCollectionItem as ElDropdownCollectionItem,\n dropdownItemProps,\n} from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElDropdownItem',\n components: {\n ElDropdownCollectionItem,\n ElRovingFocusItem,\n ElDropdownItemImpl,\n },\n props: dropdownItemProps,\n emits: ['pointermove', 'pointerleave', 'click'],\n setup(props, { emit }) {\n const { elDropdown } = useDropdown()\n const _instance = getCurrentInstance()\n const itemRef = ref<HTMLElement | null>(null)\n const textContent = computed(() => unref(itemRef)?.textContent ?? '')\n const { onItemEnter, onItemLeave } = inject(\n DROPDOWN_INJECTION_KEY,\n undefined\n )!\n\n const handlePointerMove = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointermove', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n if (props.disabled) {\n onItemLeave(e)\n } else {\n onItemEnter(e)\n if (!e.defaultPrevented) {\n ;(e.currentTarget as HTMLElement)?.focus()\n }\n }\n })\n )\n\n const handlePointerLeave = composeEventHandlers(\n (e: PointerEvent) => {\n emit('pointerleave', e)\n return e.defaultPrevented\n },\n whenMouse((e) => {\n onItemLeave(e)\n })\n )\n\n const handleClick = composeEventHandlers(\n (e: PointerEvent) => {\n emit('click', e)\n return e.defaultPrevented\n },\n (e) => {\n if (props.disabled) {\n e.stopImmediatePropagation()\n return\n }\n if (elDropdown?.hideOnClick?.value) {\n elDropdown.handleClick?.()\n }\n elDropdown.commandHandler?.(props.command, _instance, e)\n }\n )\n\n return {\n handleClick,\n handlePointerMove,\n handlePointerLeave,\n textContent,\n }\n },\n})\n</script>\n"],"names":["ElDropdownCollectionItem"],"mappings":";;;;;;;;;;AAoCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,8BACVA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO,CAAC,eAAe,gBAAgB;AAAA,EACvC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,eAAe;AACvB,UAAM,YAAY;AAClB,UAAM,UAAU,IAAwB;AACxC,UAAM,cAAc,SAAS,MAAM;AACnC,UAAM,EAAE;AAKR,8BAA0B,qBACxB;AACE;AACA;AAAS;AAGT,UAAI,gBAAgB;AAClB;AAAY;AAEZ;AACA,eAAO;AACL;AAAC;AAAkC;AAAA;AAAA;AAM3C,UAAM,qBAAqB,qBACzB;AACE;AACA;AAAS,OAEX;AACE;AAAY;AAIhB;AAEI;AACA;AAAS,OAEX,CAAC;AACC,UAAI;AACF,UAAE;AACF;AAAA;AAEF,UAAI;AACF;AAAW;AAEb;AAAsD;AAI1D,WAAO;AAAA;AACL;AACA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;AArGiB;AACN;;;AAWU;AAToB;;;AAQjB;AALW,2BACnB;AAAA;AACN;;;AAEA;;;;;;;;;;;;;;;;;;;;;"}