element-plus 2.6.2 → 2.7.0

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 (722) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +1168 -821
  4. package/dist/index.full.min.js +22 -22
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +18 -18
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +1161 -822
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +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 +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hr.js +1 -1
  94. package/dist/locale/hr.min.js +1 -1
  95. package/dist/locale/hr.min.mjs +1 -1
  96. package/dist/locale/hr.mjs +1 -1
  97. package/dist/locale/hu.js +1 -1
  98. package/dist/locale/hu.min.js +1 -1
  99. package/dist/locale/hu.min.mjs +1 -1
  100. package/dist/locale/hu.mjs +1 -1
  101. package/dist/locale/hy-am.js +1 -1
  102. package/dist/locale/hy-am.min.js +1 -1
  103. package/dist/locale/hy-am.min.mjs +1 -1
  104. package/dist/locale/hy-am.mjs +1 -1
  105. package/dist/locale/id.js +1 -1
  106. package/dist/locale/id.min.js +1 -1
  107. package/dist/locale/id.min.mjs +1 -1
  108. package/dist/locale/id.mjs +1 -1
  109. package/dist/locale/it.js +1 -1
  110. package/dist/locale/it.min.js +1 -1
  111. package/dist/locale/it.min.mjs +1 -1
  112. package/dist/locale/it.mjs +1 -1
  113. package/dist/locale/ja.js +1 -1
  114. package/dist/locale/ja.min.js +1 -1
  115. package/dist/locale/ja.min.mjs +1 -1
  116. package/dist/locale/ja.mjs +1 -1
  117. package/dist/locale/kk.js +1 -1
  118. package/dist/locale/kk.min.js +1 -1
  119. package/dist/locale/kk.min.mjs +1 -1
  120. package/dist/locale/kk.mjs +1 -1
  121. package/dist/locale/km.js +1 -1
  122. package/dist/locale/km.min.js +1 -1
  123. package/dist/locale/km.min.mjs +1 -1
  124. package/dist/locale/km.mjs +1 -1
  125. package/dist/locale/ko.js +1 -1
  126. package/dist/locale/ko.min.js +1 -1
  127. package/dist/locale/ko.min.mjs +1 -1
  128. package/dist/locale/ko.mjs +1 -1
  129. package/dist/locale/ku.js +1 -1
  130. package/dist/locale/ku.min.js +1 -1
  131. package/dist/locale/ku.min.mjs +1 -1
  132. package/dist/locale/ku.mjs +1 -1
  133. package/dist/locale/ky.js +1 -1
  134. package/dist/locale/ky.min.js +1 -1
  135. package/dist/locale/ky.min.mjs +1 -1
  136. package/dist/locale/ky.mjs +1 -1
  137. package/dist/locale/lt.js +1 -1
  138. package/dist/locale/lt.min.js +1 -1
  139. package/dist/locale/lt.min.mjs +1 -1
  140. package/dist/locale/lt.mjs +1 -1
  141. package/dist/locale/lv.js +1 -1
  142. package/dist/locale/lv.min.js +1 -1
  143. package/dist/locale/lv.min.mjs +1 -1
  144. package/dist/locale/lv.mjs +1 -1
  145. package/dist/locale/mg.js +1 -1
  146. package/dist/locale/mg.min.js +1 -1
  147. package/dist/locale/mg.min.mjs +1 -1
  148. package/dist/locale/mg.mjs +1 -1
  149. package/dist/locale/mn.js +1 -1
  150. package/dist/locale/mn.min.js +1 -1
  151. package/dist/locale/mn.min.mjs +1 -1
  152. package/dist/locale/mn.mjs +1 -1
  153. package/dist/locale/nb-no.js +1 -1
  154. package/dist/locale/nb-no.min.js +1 -1
  155. package/dist/locale/nb-no.min.mjs +1 -1
  156. package/dist/locale/nb-no.mjs +1 -1
  157. package/dist/locale/nl.js +1 -1
  158. package/dist/locale/nl.min.js +1 -1
  159. package/dist/locale/nl.min.mjs +1 -1
  160. package/dist/locale/nl.mjs +1 -1
  161. package/dist/locale/pa.js +1 -1
  162. package/dist/locale/pa.min.js +1 -1
  163. package/dist/locale/pa.min.mjs +1 -1
  164. package/dist/locale/pa.mjs +1 -1
  165. package/dist/locale/pl.js +1 -1
  166. package/dist/locale/pl.min.js +1 -1
  167. package/dist/locale/pl.min.mjs +1 -1
  168. package/dist/locale/pl.mjs +1 -1
  169. package/dist/locale/pt-br.js +1 -1
  170. package/dist/locale/pt-br.min.js +1 -1
  171. package/dist/locale/pt-br.min.mjs +1 -1
  172. package/dist/locale/pt-br.mjs +1 -1
  173. package/dist/locale/pt.js +1 -1
  174. package/dist/locale/pt.min.js +1 -1
  175. package/dist/locale/pt.min.mjs +1 -1
  176. package/dist/locale/pt.mjs +1 -1
  177. package/dist/locale/ro.js +1 -1
  178. package/dist/locale/ro.min.js +1 -1
  179. package/dist/locale/ro.min.mjs +1 -1
  180. package/dist/locale/ro.mjs +1 -1
  181. package/dist/locale/ru.js +13 -13
  182. package/dist/locale/ru.min.js +1 -1
  183. package/dist/locale/ru.min.js.map +1 -1
  184. package/dist/locale/ru.min.mjs +1 -1
  185. package/dist/locale/ru.min.mjs.map +1 -1
  186. package/dist/locale/ru.mjs +13 -13
  187. package/dist/locale/sk.js +1 -1
  188. package/dist/locale/sk.min.js +1 -1
  189. package/dist/locale/sk.min.mjs +1 -1
  190. package/dist/locale/sk.mjs +1 -1
  191. package/dist/locale/sl.js +1 -1
  192. package/dist/locale/sl.min.js +1 -1
  193. package/dist/locale/sl.min.mjs +1 -1
  194. package/dist/locale/sl.mjs +1 -1
  195. package/dist/locale/sr.js +1 -1
  196. package/dist/locale/sr.min.js +1 -1
  197. package/dist/locale/sr.min.mjs +1 -1
  198. package/dist/locale/sr.mjs +1 -1
  199. package/dist/locale/sv.js +1 -1
  200. package/dist/locale/sv.min.js +1 -1
  201. package/dist/locale/sv.min.mjs +1 -1
  202. package/dist/locale/sv.mjs +1 -1
  203. package/dist/locale/sw.js +1 -1
  204. package/dist/locale/sw.min.js +1 -1
  205. package/dist/locale/sw.min.mjs +1 -1
  206. package/dist/locale/sw.mjs +1 -1
  207. package/dist/locale/ta.js +1 -1
  208. package/dist/locale/ta.min.js +1 -1
  209. package/dist/locale/ta.min.mjs +1 -1
  210. package/dist/locale/ta.mjs +1 -1
  211. package/dist/locale/th.js +1 -1
  212. package/dist/locale/th.min.js +1 -1
  213. package/dist/locale/th.min.mjs +1 -1
  214. package/dist/locale/th.mjs +1 -1
  215. package/dist/locale/tk.js +1 -1
  216. package/dist/locale/tk.min.js +1 -1
  217. package/dist/locale/tk.min.mjs +1 -1
  218. package/dist/locale/tk.mjs +1 -1
  219. package/dist/locale/tr.js +1 -1
  220. package/dist/locale/tr.min.js +1 -1
  221. package/dist/locale/tr.min.mjs +1 -1
  222. package/dist/locale/tr.mjs +1 -1
  223. package/dist/locale/ug-cn.js +1 -1
  224. package/dist/locale/ug-cn.min.js +1 -1
  225. package/dist/locale/ug-cn.min.mjs +1 -1
  226. package/dist/locale/ug-cn.mjs +1 -1
  227. package/dist/locale/uk.js +1 -1
  228. package/dist/locale/uk.min.js +1 -1
  229. package/dist/locale/uk.min.mjs +1 -1
  230. package/dist/locale/uk.mjs +1 -1
  231. package/dist/locale/uz-uz.js +1 -1
  232. package/dist/locale/uz-uz.min.js +1 -1
  233. package/dist/locale/uz-uz.min.mjs +1 -1
  234. package/dist/locale/uz-uz.mjs +1 -1
  235. package/dist/locale/vi.js +1 -1
  236. package/dist/locale/vi.min.js +1 -1
  237. package/dist/locale/vi.min.mjs +1 -1
  238. package/dist/locale/vi.mjs +1 -1
  239. package/dist/locale/zh-cn.js +1 -1
  240. package/dist/locale/zh-cn.min.js +1 -1
  241. package/dist/locale/zh-cn.min.mjs +1 -1
  242. package/dist/locale/zh-cn.mjs +1 -1
  243. package/dist/locale/zh-tw.js +1 -1
  244. package/dist/locale/zh-tw.min.js +1 -1
  245. package/dist/locale/zh-tw.min.mjs +1 -1
  246. package/dist/locale/zh-tw.mjs +1 -1
  247. package/es/component.mjs +3 -1
  248. package/es/component.mjs.map +1 -1
  249. package/es/components/alert/index.d.ts +4 -4
  250. package/es/components/alert/src/alert.d.ts +1 -1
  251. package/es/components/alert/src/alert.vue.d.ts +4 -4
  252. package/es/components/autocomplete/index.d.ts +65 -65
  253. package/es/components/autocomplete/src/autocomplete.vue.d.ts +65 -65
  254. package/es/components/badge/index.d.ts +44 -0
  255. package/es/components/badge/src/badge.d.ts +15 -1
  256. package/es/components/badge/src/badge.mjs +12 -1
  257. package/es/components/badge/src/badge.mjs.map +1 -1
  258. package/es/components/badge/src/badge.vue.d.ts +45 -0
  259. package/es/components/badge/src/badge2.mjs +17 -3
  260. package/es/components/badge/src/badge2.mjs.map +1 -1
  261. package/es/components/button/index.d.ts +6 -5
  262. package/es/components/button/src/button.d.ts +1 -1
  263. package/es/components/button/src/button.vue.d.ts +6 -5
  264. package/es/components/button/src/button2.mjs +15 -14
  265. package/es/components/button/src/button2.mjs.map +1 -1
  266. package/es/components/button/src/use-button.d.ts +1 -1
  267. package/es/components/calendar/index.d.ts +6 -5
  268. package/es/components/calendar/src/calendar.vue.d.ts +7 -6
  269. package/es/components/carousel/index.d.ts +1 -1
  270. package/es/components/carousel/src/carousel.vue.d.ts +1 -1
  271. package/es/components/cascader/index.d.ts +158 -142
  272. package/es/components/cascader/src/cascader.d.ts +4 -2
  273. package/es/components/cascader/src/cascader.mjs +5 -3
  274. package/es/components/cascader/src/cascader.mjs.map +1 -1
  275. package/es/components/cascader/src/cascader.vue.d.ts +79 -71
  276. package/es/components/cascader/src/cascader2.mjs +5 -2
  277. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  278. package/es/components/color-picker/index.d.ts +39 -38
  279. package/es/components/color-picker/src/color-picker.vue.d.ts +39 -38
  280. package/es/components/config-provider/index.d.ts +6 -1
  281. package/es/components/config-provider/src/config-provider-props.d.ts +2 -0
  282. package/es/components/config-provider/src/config-provider-props.mjs +3 -1
  283. package/es/components/config-provider/src/config-provider-props.mjs.map +1 -1
  284. package/es/components/config-provider/src/config-provider.d.ts +6 -1
  285. package/es/components/config-provider/src/hooks/use-global-config.mjs +1 -2
  286. package/es/components/config-provider/src/hooks/use-global-config.mjs.map +1 -1
  287. package/es/components/date-picker/index.d.ts +10 -0
  288. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +18 -17
  289. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +2 -0
  290. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  291. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +18 -17
  292. package/es/components/date-picker/src/date-picker.d.ts +5 -0
  293. package/es/components/date-picker/src/panel-utils.d.ts +36 -34
  294. package/es/components/date-picker/src/props/date-picker.d.ts +2 -0
  295. package/es/components/dialog/index.d.ts +1 -1
  296. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  297. package/es/components/drawer/index.d.ts +1 -1
  298. package/es/components/drawer/src/drawer.vue.d.ts +1 -1
  299. package/es/components/dropdown/index.d.ts +14 -14
  300. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  301. package/es/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
  302. package/es/components/dropdown/src/dropdown.vue.d.ts +12 -12
  303. package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  304. package/es/components/form/index.d.ts +12 -12
  305. package/es/components/form/src/form-item.d.ts +1 -1
  306. package/es/components/form/src/form-item.vue.d.ts +5 -5
  307. package/es/components/icon/style/css.d.ts +0 -1
  308. package/es/components/icon/style/css.mjs +0 -1
  309. package/es/components/icon/style/css.mjs.map +1 -1
  310. package/es/components/icon/style/index.d.ts +0 -1
  311. package/es/components/icon/style/index.mjs +0 -1
  312. package/es/components/icon/style/index.mjs.map +1 -1
  313. package/es/components/image/index.d.ts +1 -1
  314. package/es/components/image/src/image.vue.d.ts +1 -1
  315. package/es/components/index.d.ts +1 -0
  316. package/es/components/index.mjs +4 -2
  317. package/es/components/index.mjs.map +1 -1
  318. package/es/components/input/index.d.ts +12 -12
  319. package/es/components/input/src/input.vue.d.ts +12 -12
  320. package/es/components/input-number/index.d.ts +46 -46
  321. package/es/components/input-number/src/input-number.vue.d.ts +46 -46
  322. package/es/components/input-number/src/input-number2.mjs +17 -13
  323. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  324. package/es/components/input-number/style/css.d.ts +1 -1
  325. package/es/components/input-number/style/css.mjs +1 -1
  326. package/es/components/input-number/style/index.d.ts +1 -1
  327. package/es/components/input-number/style/index.mjs +1 -1
  328. package/es/components/message/src/message.d.ts +12 -7
  329. package/es/components/message/src/message.mjs +6 -1
  330. package/es/components/message/src/message.mjs.map +1 -1
  331. package/es/components/message/src/message.vue.d.ts +80 -22
  332. package/es/components/message/src/message2.mjs +1 -0
  333. package/es/components/message/src/message2.mjs.map +1 -1
  334. package/es/components/message-box/src/index.vue.d.ts +1 -1
  335. package/es/components/notification/src/notification.d.ts +1 -1
  336. package/es/components/notification/src/notification.vue.d.ts +4 -4
  337. package/es/components/pagination/src/components/jumper.vue.d.ts +12 -12
  338. package/es/components/pagination/src/components/sizes.vue.d.ts +32 -27
  339. package/es/components/popconfirm/index.d.ts +24 -23
  340. package/es/components/popconfirm/src/popconfirm.vue.d.ts +24 -23
  341. package/es/components/popover/index.d.ts +18 -18
  342. package/es/components/popover/src/popover.vue.d.ts +18 -18
  343. package/es/components/popper/src/content.vue.d.ts +6 -6
  344. package/es/components/result/index.d.ts +4 -4
  345. package/es/components/result/src/result.d.ts +1 -1
  346. package/es/components/result/src/result.vue.d.ts +4 -4
  347. package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  348. package/es/components/scrollbar/index.mjs +1 -1
  349. package/es/components/scrollbar/src/bar2.mjs +1 -1
  350. package/es/components/scrollbar/src/thumb.mjs +130 -11
  351. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  352. package/es/components/scrollbar/src/thumb2.mjs +11 -130
  353. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  354. package/es/components/segmented/index.d.ts +115 -0
  355. package/es/components/segmented/index.mjs +9 -0
  356. package/es/components/segmented/index.mjs.map +1 -0
  357. package/es/components/segmented/src/segmented.d.ts +26 -0
  358. package/es/components/segmented/src/segmented.mjs +170 -0
  359. package/es/components/segmented/src/segmented.mjs.map +1 -0
  360. package/es/components/segmented/src/segmented.vue.d.ts +115 -0
  361. package/es/components/segmented/src/segmented2.mjs +36 -0
  362. package/es/components/segmented/src/segmented2.mjs.map +1 -0
  363. package/es/components/segmented/src/types.d.ts +6 -0
  364. package/es/components/segmented/src/types.mjs +2 -0
  365. package/es/components/segmented/src/types.mjs.map +1 -0
  366. package/es/components/segmented/style/css.d.ts +2 -0
  367. package/es/components/segmented/style/css.mjs +3 -0
  368. package/es/components/segmented/style/css.mjs.map +1 -0
  369. package/es/components/segmented/style/index.d.ts +2 -0
  370. package/es/components/segmented/style/index.mjs +3 -0
  371. package/es/components/segmented/style/index.mjs.map +1 -0
  372. package/es/components/select/index.d.ts +32 -27
  373. package/es/components/select/src/select.d.ts +2 -0
  374. package/es/components/select/src/select.mjs +3 -1
  375. package/es/components/select/src/select.mjs.map +1 -1
  376. package/es/components/select/src/select.vue.d.ts +32 -27
  377. package/es/components/select/src/useSelect.d.ts +25 -25
  378. package/es/components/select/src/useSelect.mjs +9 -7
  379. package/es/components/select/src/useSelect.mjs.map +1 -1
  380. package/es/components/select-v2/index.d.ts +64 -54
  381. package/es/components/select-v2/src/defaults.d.ts +2 -0
  382. package/es/components/select-v2/src/defaults.mjs +3 -1
  383. package/es/components/select-v2/src/defaults.mjs.map +1 -1
  384. package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
  385. package/es/components/select-v2/src/select.vue.d.ts +32 -27
  386. package/es/components/select-v2/src/useSelect.d.ts +25 -25
  387. package/es/components/select-v2/src/useSelect.mjs +9 -8
  388. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  389. package/es/components/slider/index.d.ts +76 -76
  390. package/es/components/slider/src/button.vue.d.ts +6 -6
  391. package/es/components/slider/src/composables/use-slide.d.ts +24 -24
  392. package/es/components/slider/src/slider.vue.d.ts +76 -76
  393. package/es/components/steps/index.d.ts +16 -16
  394. package/es/components/steps/src/item.d.ts +1 -1
  395. package/es/components/steps/src/item.vue.d.ts +4 -4
  396. package/es/components/steps/src/steps.d.ts +2 -2
  397. package/es/components/steps/src/steps.vue.d.ts +8 -8
  398. package/es/components/table/index.d.ts +1 -1
  399. package/es/components/table/src/filter-panel.vue.d.ts +12 -12
  400. package/es/components/table/src/table-body/index.mjs +7 -4
  401. package/es/components/table/src/table-body/index.mjs.map +1 -1
  402. package/es/components/table/src/table.vue.d.ts +1 -1
  403. package/es/components/table-v2/src/composables/use-row.d.ts +7 -4
  404. package/es/components/table-v2/src/composables/use-row.mjs +20 -4
  405. package/es/components/table-v2/src/composables/use-row.mjs.map +1 -1
  406. package/es/components/table-v2/src/renderers/row.d.ts +3 -2
  407. package/es/components/table-v2/src/renderers/row.mjs +22 -4
  408. package/es/components/table-v2/src/renderers/row.mjs.map +1 -1
  409. package/es/components/table-v2/src/table-v2.mjs +0 -3
  410. package/es/components/table-v2/src/table-v2.mjs.map +1 -1
  411. package/es/components/table-v2/src/tokens.d.ts +0 -2
  412. package/es/components/table-v2/src/tokens.mjs.map +1 -1
  413. package/es/components/table-v2/src/use-table.d.ts +0 -1
  414. package/es/components/table-v2/src/use-table.mjs +10 -5
  415. package/es/components/table-v2/src/use-table.mjs.map +1 -1
  416. package/es/components/tag/index.d.ts +1 -1
  417. package/es/components/tag/src/tag.vue.d.ts +1 -1
  418. package/es/components/time-picker/index.d.ts +10 -0
  419. package/es/components/time-picker/src/common/picker.mjs +6 -4
  420. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  421. package/es/components/time-picker/src/common/picker.vue.d.ts +42 -34
  422. package/es/components/time-picker/src/common/props.d.ts +2 -30
  423. package/es/components/time-picker/src/common/props.mjs +3 -1
  424. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  425. package/es/components/time-picker/src/time-picker.d.ts +5 -0
  426. package/es/components/time-select/index.d.ts +148 -114
  427. package/es/components/time-select/src/time-select.d.ts +2 -0
  428. package/es/components/time-select/src/time-select.mjs +3 -1
  429. package/es/components/time-select/src/time-select.mjs.map +1 -1
  430. package/es/components/time-select/src/time-select.vue.d.ts +74 -57
  431. package/es/components/time-select/src/time-select2.mjs +3 -1
  432. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  433. package/es/components/tooltip/index.d.ts +6 -6
  434. package/es/components/tooltip/src/content.vue.d.ts +6 -6
  435. package/es/components/tooltip/src/tooltip.vue.d.ts +6 -6
  436. package/es/components/tooltip-v2/index.d.ts +4 -4
  437. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +4 -4
  438. package/es/components/tour/index.d.ts +13 -11
  439. package/es/components/tour/src/content.vue.d.ts +1 -1
  440. package/es/components/tour/src/step.vue.d.ts +6 -5
  441. package/es/components/tour/src/tour.vue.d.ts +1 -1
  442. package/es/components/transfer/index.d.ts +66 -65
  443. package/es/components/transfer/src/transfer-panel.vue.d.ts +12 -12
  444. package/es/components/transfer/src/transfer.vue.d.ts +66 -65
  445. package/es/components/tree/index.d.ts +16 -0
  446. package/es/components/tree/src/model/node.d.ts +2 -0
  447. package/es/components/tree/src/model/node.mjs +17 -1
  448. package/es/components/tree/src/model/node.mjs.map +1 -1
  449. package/es/components/tree/src/model/useDragNode.mjs +6 -0
  450. package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
  451. package/es/components/tree/src/tree-node.mjs +1 -0
  452. package/es/components/tree/src/tree-node.mjs.map +1 -1
  453. package/es/components/tree/src/tree.vue.d.ts +8 -0
  454. package/es/components/tree-v2/index.d.ts +1 -1
  455. package/es/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  456. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  457. package/es/components/upload/index.d.ts +5 -5
  458. package/es/components/upload/index.mjs +1 -1
  459. package/es/components/upload/src/upload-content.vue.d.ts +1 -1
  460. package/es/components/upload/src/upload-list.mjs +29 -178
  461. package/es/components/upload/src/upload-list.mjs.map +1 -1
  462. package/es/components/upload/src/upload-list2.mjs +178 -29
  463. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  464. package/es/components/upload/src/upload.vue.d.ts +5 -5
  465. package/es/components/upload/src/upload2.mjs +1 -1
  466. package/es/hooks/index.d.ts +1 -0
  467. package/es/hooks/index.mjs +1 -0
  468. package/es/hooks/index.mjs.map +1 -1
  469. package/es/hooks/use-empty-values/index.d.ts +13 -0
  470. package/es/hooks/use-empty-values/index.mjs +50 -0
  471. package/es/hooks/use-empty-values/index.mjs.map +1 -0
  472. package/es/index.mjs +5 -2
  473. package/es/index.mjs.map +1 -1
  474. package/es/locale/lang/ru.mjs +12 -12
  475. package/es/locale/lang/ru.mjs.map +1 -1
  476. package/es/version.d.ts +1 -1
  477. package/es/version.mjs +1 -1
  478. package/es/version.mjs.map +1 -1
  479. package/lib/component.js +3 -1
  480. package/lib/component.js.map +1 -1
  481. package/lib/components/alert/index.d.ts +4 -4
  482. package/lib/components/alert/src/alert.d.ts +1 -1
  483. package/lib/components/alert/src/alert.vue.d.ts +4 -4
  484. package/lib/components/autocomplete/index.d.ts +65 -65
  485. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +65 -65
  486. package/lib/components/badge/index.d.ts +44 -0
  487. package/lib/components/badge/src/badge.d.ts +15 -1
  488. package/lib/components/badge/src/badge.js +11 -0
  489. package/lib/components/badge/src/badge.js.map +1 -1
  490. package/lib/components/badge/src/badge.vue.d.ts +45 -0
  491. package/lib/components/badge/src/badge2.js +16 -2
  492. package/lib/components/badge/src/badge2.js.map +1 -1
  493. package/lib/components/button/index.d.ts +6 -5
  494. package/lib/components/button/src/button.d.ts +1 -1
  495. package/lib/components/button/src/button.vue.d.ts +6 -5
  496. package/lib/components/button/src/button2.js +14 -13
  497. package/lib/components/button/src/button2.js.map +1 -1
  498. package/lib/components/button/src/use-button.d.ts +1 -1
  499. package/lib/components/calendar/index.d.ts +6 -5
  500. package/lib/components/calendar/src/calendar.vue.d.ts +7 -6
  501. package/lib/components/carousel/index.d.ts +1 -1
  502. package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
  503. package/lib/components/cascader/index.d.ts +158 -142
  504. package/lib/components/cascader/src/cascader.d.ts +4 -2
  505. package/lib/components/cascader/src/cascader.js +5 -3
  506. package/lib/components/cascader/src/cascader.js.map +1 -1
  507. package/lib/components/cascader/src/cascader.vue.d.ts +79 -71
  508. package/lib/components/cascader/src/cascader2.js +23 -20
  509. package/lib/components/cascader/src/cascader2.js.map +1 -1
  510. package/lib/components/color-picker/index.d.ts +39 -38
  511. package/lib/components/color-picker/src/color-picker.vue.d.ts +39 -38
  512. package/lib/components/config-provider/index.d.ts +6 -1
  513. package/lib/components/config-provider/src/config-provider-props.d.ts +2 -0
  514. package/lib/components/config-provider/src/config-provider-props.js +3 -1
  515. package/lib/components/config-provider/src/config-provider-props.js.map +1 -1
  516. package/lib/components/config-provider/src/config-provider.d.ts +6 -1
  517. package/lib/components/config-provider/src/hooks/use-global-config.js +1 -2
  518. package/lib/components/config-provider/src/hooks/use-global-config.js.map +1 -1
  519. package/lib/components/date-picker/index.d.ts +10 -0
  520. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +18 -17
  521. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +2 -0
  522. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  523. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +18 -17
  524. package/lib/components/date-picker/src/date-picker.d.ts +5 -0
  525. package/lib/components/date-picker/src/panel-utils.d.ts +36 -34
  526. package/lib/components/date-picker/src/props/date-picker.d.ts +2 -0
  527. package/lib/components/dialog/index.d.ts +1 -1
  528. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  529. package/lib/components/drawer/index.d.ts +1 -1
  530. package/lib/components/drawer/src/drawer.vue.d.ts +1 -1
  531. package/lib/components/dropdown/index.d.ts +14 -14
  532. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +1 -1
  533. package/lib/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
  534. package/lib/components/dropdown/src/dropdown.vue.d.ts +12 -12
  535. package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
  536. package/lib/components/form/index.d.ts +12 -12
  537. package/lib/components/form/src/form-item.d.ts +1 -1
  538. package/lib/components/form/src/form-item.vue.d.ts +5 -5
  539. package/lib/components/icon/style/css.d.ts +0 -1
  540. package/lib/components/icon/style/css.js +0 -1
  541. package/lib/components/icon/style/css.js.map +1 -1
  542. package/lib/components/icon/style/index.d.ts +0 -1
  543. package/lib/components/icon/style/index.js +0 -1
  544. package/lib/components/icon/style/index.js.map +1 -1
  545. package/lib/components/image/index.d.ts +1 -1
  546. package/lib/components/image/src/image.vue.d.ts +1 -1
  547. package/lib/components/index.d.ts +1 -0
  548. package/lib/components/index.js +20 -15
  549. package/lib/components/index.js.map +1 -1
  550. package/lib/components/input/index.d.ts +12 -12
  551. package/lib/components/input/src/input.vue.d.ts +12 -12
  552. package/lib/components/input-number/index.d.ts +46 -46
  553. package/lib/components/input-number/src/input-number.vue.d.ts +46 -46
  554. package/lib/components/input-number/src/input-number2.js +16 -12
  555. package/lib/components/input-number/src/input-number2.js.map +1 -1
  556. package/lib/components/input-number/style/css.d.ts +1 -1
  557. package/lib/components/input-number/style/css.js +1 -1
  558. package/lib/components/input-number/style/index.d.ts +1 -1
  559. package/lib/components/input-number/style/index.js +1 -1
  560. package/lib/components/message/src/message.d.ts +12 -7
  561. package/lib/components/message/src/message.js +6 -1
  562. package/lib/components/message/src/message.js.map +1 -1
  563. package/lib/components/message/src/message.vue.d.ts +80 -22
  564. package/lib/components/message/src/message2.js +1 -0
  565. package/lib/components/message/src/message2.js.map +1 -1
  566. package/lib/components/message-box/src/index.vue.d.ts +1 -1
  567. package/lib/components/notification/src/notification.d.ts +1 -1
  568. package/lib/components/notification/src/notification.vue.d.ts +4 -4
  569. package/lib/components/pagination/src/components/jumper.vue.d.ts +12 -12
  570. package/lib/components/pagination/src/components/sizes.vue.d.ts +32 -27
  571. package/lib/components/popconfirm/index.d.ts +24 -23
  572. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +24 -23
  573. package/lib/components/popover/index.d.ts +18 -18
  574. package/lib/components/popover/src/popover.vue.d.ts +18 -18
  575. package/lib/components/popper/src/content.vue.d.ts +6 -6
  576. package/lib/components/result/index.d.ts +4 -4
  577. package/lib/components/result/src/result.d.ts +1 -1
  578. package/lib/components/result/src/result.vue.d.ts +4 -4
  579. package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
  580. package/lib/components/scrollbar/index.js +1 -1
  581. package/lib/components/scrollbar/src/bar2.js +1 -1
  582. package/lib/components/scrollbar/src/thumb.js +130 -11
  583. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  584. package/lib/components/scrollbar/src/thumb2.js +11 -130
  585. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  586. package/lib/components/segmented/index.d.ts +115 -0
  587. package/lib/components/segmented/index.js +16 -0
  588. package/lib/components/segmented/index.js.map +1 -0
  589. package/lib/components/segmented/src/segmented.d.ts +26 -0
  590. package/lib/components/segmented/src/segmented.js +174 -0
  591. package/lib/components/segmented/src/segmented.js.map +1 -0
  592. package/lib/components/segmented/src/segmented.vue.d.ts +115 -0
  593. package/lib/components/segmented/src/segmented2.js +41 -0
  594. package/lib/components/segmented/src/segmented2.js.map +1 -0
  595. package/lib/components/segmented/src/types.d.ts +6 -0
  596. package/lib/components/segmented/src/types.js +3 -0
  597. package/lib/components/segmented/src/types.js.map +1 -0
  598. package/lib/components/segmented/style/css.d.ts +2 -0
  599. package/lib/components/segmented/style/css.js +6 -0
  600. package/lib/components/segmented/style/css.js.map +1 -0
  601. package/lib/components/segmented/style/index.d.ts +2 -0
  602. package/lib/components/segmented/style/index.js +6 -0
  603. package/lib/components/segmented/style/index.js.map +1 -0
  604. package/lib/components/select/index.d.ts +32 -27
  605. package/lib/components/select/src/select.d.ts +2 -0
  606. package/lib/components/select/src/select.js +3 -1
  607. package/lib/components/select/src/select.js.map +1 -1
  608. package/lib/components/select/src/select.vue.d.ts +32 -27
  609. package/lib/components/select/src/useSelect.d.ts +25 -25
  610. package/lib/components/select/src/useSelect.js +8 -6
  611. package/lib/components/select/src/useSelect.js.map +1 -1
  612. package/lib/components/select-v2/index.d.ts +64 -54
  613. package/lib/components/select-v2/src/defaults.d.ts +2 -0
  614. package/lib/components/select-v2/src/defaults.js +3 -1
  615. package/lib/components/select-v2/src/defaults.js.map +1 -1
  616. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  617. package/lib/components/select-v2/src/select.vue.d.ts +32 -27
  618. package/lib/components/select-v2/src/useSelect.d.ts +25 -25
  619. package/lib/components/select-v2/src/useSelect.js +10 -9
  620. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  621. package/lib/components/slider/index.d.ts +76 -76
  622. package/lib/components/slider/src/button.vue.d.ts +6 -6
  623. package/lib/components/slider/src/composables/use-slide.d.ts +24 -24
  624. package/lib/components/slider/src/slider.vue.d.ts +76 -76
  625. package/lib/components/steps/index.d.ts +16 -16
  626. package/lib/components/steps/src/item.d.ts +1 -1
  627. package/lib/components/steps/src/item.vue.d.ts +4 -4
  628. package/lib/components/steps/src/steps.d.ts +2 -2
  629. package/lib/components/steps/src/steps.vue.d.ts +8 -8
  630. package/lib/components/table/index.d.ts +1 -1
  631. package/lib/components/table/src/filter-panel.vue.d.ts +12 -12
  632. package/lib/components/table/src/table-body/index.js +7 -4
  633. package/lib/components/table/src/table-body/index.js.map +1 -1
  634. package/lib/components/table/src/table.vue.d.ts +1 -1
  635. package/lib/components/table-v2/src/composables/use-row.d.ts +7 -4
  636. package/lib/components/table-v2/src/composables/use-row.js +20 -4
  637. package/lib/components/table-v2/src/composables/use-row.js.map +1 -1
  638. package/lib/components/table-v2/src/renderers/row.d.ts +3 -2
  639. package/lib/components/table-v2/src/renderers/row.js +22 -4
  640. package/lib/components/table-v2/src/renderers/row.js.map +1 -1
  641. package/lib/components/table-v2/src/table-v2.js +0 -3
  642. package/lib/components/table-v2/src/table-v2.js.map +1 -1
  643. package/lib/components/table-v2/src/tokens.d.ts +0 -2
  644. package/lib/components/table-v2/src/tokens.js.map +1 -1
  645. package/lib/components/table-v2/src/use-table.d.ts +0 -1
  646. package/lib/components/table-v2/src/use-table.js +9 -4
  647. package/lib/components/table-v2/src/use-table.js.map +1 -1
  648. package/lib/components/tag/index.d.ts +1 -1
  649. package/lib/components/tag/src/tag.vue.d.ts +1 -1
  650. package/lib/components/time-picker/index.d.ts +10 -0
  651. package/lib/components/time-picker/src/common/picker.js +15 -13
  652. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  653. package/lib/components/time-picker/src/common/picker.vue.d.ts +42 -34
  654. package/lib/components/time-picker/src/common/props.d.ts +2 -30
  655. package/lib/components/time-picker/src/common/props.js +3 -1
  656. package/lib/components/time-picker/src/common/props.js.map +1 -1
  657. package/lib/components/time-picker/src/time-picker.d.ts +5 -0
  658. package/lib/components/time-select/index.d.ts +148 -114
  659. package/lib/components/time-select/src/time-select.d.ts +2 -0
  660. package/lib/components/time-select/src/time-select.js +3 -1
  661. package/lib/components/time-select/src/time-select.js.map +1 -1
  662. package/lib/components/time-select/src/time-select.vue.d.ts +74 -57
  663. package/lib/components/time-select/src/time-select2.js +3 -1
  664. package/lib/components/time-select/src/time-select2.js.map +1 -1
  665. package/lib/components/tooltip/index.d.ts +6 -6
  666. package/lib/components/tooltip/src/content.vue.d.ts +6 -6
  667. package/lib/components/tooltip/src/tooltip.vue.d.ts +6 -6
  668. package/lib/components/tooltip-v2/index.d.ts +4 -4
  669. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +4 -4
  670. package/lib/components/tour/index.d.ts +13 -11
  671. package/lib/components/tour/src/content.vue.d.ts +1 -1
  672. package/lib/components/tour/src/step.vue.d.ts +6 -5
  673. package/lib/components/tour/src/tour.vue.d.ts +1 -1
  674. package/lib/components/transfer/index.d.ts +66 -65
  675. package/lib/components/transfer/src/transfer-panel.vue.d.ts +12 -12
  676. package/lib/components/transfer/src/transfer.vue.d.ts +66 -65
  677. package/lib/components/tree/index.d.ts +16 -0
  678. package/lib/components/tree/src/model/node.d.ts +2 -0
  679. package/lib/components/tree/src/model/node.js +17 -1
  680. package/lib/components/tree/src/model/node.js.map +1 -1
  681. package/lib/components/tree/src/model/useDragNode.js +6 -0
  682. package/lib/components/tree/src/model/useDragNode.js.map +1 -1
  683. package/lib/components/tree/src/tree-node.js +1 -0
  684. package/lib/components/tree/src/tree-node.js.map +1 -1
  685. package/lib/components/tree/src/tree.vue.d.ts +8 -0
  686. package/lib/components/tree-v2/index.d.ts +1 -1
  687. package/lib/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  688. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  689. package/lib/components/upload/index.d.ts +5 -5
  690. package/lib/components/upload/index.js +1 -1
  691. package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
  692. package/lib/components/upload/src/upload-list.js +30 -178
  693. package/lib/components/upload/src/upload-list.js.map +1 -1
  694. package/lib/components/upload/src/upload-list2.js +178 -30
  695. package/lib/components/upload/src/upload-list2.js.map +1 -1
  696. package/lib/components/upload/src/upload.vue.d.ts +5 -5
  697. package/lib/components/upload/src/upload2.js +1 -1
  698. package/lib/hooks/index.d.ts +1 -0
  699. package/lib/hooks/index.js +6 -0
  700. package/lib/hooks/index.js.map +1 -1
  701. package/lib/hooks/use-empty-values/index.d.ts +13 -0
  702. package/lib/hooks/use-empty-values/index.js +58 -0
  703. package/lib/hooks/use-empty-values/index.js.map +1 -0
  704. package/lib/index.js +118 -107
  705. package/lib/index.js.map +1 -1
  706. package/lib/locale/lang/ru.js +12 -12
  707. package/lib/locale/lang/ru.js.map +1 -1
  708. package/lib/version.d.ts +1 -1
  709. package/lib/version.js +1 -1
  710. package/lib/version.js.map +1 -1
  711. package/package.json +2 -2
  712. package/tags.json +1 -1
  713. package/theme-chalk/el-input-number.css +1 -1
  714. package/theme-chalk/el-message.css +1 -1
  715. package/theme-chalk/el-segmented.css +1 -0
  716. package/theme-chalk/index.css +1 -1
  717. package/theme-chalk/src/common/var.scss +19 -0
  718. package/theme-chalk/src/index.scss +2 -1
  719. package/theme-chalk/src/input-number.scss +5 -3
  720. package/theme-chalk/src/message.scss +6 -0
  721. package/theme-chalk/src/segmented.scss +160 -0
  722. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-v2.js","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["// @ts-nocheck\nimport { defineComponent, provide, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n TableV2HeaderRendererParams,\n TableV2HeaderRowCellRendererParams,\n TableV2RowCellRenderParam,\n} from './components'\n\nconst COMPONENT_NAME = 'ElTableV2'\n\nconst TableV2 = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2Props,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const {\n columnsStyles,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n data,\n depthMap,\n expandedRowKeys,\n hasFixedColumns,\n hoveringRowKey,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n isDynamic,\n isResetting,\n isScrolling,\n\n bodyWidth,\n emptyStyle,\n rootStyle,\n headerWidth,\n footerHeight,\n\n showEmpty,\n\n // exposes\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n\n getRowHeight,\n onColumnSorted,\n onRowHeightChange,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onScroll,\n onVerticalScroll,\n } = useTable(props)\n\n expose({\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo,\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft,\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n })\n\n provide(TableV2InjectionKey, {\n ns,\n isResetting,\n hoveringRowKey,\n isScrolling,\n })\n\n return () => {\n const {\n cache,\n cellProps,\n estimatedRowHeight,\n expandColumnKey,\n fixedData,\n headerHeight,\n headerClass,\n headerProps,\n headerCellProps,\n sortBy,\n sortState,\n rowHeight,\n rowClass,\n rowEventHandlers,\n rowKey,\n rowProps,\n scrollbarAlwaysOn,\n indentSize,\n iconSize,\n useIsScrolling,\n vScrollbarSize,\n width,\n } = props\n\n const _data = unref(data)\n\n const mainTableProps = {\n cache,\n class: ns.e('main'),\n columns: unref(mainColumns),\n data: _data,\n fixedData,\n estimatedRowHeight,\n bodyWidth: unref(bodyWidth) + vScrollbarSize,\n headerHeight,\n headerWidth: unref(headerWidth),\n height: unref(mainTableHeight),\n mainTableRef,\n rowKey,\n rowHeight,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width,\n getRowHeight,\n onRowsRendered,\n onScroll,\n }\n\n const leftColumnsWidth = unref(leftTableWidth)\n const _fixedTableHeight = unref(fixedTableHeight)\n\n const leftTableProps = {\n cache,\n class: ns.e('left'),\n columns: unref(fixedColumnsOnLeft),\n data: _data,\n estimatedRowHeight,\n leftTableRef,\n rowHeight,\n bodyWidth: leftColumnsWidth,\n headerWidth: leftColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width: leftColumnsWidth,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n\n const rightColumnsWidth = unref(rightTableWidth)\n const rightColumnsWidthWithScrollbar = rightColumnsWidth + vScrollbarSize\n\n const rightTableProps = {\n cache,\n class: ns.e('right'),\n columns: unref(fixedColumnsOnRight),\n data: _data,\n estimatedRowHeight,\n rightTableRef,\n rowHeight,\n bodyWidth: rightColumnsWidthWithScrollbar,\n headerWidth: rightColumnsWidthWithScrollbar,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n width: rightColumnsWidthWithScrollbar,\n style: `--${unref(\n ns.namespace\n )}-table-scrollbar-size: ${vScrollbarSize}px`,\n useIsScrolling,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n const _columnsStyles = unref(columnsStyles)\n\n const tableRowProps = {\n ns,\n depthMap: unref(depthMap),\n columnsStyles: _columnsStyles,\n expandColumnKey,\n expandedRowKeys: unref(expandedRowKeys),\n estimatedRowHeight,\n hasFixedColumns: unref(hasFixedColumns),\n hoveringRowKey: unref(hoveringRowKey),\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n onRowHovered,\n onRowExpanded,\n onRowHeightChange,\n }\n\n const tableCellProps = {\n cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n expandedRowKeys: unref(expandedRowKeys),\n ns,\n }\n\n const tableHeaderProps = {\n ns,\n headerClass,\n headerProps,\n columnsStyles: _columnsStyles,\n }\n\n const tableHeaderCellProps = {\n ns,\n\n sortBy,\n sortState,\n headerCellProps,\n onColumnSorted,\n }\n\n const tableSlots = {\n row: (props: TableGridRowSlotParams) => (\n <Row {...props} {...tableRowProps}>\n {{\n row: slots.row,\n cell: (props: TableV2RowCellRenderParam) =>\n slots.cell ? (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots.cell(props)}\n </Cell>\n ) : (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Row>\n ),\n header: (props: TableV2HeaderRendererParams) => (\n <Header {...props} {...tableHeaderProps}>\n {{\n header: slots.header,\n cell: (props: TableV2HeaderRowCellRendererParams) =>\n slots['header-cell'] ? (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots['header-cell'](props)}\n </HeaderCell>\n ) : (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Header>\n ),\n }\n\n const rootKls = [\n props.class,\n ns.b(),\n ns.e('root'),\n {\n [ns.is('dynamic')]: unref(isDynamic),\n },\n ]\n\n const footerProps = {\n class: ns.e('footer'),\n style: unref(footerHeight),\n }\n\n return (\n <div class={rootKls} style={unref(rootStyle)}>\n <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n {slots.footer && (\n <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n )}\n {unref(showEmpty) && (\n <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n {{ default: slots.empty }}\n </Empty>\n )}\n {slots.overlay && (\n <Overlay class={ns.e('overlay')}>\n {{ default: slots.overlay }}\n </Overlay>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft: (scrollLeft: number) => void\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop: (scrollTop: number) => void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["Empty","Overlay","_isVNode","COMPONENT_NAME","TableV2","name","props","expose","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","hoveringRowKey","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","headerWidth","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","useTable","onRowExpanded","onRowsRendered","onScroll","onVerticalScroll","TableV2InjectionKey","unref","cache","cellProps","estimatedRowHeight","expandColumnKey","fixedData","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","class","columns","height","scrollbarStartGap","scrollbarEndGap","_data","style","tableRowProps","ns","_createVNode","Cell","_mergeProps","onRowHeightChange","Header","HeaderCell","_columnsStyles","row","cell","LeftTable","slots","Footer","header"],"mappings":"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"}
1
+ {"version":3,"file":"table-v2.js","sources":["../../../../../../packages/components/table-v2/src/table-v2.tsx"],"sourcesContent":["// @ts-nocheck\nimport { defineComponent, provide, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useTable } from './use-table'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2Props } from './table'\n// renderers\nimport MainTable from './renderers/main-table'\nimport LeftTable from './renderers/left-table'\nimport RightTable from './renderers/right-table'\nimport Row from './renderers/row'\nimport Cell from './renderers/cell'\nimport Header from './renderers/header'\nimport HeaderCell from './renderers/header-cell'\nimport Footer from './renderers/footer'\nimport Empty from './renderers/empty'\nimport Overlay from './renderers/overlay'\n\nimport type { TableGridRowSlotParams } from './table-grid'\nimport type { ScrollStrategy } from './composables/use-scrollbar'\nimport type {\n TableV2HeaderRendererParams,\n TableV2HeaderRowCellRendererParams,\n TableV2RowCellRenderParam,\n} from './components'\n\nconst COMPONENT_NAME = 'ElTableV2'\n\nconst TableV2 = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2Props,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const {\n columnsStyles,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n data,\n depthMap,\n expandedRowKeys,\n hasFixedColumns,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n isDynamic,\n isResetting,\n isScrolling,\n\n bodyWidth,\n emptyStyle,\n rootStyle,\n headerWidth,\n footerHeight,\n\n showEmpty,\n\n // exposes\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n\n getRowHeight,\n onColumnSorted,\n onRowHeightChange,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onScroll,\n onVerticalScroll,\n } = useTable(props)\n\n expose({\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo,\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft,\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n })\n\n provide(TableV2InjectionKey, {\n ns,\n isResetting,\n isScrolling,\n })\n\n return () => {\n const {\n cache,\n cellProps,\n estimatedRowHeight,\n expandColumnKey,\n fixedData,\n headerHeight,\n headerClass,\n headerProps,\n headerCellProps,\n sortBy,\n sortState,\n rowHeight,\n rowClass,\n rowEventHandlers,\n rowKey,\n rowProps,\n scrollbarAlwaysOn,\n indentSize,\n iconSize,\n useIsScrolling,\n vScrollbarSize,\n width,\n } = props\n\n const _data = unref(data)\n\n const mainTableProps = {\n cache,\n class: ns.e('main'),\n columns: unref(mainColumns),\n data: _data,\n fixedData,\n estimatedRowHeight,\n bodyWidth: unref(bodyWidth) + vScrollbarSize,\n headerHeight,\n headerWidth: unref(headerWidth),\n height: unref(mainTableHeight),\n mainTableRef,\n rowKey,\n rowHeight,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width,\n getRowHeight,\n onRowsRendered,\n onScroll,\n }\n\n const leftColumnsWidth = unref(leftTableWidth)\n const _fixedTableHeight = unref(fixedTableHeight)\n\n const leftTableProps = {\n cache,\n class: ns.e('left'),\n columns: unref(fixedColumnsOnLeft),\n data: _data,\n estimatedRowHeight,\n leftTableRef,\n rowHeight,\n bodyWidth: leftColumnsWidth,\n headerWidth: leftColumnsWidth,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n useIsScrolling,\n width: leftColumnsWidth,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n\n const rightColumnsWidth = unref(rightTableWidth)\n const rightColumnsWidthWithScrollbar = rightColumnsWidth + vScrollbarSize\n\n const rightTableProps = {\n cache,\n class: ns.e('right'),\n columns: unref(fixedColumnsOnRight),\n data: _data,\n estimatedRowHeight,\n rightTableRef,\n rowHeight,\n bodyWidth: rightColumnsWidthWithScrollbar,\n headerWidth: rightColumnsWidthWithScrollbar,\n headerHeight,\n height: _fixedTableHeight,\n rowKey,\n scrollbarAlwaysOn,\n scrollbarStartGap: 2,\n scrollbarEndGap: vScrollbarSize,\n width: rightColumnsWidthWithScrollbar,\n style: `--${unref(\n ns.namespace\n )}-table-scrollbar-size: ${vScrollbarSize}px`,\n useIsScrolling,\n getRowHeight,\n onScroll: onVerticalScroll,\n }\n const _columnsStyles = unref(columnsStyles)\n\n const tableRowProps = {\n ns,\n depthMap: unref(depthMap),\n columnsStyles: _columnsStyles,\n expandColumnKey,\n expandedRowKeys: unref(expandedRowKeys),\n estimatedRowHeight,\n hasFixedColumns: unref(hasFixedColumns),\n rowProps,\n rowClass,\n rowKey,\n rowEventHandlers,\n onRowHovered,\n onRowExpanded,\n onRowHeightChange,\n }\n\n const tableCellProps = {\n cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n expandedRowKeys: unref(expandedRowKeys),\n ns,\n }\n\n const tableHeaderProps = {\n ns,\n headerClass,\n headerProps,\n columnsStyles: _columnsStyles,\n }\n\n const tableHeaderCellProps = {\n ns,\n\n sortBy,\n sortState,\n headerCellProps,\n onColumnSorted,\n }\n\n const tableSlots = {\n row: (props: TableGridRowSlotParams) => (\n <Row {...props} {...tableRowProps}>\n {{\n row: slots.row,\n cell: (props: TableV2RowCellRenderParam) =>\n slots.cell ? (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots.cell(props)}\n </Cell>\n ) : (\n <Cell\n {...props}\n {...tableCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Row>\n ),\n header: (props: TableV2HeaderRendererParams) => (\n <Header {...props} {...tableHeaderProps}>\n {{\n header: slots.header,\n cell: (props: TableV2HeaderRowCellRendererParams) =>\n slots['header-cell'] ? (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n >\n {slots['header-cell'](props)}\n </HeaderCell>\n ) : (\n <HeaderCell\n {...props}\n {...tableHeaderCellProps}\n style={_columnsStyles[props.column.key]}\n />\n ),\n }}\n </Header>\n ),\n }\n\n const rootKls = [\n props.class,\n ns.b(),\n ns.e('root'),\n {\n [ns.is('dynamic')]: unref(isDynamic),\n },\n ]\n\n const footerProps = {\n class: ns.e('footer'),\n style: unref(footerHeight),\n }\n\n return (\n <div class={rootKls} style={unref(rootStyle)}>\n <MainTable {...mainTableProps}>{tableSlots}</MainTable>\n <LeftTable {...leftTableProps}>{tableSlots}</LeftTable>\n <RightTable {...rightTableProps}>{tableSlots}</RightTable>\n {slots.footer && (\n <Footer {...footerProps}>{{ default: slots.footer }}</Footer>\n )}\n {unref(showEmpty) && (\n <Empty class={ns.e('empty')} style={unref(emptyStyle)}>\n {{ default: slots.empty }}\n </Empty>\n )}\n {slots.overlay && (\n <Overlay class={ns.e('overlay')}>\n {{ default: slots.overlay }}\n </Overlay>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableV2\n\nexport type TableV2Instance = InstanceType<typeof TableV2> & {\n /**\n * @description scroll to a given position\n * @params params {{ scrollLeft?: number, scrollTop?: number }} where to scroll to.\n */\n scrollTo: (param: { scrollLeft?: number; scrollTop?: number }) => void\n /**\n * @description scroll to a given position horizontally\n * @params scrollLeft {Number} where to scroll to.\n */\n scrollToLeft: (scrollLeft: number) => void\n /**\n * @description scroll to a given position vertically\n * @params scrollTop { Number } where to scroll to.\n */\n scrollToTop: (scrollTop: number) => void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy?: ScrollStrategy): void\n}\n"],"names":["Empty","Overlay","_isVNode","COMPONENT_NAME","TableV2","name","props","expose","columnsStyles","fixedColumnsOnLeft","fixedColumnsOnRight","mainColumns","mainTableHeight","fixedTableHeight","leftTableWidth","rightTableWidth","data","depthMap","expandedRowKeys","hasFixedColumns","mainTableRef","leftTableRef","rightTableRef","isDynamic","isResetting","isScrolling","bodyWidth","emptyStyle","rootStyle","headerWidth","footerHeight","showEmpty","scrollTo","scrollToLeft","scrollToTop","scrollToRow","getRowHeight","onColumnSorted","useTable","onRowExpanded","onRowsRendered","onScroll","onVerticalScroll","TableV2InjectionKey","unref","cache","cellProps","estimatedRowHeight","expandColumnKey","fixedData","headerHeight","headerClass","headerProps","headerCellProps","sortBy","sortState","rowHeight","rowClass","rowEventHandlers","rowKey","rowProps","scrollbarAlwaysOn","indentSize","iconSize","useIsScrolling","vScrollbarSize","width","class","columns","height","scrollbarStartGap","scrollbarEndGap","_data","style","ns","_columnsStyles","_createVNode","Cell","_mergeProps","onRowHeightChange","Header","HeaderCell","row","cell","LeftTable","slots","Footer","header"],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import type { InjectionKey, Ref } from 'vue';
2
2
  import type { UseNamespaceReturn } from 'element-plus/es/hooks';
3
- import type { KeyType } from './types';
4
3
  export declare type TableV2Context = {
5
4
  isScrolling: Ref<boolean>;
6
- hoveringRowKey: Ref<null | KeyType>;
7
5
  isResetting: Ref<boolean>;
8
6
  ns: UseNamespaceReturn;
9
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sources":["../../../../../../packages/components/table-v2/src/tokens.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { KeyType } from './types'\n\nexport type TableV2Context = {\n isScrolling: Ref<boolean>\n hoveringRowKey: Ref<null | KeyType>\n isResetting: Ref<boolean>\n ns: UseNamespaceReturn\n}\n\nexport const TableV2InjectionKey: InjectionKey<TableV2Context> =\n Symbol('tableV2')\n"],"names":[],"mappings":";;;;AAAY,MAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS;;;;"}
1
+ {"version":3,"file":"tokens.js","sources":["../../../../../../packages/components/table-v2/src/tokens.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\n\nexport type TableV2Context = {\n isScrolling: Ref<boolean>\n isResetting: Ref<boolean>\n ns: UseNamespaceReturn\n}\n\nexport const TableV2InjectionKey: InjectionKey<TableV2Context> =\n Symbol('tableV2')\n"],"names":[],"mappings":";;;;AAAY,MAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS;;;;"}
@@ -9,7 +9,6 @@ declare function useTable(props: TableV2Props): {
9
9
  isDynamic: import("vue").ComputedRef<boolean>;
10
10
  isResetting: import("vue").ShallowRef<boolean>;
11
11
  isScrolling: import("vue").ShallowRef<boolean>;
12
- hoveringRowKey: import("vue").ShallowRef<import("./types").KeyType | null>;
13
12
  hasFixedColumns: import("vue").ComputedRef<number>;
14
13
  columnsStyles: import("vue").ComputedRef<Record<any, import("vue").CSSProperties>>;
15
14
  columnsTotalWidth: import("vue").ComputedRef<number>;
@@ -4,9 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  require('../../../utils/index.js');
7
+ require('../../../hooks/index.js');
7
8
  require('./composables/index.js');
8
9
  var useColumns = require('./composables/use-columns.js');
9
10
  var useScrollbar = require('./composables/use-scrollbar.js');
11
+ var index = require('../../../hooks/use-namespace/index.js');
10
12
  var useRow = require('./composables/use-row.js');
11
13
  var useData = require('./composables/use-data.js');
12
14
  var useStyles = require('./composables/use-styles.js');
@@ -40,9 +42,11 @@ function useTable(props) {
40
42
  rightTableRef,
41
43
  onMaybeEndReached
42
44
  });
45
+ const ns = index.useNamespace("table-v2");
46
+ const instance = vue.getCurrentInstance();
47
+ const isScrolling = vue.shallowRef(false);
43
48
  const {
44
49
  expandedRowKeys,
45
- hoveringRowKey,
46
50
  lastRenderedRowIndex,
47
51
  isDynamic,
48
52
  isResetting,
@@ -55,7 +59,10 @@ function useTable(props) {
55
59
  } = useRow.useRow(props, {
56
60
  mainTableRef,
57
61
  leftTableRef,
58
- rightTableRef
62
+ rightTableRef,
63
+ tableInstance: instance,
64
+ ns,
65
+ isScrolling
59
66
  });
60
67
  const { data, depthMap } = useData.useData(props, {
61
68
  expandedRowKeys,
@@ -81,7 +88,6 @@ function useTable(props) {
81
88
  fixedColumnsOnLeft,
82
89
  fixedColumnsOnRight
83
90
  });
84
- const isScrolling = vue.shallowRef(false);
85
91
  const containerRef = vue.ref();
86
92
  const showEmpty = vue.computed(() => {
87
93
  const noData = vue.unref(data).length === 0;
@@ -117,7 +123,6 @@ function useTable(props) {
117
123
  isDynamic,
118
124
  isResetting,
119
125
  isScrolling,
120
- hoveringRowKey,
121
126
  hasFixedColumns,
122
127
  columnsStyles,
123
128
  columnsTotalWidth,
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table-v2/src/use-table.ts"],"sourcesContent":["import { computed, ref, shallowRef, toRef, unref, watch } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport {\n useColumns,\n useData,\n useRow,\n useScrollbar,\n useStyles,\n} from './composables'\n\nimport type { TableV2Props } from './table'\nimport type { TableGridInstance } from './table-grid'\n\nfunction useTable(props: TableV2Props) {\n const mainTableRef = ref<TableGridInstance>()\n const leftTableRef = ref<TableGridInstance>()\n const rightTableRef = ref<TableGridInstance>()\n const {\n columns,\n columnsStyles,\n columnsTotalWidth,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n hasFixedColumns,\n mainColumns,\n\n onColumnSorted,\n } = useColumns(props, toRef(props, 'columns'), toRef(props, 'fixed'))\n\n const {\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n onScroll,\n onVerticalScroll,\n scrollPos,\n } = useScrollbar(props, {\n mainTableRef,\n leftTableRef,\n rightTableRef,\n\n onMaybeEndReached,\n })\n\n const {\n expandedRowKeys,\n hoveringRowKey,\n lastRenderedRowIndex,\n isDynamic,\n isResetting,\n rowHeights,\n\n resetAfterIndex,\n onRowExpanded,\n onRowHeightChange,\n onRowHovered,\n onRowsRendered,\n } = useRow(props, {\n mainTableRef,\n leftTableRef,\n rightTableRef,\n })\n\n const { data, depthMap } = useData(props, {\n expandedRowKeys,\n lastRenderedRowIndex,\n resetAfterIndex,\n })\n\n const {\n bodyWidth,\n fixedTableHeight,\n mainTableHeight,\n leftTableWidth,\n rightTableWidth,\n headerWidth,\n rowsHeight,\n windowHeight,\n footerHeight,\n emptyStyle,\n rootStyle,\n headerHeight,\n } = useStyles(props, {\n columnsTotalWidth,\n data,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n })\n // state\n const isScrolling = shallowRef(false)\n\n // DOM/Component refs\n const containerRef = ref()\n\n const showEmpty = computed(() => {\n const noData = unref(data).length === 0\n\n return isArray(props.fixedData)\n ? props.fixedData.length === 0 && noData\n : noData\n })\n\n function getRowHeight(rowIndex: number) {\n const { estimatedRowHeight, rowHeight, rowKey } = props\n\n if (!estimatedRowHeight) return rowHeight\n\n return (\n unref(rowHeights)[unref(data)[rowIndex][rowKey]] || estimatedRowHeight\n )\n }\n\n function onMaybeEndReached() {\n const { onEndReached } = props\n if (!onEndReached) return\n\n const { scrollTop } = unref(scrollPos)\n\n const _totalHeight = unref(rowsHeight)\n const clientHeight = unref(windowHeight)\n\n const heightUntilEnd =\n _totalHeight - (scrollTop + clientHeight) + props.hScrollbarSize\n\n if (\n unref(lastRenderedRowIndex) >= 0 &&\n _totalHeight === scrollTop + unref(mainTableHeight) - unref(headerHeight)\n ) {\n onEndReached(heightUntilEnd)\n }\n }\n\n // events\n\n watch(\n () => props.expandedRowKeys,\n (val) => (expandedRowKeys.value = val),\n {\n deep: true,\n }\n )\n\n return {\n // models\n columns,\n containerRef,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n // states\n isDynamic,\n isResetting,\n isScrolling,\n hoveringRowKey,\n hasFixedColumns,\n // records\n columnsStyles,\n columnsTotalWidth,\n data,\n expandedRowKeys,\n depthMap,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n // metadata\n bodyWidth,\n emptyStyle,\n rootStyle,\n headerWidth,\n footerHeight,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n // flags\n showEmpty,\n\n // methods\n getRowHeight,\n\n // event handlers\n onColumnSorted,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onRowHeightChange,\n // use scrollbars\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n onScroll,\n onVerticalScroll,\n }\n}\n\nexport { useTable }\n\nexport type UseTableReturn = ReturnType<typeof useTable>\n"],"names":["ref","useColumns","toRef","useScrollbar","useRow","useData","useStyles","shallowRef","computed","unref","isArray","watch"],"mappings":"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"}
1
+ {"version":3,"file":"use-table.js","sources":["../../../../../../packages/components/table-v2/src/use-table.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n ref,\n shallowRef,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n useColumns,\n useData,\n useRow,\n useScrollbar,\n useStyles,\n} from './composables'\n\nimport type { TableV2Props } from './table'\nimport type { TableGridInstance } from './table-grid'\n\nfunction useTable(props: TableV2Props) {\n const mainTableRef = ref<TableGridInstance>()\n const leftTableRef = ref<TableGridInstance>()\n const rightTableRef = ref<TableGridInstance>()\n const {\n columns,\n columnsStyles,\n columnsTotalWidth,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n hasFixedColumns,\n mainColumns,\n\n onColumnSorted,\n } = useColumns(props, toRef(props, 'columns'), toRef(props, 'fixed'))\n\n const {\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n onScroll,\n onVerticalScroll,\n scrollPos,\n } = useScrollbar(props, {\n mainTableRef,\n leftTableRef,\n rightTableRef,\n\n onMaybeEndReached,\n })\n\n const ns = useNamespace('table-v2')\n const instance = getCurrentInstance()!\n\n // state\n const isScrolling = shallowRef(false)\n\n const {\n expandedRowKeys,\n lastRenderedRowIndex,\n isDynamic,\n isResetting,\n rowHeights,\n resetAfterIndex,\n onRowExpanded,\n onRowHeightChange,\n onRowHovered,\n onRowsRendered,\n } = useRow(props, {\n mainTableRef,\n leftTableRef,\n rightTableRef,\n tableInstance: instance,\n ns,\n isScrolling,\n })\n\n const { data, depthMap } = useData(props, {\n expandedRowKeys,\n lastRenderedRowIndex,\n resetAfterIndex,\n })\n\n const {\n bodyWidth,\n fixedTableHeight,\n mainTableHeight,\n leftTableWidth,\n rightTableWidth,\n headerWidth,\n rowsHeight,\n windowHeight,\n footerHeight,\n emptyStyle,\n rootStyle,\n headerHeight,\n } = useStyles(props, {\n columnsTotalWidth,\n data,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n })\n\n // DOM/Component refs\n const containerRef = ref()\n\n const showEmpty = computed(() => {\n const noData = unref(data).length === 0\n\n return isArray(props.fixedData)\n ? props.fixedData.length === 0 && noData\n : noData\n })\n\n function getRowHeight(rowIndex: number) {\n const { estimatedRowHeight, rowHeight, rowKey } = props\n\n if (!estimatedRowHeight) return rowHeight\n\n return (\n unref(rowHeights)[unref(data)[rowIndex][rowKey]] || estimatedRowHeight\n )\n }\n\n function onMaybeEndReached() {\n const { onEndReached } = props\n if (!onEndReached) return\n\n const { scrollTop } = unref(scrollPos)\n\n const _totalHeight = unref(rowsHeight)\n const clientHeight = unref(windowHeight)\n\n const heightUntilEnd =\n _totalHeight - (scrollTop + clientHeight) + props.hScrollbarSize\n\n if (\n unref(lastRenderedRowIndex) >= 0 &&\n _totalHeight === scrollTop + unref(mainTableHeight) - unref(headerHeight)\n ) {\n onEndReached(heightUntilEnd)\n }\n }\n\n // events\n\n watch(\n () => props.expandedRowKeys,\n (val) => (expandedRowKeys.value = val),\n {\n deep: true,\n }\n )\n\n return {\n // models\n columns,\n containerRef,\n mainTableRef,\n leftTableRef,\n rightTableRef,\n // states\n isDynamic,\n isResetting,\n isScrolling,\n hasFixedColumns,\n // records\n columnsStyles,\n columnsTotalWidth,\n data,\n expandedRowKeys,\n depthMap,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n mainColumns,\n // metadata\n bodyWidth,\n emptyStyle,\n rootStyle,\n headerWidth,\n footerHeight,\n mainTableHeight,\n fixedTableHeight,\n leftTableWidth,\n rightTableWidth,\n // flags\n showEmpty,\n\n // methods\n getRowHeight,\n\n // event handlers\n onColumnSorted,\n onRowHovered,\n onRowExpanded,\n onRowsRendered,\n onRowHeightChange,\n // use scrollbars\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n onScroll,\n onVerticalScroll,\n }\n}\n\nexport { useTable }\n\nexport type UseTableReturn = ReturnType<typeof useTable>\n"],"names":["ref","useColumns","toRef","useScrollbar","useNamespace","getCurrentInstance","shallowRef","useRow","useData","useStyles","computed","unref","isArray","watch"],"mappings":"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"}
@@ -31,7 +31,7 @@ export declare const ElTag: import("element-plus/es/utils").SFCWithInstall<impor
31
31
  onClose?: ((evt: MouseEvent) => any) | undefined;
32
32
  onClick?: ((evt: MouseEvent) => any) | undefined;
33
33
  }>>;
34
- emit: ((event: "click", evt: MouseEvent) => void) & ((event: "close", evt: MouseEvent) => void);
34
+ emit: ((event: "close", evt: MouseEvent) => void) & ((event: "click", evt: MouseEvent) => void);
35
35
  tagSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
36
36
  ns: {
37
37
  namespace: import("vue").ComputedRef<string>;
@@ -31,7 +31,7 @@ declare const _default: import("vue").DefineComponent<{
31
31
  onClose?: ((evt: MouseEvent) => any) | undefined;
32
32
  onClick?: ((evt: MouseEvent) => any) | undefined;
33
33
  }>>;
34
- emit: ((event: "click", evt: MouseEvent) => void) & ((event: "close", evt: MouseEvent) => void);
34
+ emit: ((event: "close", evt: MouseEvent) => void) & ((event: "click", evt: MouseEvent) => void);
35
35
  tagSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
36
36
  ns: {
37
37
  namespace: import("vue").ComputedRef<string>;
@@ -9,6 +9,8 @@ declare const _TimePicker: SFCWithInstall<import("vue").DefineComponent<{
9
9
  type: BooleanConstructor;
10
10
  default: boolean;
11
11
  };
12
+ emptyValues: ArrayConstructor;
13
+ valueOnClear: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
12
14
  disabledDate: {
13
15
  readonly type: import("vue").PropType<Function>;
14
16
  readonly required: false;
@@ -98,6 +100,8 @@ declare const _TimePicker: SFCWithInstall<import("vue").DefineComponent<{
98
100
  type: BooleanConstructor;
99
101
  default: boolean;
100
102
  };
103
+ emptyValues: ArrayConstructor;
104
+ valueOnClear: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
101
105
  disabledDate: {
102
106
  readonly type: import("vue").PropType<Function>;
103
107
  readonly required: false;
@@ -198,6 +202,7 @@ declare const _TimePicker: SFCWithInstall<import("vue").DefineComponent<{
198
202
  prefixIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
199
203
  tabindex: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
200
204
  validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
205
+ valueOnClear: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>;
201
206
  editable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
202
207
  rangeSeparator: string;
203
208
  shortcuts: unknown[];
@@ -212,6 +217,8 @@ export declare const ElTimePicker: SFCWithInstall<import("vue").DefineComponent<
212
217
  type: BooleanConstructor;
213
218
  default: boolean;
214
219
  };
220
+ emptyValues: ArrayConstructor;
221
+ valueOnClear: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
215
222
  disabledDate: {
216
223
  readonly type: import("vue").PropType<Function>;
217
224
  readonly required: false;
@@ -301,6 +308,8 @@ export declare const ElTimePicker: SFCWithInstall<import("vue").DefineComponent<
301
308
  type: BooleanConstructor;
302
309
  default: boolean;
303
310
  };
311
+ emptyValues: ArrayConstructor;
312
+ valueOnClear: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
304
313
  disabledDate: {
305
314
  readonly type: import("vue").PropType<Function>;
306
315
  readonly required: false;
@@ -401,6 +410,7 @@ export declare const ElTimePicker: SFCWithInstall<import("vue").DefineComponent<
401
410
  prefixIcon: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>;
402
411
  tabindex: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | number) & {}) | (() => string | number) | ((new (...args: any[]) => (string | number) & {}) | (() => string | number))[], unknown, unknown>;
403
412
  validateEvent: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
413
+ valueOnClear: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>;
404
414
  editable: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
405
415
  rangeSeparator: string;
406
416
  shortcuts: unknown[];
@@ -7,9 +7,9 @@ var lodashUnified = require('lodash-unified');
7
7
  var core = require('@vueuse/core');
8
8
  require('../../../../hooks/index.js');
9
9
  require('../../../form/index.js');
10
- var index$3 = require('../../../input/index.js');
11
- var index$4 = require('../../../icon/index.js');
12
- var index$2 = require('../../../tooltip/index.js');
10
+ var index$4 = require('../../../input/index.js');
11
+ var index$5 = require('../../../icon/index.js');
12
+ var index$3 = require('../../../tooltip/index.js');
13
13
  require('../../../../utils/index.js');
14
14
  require('../../../../constants/index.js');
15
15
  var iconsVue = require('@element-plus/icons-vue');
@@ -19,6 +19,7 @@ var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-hel
19
19
  var index = require('../../../../hooks/use-locale/index.js');
20
20
  var index$1 = require('../../../../hooks/use-namespace/index.js');
21
21
  var useFormItem = require('../../../form/src/hooks/use-form-item.js');
22
+ var index$2 = require('../../../../hooks/use-empty-values/index.js');
22
23
  var error = require('../../../../utils/error.js');
23
24
  var shared = require('@vue/shared');
24
25
  var aria = require('../../../../constants/aria.js');
@@ -51,6 +52,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
51
52
  const nsRange = index$1.useNamespace("range");
52
53
  const { form, formItem } = useFormItem.useFormItem();
53
54
  const elPopperOptions = vue.inject("ElPopperOptions", {});
55
+ const { valueOnClear } = index$2.useEmptyValues(props, null);
54
56
  const refPopper = vue.ref();
55
57
  const inputRef = vue.ref();
56
58
  const pickerVisible = vue.ref(false);
@@ -269,8 +271,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
269
271
  if (showClose.value) {
270
272
  event.stopPropagation();
271
273
  focusOnInputBox();
272
- emitInput(null);
273
- emitChange(null, true);
274
+ emitInput(valueOnClear.value);
275
+ emitChange(valueOnClear.value, true);
274
276
  showClose.value = false;
275
277
  pickerVisible.value = false;
276
278
  pickerOptions.value.handleClear && pickerOptions.value.handleClear();
@@ -340,8 +342,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
340
342
  }
341
343
  }
342
344
  if (userInput.value === "") {
343
- emitInput(null);
344
- emitChange(null);
345
+ emitInput(valueOnClear.value);
346
+ emitChange(valueOnClear.value);
345
347
  userInput.value = null;
346
348
  }
347
349
  };
@@ -484,7 +486,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
484
486
  onPick
485
487
  });
486
488
  return (_ctx, _cache) => {
487
- return vue.openBlock(), vue.createBlock(vue.unref(index$2.ElTooltip), vue.mergeProps({
489
+ return vue.openBlock(), vue.createBlock(vue.unref(index$3.ElTooltip), vue.mergeProps({
488
490
  ref_key: "refPopper",
489
491
  ref: refPopper,
490
492
  visible: pickerVisible.value,
@@ -507,7 +509,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
507
509
  onHide
508
510
  }), {
509
511
  default: vue.withCtx(() => [
510
- !vue.unref(isRangeInput) ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.ElInput), {
512
+ !vue.unref(isRangeInput) ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.ElInput), {
511
513
  key: 0,
512
514
  id: _ctx.id,
513
515
  ref_key: "inputRef",
@@ -537,7 +539,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
537
539
  }, ["stop"]))
538
540
  }, {
539
541
  prefix: vue.withCtx(() => [
540
- vue.unref(triggerIcon) ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.ElIcon), {
542
+ vue.unref(triggerIcon) ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.ElIcon), {
541
543
  key: 0,
542
544
  class: vue.normalizeClass(vue.unref(nsInput).e("icon")),
543
545
  onMousedown: vue.withModifiers(onMouseDownInput, ["prevent"]),
@@ -550,7 +552,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
550
552
  }, 8, ["class", "onMousedown"])) : vue.createCommentVNode("v-if", true)
551
553
  ]),
552
554
  suffix: vue.withCtx(() => [
553
- showClose.value && _ctx.clearIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.ElIcon), {
555
+ showClose.value && _ctx.clearIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.ElIcon), {
554
556
  key: 0,
555
557
  class: vue.normalizeClass(`${vue.unref(nsInput).e("icon")} clear-icon`),
556
558
  onClick: vue.withModifiers(onClearIconClick, ["stop"])
@@ -574,7 +576,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
574
576
  onTouchstart: onTouchStartInput,
575
577
  onKeydown: handleKeydownInput
576
578
  }, [
577
- vue.unref(triggerIcon) ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.ElIcon), {
579
+ vue.unref(triggerIcon) ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.ElIcon), {
578
580
  key: 0,
579
581
  class: vue.normalizeClass([vue.unref(nsInput).e("icon"), vue.unref(nsRange).e("icon")]),
580
582
  onMousedown: vue.withModifiers(onMouseDownInput, ["prevent"]),
@@ -620,7 +622,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
620
622
  onInput: handleEndInput,
621
623
  onChange: handleEndChange
622
624
  }, null, 42, _hoisted_2),
623
- _ctx.clearIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$4.ElIcon), {
625
+ _ctx.clearIcon ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.ElIcon), {
624
626
  key: 1,
625
627
  class: vue.normalizeClass(vue.unref(clearIconKls)),
626
628
  onClick: onClearIconClick
@@ -1 +1 @@
1
- {"version":3,"file":"picker.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"\n !editable ||\n readonly ||\n isDatesPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :label=\"label\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"rangeInputKls\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"clearIconKls\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :date-format=\"dateFormat\"\n :time-format=\"timeFormat\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n provide,\n ref,\n unref,\n useAttrs,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\nconst attrs = useAttrs()\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nconst rangeInputKls = computed(() => [\n nsDate.b('editor'),\n nsDate.bm('editor', props.type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled.value),\n nsDate.is('active', pickerVisible.value),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize.value) : '',\n attrs.class,\n])\n\nconst clearIconKls = computed(() => [\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n !showClose.value ? nsRange.e('close-icon--hidden') : '',\n])\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n nextTick(() => {\n if (val) {\n valueOnOpen.value = props.modelValue\n }\n })\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n ignoreFocusEvent = true\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n pickerVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = true\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value || isYearsPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst isYearsPicker = computed(() => props.type === 'years')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useFormSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nonClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, null | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["useAttrs","useLocale","useNamespace","useFormItem","inject","ref","computed","watch","nextTick","valueEquals","debugWarn","isArray","formatter","EVENT_CODE","unref","parseDate","isEqual","Clock","Calendar","onClickOutside","provide"],"mappings":"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"}
1
+ {"version":3,"file":"picker.js","sources":["../../../../../../../packages/components/time-picker/src/common/picker.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"refPopper\"\n :visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n role=\"dialog\"\n teleported\n :transition=\"`${nsDate.namespace.value}-zoom-in-top`\"\n :popper-class=\"[`${nsDate.namespace.value}-picker__popper`, popperClass]\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"(id as string | undefined)\"\n ref=\"inputRef\"\n container-role=\"combobox\"\n :model-value=\"(displayValue as string)\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n :class=\"[nsDate.b('editor'), nsDate.bm('editor', type), $attrs.class]\"\n :style=\"$attrs.style\"\n :readonly=\"\n !editable ||\n readonly ||\n isDatesPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :label=\"label\"\n :tabindex=\"tabindex\"\n :validate-event=\"false\"\n @input=\"onUserInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @keydown=\"\n //\n handleKeydownInput as any\n \"\n @change=\"handleChange\"\n @mousedown=\"onMouseDownInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"nsInput.e('icon')\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"`${nsInput.e('icon')} clear-icon`\"\n @click.stop=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n :class=\"rangeInputKls\"\n :style=\"($attrs.style as any)\"\n @click=\"handleFocusInput\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @touchstart=\"onTouchStartInput\"\n @keydown=\"handleKeydownInput\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n :class=\"[nsInput.e('icon'), nsRange.e('icon')]\"\n @mousedown.prevent=\"onMouseDownInput\"\n @touchstart=\"onTouchStartInput\"\n >\n <component :is=\"triggerIcon\" />\n </el-icon>\n <input\n :id=\"id && id[0]\"\n autocomplete=\"off\"\n :name=\"name && name[0]\"\n :placeholder=\"startPlaceholder\"\n :value=\"displayValue && displayValue[0]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n />\n <slot name=\"range-separator\">\n <span :class=\"nsRange.b('separator')\">{{ rangeSeparator }}</span>\n </slot>\n <input\n :id=\"id && id[1]\"\n autocomplete=\"off\"\n :name=\"name && name[1]\"\n :placeholder=\"endPlaceholder\"\n :value=\"displayValue && displayValue[1]\"\n :disabled=\"pickerDisabled\"\n :readonly=\"!editable || readonly\"\n :class=\"nsRange.b('input')\"\n @mousedown=\"onMouseDownInput\"\n @focus=\"handleFocusInput\"\n @blur=\"handleBlurInput\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n :class=\"clearIconKls\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </div>\n </template>\n <template #content>\n <slot\n :visible=\"pickerVisible\"\n :actual-visible=\"pickerActualVisible\"\n :parsed-value=\"parsedValue\"\n :format=\"format\"\n :date-format=\"dateFormat\"\n :time-format=\"timeFormat\"\n :unlink-panels=\"unlinkPanels\"\n :type=\"type\"\n :default-value=\"defaultValue\"\n @pick=\"onPick\"\n @select-range=\"setSelectionRange\"\n @set-picker-option=\"onSetPickerOption\"\n @calendar-change=\"onCalendarChange\"\n @panel-change=\"onPanelChange\"\n @keydown=\"onKeydownPopperContent\"\n @mousedown.stop\n />\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n provide,\n ref,\n unref,\n useAttrs,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useEmptyValues, useLocale, useNamespace } from '@element-plus/hooks'\nimport { useFormItem, useFormSize } from '@element-plus/components/form'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { debugWarn, isArray } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Calendar, Clock } from '@element-plus/icons-vue'\nimport { formatter, parseDate, valueEquals } from '../utils'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type {\n DateModelType,\n DateOrDates,\n DayOrDays,\n PickerOptions,\n SingleOrRange,\n TimePickerDefaultProps,\n UserInput,\n} from './props'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\n// Date object and string\n\ndefineOptions({\n name: 'Picker',\n})\n\nconst props = defineProps(timePickerDefaultProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n 'keydown',\n])\nconst attrs = useAttrs()\n\nconst { lang } = useLocale()\n\nconst nsDate = useNamespace('date')\nconst nsInput = useNamespace('input')\nconst nsRange = useNamespace('range')\n\nconst { form, formItem } = useFormItem()\nconst elPopperOptions = inject('ElPopperOptions', {} as Options)\nconst { valueOnClear } = useEmptyValues(props, null)\n\nconst refPopper = ref<TooltipInstance>()\nconst inputRef = ref<HTMLElement | ComponentPublicInstance>()\nconst pickerVisible = ref(false)\nconst pickerActualVisible = ref(false)\nconst valueOnOpen = ref<TimePickerDefaultProps['modelValue'] | null>(null)\n\nlet hasJustTabExitedInput = false\nlet ignoreFocusEvent = false\n\nconst rangeInputKls = computed(() => [\n nsDate.b('editor'),\n nsDate.bm('editor', props.type),\n nsInput.e('wrapper'),\n nsDate.is('disabled', pickerDisabled.value),\n nsDate.is('active', pickerVisible.value),\n nsRange.b('editor'),\n pickerSize ? nsRange.bm('editor', pickerSize.value) : '',\n attrs.class,\n])\n\nconst clearIconKls = computed(() => [\n nsInput.e('icon'),\n nsRange.e('close-icon'),\n !showClose.value ? nsRange.e('close-icon--hidden') : '',\n])\n\nwatch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n } else {\n nextTick(() => {\n if (val) {\n valueOnOpen.value = props.modelValue\n }\n })\n }\n})\nconst emitChange = (\n val: TimePickerDefaultProps['modelValue'] | null,\n isClear?: boolean\n) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n emit('change', val)\n props.validateEvent &&\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n}\nconst emitInput = (input: SingleOrRange<DateModelType | Dayjs> | null) => {\n if (!valueEquals(props.modelValue, input)) {\n let formatted\n if (isArray(input)) {\n formatted = input.map((item) =>\n formatter(item, props.valueFormat, lang.value)\n )\n } else if (input) {\n formatted = formatter(input, props.valueFormat, lang.value)\n }\n emit('update:modelValue', input ? formatted : input, lang.value)\n }\n}\nconst emitKeydown = (e: KeyboardEvent) => {\n emit('keydown', e)\n}\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n const _r = isRangeInput.value\n ? inputRef.value\n : (inputRef.value as any as ComponentPublicInstance).$el\n return Array.from<HTMLInputElement>(_r.querySelectorAll('input'))\n }\n return []\n})\n\nconst setSelectionRange = (start: number, end: number, pos?: 'min' | 'max') => {\n const _inputs = refInput.value\n if (!_inputs.length) return\n if (!pos || pos === 'min') {\n _inputs[0].setSelectionRange(start, end)\n _inputs[0].focus()\n } else if (pos === 'max') {\n _inputs[1].setSelectionRange(start, end)\n _inputs[1].focus()\n }\n}\nconst focusOnInputBox = () => {\n focus(true, true)\n nextTick(() => {\n ignoreFocusEvent = false\n })\n}\n\nconst onPick = (date: any = '', visible = false) => {\n if (!visible) {\n ignoreFocusEvent = true\n }\n pickerVisible.value = visible\n let result\n if (isArray(date)) {\n result = date.map((_) => _.toDate())\n } else {\n // clear btn emit null\n result = date ? date.toDate() : date\n }\n userInput.value = null\n emitInput(result)\n}\n\nconst onBeforeShow = () => {\n pickerActualVisible.value = true\n}\n\nconst onShow = () => {\n emit('visible-change', true)\n}\n\nconst onKeydownPopperContent = (event: KeyboardEvent) => {\n if ((event as KeyboardEvent)?.key === EVENT_CODE.esc) {\n focus(true, true)\n }\n}\n\nconst onHide = () => {\n pickerActualVisible.value = false\n pickerVisible.value = false\n ignoreFocusEvent = false\n emit('visible-change', false)\n}\n\nconst handleOpen = () => {\n pickerVisible.value = true\n}\n\nconst handleClose = () => {\n pickerVisible.value = false\n}\n\nconst focus = (focusStartInput = true, isIgnoreFocusEvent = false) => {\n ignoreFocusEvent = isIgnoreFocusEvent\n const [leftInput, rightInput] = unref(refInput)\n let input = leftInput\n if (!focusStartInput && isRangeInput.value) {\n input = rightInput\n }\n if (input) {\n input.focus()\n }\n}\n\nconst handleFocusInput = (e?: FocusEvent) => {\n if (\n props.readonly ||\n pickerDisabled.value ||\n pickerVisible.value ||\n ignoreFocusEvent\n ) {\n return\n }\n pickerVisible.value = true\n emit('focus', e)\n}\n\nlet currentHandleBlurDeferCallback:\n | (() => Promise<void> | undefined)\n | undefined = undefined\n\n// Check if document.activeElement is inside popper or any input before popper close\nconst handleBlurInput = (e?: FocusEvent) => {\n const handleBlurDefer = async () => {\n setTimeout(() => {\n if (currentHandleBlurDeferCallback === handleBlurDefer) {\n if (\n !(\n refPopper.value?.isFocusInsideContent() && !hasJustTabExitedInput\n ) &&\n refInput.value.filter((input) => {\n return input.contains(document.activeElement)\n }).length === 0\n ) {\n handleChange()\n pickerVisible.value = false\n emit('blur', e)\n props.validateEvent &&\n formItem?.validate('blur').catch((err) => debugWarn(err))\n }\n hasJustTabExitedInput = false\n }\n }, 0)\n }\n currentHandleBlurDeferCallback = handleBlurDefer\n handleBlurDefer()\n}\n\nconst pickerDisabled = computed(() => {\n return props.disabled || form?.disabled\n})\n\nconst parsedValue = computed(() => {\n let dayOrDays: DayOrDays\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n dayOrDays = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (isArray(props.modelValue)) {\n dayOrDays = props.modelValue.map((d) =>\n parseDate(d, props.valueFormat, lang.value)\n ) as [Dayjs, Dayjs]\n } else {\n dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value)!\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult = pickerOptions.value.getRangeAvailableTime(\n dayOrDays!\n )\n if (!isEqual(availableResult, dayOrDays!)) {\n dayOrDays = availableResult\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\n }\n }\n if (isArray(dayOrDays!) && dayOrDays.some((day) => !day)) {\n dayOrDays = [] as unknown as DayOrDays\n }\n return dayOrDays!\n})\n\nconst displayValue = computed<UserInput>(() => {\n if (!pickerOptions.value.panelReady) return ''\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (isArray(userInput.value)) {\n return [\n userInput.value[0] || (formattedValue && formattedValue[0]) || '',\n userInput.value[1] || (formattedValue && formattedValue[1]) || '',\n ]\n } else if (userInput.value !== null) {\n return userInput.value\n }\n if (!isTimePicker.value && valueIsEmpty.value) return ''\n if (!pickerVisible.value && valueIsEmpty.value) return ''\n if (formattedValue) {\n return isDatesPicker.value || isYearsPicker.value\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n})\n\nconst isTimeLikePicker = computed(() => props.type.includes('time'))\n\nconst isTimePicker = computed(() => props.type.startsWith('time'))\n\nconst isDatesPicker = computed(() => props.type === 'dates')\n\nconst isYearsPicker = computed(() => props.type === 'years')\n\nconst triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n)\n\nconst showClose = ref(false)\n\nconst onClearIconClick = (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n focusOnInputBox()\n emitInput(valueOnClear.value)\n emitChange(valueOnClear.value, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n}\n\nconst valueIsEmpty = computed(() => {\n const { modelValue } = props\n return (\n !modelValue || (isArray(modelValue) && !modelValue.filter(Boolean).length)\n )\n})\n\nconst onMouseDownInput = async (event: MouseEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n}\nconst onMouseLeave = () => {\n showClose.value = false\n}\nconst onTouchStartInput = (event: TouchEvent) => {\n if (props.readonly || pickerDisabled.value) return\n if (\n (event.touches[0].target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n pickerVisible.value = true\n }\n}\nconst isRangeInput = computed(() => {\n return props.type.includes('range')\n})\n\nconst pickerSize = useFormSize()\n\nconst popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\nconst actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n})\n\nonClickOutside(actualInputRef, (e: PointerEvent) => {\n const unrefedPopperEl = unref(popperEl)\n const inputEl = unref(actualInputRef)\n if (\n (unrefedPopperEl &&\n (e.target === unrefedPopperEl ||\n e.composedPath().includes(unrefedPopperEl))) ||\n e.target === inputEl ||\n e.composedPath().includes(inputEl)\n )\n return\n pickerVisible.value = false\n})\n\nconst userInput = ref<UserInput>(null)\n\nconst handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n (isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()) as DateOrDates\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(valueOnClear.value)\n emitChange(valueOnClear.value)\n userInput.value = null\n }\n}\n\nconst parseUserInputToDayjs = (value: UserInput) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput!(value)\n}\n\nconst formatDayjsToString = (value: DayOrDays) => {\n if (!value) return null\n return pickerOptions.value.formatToString!(value)\n}\n\nconst isValidValue = (value: DayOrDays) => {\n return pickerOptions.value.isValidValue!(value)\n}\n\nconst handleKeydownInput = async (event: KeyboardEvent) => {\n if (props.readonly || pickerDisabled.value) return\n\n const { code } = event\n emitKeydown(event)\n if (code === EVENT_CODE.esc) {\n if (pickerVisible.value === true) {\n pickerVisible.value = false\n event.preventDefault()\n event.stopPropagation()\n }\n return\n }\n\n if (code === EVENT_CODE.down) {\n if (pickerOptions.value.handleFocusPicker) {\n event.preventDefault()\n event.stopPropagation()\n }\n if (pickerVisible.value === false) {\n pickerVisible.value = true\n await nextTick()\n }\n if (pickerOptions.value.handleFocusPicker) {\n pickerOptions.value.handleFocusPicker()\n return\n }\n }\n\n if (code === EVENT_CODE.tab) {\n hasJustTabExitedInput = true\n return\n }\n\n if (code === EVENT_CODE.enter || code === EVENT_CODE.numpadEnter) {\n if (\n userInput.value === null ||\n userInput.value === '' ||\n isValidValue(parseUserInputToDayjs(displayValue.value) as DayOrDays)\n ) {\n handleChange()\n pickerVisible.value = false\n }\n event.stopPropagation()\n return\n }\n\n // if user is typing, do not let picker handle key input\n if (userInput.value) {\n event.stopPropagation()\n return\n }\n if (pickerOptions.value.handleKeydownInput) {\n pickerOptions.value.handleKeydownInput(event)\n }\n}\nconst onUserInput = (e: string) => {\n userInput.value = e\n // Temporary fix when the picker is dismissed and the input box\n // is focused, just mimic the behavior of antdesign.\n if (!pickerVisible.value) {\n pickerVisible.value = true\n }\n}\n\nconst handleStartInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [target.value, userInput.value[1]]\n } else {\n userInput.value = [target.value, null]\n }\n}\n\nconst handleEndInput = (event: Event) => {\n const target = event.target as HTMLInputElement\n if (userInput.value) {\n userInput.value = [userInput.value[0], target.value]\n } else {\n userInput.value = [null, target.value]\n }\n}\n\nconst handleStartChange = () => {\n const values = userInput.value as string[]\n const value = parseUserInputToDayjs(values && values[0]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n formatDayjsToString(value) as string,\n displayValue.value?.[1] || null,\n ]\n const newValue = [value, parsedVal && (parsedVal[1] || null)] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst handleEndChange = () => {\n const values = unref(userInput) as string[]\n const value = parseUserInputToDayjs(values && values[1]) as Dayjs\n const parsedVal = unref(parsedValue) as [Dayjs, Dayjs]\n if (value && value.isValid()) {\n userInput.value = [\n unref(displayValue)?.[0] || null,\n formatDayjsToString(value) as string,\n ]\n const newValue = [parsedVal && parsedVal[0], value] as DayOrDays\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n}\n\nconst pickerOptions = ref<Partial<PickerOptions>>({})\nconst onSetPickerOption = <T extends keyof PickerOptions>(\n e: [T, PickerOptions[T]]\n) => {\n pickerOptions.value[e[0]] = e[1]\n pickerOptions.value.panelReady = true\n}\n\nconst onCalendarChange = (e: [Date, null | Date]) => {\n emit('calendar-change', e)\n}\n\nconst onPanelChange = (\n value: [Dayjs, Dayjs],\n mode: 'month' | 'year',\n view: unknown\n) => {\n emit('panel-change', value, mode, view)\n}\n\nprovide('EP_PICKER_BASE', {\n props,\n})\n\ndefineExpose({\n /**\n * @description focus input box.\n */\n focus,\n /**\n * @description emit focus event\n */\n handleFocusInput,\n /**\n * @description emit blur event\n */\n handleBlurInput,\n /**\n * @description opens picker\n */\n handleOpen,\n /**\n * @description closes picker\n */\n handleClose,\n /**\n * @description pick item manually\n */\n onPick,\n})\n</script>\n"],"names":["useAttrs","useLocale","useNamespace","useFormItem","inject","useEmptyValues","ref","computed","watch","nextTick","valueEquals","debugWarn","isArray","formatter","EVENT_CODE","unref","parseDate","isEqual","Clock","Calendar","onClickOutside","provide"],"mappings":"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"}