@element-plus/nightly 0.0.20241021 → 0.0.20241023

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 (427) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.full.js +40 -8
  3. package/dist/index.full.min.js +9 -9
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +10 -10
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +40 -8
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hr.js +1 -1
  93. package/dist/locale/hr.min.js +1 -1
  94. package/dist/locale/hr.min.mjs +1 -1
  95. package/dist/locale/hr.mjs +1 -1
  96. package/dist/locale/hu.js +1 -1
  97. package/dist/locale/hu.min.js +1 -1
  98. package/dist/locale/hu.min.mjs +1 -1
  99. package/dist/locale/hu.mjs +1 -1
  100. package/dist/locale/hy-am.js +1 -1
  101. package/dist/locale/hy-am.min.js +1 -1
  102. package/dist/locale/hy-am.min.mjs +1 -1
  103. package/dist/locale/hy-am.mjs +1 -1
  104. package/dist/locale/id.js +1 -1
  105. package/dist/locale/id.min.js +1 -1
  106. package/dist/locale/id.min.mjs +1 -1
  107. package/dist/locale/id.mjs +1 -1
  108. package/dist/locale/it.js +1 -1
  109. package/dist/locale/it.min.js +1 -1
  110. package/dist/locale/it.min.mjs +1 -1
  111. package/dist/locale/it.mjs +1 -1
  112. package/dist/locale/ja.js +1 -1
  113. package/dist/locale/ja.min.js +1 -1
  114. package/dist/locale/ja.min.mjs +1 -1
  115. package/dist/locale/ja.mjs +1 -1
  116. package/dist/locale/kk.js +1 -1
  117. package/dist/locale/kk.min.js +1 -1
  118. package/dist/locale/kk.min.mjs +1 -1
  119. package/dist/locale/kk.mjs +1 -1
  120. package/dist/locale/km.js +1 -1
  121. package/dist/locale/km.min.js +1 -1
  122. package/dist/locale/km.min.mjs +1 -1
  123. package/dist/locale/km.mjs +1 -1
  124. package/dist/locale/ko.js +1 -1
  125. package/dist/locale/ko.min.js +1 -1
  126. package/dist/locale/ko.min.mjs +1 -1
  127. package/dist/locale/ko.mjs +1 -1
  128. package/dist/locale/ku.js +1 -1
  129. package/dist/locale/ku.min.js +1 -1
  130. package/dist/locale/ku.min.mjs +1 -1
  131. package/dist/locale/ku.mjs +1 -1
  132. package/dist/locale/ky.js +1 -1
  133. package/dist/locale/ky.min.js +1 -1
  134. package/dist/locale/ky.min.mjs +1 -1
  135. package/dist/locale/ky.mjs +1 -1
  136. package/dist/locale/lt.js +1 -1
  137. package/dist/locale/lt.min.js +1 -1
  138. package/dist/locale/lt.min.mjs +1 -1
  139. package/dist/locale/lt.mjs +1 -1
  140. package/dist/locale/lv.js +1 -1
  141. package/dist/locale/lv.min.js +1 -1
  142. package/dist/locale/lv.min.mjs +1 -1
  143. package/dist/locale/lv.mjs +1 -1
  144. package/dist/locale/mg.js +1 -1
  145. package/dist/locale/mg.min.js +1 -1
  146. package/dist/locale/mg.min.mjs +1 -1
  147. package/dist/locale/mg.mjs +1 -1
  148. package/dist/locale/mn.js +1 -1
  149. package/dist/locale/mn.min.js +1 -1
  150. package/dist/locale/mn.min.mjs +1 -1
  151. package/dist/locale/mn.mjs +1 -1
  152. package/dist/locale/my.js +1 -1
  153. package/dist/locale/my.min.js +1 -1
  154. package/dist/locale/my.min.mjs +1 -1
  155. package/dist/locale/my.mjs +1 -1
  156. package/dist/locale/nb-no.js +1 -1
  157. package/dist/locale/nb-no.min.js +1 -1
  158. package/dist/locale/nb-no.min.mjs +1 -1
  159. package/dist/locale/nb-no.mjs +1 -1
  160. package/dist/locale/nl.js +1 -1
  161. package/dist/locale/nl.min.js +1 -1
  162. package/dist/locale/nl.min.mjs +1 -1
  163. package/dist/locale/nl.mjs +1 -1
  164. package/dist/locale/pa.js +1 -1
  165. package/dist/locale/pa.min.js +1 -1
  166. package/dist/locale/pa.min.mjs +1 -1
  167. package/dist/locale/pa.mjs +1 -1
  168. package/dist/locale/pl.js +1 -1
  169. package/dist/locale/pl.min.js +1 -1
  170. package/dist/locale/pl.min.mjs +1 -1
  171. package/dist/locale/pl.mjs +1 -1
  172. package/dist/locale/pt-br.js +1 -1
  173. package/dist/locale/pt-br.min.js +1 -1
  174. package/dist/locale/pt-br.min.mjs +1 -1
  175. package/dist/locale/pt-br.mjs +1 -1
  176. package/dist/locale/pt.js +1 -1
  177. package/dist/locale/pt.min.js +1 -1
  178. package/dist/locale/pt.min.mjs +1 -1
  179. package/dist/locale/pt.mjs +1 -1
  180. package/dist/locale/ro.js +1 -1
  181. package/dist/locale/ro.min.js +1 -1
  182. package/dist/locale/ro.min.mjs +1 -1
  183. package/dist/locale/ro.mjs +1 -1
  184. package/dist/locale/ru.js +1 -1
  185. package/dist/locale/ru.min.js +1 -1
  186. package/dist/locale/ru.min.mjs +1 -1
  187. package/dist/locale/ru.mjs +1 -1
  188. package/dist/locale/sk.js +1 -1
  189. package/dist/locale/sk.min.js +1 -1
  190. package/dist/locale/sk.min.mjs +1 -1
  191. package/dist/locale/sk.mjs +1 -1
  192. package/dist/locale/sl.js +1 -1
  193. package/dist/locale/sl.min.js +1 -1
  194. package/dist/locale/sl.min.mjs +1 -1
  195. package/dist/locale/sl.mjs +1 -1
  196. package/dist/locale/sr.js +1 -1
  197. package/dist/locale/sr.min.js +1 -1
  198. package/dist/locale/sr.min.mjs +1 -1
  199. package/dist/locale/sr.mjs +1 -1
  200. package/dist/locale/sv.js +1 -1
  201. package/dist/locale/sv.min.js +1 -1
  202. package/dist/locale/sv.min.mjs +1 -1
  203. package/dist/locale/sv.mjs +1 -1
  204. package/dist/locale/sw.js +1 -1
  205. package/dist/locale/sw.min.js +1 -1
  206. package/dist/locale/sw.min.mjs +1 -1
  207. package/dist/locale/sw.mjs +1 -1
  208. package/dist/locale/ta.js +1 -1
  209. package/dist/locale/ta.min.js +1 -1
  210. package/dist/locale/ta.min.mjs +1 -1
  211. package/dist/locale/ta.mjs +1 -1
  212. package/dist/locale/th.js +1 -1
  213. package/dist/locale/th.min.js +1 -1
  214. package/dist/locale/th.min.mjs +1 -1
  215. package/dist/locale/th.mjs +1 -1
  216. package/dist/locale/tk.js +1 -1
  217. package/dist/locale/tk.min.js +1 -1
  218. package/dist/locale/tk.min.mjs +1 -1
  219. package/dist/locale/tk.mjs +1 -1
  220. package/dist/locale/tr.js +1 -1
  221. package/dist/locale/tr.min.js +1 -1
  222. package/dist/locale/tr.min.mjs +1 -1
  223. package/dist/locale/tr.mjs +1 -1
  224. package/dist/locale/ug-cn.js +1 -1
  225. package/dist/locale/ug-cn.min.js +1 -1
  226. package/dist/locale/ug-cn.min.mjs +1 -1
  227. package/dist/locale/ug-cn.mjs +1 -1
  228. package/dist/locale/uk.js +1 -1
  229. package/dist/locale/uk.min.js +1 -1
  230. package/dist/locale/uk.min.mjs +1 -1
  231. package/dist/locale/uk.mjs +1 -1
  232. package/dist/locale/uz-uz.js +1 -1
  233. package/dist/locale/uz-uz.min.js +1 -1
  234. package/dist/locale/uz-uz.min.mjs +1 -1
  235. package/dist/locale/uz-uz.mjs +1 -1
  236. package/dist/locale/vi.js +1 -1
  237. package/dist/locale/vi.min.js +1 -1
  238. package/dist/locale/vi.min.mjs +1 -1
  239. package/dist/locale/vi.mjs +1 -1
  240. package/dist/locale/zh-cn.js +1 -1
  241. package/dist/locale/zh-cn.min.js +1 -1
  242. package/dist/locale/zh-cn.min.mjs +1 -1
  243. package/dist/locale/zh-cn.mjs +1 -1
  244. package/dist/locale/zh-tw.js +1 -1
  245. package/dist/locale/zh-tw.min.js +1 -1
  246. package/dist/locale/zh-tw.min.mjs +1 -1
  247. package/dist/locale/zh-tw.mjs +1 -1
  248. package/es/components/avatar/index.mjs +2 -2
  249. package/es/components/avatar/src/avatar.mjs +32 -66
  250. package/es/components/avatar/src/avatar.mjs.map +1 -1
  251. package/es/components/avatar/src/avatar2.mjs +66 -32
  252. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  253. package/es/components/cascader/index.mjs +2 -2
  254. package/es/components/cascader/src/cascader.mjs +83 -627
  255. package/es/components/cascader/src/cascader.mjs.map +1 -1
  256. package/es/components/cascader/src/cascader2.mjs +627 -83
  257. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  258. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  259. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  260. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -0
  261. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -0
  262. package/es/components/date-picker/src/date-picker.d.ts +3 -0
  263. package/es/components/date-picker/src/panel-utils.d.ts +16 -2
  264. package/es/components/date-picker/src/props/date-picker.d.ts +1 -0
  265. package/es/components/date-picker/src/props/panel-date-pick.d.ts +1 -0
  266. package/es/components/date-picker/src/props/panel-date-range.d.ts +1 -0
  267. package/es/components/date-picker/src/props/shared.d.ts +1 -0
  268. package/es/components/date-picker/src/props/shared.mjs +5 -1
  269. package/es/components/date-picker/src/props/shared.mjs.map +1 -1
  270. package/es/components/descriptions/src/descriptions-cell.mjs.map +1 -1
  271. package/es/components/index.mjs +7 -7
  272. package/es/components/input/index.mjs +2 -2
  273. package/es/components/input/src/input.mjs +103 -445
  274. package/es/components/input/src/input.mjs.map +1 -1
  275. package/es/components/input/src/input2.mjs +445 -103
  276. package/es/components/input/src/input2.mjs.map +1 -1
  277. package/es/components/mention/src/mention.mjs +1 -1
  278. package/es/components/mention/src/mention2.mjs +1 -1
  279. package/es/components/pagination/src/components/prev.mjs +18 -36
  280. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  281. package/es/components/pagination/src/components/prev2.mjs +36 -18
  282. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  283. package/es/components/pagination/src/pagination.mjs +1 -1
  284. package/es/components/popper/index.mjs +2 -2
  285. package/es/components/popper/src/content.mjs +93 -137
  286. package/es/components/popper/src/content.mjs.map +1 -1
  287. package/es/components/popper/src/content2.mjs +137 -93
  288. package/es/components/popper/src/content2.mjs.map +1 -1
  289. package/es/components/scrollbar/index.mjs +1 -1
  290. package/es/components/scrollbar/src/bar2.mjs +1 -1
  291. package/es/components/scrollbar/src/thumb.mjs +11 -130
  292. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  293. package/es/components/scrollbar/src/thumb2.mjs +130 -11
  294. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  295. package/es/components/table-v2/src/components/header.mjs +7 -1
  296. package/es/components/table-v2/src/components/header.mjs.map +1 -1
  297. package/es/components/table-v2/src/table-grid.mjs +9 -3
  298. package/es/components/table-v2/src/table-grid.mjs.map +1 -1
  299. package/es/components/time-picker/src/common/picker.mjs +1 -0
  300. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  301. package/es/components/time-picker/src/common/picker.vue.d.ts +4 -0
  302. package/es/components/time-picker/src/common/props.d.ts +1 -0
  303. package/es/components/time-picker/src/common/props.mjs +5 -1
  304. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  305. package/es/components/time-picker/src/time-picker.d.ts +3 -0
  306. package/es/components/tooltip/src/content.mjs +1 -1
  307. package/es/components/tooltip/src/content2.mjs +1 -1
  308. package/es/components/tooltip-v2/index.mjs +1 -1
  309. package/es/components/tooltip-v2/src/arrow.mjs +22 -37
  310. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  311. package/es/components/tooltip-v2/src/arrow2.mjs +37 -22
  312. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  313. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  314. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  315. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  316. package/es/components/tour/index.mjs +1 -1
  317. package/es/components/tour/src/content.mjs +44 -68
  318. package/es/components/tour/src/content.mjs.map +1 -1
  319. package/es/components/tour/src/content2.mjs +68 -44
  320. package/es/components/tour/src/content2.mjs.map +1 -1
  321. package/es/components/tour/src/step.mjs +1 -1
  322. package/es/components/tour/src/tour.mjs +1 -1
  323. package/es/components/tour/src/tour2.mjs +1 -1
  324. package/es/components/tree/src/model/tree-store.mjs +2 -0
  325. package/es/components/tree/src/model/tree-store.mjs.map +1 -1
  326. package/es/components/tree/src/tree-node.mjs +10 -1
  327. package/es/components/tree/src/tree-node.mjs.map +1 -1
  328. package/es/components/visual-hidden/index.mjs +3 -3
  329. package/es/components/visual-hidden/src/visual-hidden.mjs +7 -35
  330. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  331. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -7
  332. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  333. package/es/index.mjs +7 -7
  334. package/es/version.d.ts +1 -1
  335. package/es/version.mjs +1 -1
  336. package/es/version.mjs.map +1 -1
  337. package/lib/components/avatar/index.js +2 -2
  338. package/lib/components/avatar/src/avatar.js +33 -66
  339. package/lib/components/avatar/src/avatar.js.map +1 -1
  340. package/lib/components/avatar/src/avatar2.js +66 -33
  341. package/lib/components/avatar/src/avatar2.js.map +1 -1
  342. package/lib/components/cascader/index.js +2 -2
  343. package/lib/components/cascader/src/cascader.js +84 -627
  344. package/lib/components/cascader/src/cascader.js.map +1 -1
  345. package/lib/components/cascader/src/cascader2.js +627 -84
  346. package/lib/components/cascader/src/cascader2.js.map +1 -1
  347. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  348. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  349. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +3 -0
  350. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +3 -0
  351. package/lib/components/date-picker/src/date-picker.d.ts +3 -0
  352. package/lib/components/date-picker/src/panel-utils.d.ts +16 -2
  353. package/lib/components/date-picker/src/props/date-picker.d.ts +1 -0
  354. package/lib/components/date-picker/src/props/panel-date-pick.d.ts +1 -0
  355. package/lib/components/date-picker/src/props/panel-date-range.d.ts +1 -0
  356. package/lib/components/date-picker/src/props/shared.d.ts +1 -0
  357. package/lib/components/date-picker/src/props/shared.js +5 -1
  358. package/lib/components/date-picker/src/props/shared.js.map +1 -1
  359. package/lib/components/descriptions/src/descriptions-cell.js.map +1 -1
  360. package/lib/components/index.js +7 -7
  361. package/lib/components/input/index.js +2 -2
  362. package/lib/components/input/src/input.js +103 -444
  363. package/lib/components/input/src/input.js.map +1 -1
  364. package/lib/components/input/src/input2.js +444 -103
  365. package/lib/components/input/src/input2.js.map +1 -1
  366. package/lib/components/mention/src/mention.js +1 -1
  367. package/lib/components/mention/src/mention2.js +1 -1
  368. package/lib/components/pagination/src/components/prev.js +19 -36
  369. package/lib/components/pagination/src/components/prev.js.map +1 -1
  370. package/lib/components/pagination/src/components/prev2.js +36 -19
  371. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  372. package/lib/components/pagination/src/pagination.js +1 -1
  373. package/lib/components/popper/index.js +2 -2
  374. package/lib/components/popper/src/content.js +98 -137
  375. package/lib/components/popper/src/content.js.map +1 -1
  376. package/lib/components/popper/src/content2.js +137 -98
  377. package/lib/components/popper/src/content2.js.map +1 -1
  378. package/lib/components/scrollbar/index.js +1 -1
  379. package/lib/components/scrollbar/src/bar2.js +1 -1
  380. package/lib/components/scrollbar/src/thumb.js +11 -130
  381. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  382. package/lib/components/scrollbar/src/thumb2.js +130 -11
  383. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  384. package/lib/components/table-v2/src/components/header.js +6 -0
  385. package/lib/components/table-v2/src/components/header.js.map +1 -1
  386. package/lib/components/table-v2/src/table-grid.js +8 -2
  387. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  388. package/lib/components/time-picker/src/common/picker.js +1 -0
  389. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  390. package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -0
  391. package/lib/components/time-picker/src/common/props.d.ts +1 -0
  392. package/lib/components/time-picker/src/common/props.js +5 -1
  393. package/lib/components/time-picker/src/common/props.js.map +1 -1
  394. package/lib/components/time-picker/src/time-picker.d.ts +3 -0
  395. package/lib/components/tooltip/src/content.js +1 -1
  396. package/lib/components/tooltip/src/content2.js +1 -1
  397. package/lib/components/tooltip-v2/index.js +1 -1
  398. package/lib/components/tooltip-v2/src/arrow.js +23 -37
  399. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  400. package/lib/components/tooltip-v2/src/arrow2.js +37 -23
  401. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  402. package/lib/components/tooltip-v2/src/content2.js +1 -1
  403. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  404. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  405. package/lib/components/tour/index.js +1 -1
  406. package/lib/components/tour/src/content.js +47 -68
  407. package/lib/components/tour/src/content.js.map +1 -1
  408. package/lib/components/tour/src/content2.js +68 -47
  409. package/lib/components/tour/src/content2.js.map +1 -1
  410. package/lib/components/tour/src/step.js +1 -1
  411. package/lib/components/tour/src/tour.js +1 -1
  412. package/lib/components/tour/src/tour2.js +1 -1
  413. package/lib/components/tree/src/model/tree-store.js +2 -0
  414. package/lib/components/tree/src/model/tree-store.js.map +1 -1
  415. package/lib/components/tree/src/tree-node.js +10 -1
  416. package/lib/components/tree/src/tree-node.js.map +1 -1
  417. package/lib/components/visual-hidden/index.js +2 -2
  418. package/lib/components/visual-hidden/src/visual-hidden.js +7 -35
  419. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  420. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -7
  421. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  422. package/lib/index.js +7 -7
  423. package/lib/version.d.ts +1 -1
  424. package/lib/version.js +1 -1
  425. package/lib/version.js.map +1 -1
  426. package/package.json +2 -2
  427. package/web-types.json +1 -1
@@ -2,19 +2,138 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
5
7
  require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
8
+ require('../../../hooks/index.js');
9
+ var constants = require('./constants.js');
10
+ var util = require('./util.js');
11
+ var thumb = require('./thumb.js');
12
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
+ var index = require('../../../hooks/use-namespace/index.js');
14
+ var error = require('../../../utils/error.js');
7
15
 
8
- const thumbProps = runtime.buildProps({
9
- vertical: Boolean,
10
- size: String,
11
- move: Number,
12
- ratio: {
13
- type: Number,
14
- required: true
15
- },
16
- always: Boolean
16
+ const COMPONENT_NAME = "Thumb";
17
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
+ __name: "thumb",
19
+ props: thumb.thumbProps,
20
+ setup(__props) {
21
+ const props = __props;
22
+ const scrollbar = vue.inject(constants.scrollbarContextKey);
23
+ const ns = index.useNamespace("scrollbar");
24
+ if (!scrollbar)
25
+ error.throwError(COMPONENT_NAME, "can not inject scrollbar context");
26
+ const instance = vue.ref();
27
+ const thumb = vue.ref();
28
+ const thumbState = vue.ref({});
29
+ const visible = vue.ref(false);
30
+ let cursorDown = false;
31
+ let cursorLeave = false;
32
+ let originalOnSelectStart = core.isClient ? document.onselectstart : null;
33
+ const bar = vue.computed(() => util.BAR_MAP[props.vertical ? "vertical" : "horizontal"]);
34
+ const thumbStyle = vue.computed(() => util.renderThumbStyle({
35
+ size: props.size,
36
+ move: props.move,
37
+ bar: bar.value
38
+ }));
39
+ const offsetRatio = vue.computed(() => instance.value[bar.value.offset] ** 2 / scrollbar.wrapElement[bar.value.scrollSize] / props.ratio / thumb.value[bar.value.offset]);
40
+ const clickThumbHandler = (e) => {
41
+ var _a;
42
+ e.stopPropagation();
43
+ if (e.ctrlKey || [1, 2].includes(e.button))
44
+ return;
45
+ (_a = window.getSelection()) == null ? void 0 : _a.removeAllRanges();
46
+ startDrag(e);
47
+ const el = e.currentTarget;
48
+ if (!el)
49
+ return;
50
+ thumbState.value[bar.value.axis] = el[bar.value.offset] - (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction]);
51
+ };
52
+ const clickTrackHandler = (e) => {
53
+ if (!thumb.value || !instance.value || !scrollbar.wrapElement)
54
+ return;
55
+ const offset = Math.abs(e.target.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]);
56
+ const thumbHalf = thumb.value[bar.value.offset] / 2;
57
+ const thumbPositionPercentage = (offset - thumbHalf) * 100 * offsetRatio.value / instance.value[bar.value.offset];
58
+ scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize] / 100;
59
+ };
60
+ const startDrag = (e) => {
61
+ e.stopImmediatePropagation();
62
+ cursorDown = true;
63
+ document.addEventListener("mousemove", mouseMoveDocumentHandler);
64
+ document.addEventListener("mouseup", mouseUpDocumentHandler);
65
+ originalOnSelectStart = document.onselectstart;
66
+ document.onselectstart = () => false;
67
+ };
68
+ const mouseMoveDocumentHandler = (e) => {
69
+ if (!instance.value || !thumb.value)
70
+ return;
71
+ if (cursorDown === false)
72
+ return;
73
+ const prevPage = thumbState.value[bar.value.axis];
74
+ if (!prevPage)
75
+ return;
76
+ const offset = (instance.value.getBoundingClientRect()[bar.value.direction] - e[bar.value.client]) * -1;
77
+ const thumbClickPosition = thumb.value[bar.value.offset] - prevPage;
78
+ const thumbPositionPercentage = (offset - thumbClickPosition) * 100 * offsetRatio.value / instance.value[bar.value.offset];
79
+ scrollbar.wrapElement[bar.value.scroll] = thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize] / 100;
80
+ };
81
+ const mouseUpDocumentHandler = () => {
82
+ cursorDown = false;
83
+ thumbState.value[bar.value.axis] = 0;
84
+ document.removeEventListener("mousemove", mouseMoveDocumentHandler);
85
+ document.removeEventListener("mouseup", mouseUpDocumentHandler);
86
+ restoreOnselectstart();
87
+ if (cursorLeave)
88
+ visible.value = false;
89
+ };
90
+ const mouseMoveScrollbarHandler = () => {
91
+ cursorLeave = false;
92
+ visible.value = !!props.size;
93
+ };
94
+ const mouseLeaveScrollbarHandler = () => {
95
+ cursorLeave = true;
96
+ visible.value = cursorDown;
97
+ };
98
+ vue.onBeforeUnmount(() => {
99
+ restoreOnselectstart();
100
+ document.removeEventListener("mouseup", mouseUpDocumentHandler);
101
+ });
102
+ const restoreOnselectstart = () => {
103
+ if (document.onselectstart !== originalOnSelectStart)
104
+ document.onselectstart = originalOnSelectStart;
105
+ };
106
+ core.useEventListener(vue.toRef(scrollbar, "scrollbarElement"), "mousemove", mouseMoveScrollbarHandler);
107
+ core.useEventListener(vue.toRef(scrollbar, "scrollbarElement"), "mouseleave", mouseLeaveScrollbarHandler);
108
+ return (_ctx, _cache) => {
109
+ return vue.openBlock(), vue.createBlock(vue.Transition, {
110
+ name: vue.unref(ns).b("fade"),
111
+ persisted: ""
112
+ }, {
113
+ default: vue.withCtx(() => [
114
+ vue.withDirectives(vue.createElementVNode("div", {
115
+ ref_key: "instance",
116
+ ref: instance,
117
+ class: vue.normalizeClass([vue.unref(ns).e("bar"), vue.unref(ns).is(vue.unref(bar).key)]),
118
+ onMousedown: clickTrackHandler
119
+ }, [
120
+ vue.createElementVNode("div", {
121
+ ref_key: "thumb",
122
+ ref: thumb,
123
+ class: vue.normalizeClass(vue.unref(ns).e("thumb")),
124
+ style: vue.normalizeStyle(vue.unref(thumbStyle)),
125
+ onMousedown: clickThumbHandler
126
+ }, null, 38)
127
+ ], 34), [
128
+ [vue.vShow, _ctx.always || visible.value]
129
+ ])
130
+ ]),
131
+ _: 1
132
+ }, 8, ["name"]);
133
+ };
134
+ }
17
135
  });
136
+ var Thumb = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "thumb.vue"]]);
18
137
 
19
- exports.thumbProps = thumbProps;
138
+ exports["default"] = Thumb;
20
139
  //# sourceMappingURL=thumb2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thumb2.js","sources":["../../../../../../packages/components/scrollbar/src/thumb.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Thumb from './thumb.vue'\n\nexport const thumbProps = buildProps({\n vertical: Boolean,\n size: String,\n move: Number,\n ratio: {\n type: Number,\n required: true,\n },\n always: Boolean,\n} as const)\nexport type ThumbProps = ExtractPropTypes<typeof thumbProps>\n\nexport type ThumbInstance = InstanceType<typeof Thumb>\n"],"names":["buildProps"],"mappings":";;;;;;;AACY,MAAC,UAAU,GAAGA,kBAAU,CAAC;AACrC,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,CAAC;;;;"}
1
+ {"version":3,"file":"thumb2.js","sources":["../../../../../../packages/components/scrollbar/src/thumb.vue"],"sourcesContent":["<template>\n <transition :name=\"ns.b('fade')\">\n <div\n v-show=\"always || visible\"\n ref=\"instance\"\n :class=\"[ns.e('bar'), ns.is(bar.key)]\"\n @mousedown=\"clickTrackHandler\"\n >\n <div\n ref=\"thumb\"\n :class=\"ns.e('thumb')\"\n :style=\"thumbStyle\"\n @mousedown=\"clickThumbHandler\"\n />\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, ref, toRef } from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { isClient, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { scrollbarContextKey } from './constants'\nimport { BAR_MAP, renderThumbStyle } from './util'\nimport { thumbProps } from './thumb'\n\nconst COMPONENT_NAME = 'Thumb'\nconst props = defineProps(thumbProps)\n\nconst scrollbar = inject(scrollbarContextKey)\nconst ns = useNamespace('scrollbar')\n\nif (!scrollbar) throwError(COMPONENT_NAME, 'can not inject scrollbar context')\n\nconst instance = ref<HTMLDivElement>()\nconst thumb = ref<HTMLDivElement>()\n\nconst thumbState = ref<Partial<Record<'X' | 'Y', number>>>({})\nconst visible = ref(false)\n\nlet cursorDown = false\nlet cursorLeave = false\nlet originalOnSelectStart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = isClient ? document.onselectstart : null\n\nconst bar = computed(() => BAR_MAP[props.vertical ? 'vertical' : 'horizontal'])\n\nconst thumbStyle = computed(() =>\n renderThumbStyle({\n size: props.size,\n move: props.move,\n bar: bar.value,\n })\n)\n\nconst offsetRatio = computed(\n () =>\n // offsetRatioX = original width of thumb / current width of thumb / ratioX\n // offsetRatioY = original height of thumb / current height of thumb / ratioY\n // instance height = wrap height - GAP\n instance.value![bar.value.offset] ** 2 /\n scrollbar.wrapElement![bar.value.scrollSize] /\n props.ratio /\n thumb.value![bar.value.offset]\n)\n\nconst clickThumbHandler = (e: MouseEvent) => {\n // prevent click event of middle and right button\n e.stopPropagation()\n if (e.ctrlKey || [1, 2].includes(e.button)) return\n\n window.getSelection()?.removeAllRanges()\n startDrag(e)\n\n const el = e.currentTarget as HTMLDivElement\n if (!el) return\n thumbState.value[bar.value.axis] =\n el[bar.value.offset] -\n (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction])\n}\n\nconst clickTrackHandler = (e: MouseEvent) => {\n if (!thumb.value || !instance.value || !scrollbar.wrapElement) return\n\n const offset = Math.abs(\n (e.target as HTMLElement).getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]\n )\n const thumbHalf = thumb.value[bar.value.offset] / 2\n const thumbPositionPercentage =\n ((offset - thumbHalf) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n}\n\nconst startDrag = (e: MouseEvent) => {\n e.stopImmediatePropagation()\n cursorDown = true\n document.addEventListener('mousemove', mouseMoveDocumentHandler)\n document.addEventListener('mouseup', mouseUpDocumentHandler)\n originalOnSelectStart = document.onselectstart\n document.onselectstart = () => false\n}\n\nconst mouseMoveDocumentHandler = (e: MouseEvent) => {\n if (!instance.value || !thumb.value) return\n if (cursorDown === false) return\n\n const prevPage = thumbState.value[bar.value.axis]\n if (!prevPage) return\n\n const offset =\n (instance.value.getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]) *\n -1\n const thumbClickPosition = thumb.value[bar.value.offset] - prevPage\n const thumbPositionPercentage =\n ((offset - thumbClickPosition) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage * scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n}\n\nconst mouseUpDocumentHandler = () => {\n cursorDown = false\n thumbState.value[bar.value.axis] = 0\n document.removeEventListener('mousemove', mouseMoveDocumentHandler)\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n restoreOnselectstart()\n if (cursorLeave) visible.value = false\n}\n\nconst mouseMoveScrollbarHandler = () => {\n cursorLeave = false\n visible.value = !!props.size\n}\n\nconst mouseLeaveScrollbarHandler = () => {\n cursorLeave = true\n visible.value = cursorDown\n}\n\nonBeforeUnmount(() => {\n restoreOnselectstart()\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n})\n\nconst restoreOnselectstart = () => {\n if (document.onselectstart !== originalOnSelectStart)\n document.onselectstart = originalOnSelectStart\n}\n\nuseEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mousemove',\n mouseMoveScrollbarHandler\n)\nuseEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mouseleave',\n mouseLeaveScrollbarHandler\n)\n</script>\n"],"names":["inject","scrollbarContextKey","useNamespace","throwError","ref","isClient","computed","BAR_MAP","renderThumbStyle","onBeforeUnmount","useEventListener","toRef","_createBlock","_Transition","_unref","_withCtx","_withDirectives","_createElementVNode","_normalizeClass"],"mappings":"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"}
@@ -19,6 +19,7 @@ const TableV2Header = vue.defineComponent({
19
19
  expose
20
20
  }) {
21
21
  const ns = index.useNamespace("table-v2");
22
+ const scrollLeftInfo = vue.inject("tableV2GridScrollLeft");
22
23
  const headerRef = vue.ref();
23
24
  const headerStyle = vue.computed(() => utils.enforceUnit({
24
25
  width: props.width,
@@ -78,6 +79,11 @@ const TableV2Header = vue.defineComponent({
78
79
  });
79
80
  });
80
81
  };
82
+ vue.onUpdated(() => {
83
+ if (scrollLeftInfo == null ? void 0 : scrollLeftInfo.value) {
84
+ scrollToLeft(scrollLeftInfo.value);
85
+ }
86
+ });
81
87
  expose({
82
88
  scrollToLeft
83
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, ref, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll &&\n headerEl.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div\n ref={headerRef}\n class={props.class}\n style={unref(headerStyle)}\n role=\"rowgroup\"\n >\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","useNamespace","ns","ref","headerRef","enforceUnit","computed","width","height","rowWidth","ensureArray","unref","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","headerIndex","_createVNode","headerStyle"],"mappings":"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"}
1
+ {"version":3,"file":"header.js","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onUpdated,\n ref,\n unref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, Ref, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n const scrollLeftInfo = inject<Ref<number>>('tableV2GridScrollLeft')\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll &&\n headerEl.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n onUpdated(() => {\n if (scrollLeftInfo?.value) {\n scrollToLeft(scrollLeftInfo.value)\n }\n })\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div\n ref={headerRef}\n class={props.class}\n style={unref(headerStyle)}\n role=\"rowgroup\"\n >\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","useNamespace","ns","inject","scrollLeftInfo","ref","headerRef","enforceUnit","computed","width","height","rowWidth","ensureArray","unref","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","headerIndex","onUpdated","_createVNode","headerStyle"],"mappings":"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"}
@@ -19,6 +19,7 @@ const COMPONENT_NAME = "ElTableV2Grid";
19
19
  const useTableGrid = (props) => {
20
20
  const headerRef = vue.ref();
21
21
  const bodyRef = vue.ref();
22
+ const scrollLeft = vue.ref(0);
22
23
  const totalHeight = vue.computed(() => {
23
24
  const {
24
25
  data,
@@ -74,9 +75,11 @@ const useTableGrid = (props) => {
74
75
  const body$ = vue.unref(bodyRef);
75
76
  if (shared.isObject(leftOrOptions)) {
76
77
  header$ == null ? void 0 : header$.scrollToLeft(leftOrOptions.scrollLeft);
78
+ scrollLeft.value = leftOrOptions.scrollLeft;
77
79
  body$ == null ? void 0 : body$.scrollTo(leftOrOptions);
78
80
  } else {
79
81
  header$ == null ? void 0 : header$.scrollToLeft(leftOrOptions);
82
+ scrollLeft.value = leftOrOptions;
80
83
  body$ == null ? void 0 : body$.scrollTo({
81
84
  scrollLeft: leftOrOptions,
82
85
  scrollTop: top
@@ -112,7 +115,8 @@ const useTableGrid = (props) => {
112
115
  resetAfterRowIndex,
113
116
  scrollTo,
114
117
  scrollToTop,
115
- scrollToRow
118
+ scrollToRow,
119
+ scrollLeft
116
120
  };
117
121
  };
118
122
  const TableGrid = vue.defineComponent({
@@ -139,8 +143,10 @@ const TableGrid = vue.defineComponent({
139
143
  resetAfterRowIndex,
140
144
  scrollTo,
141
145
  scrollToTop,
142
- scrollToRow
146
+ scrollToRow,
147
+ scrollLeft
143
148
  } = useTableGrid(props);
149
+ vue.provide("tableV2GridScrollLeft", scrollLeft);
144
150
  expose({
145
151
  forceUpdate,
146
152
  totalHeight,
@@ -1 +1 @@
1
- {"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref } from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n } = useTableGrid(props)\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\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,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\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 @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","scrollTo","header$","scrollToLeft","scrollLeft","scrollTop","top","scrollToTop","fixedRowHeight","totalHeight","defineComponent","tableV2GridProps","scrollToRow","TableGrid","name","TableV2InjectionKey","expose","ns","inject","onItemRendered","resetAfterRowIndex","isNumber","DynamicSizeGrid","FixedSizeGrid","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","Grid","_headerHeight","Header","e","class"],"mappings":"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"}
1
+ {"version":3,"file":"table-grid.js","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, provide, ref, unref } from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide('tableV2GridScrollLeft', scrollLeft)\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\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,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\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 @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","computed","data","rowHeight","estimatedRowHeight","sum","headerHeight","gridHeight","unref","height","Math","max","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","isObject","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","fixedRowHeight","totalHeight","defineComponent","tableV2GridProps","TableGrid","name","TableV2InjectionKey","expose","ns","inject","onItemRendered","resetAfterRowIndex","scrollTo","scrollToRow","provide","isNumber","DynamicSizeGrid","FixedSizeGrid","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","onScroll","isDynamicRowEnabled","Grid","_headerHeight","Header","e","class"],"mappings":"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"}
@@ -655,6 +655,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
655
655
  unlinkPanels: _ctx.unlinkPanels,
656
656
  type: _ctx.type,
657
657
  defaultValue: _ctx.defaultValue,
658
+ showNow: _ctx.showNow,
658
659
  onPick,
659
660
  onSelectRange: setSelectionRange,
660
661
  onSetPickerOption,
@@ -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=\"fallbackPlacements\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\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 isMonthsPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :aria-label=\"ariaLabel\"\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.passive=\"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.passive=\"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.passive=\"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.passive=\"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 onBeforeUnmount,\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 'clear',\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\n // The result is corrected only when model-value exists\n if (!valueIsEmpty.value) {\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\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 || isMonthsPicker.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 isMonthsPicker = computed(() => props.type === 'months')\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 // When the handleClear Function was provided, emit null will be executed inside it\n // There is no need for us to execute emit null twice. #14752\n if (pickerOptions.value.handleClear) {\n pickerOptions.value.handleClear()\n } else {\n emitInput(valueOnClear.value)\n }\n emitChange(valueOnClear.value, true)\n showClose.value = false\n onHide()\n }\n emit('clear')\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\nconst stophandle = onClickOutside(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\nonBeforeUnmount(() => {\n stophandle?.()\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","useFormSize","onClickOutside","onBeforeUnmount","provide","_openBlock","_createBlock","_unref","ElTooltip","_mergeProps"],"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=\"fallbackPlacements\"\n :gpu-acceleration=\"false\"\n :placement=\"placement\"\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 isMonthsPicker ||\n isYearsPicker ||\n type === 'week'\n \"\n :aria-label=\"ariaLabel\"\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.passive=\"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.passive=\"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.passive=\"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.passive=\"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 :show-now=\"showNow\"\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 onBeforeUnmount,\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 'clear',\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\n // The result is corrected only when model-value exists\n if (!valueIsEmpty.value) {\n emitInput(\n (isArray(dayOrDays)\n ? dayOrDays.map((_) => _.toDate())\n : dayOrDays.toDate()) as SingleOrRange<Date>\n )\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 || isMonthsPicker.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 isMonthsPicker = computed(() => props.type === 'months')\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 // When the handleClear Function was provided, emit null will be executed inside it\n // There is no need for us to execute emit null twice. #14752\n if (pickerOptions.value.handleClear) {\n pickerOptions.value.handleClear()\n } else {\n emitInput(valueOnClear.value)\n }\n emitChange(valueOnClear.value, true)\n showClose.value = false\n onHide()\n }\n emit('clear')\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\nconst stophandle = onClickOutside(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\nonBeforeUnmount(() => {\n stophandle?.()\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","useFormSize","onClickOutside","onBeforeUnmount","provide","_openBlock","_createBlock","_unref","ElTooltip","_mergeProps"],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Dayjs } from 'dayjs';
2
2
  import type { Options } from '@popperjs/core';
3
3
  import type { DayOrDays, PickerOptions, SingleOrRange } from './props';
4
4
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
5
+ readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
5
6
  readonly ariaLabel: StringConstructor;
6
7
  readonly emptyValues: ArrayConstructor;
7
8
  readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
@@ -127,6 +128,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
127
128
  "panel-change": (...args: any[]) => void;
128
129
  "visible-change": (...args: any[]) => void;
129
130
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
131
+ readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
130
132
  readonly ariaLabel: StringConstructor;
131
133
  readonly emptyValues: ArrayConstructor;
132
134
  readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;
@@ -245,6 +247,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
245
247
  readonly editable: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
246
248
  readonly rangeSeparator: string;
247
249
  readonly shortcuts: unknown[];
250
+ readonly showNow: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
248
251
  readonly arrowControl: boolean;
249
252
  readonly unlinkPanels: boolean;
250
253
  readonly isRange: boolean;
@@ -260,6 +263,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
260
263
  unlinkPanels: boolean;
261
264
  type: string;
262
265
  defaultValue: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => Date | [Date, Date]) | (() => SingleOrRange<Date>) | ((new (...args: any[]) => Date | [Date, Date]) | (() => SingleOrRange<Date>))[], unknown, unknown> | undefined;
266
+ showNow: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
263
267
  pick: (date?: any, visible?: boolean) => void;
264
268
  "select-range": (start: number, end: number, pos?: "min" | "max" | undefined) => void;
265
269
  "set-picker-option": <T extends keyof PickerOptions>(e: [T, PickerOptions[T]]) => void;
@@ -12,6 +12,7 @@ export declare type GetDisabledHours = (role: string, comparingDate?: Dayjs) =>
12
12
  export declare type GetDisabledMinutes = (hour: number, role: string, comparingDate?: Dayjs) => number[];
13
13
  export declare type GetDisabledSeconds = (hour: number, minute: number, role: string, comparingDate?: Dayjs) => number[];
14
14
  export declare const timePickerDefaultProps: {
15
+ readonly showNow: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
15
16
  readonly ariaLabel: StringConstructor;
16
17
  readonly emptyValues: ArrayConstructor;
17
18
  readonly valueOnClear: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown, undefined, boolean>;