@element-plus/nightly 0.0.20220220 → 0.0.20220224

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 (599) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +3347 -6119
  4. package/dist/index.full.min.js +11 -11
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +11 -11
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +3348 -6120
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +1 -1
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.mjs +1 -1
  20. package/dist/locale/bg.mjs +1 -1
  21. package/dist/locale/bn.js +1 -1
  22. package/dist/locale/bn.min.js +1 -1
  23. package/dist/locale/bn.min.mjs +1 -1
  24. package/dist/locale/bn.mjs +1 -1
  25. package/dist/locale/ca.js +1 -1
  26. package/dist/locale/ca.min.js +1 -1
  27. package/dist/locale/ca.min.mjs +1 -1
  28. package/dist/locale/ca.mjs +1 -1
  29. package/dist/locale/cs.js +1 -1
  30. package/dist/locale/cs.min.js +1 -1
  31. package/dist/locale/cs.min.mjs +1 -1
  32. package/dist/locale/cs.mjs +1 -1
  33. package/dist/locale/da.js +1 -1
  34. package/dist/locale/da.min.js +1 -1
  35. package/dist/locale/da.min.mjs +1 -1
  36. package/dist/locale/da.mjs +1 -1
  37. package/dist/locale/de.js +1 -1
  38. package/dist/locale/de.min.js +1 -1
  39. package/dist/locale/de.min.mjs +1 -1
  40. package/dist/locale/de.mjs +1 -1
  41. package/dist/locale/el.js +1 -1
  42. package/dist/locale/el.min.js +1 -1
  43. package/dist/locale/el.min.mjs +1 -1
  44. package/dist/locale/el.mjs +1 -1
  45. package/dist/locale/en.js +1 -1
  46. package/dist/locale/en.min.js +1 -1
  47. package/dist/locale/en.min.mjs +1 -1
  48. package/dist/locale/en.mjs +1 -1
  49. package/dist/locale/eo.js +1 -1
  50. package/dist/locale/eo.min.js +1 -1
  51. package/dist/locale/eo.min.mjs +1 -1
  52. package/dist/locale/eo.mjs +1 -1
  53. package/dist/locale/es.js +1 -1
  54. package/dist/locale/es.min.js +1 -1
  55. package/dist/locale/es.min.mjs +1 -1
  56. package/dist/locale/es.mjs +1 -1
  57. package/dist/locale/et.js +1 -1
  58. package/dist/locale/et.min.js +1 -1
  59. package/dist/locale/et.min.mjs +1 -1
  60. package/dist/locale/et.mjs +1 -1
  61. package/dist/locale/eu.js +1 -1
  62. package/dist/locale/eu.min.js +1 -1
  63. package/dist/locale/eu.min.mjs +1 -1
  64. package/dist/locale/eu.mjs +1 -1
  65. package/dist/locale/fa.js +1 -1
  66. package/dist/locale/fa.min.js +1 -1
  67. package/dist/locale/fa.min.mjs +1 -1
  68. package/dist/locale/fa.mjs +1 -1
  69. package/dist/locale/fi.js +1 -1
  70. package/dist/locale/fi.min.js +1 -1
  71. package/dist/locale/fi.min.mjs +1 -1
  72. package/dist/locale/fi.mjs +1 -1
  73. package/dist/locale/fr.js +1 -1
  74. package/dist/locale/fr.min.js +1 -1
  75. package/dist/locale/fr.min.mjs +1 -1
  76. package/dist/locale/fr.mjs +1 -1
  77. package/dist/locale/he.js +1 -1
  78. package/dist/locale/he.min.js +1 -1
  79. package/dist/locale/he.min.mjs +1 -1
  80. package/dist/locale/he.mjs +1 -1
  81. package/dist/locale/hr.js +1 -1
  82. package/dist/locale/hr.min.js +1 -1
  83. package/dist/locale/hr.min.mjs +1 -1
  84. package/dist/locale/hr.mjs +1 -1
  85. package/dist/locale/hu.js +1 -1
  86. package/dist/locale/hu.min.js +1 -1
  87. package/dist/locale/hu.min.mjs +1 -1
  88. package/dist/locale/hu.mjs +1 -1
  89. package/dist/locale/hy-am.js +1 -1
  90. package/dist/locale/hy-am.min.js +1 -1
  91. package/dist/locale/hy-am.min.mjs +1 -1
  92. package/dist/locale/hy-am.mjs +1 -1
  93. package/dist/locale/id.js +1 -1
  94. package/dist/locale/id.min.js +1 -1
  95. package/dist/locale/id.min.mjs +1 -1
  96. package/dist/locale/id.mjs +1 -1
  97. package/dist/locale/it.js +1 -1
  98. package/dist/locale/it.min.js +1 -1
  99. package/dist/locale/it.min.mjs +1 -1
  100. package/dist/locale/it.mjs +1 -1
  101. package/dist/locale/ja.js +1 -1
  102. package/dist/locale/ja.min.js +1 -1
  103. package/dist/locale/ja.min.mjs +1 -1
  104. package/dist/locale/ja.mjs +1 -1
  105. package/dist/locale/kk.js +1 -1
  106. package/dist/locale/kk.min.js +1 -1
  107. package/dist/locale/kk.min.mjs +1 -1
  108. package/dist/locale/kk.mjs +1 -1
  109. package/dist/locale/km.js +1 -1
  110. package/dist/locale/km.min.js +1 -1
  111. package/dist/locale/km.min.mjs +1 -1
  112. package/dist/locale/km.mjs +1 -1
  113. package/dist/locale/ko.js +1 -1
  114. package/dist/locale/ko.min.js +1 -1
  115. package/dist/locale/ko.min.mjs +1 -1
  116. package/dist/locale/ko.mjs +1 -1
  117. package/dist/locale/ku.js +1 -1
  118. package/dist/locale/ku.min.js +1 -1
  119. package/dist/locale/ku.min.mjs +1 -1
  120. package/dist/locale/ku.mjs +1 -1
  121. package/dist/locale/ky.js +1 -1
  122. package/dist/locale/ky.min.js +1 -1
  123. package/dist/locale/ky.min.mjs +1 -1
  124. package/dist/locale/ky.mjs +1 -1
  125. package/dist/locale/lt.js +1 -1
  126. package/dist/locale/lt.min.js +1 -1
  127. package/dist/locale/lt.min.mjs +1 -1
  128. package/dist/locale/lt.mjs +1 -1
  129. package/dist/locale/lv.js +1 -1
  130. package/dist/locale/lv.min.js +1 -1
  131. package/dist/locale/lv.min.mjs +1 -1
  132. package/dist/locale/lv.mjs +1 -1
  133. package/dist/locale/mg.js +1 -1
  134. package/dist/locale/mg.min.js +1 -1
  135. package/dist/locale/mg.min.mjs +1 -1
  136. package/dist/locale/mg.mjs +1 -1
  137. package/dist/locale/mn.js +1 -1
  138. package/dist/locale/mn.min.js +1 -1
  139. package/dist/locale/mn.min.mjs +1 -1
  140. package/dist/locale/mn.mjs +1 -1
  141. package/dist/locale/nb-no.js +1 -1
  142. package/dist/locale/nb-no.min.js +1 -1
  143. package/dist/locale/nb-no.min.mjs +1 -1
  144. package/dist/locale/nb-no.mjs +1 -1
  145. package/dist/locale/nl.js +1 -1
  146. package/dist/locale/nl.min.js +1 -1
  147. package/dist/locale/nl.min.mjs +1 -1
  148. package/dist/locale/nl.mjs +1 -1
  149. package/dist/locale/pa.js +1 -1
  150. package/dist/locale/pa.min.js +1 -1
  151. package/dist/locale/pa.min.mjs +1 -1
  152. package/dist/locale/pa.mjs +1 -1
  153. package/dist/locale/pl.js +1 -1
  154. package/dist/locale/pl.min.js +1 -1
  155. package/dist/locale/pl.min.mjs +1 -1
  156. package/dist/locale/pl.mjs +1 -1
  157. package/dist/locale/pt-br.js +1 -1
  158. package/dist/locale/pt-br.min.js +1 -1
  159. package/dist/locale/pt-br.min.mjs +1 -1
  160. package/dist/locale/pt-br.mjs +1 -1
  161. package/dist/locale/pt.js +1 -1
  162. package/dist/locale/pt.min.js +1 -1
  163. package/dist/locale/pt.min.mjs +1 -1
  164. package/dist/locale/pt.mjs +1 -1
  165. package/dist/locale/ro.js +1 -1
  166. package/dist/locale/ro.min.js +1 -1
  167. package/dist/locale/ro.min.mjs +1 -1
  168. package/dist/locale/ro.mjs +1 -1
  169. package/dist/locale/ru.js +1 -1
  170. package/dist/locale/ru.min.js +1 -1
  171. package/dist/locale/ru.min.mjs +1 -1
  172. package/dist/locale/ru.mjs +1 -1
  173. package/dist/locale/sk.js +1 -1
  174. package/dist/locale/sk.min.js +1 -1
  175. package/dist/locale/sk.min.mjs +1 -1
  176. package/dist/locale/sk.mjs +1 -1
  177. package/dist/locale/sl.js +1 -1
  178. package/dist/locale/sl.min.js +1 -1
  179. package/dist/locale/sl.min.mjs +1 -1
  180. package/dist/locale/sl.mjs +1 -1
  181. package/dist/locale/sr.js +1 -1
  182. package/dist/locale/sr.min.js +1 -1
  183. package/dist/locale/sr.min.mjs +1 -1
  184. package/dist/locale/sr.mjs +1 -1
  185. package/dist/locale/sv.js +1 -1
  186. package/dist/locale/sv.min.js +1 -1
  187. package/dist/locale/sv.min.mjs +1 -1
  188. package/dist/locale/sv.mjs +1 -1
  189. package/dist/locale/ta.js +1 -1
  190. package/dist/locale/ta.min.js +1 -1
  191. package/dist/locale/ta.min.mjs +1 -1
  192. package/dist/locale/ta.mjs +1 -1
  193. package/dist/locale/th.js +1 -1
  194. package/dist/locale/th.min.js +1 -1
  195. package/dist/locale/th.min.mjs +1 -1
  196. package/dist/locale/th.mjs +1 -1
  197. package/dist/locale/tk.js +1 -1
  198. package/dist/locale/tk.min.js +1 -1
  199. package/dist/locale/tk.min.mjs +1 -1
  200. package/dist/locale/tk.mjs +1 -1
  201. package/dist/locale/tr.js +1 -1
  202. package/dist/locale/tr.min.js +1 -1
  203. package/dist/locale/tr.min.mjs +1 -1
  204. package/dist/locale/tr.mjs +1 -1
  205. package/dist/locale/ug-cn.js +1 -1
  206. package/dist/locale/ug-cn.min.js +1 -1
  207. package/dist/locale/ug-cn.min.mjs +1 -1
  208. package/dist/locale/ug-cn.mjs +1 -1
  209. package/dist/locale/uk.js +1 -1
  210. package/dist/locale/uk.min.js +1 -1
  211. package/dist/locale/uk.min.mjs +1 -1
  212. package/dist/locale/uk.mjs +1 -1
  213. package/dist/locale/uz-uz.js +1 -1
  214. package/dist/locale/uz-uz.min.js +1 -1
  215. package/dist/locale/uz-uz.min.mjs +1 -1
  216. package/dist/locale/uz-uz.mjs +1 -1
  217. package/dist/locale/vi.js +1 -1
  218. package/dist/locale/vi.min.js +1 -1
  219. package/dist/locale/vi.min.mjs +1 -1
  220. package/dist/locale/vi.mjs +1 -1
  221. package/dist/locale/zh-cn.js +1 -1
  222. package/dist/locale/zh-cn.min.js +1 -1
  223. package/dist/locale/zh-cn.min.mjs +1 -1
  224. package/dist/locale/zh-cn.mjs +1 -1
  225. package/dist/locale/zh-tw.js +1 -1
  226. package/dist/locale/zh-tw.min.js +1 -1
  227. package/dist/locale/zh-tw.min.mjs +1 -1
  228. package/dist/locale/zh-tw.mjs +1 -1
  229. package/es/components/affix/index.d.ts +6 -8
  230. package/es/components/affix/src/affix.vue.d.ts +6 -8
  231. package/es/components/affix/src/affix2.mjs +35 -34
  232. package/es/components/affix/src/affix2.mjs.map +1 -1
  233. package/es/components/avatar/index.d.ts +58 -0
  234. package/es/components/avatar/index.mjs +2 -2
  235. package/es/components/avatar/index.mjs.map +1 -1
  236. package/es/components/avatar/src/avatar.vue.d.ts +58 -0
  237. package/es/components/avatar/src/avatar2.mjs +29 -38
  238. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  239. package/es/components/badge/src/badge2.mjs +4 -1
  240. package/es/components/badge/src/badge2.mjs.map +1 -1
  241. package/es/components/button/index.d.ts +12 -1
  242. package/es/components/button/index.mjs +3 -3
  243. package/es/components/button/index.mjs.map +1 -1
  244. package/es/components/button/src/button-group.vue.d.ts +6 -0
  245. package/es/components/button/src/button-group2.mjs +15 -16
  246. package/es/components/button/src/button-group2.mjs.map +1 -1
  247. package/es/components/button/src/button.vue.d.ts +0 -1
  248. package/es/components/button/src/button2.mjs +3 -5
  249. package/es/components/button/src/button2.mjs.map +1 -1
  250. package/es/components/calendar/index.d.ts +1 -1
  251. package/es/components/card/index.mjs +2 -2
  252. package/es/components/card/index.mjs.map +1 -1
  253. package/es/components/card/src/card2.mjs +27 -29
  254. package/es/components/card/src/card2.mjs.map +1 -1
  255. package/es/components/cascader/index.d.ts +22 -12
  256. package/es/components/cascader/src/index.vue.d.ts +11 -6
  257. package/es/components/config-provider/index.d.ts +3 -3
  258. package/es/components/config-provider/src/config-provider.d.ts +2 -1
  259. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  260. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  261. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  262. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  263. package/es/components/descriptions/index.d.ts +2 -2
  264. package/es/components/descriptions/src/description-item.d.ts +1 -1
  265. package/es/components/dialog/index.d.ts +200 -32
  266. package/es/components/dialog/index.mjs +2 -2
  267. package/es/components/dialog/index.mjs.map +1 -1
  268. package/es/components/dialog/src/dialog-content.d.ts +12 -0
  269. package/es/components/dialog/src/dialog-content.mjs +40 -0
  270. package/es/components/dialog/src/dialog-content.mjs.map +1 -0
  271. package/es/components/dialog/src/dialog-content.vue.d.ts +84 -0
  272. package/es/components/dialog/src/dialog-content2.mjs +84 -0
  273. package/es/components/dialog/src/dialog-content2.mjs.map +1 -0
  274. package/es/components/dialog/src/dialog.d.ts +9 -7
  275. package/es/components/dialog/src/dialog.mjs +5 -30
  276. package/es/components/dialog/src/dialog.mjs.map +1 -1
  277. package/es/components/dialog/src/dialog.vue.d.ts +236 -67
  278. package/es/components/dialog/src/dialog2.mjs +96 -122
  279. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  280. package/es/components/dialog/src/token.d.ts +10 -0
  281. package/es/components/dialog/src/token.mjs +4 -0
  282. package/es/components/dialog/src/token.mjs.map +1 -0
  283. package/es/components/drawer/index.d.ts +22 -18
  284. package/es/components/drawer/src/drawer.d.ts +9 -7
  285. package/es/components/drawer/src/drawer.vue.d.ts +22 -18
  286. package/es/components/dropdown/index.d.ts +8 -3
  287. package/es/components/dropdown/src/dropdown-item-impl.mjs +5 -5
  288. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  289. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  290. package/es/components/dropdown/src/dropdown-item.mjs +2 -2
  291. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  292. package/es/components/dropdown/src/dropdown.vue.d.ts +8 -3
  293. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  294. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  295. package/es/components/focus-trap/src/focus-trap.mjs +19 -15
  296. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  297. package/es/components/message/index.d.ts +1 -1
  298. package/es/components/message/src/message-method.d.ts +1 -1
  299. package/es/components/message/src/message-method.mjs +10 -7
  300. package/es/components/message/src/message-method.mjs.map +1 -1
  301. package/es/components/message/src/message.d.ts +3 -3
  302. package/es/components/message/src/message.mjs.map +1 -1
  303. package/es/components/notification/index.d.ts +1 -1
  304. package/es/components/popconfirm/index.d.ts +3 -0
  305. package/es/components/popconfirm/src/popconfirm.d.ts +1 -0
  306. package/es/components/popconfirm/src/popconfirm.mjs +2 -1
  307. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  308. package/es/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  309. package/es/components/popconfirm/src/popconfirm2.mjs +2 -2
  310. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  311. package/es/components/popover/index.d.ts +30 -10
  312. package/es/components/popover/src/index.mjs +19 -3
  313. package/es/components/popover/src/index.mjs.map +1 -1
  314. package/es/components/popover/src/index.vue.d.ts +15 -5
  315. package/es/components/popover/src/popover.d.ts +1 -0
  316. package/es/components/popover/src/popover.mjs +4 -0
  317. package/es/components/popover/src/popover.mjs.map +1 -1
  318. package/es/components/popper/src/content.mjs +9 -0
  319. package/es/components/popper/src/content.mjs.map +1 -1
  320. package/es/components/popper/src/content.vue.d.ts +3 -0
  321. package/es/components/popper/src/popper.d.ts +1 -0
  322. package/es/components/popper/src/popper.mjs +3 -0
  323. package/es/components/popper/src/popper.mjs.map +1 -1
  324. package/es/components/row/index.d.ts +3 -3
  325. package/es/components/row/src/row.d.ts +4 -4
  326. package/es/components/row/src/row.mjs +8 -1
  327. package/es/components/row/src/row.mjs.map +1 -1
  328. package/es/components/scrollbar/index.d.ts +1 -1
  329. package/es/components/scrollbar/src/bar.vue.d.ts +2 -2
  330. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  331. package/es/components/select/index.d.ts +8 -3
  332. package/es/components/select/src/select.vue.d.ts +8 -3
  333. package/es/components/select/src/useSelect.d.ts +8 -3
  334. package/es/components/select-v2/index.d.ts +18 -8
  335. package/es/components/select-v2/src/select.vue.d.ts +9 -4
  336. package/es/components/select-v2/src/useSelect.d.ts +8 -3
  337. package/es/components/slider/index.d.ts +2 -2
  338. package/es/components/slider/src/index.vue.d.ts +1 -1
  339. package/es/components/slot/src/only-child.mjs +3 -1
  340. package/es/components/slot/src/only-child.mjs.map +1 -1
  341. package/es/components/switch/src/switch2.mjs +2 -2
  342. package/es/components/switch/src/switch2.mjs.map +1 -1
  343. package/es/components/table/src/filter-panel.vue.d.ts +8 -3
  344. package/es/components/table/src/store/watcher.mjs +4 -8
  345. package/es/components/table/src/store/watcher.mjs.map +1 -1
  346. package/es/components/table/src/table/style-helper.mjs +2 -2
  347. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  348. package/es/components/table/src/table-footer/index.mjs +3 -1
  349. package/es/components/table/src/table-footer/index.mjs.map +1 -1
  350. package/es/components/table/src/table-layout.mjs +2 -5
  351. package/es/components/table/src/table-layout.mjs.map +1 -1
  352. package/es/components/table/src/table.mjs +1 -0
  353. package/es/components/table/src/table.mjs.map +1 -1
  354. package/es/components/time-picker/src/common/picker.mjs +6 -2
  355. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  356. package/es/components/time-picker/src/common/picker.vue.d.ts +9 -3
  357. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  358. package/es/components/tooltip/index.d.ts +4 -1
  359. package/es/components/tooltip/src/content.mjs +22 -4
  360. package/es/components/tooltip/src/content.mjs.map +1 -1
  361. package/es/components/tooltip/src/content.vue.d.ts +8 -2
  362. package/es/components/tooltip/src/tokens.d.ts +2 -0
  363. package/es/components/tooltip/src/tokens.mjs.map +1 -1
  364. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -1
  365. package/es/components/tooltip/src/tooltip2.mjs +7 -1
  366. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  367. package/es/components/transfer/index.d.ts +4 -4
  368. package/es/components/transfer/src/index.vue.d.ts +2 -2
  369. package/es/components/tree-v2/index.d.ts +1 -1
  370. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  371. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  372. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  373. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  374. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  375. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  376. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  377. package/es/defaults.d.ts +1 -1
  378. package/es/hooks/use-global-config/index.d.ts +1 -1
  379. package/es/hooks/use-model-toggle/index.d.ts +10 -7
  380. package/es/hooks/use-model-toggle/index.mjs +9 -7
  381. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  382. package/es/index.d.ts +1 -1
  383. package/es/{locale.d.ts → locales.d.ts} +0 -0
  384. package/es/{locale.mjs → locales.mjs} +1 -1
  385. package/es/locales.mjs.map +1 -0
  386. package/es/utils/vue/install.d.ts +2 -2
  387. package/es/utils/vue/install.mjs +2 -0
  388. package/es/utils/vue/install.mjs.map +1 -1
  389. package/es/utils/vue/typescript.d.ts +4 -1
  390. package/es/version.d.ts +1 -1
  391. package/es/version.mjs +1 -1
  392. package/es/version.mjs.map +1 -1
  393. package/lib/components/affix/index.d.ts +6 -8
  394. package/lib/components/affix/src/affix.vue.d.ts +6 -8
  395. package/lib/components/affix/src/affix2.js +34 -33
  396. package/lib/components/affix/src/affix2.js.map +1 -1
  397. package/lib/components/avatar/index.d.ts +58 -0
  398. package/lib/components/avatar/src/avatar.vue.d.ts +58 -0
  399. package/lib/components/avatar/src/avatar2.js +31 -40
  400. package/lib/components/avatar/src/avatar2.js.map +1 -1
  401. package/lib/components/badge/src/badge2.js +4 -1
  402. package/lib/components/badge/src/badge2.js.map +1 -1
  403. package/lib/components/button/index.d.ts +12 -1
  404. package/lib/components/button/src/button-group.vue.d.ts +6 -0
  405. package/lib/components/button/src/button-group2.js +14 -15
  406. package/lib/components/button/src/button-group2.js.map +1 -1
  407. package/lib/components/button/src/button.vue.d.ts +0 -1
  408. package/lib/components/button/src/button2.js +3 -5
  409. package/lib/components/button/src/button2.js.map +1 -1
  410. package/lib/components/calendar/index.d.ts +1 -1
  411. package/lib/components/card/src/card2.js +26 -28
  412. package/lib/components/card/src/card2.js.map +1 -1
  413. package/lib/components/cascader/index.d.ts +22 -12
  414. package/lib/components/cascader/src/index.vue.d.ts +11 -6
  415. package/lib/components/config-provider/index.d.ts +3 -3
  416. package/lib/components/config-provider/src/config-provider.d.ts +2 -1
  417. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  418. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  419. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  420. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  421. package/lib/components/descriptions/index.d.ts +2 -2
  422. package/lib/components/descriptions/src/description-item.d.ts +1 -1
  423. package/lib/components/dialog/index.d.ts +200 -32
  424. package/lib/components/dialog/src/dialog-content.d.ts +12 -0
  425. package/lib/components/dialog/src/dialog-content.js +45 -0
  426. package/lib/components/dialog/src/dialog-content.js.map +1 -0
  427. package/lib/components/dialog/src/dialog-content.vue.d.ts +84 -0
  428. package/lib/components/dialog/src/dialog-content2.js +88 -0
  429. package/lib/components/dialog/src/dialog-content2.js.map +1 -0
  430. package/lib/components/dialog/src/dialog.d.ts +9 -7
  431. package/lib/components/dialog/src/dialog.js +5 -30
  432. package/lib/components/dialog/src/dialog.js.map +1 -1
  433. package/lib/components/dialog/src/dialog.vue.d.ts +236 -67
  434. package/lib/components/dialog/src/dialog2.js +101 -127
  435. package/lib/components/dialog/src/dialog2.js.map +1 -1
  436. package/lib/components/dialog/src/token.d.ts +10 -0
  437. package/lib/components/dialog/src/token.js +8 -0
  438. package/lib/components/dialog/src/token.js.map +1 -0
  439. package/lib/components/drawer/index.d.ts +22 -18
  440. package/lib/components/drawer/src/drawer.d.ts +9 -7
  441. package/lib/components/drawer/src/drawer.vue.d.ts +22 -18
  442. package/lib/components/dropdown/index.d.ts +8 -3
  443. package/lib/components/dropdown/src/dropdown-item-impl.js +5 -5
  444. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  445. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +2 -1
  446. package/lib/components/dropdown/src/dropdown-item.js +2 -2
  447. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  448. package/lib/components/dropdown/src/dropdown.vue.d.ts +8 -3
  449. package/lib/components/dropdown/src/dropdown2.js +1 -1
  450. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  451. package/lib/components/focus-trap/src/focus-trap.js +18 -14
  452. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  453. package/lib/components/message/index.d.ts +1 -1
  454. package/lib/components/message/src/message-method.d.ts +1 -1
  455. package/lib/components/message/src/message-method.js +10 -7
  456. package/lib/components/message/src/message-method.js.map +1 -1
  457. package/lib/components/message/src/message.d.ts +3 -3
  458. package/lib/components/message/src/message.js.map +1 -1
  459. package/lib/components/notification/index.d.ts +1 -1
  460. package/lib/components/popconfirm/index.d.ts +3 -0
  461. package/lib/components/popconfirm/src/popconfirm.d.ts +1 -0
  462. package/lib/components/popconfirm/src/popconfirm.js +2 -1
  463. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  464. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +3 -0
  465. package/lib/components/popconfirm/src/popconfirm2.js +2 -2
  466. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  467. package/lib/components/popover/index.d.ts +30 -10
  468. package/lib/components/popover/src/index.js +19 -3
  469. package/lib/components/popover/src/index.js.map +1 -1
  470. package/lib/components/popover/src/index.vue.d.ts +15 -5
  471. package/lib/components/popover/src/popover.d.ts +1 -0
  472. package/lib/components/popover/src/popover.js +4 -0
  473. package/lib/components/popover/src/popover.js.map +1 -1
  474. package/lib/components/popper/src/content.js +9 -0
  475. package/lib/components/popper/src/content.js.map +1 -1
  476. package/lib/components/popper/src/content.vue.d.ts +3 -0
  477. package/lib/components/popper/src/popper.d.ts +1 -0
  478. package/lib/components/popper/src/popper.js +3 -0
  479. package/lib/components/popper/src/popper.js.map +1 -1
  480. package/lib/components/row/index.d.ts +3 -3
  481. package/lib/components/row/src/row.d.ts +4 -4
  482. package/lib/components/row/src/row.js +8 -1
  483. package/lib/components/row/src/row.js.map +1 -1
  484. package/lib/components/scrollbar/index.d.ts +1 -1
  485. package/lib/components/scrollbar/src/bar.vue.d.ts +2 -2
  486. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  487. package/lib/components/select/index.d.ts +8 -3
  488. package/lib/components/select/src/select.vue.d.ts +8 -3
  489. package/lib/components/select/src/useSelect.d.ts +8 -3
  490. package/lib/components/select-v2/index.d.ts +18 -8
  491. package/lib/components/select-v2/src/select.vue.d.ts +9 -4
  492. package/lib/components/select-v2/src/useSelect.d.ts +8 -3
  493. package/lib/components/slider/index.d.ts +2 -2
  494. package/lib/components/slider/src/index.vue.d.ts +1 -1
  495. package/lib/components/slot/src/only-child.js +2 -0
  496. package/lib/components/slot/src/only-child.js.map +1 -1
  497. package/lib/components/switch/src/switch2.js +2 -2
  498. package/lib/components/switch/src/switch2.js.map +1 -1
  499. package/lib/components/table/src/filter-panel.vue.d.ts +8 -3
  500. package/lib/components/table/src/store/watcher.js +4 -8
  501. package/lib/components/table/src/store/watcher.js.map +1 -1
  502. package/lib/components/table/src/table/style-helper.js +2 -2
  503. package/lib/components/table/src/table/style-helper.js.map +1 -1
  504. package/lib/components/table/src/table-footer/index.js +3 -1
  505. package/lib/components/table/src/table-footer/index.js.map +1 -1
  506. package/lib/components/table/src/table-layout.js +2 -5
  507. package/lib/components/table/src/table-layout.js.map +1 -1
  508. package/lib/components/table/src/table.js +1 -0
  509. package/lib/components/table/src/table.js.map +1 -1
  510. package/lib/components/time-picker/src/common/picker.js +6 -2
  511. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  512. package/lib/components/time-picker/src/common/picker.vue.d.ts +9 -3
  513. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  514. package/lib/components/tooltip/index.d.ts +4 -1
  515. package/lib/components/tooltip/src/content.js +22 -4
  516. package/lib/components/tooltip/src/content.js.map +1 -1
  517. package/lib/components/tooltip/src/content.vue.d.ts +8 -2
  518. package/lib/components/tooltip/src/tokens.d.ts +2 -0
  519. package/lib/components/tooltip/src/tokens.js.map +1 -1
  520. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -1
  521. package/lib/components/tooltip/src/tooltip2.js +7 -1
  522. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  523. package/lib/components/transfer/index.d.ts +4 -4
  524. package/lib/components/transfer/src/index.vue.d.ts +2 -2
  525. package/lib/components/tree-v2/index.d.ts +1 -1
  526. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  527. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  528. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  529. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  530. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  531. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  532. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  533. package/lib/defaults.d.ts +1 -1
  534. package/lib/hooks/use-global-config/index.d.ts +1 -1
  535. package/lib/hooks/use-model-toggle/index.d.ts +10 -7
  536. package/lib/hooks/use-model-toggle/index.js +9 -7
  537. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  538. package/lib/index.d.ts +1 -1
  539. package/lib/{locale.d.ts → locales.d.ts} +0 -0
  540. package/lib/{locale.js → locales.js} +1 -1
  541. package/lib/locales.js.map +1 -0
  542. package/lib/utils/vue/install.d.ts +2 -2
  543. package/lib/utils/vue/install.js +2 -0
  544. package/lib/utils/vue/install.js.map +1 -1
  545. package/lib/utils/vue/typescript.d.ts +4 -1
  546. package/lib/version.d.ts +1 -1
  547. package/lib/version.js +1 -1
  548. package/lib/version.js.map +1 -1
  549. package/package.json +6 -6
  550. package/tags.json +1 -1
  551. package/theme-chalk/base.css +1 -1
  552. package/theme-chalk/display.css +1 -1
  553. package/theme-chalk/el-button.css +1 -1
  554. package/theme-chalk/el-cascader.css +1 -1
  555. package/theme-chalk/el-check-tag.css +1 -1
  556. package/theme-chalk/el-checkbox-button.css +1 -1
  557. package/theme-chalk/el-date-picker.css +1 -1
  558. package/theme-chalk/el-dialog.css +1 -1
  559. package/theme-chalk/el-dropdown.css +1 -1
  560. package/theme-chalk/el-form.css +1 -1
  561. package/theme-chalk/el-input-number.css +1 -1
  562. package/theme-chalk/el-input.css +1 -1
  563. package/theme-chalk/el-reset.css +1 -1
  564. package/theme-chalk/el-row.css +1 -1
  565. package/theme-chalk/el-select-v2.css +1 -1
  566. package/theme-chalk/el-select.css +1 -1
  567. package/theme-chalk/el-switch.css +1 -1
  568. package/theme-chalk/el-table-column.css +1 -1
  569. package/theme-chalk/el-tag.css +1 -1
  570. package/theme-chalk/el-time-picker.css +1 -1
  571. package/theme-chalk/el-time-select.css +1 -1
  572. package/theme-chalk/el-var.css +1 -1
  573. package/theme-chalk/index.css +1 -1
  574. package/theme-chalk/src/button.scss +1 -1
  575. package/theme-chalk/src/cascader.scss +13 -12
  576. package/theme-chalk/src/check-tag.scss +7 -5
  577. package/theme-chalk/src/checkbox-button.scss +1 -1
  578. package/theme-chalk/src/common/var.scss +37 -21
  579. package/theme-chalk/src/dark/vars.scss +6 -0
  580. package/theme-chalk/src/date-picker/date-table.scss +14 -14
  581. package/theme-chalk/src/date-picker/picker.scss +3 -4
  582. package/theme-chalk/src/dialog.scss +6 -2
  583. package/theme-chalk/src/form.scss +2 -2
  584. package/theme-chalk/src/input-number.scss +6 -4
  585. package/theme-chalk/src/input.scss +146 -40
  586. package/theme-chalk/src/mixins/_button.scss +119 -15
  587. package/theme-chalk/src/mixins/_var.scss +21 -8
  588. package/theme-chalk/src/mixins/function.scss +17 -0
  589. package/theme-chalk/src/mixins/mixins.scss +8 -0
  590. package/theme-chalk/src/reset.scss +1 -1
  591. package/theme-chalk/src/row.scss +3 -1
  592. package/theme-chalk/src/select-v2.scss +2 -1
  593. package/theme-chalk/src/select.scss +15 -4
  594. package/theme-chalk/src/switch.scss +2 -0
  595. package/theme-chalk/src/tag.scss +64 -66
  596. package/theme-chalk/src/var.scss +6 -0
  597. package/web-types.json +1 -1
  598. package/es/locale.mjs.map +0 -1
  599. package/lib/locale.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave()\"\n >\n <div :class=\"ns.e('inner-wrapper')\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot></slot>\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n ></hColgroup>\n <table-header\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :style=\"bodyHeight\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollWrapper\"\n :height=\"maxHeight ? undefined : height\"\n :max-height=\"maxHeight ? height : undefined\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n ></hColgroup>\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"tooltipEffect\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\"></slot>\n </div>\n </el-scrollbar>\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\"></div>\n </div>\n <div\n v-if=\"showSummary\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :style=\"tableBodyStyles\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n ></div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, computed, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport useUtils from './table/utils-helper'\nimport useStyle from './table/style-helper'\nimport defaultProps from './table/defaults'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\n\nimport type { Table } from './table/defaults'\n\nlet tableIdSeed = 1\nexport default defineComponent({\n name: 'ElTable',\n directives: {\n Mousewheel,\n },\n components: {\n TableHeader,\n TableBody,\n TableFooter,\n ElScrollbar,\n hColgroup,\n },\n props: defaultProps,\n emits: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-contextmenu',\n 'cell-click',\n 'cell-dblclick',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n ],\n setup(props) {\n type Row = typeof props.data[number]\n const { t } = useLocale()\n const ns = useNamespace('table')\n const table = getCurrentInstance() as Table<Row>\n provide(TABLE_INJECTION_KEY, table)\n const store = createStore<Row>(table, props)\n table.store = store\n const layout = new TableLayout<Row>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n })\n table.layout = layout\n\n const isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n /**\n * open functions\n */\n const {\n setCurrentRow,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n } = useUtils<Row>(store)\n const {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n bodyHeight,\n height,\n emptyBlockStyle,\n handleFixedMousewheel,\n fixedHeight,\n fixedBodyHeight,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n } = useStyle<Row>(props, layout, store, table)\n\n const debouncedUpdateLayout = debounce(doLayout, 50)\n\n const tableId = `el-table_${tableIdSeed++}`\n table.tableId = tableId\n table.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n }\n const computedSumText = computed(\n () => props.sumText || t('el.table.sumText')\n )\n\n const computedEmptyText = computed(() => {\n return props.emptyText || t('el.table.emptyText')\n })\n\n return {\n ns,\n layout,\n store,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n bodyHeight,\n height,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n handleFixedMousewheel,\n fixedHeight,\n fixedBodyHeight,\n setCurrentRow,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n doLayout,\n sort,\n t,\n setDragVisible,\n context: table,\n computedSumText,\n computedEmptyText,\n tableLayout,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Mousewheel","TableHeader","TableBody","TableFooter","ElScrollbar","hColgroup","defaultProps","useLocale","useNamespace","getCurrentInstance","TABLE_INJECTION_KEY","createStore","TableLayout","computed","useUtils","tableLayout","useStyle","debounce","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAgKA,IAAI,cAAc;AAClB,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,gBACVC;AAAA;AAAA,EAEF,YAAY;AAAA,iBACVC;AAAA,eACAC;AAAA,iBACAC;AAAA,iBACAC;AAAA,eACAC;AAAA;AAAA,EAEF,OAAOC;AAAA,EACP,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,MAAM,OAAO;AAEX,UAAM,EAAE,MAAMC;AACd,UAAM,KAAKC,qBAAa;AACxB,UAAM,QAAQC;AACd,gBAAQC,4BAAqB;AAC7B,UAAM,QAAQC,mBAAiB,OAAO;AACtC,UAAM,QAAQ;AACd,UAAM,SAAS,IAAIC,uBAAiB;AAAA,MAClC,OAAO,MAAM;AAAA,MACb;AAAA,MACA,KAAK,MAAM;AAAA,MACX,YAAY,MAAM;AAAA;AAEpB,UAAM,SAAS;AAEf,UAAM,UAAUC,aAAS,MAAO,OAAM,OAAO,KAAK,SAAS,IAAI,WAAW;AAK1E,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACEC,uBAAc;AAClB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,mBACAC;AAAA,QACEC,uBAAc,OAAO,QAAQ,OAAO;AAExC,UAAM,wBAAwBC,uBAAS,UAAU;AAEjD,UAAM,UAAU,YAAY;AAC5B,UAAM,UAAU;AAChB,UAAM,QAAQ;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAEF,UAAM,kBAAkBJ,aACtB,MAAM,MAAM,WAAW,EAAE;AAG3B,UAAM,oBAAoBA,aAAS,MAAM;AACvC,aAAO,MAAM,aAAa,EAAE;AAAA;AAG9B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,mBACAE;AAAA;AAAA;AAAA;;;EAjRK,KAAI;AAAA,EAAgB,OAAM;AAAA;;;;;;;;0BA5BnCG,uBAyIM;AAAA,IAxIJ,KAAI;AAAA,IACH,OAAKC;AAAA;SAAqB,QAAG,EAAC,SAAU;AAAA,SAAc,QAAG,EAAC,aAAc;AAAA,SAAiB,QAAG,EAAC,YAAa,eAAU;AAAA,SAAkB,QAAG,EAAC,YAAa;AAAA,SAAmB,QAAG,EAAC,WAAY;AAAA,SAAkB,QAAG,EAAC,kBAAmB;AAAA,SAAoB,QAAG,EAAC,kBAAmB,YAAO,QAAQ;AAAA,SAAgB,QAAG,EAAC,kBAAmB,YAAO,QAAQ;AAAA,SAAgB,QAAG,EAAC,uBAAwB,WAAM,OAAO,UAAU;AAAA,SAAgB,QAAG,EAAC,2BAAuC,YAAM,OAAO,KAAK,SAAK,IAAQ,WAAM,KAAqB,YAAM,OAAO,KAAK,SAAK,IAAQ,SAAM;AAAA,sBAA8B;AAAA;AAAA,MAA4B,QAAG,EAAE;AAAA,MAAkB;AAAA,MAAiB,QAAG;AAAA,MAAW,QAAG,EAAC,UAAW;AAAA;AAAA,IAqB/qB,OAAKC,mBAAE;AAAA,IACP,eAAa,QAAG,UAAU;AAAA,IAC1B,cAAU,sCAAE;AAAA;IAEbC,uBAwFM;AAAA,MAxFA,OAAKF,mBAAE,QAAG,EAAC;AAAA;MACfE,uBAEM,OAFN,YAEM;AAAA,QADJC,eAAa;AAAA;MAGP,mBAAc,qBAAW,+CADjCJ,uBAyBM;AAAA;QAvBJ,KAAI;AAAA,QAEH,OAAKC,mBAAE,QAAG,EAAC;AAAA;QAEZE,uBAkBQ;AAAA,UAjBN,KAAI;AAAA,UACH,OAAKF,mBAAE,QAAG,EAAC;AAAA,UACX,OAAKC,mBAAE;AAAA,UACR,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,aAAY;AAAA;UAEZG,gBAGa;AAAA,YAFV,SAAS,WAAM,OAAO,QAAQ;AAAA,YAC9B,gBAAc;AAAA;UAEjBA,gBAKE;AAAA,YAJC,QAAQ;AAAA,YACR,gBAAc;AAAA,YACd,OAAO;AAAA,YACP,kBAAkB;AAAA;;;gCAnBT;AAAA;MAuBhBF,uBAwDM;AAAA,QAxDD,KAAI;AAAA,QAAe,OAAKD,mBAAE;AAAA,QAAa,OAAKD,mBAAE,QAAG,EAAC;AAAA;QACrDI,gBAsDe;AAAA,UArDb,KAAI;AAAA,UACH,QAAQ,iBAAY,SAAY;AAAA,UAChC,cAAY,iBAAY,cAAS;AAAA;+BAElC,MA+BQ;AAAA,YA/BRF,uBA+BQ;AAAA,cA9BN,KAAI;AAAA,cACH,OAAKF,mBAAE,QAAG,EAAC;AAAA,cACZ,aAAY;AAAA,cACZ,aAAY;AAAA,cACZ,QAAO;AAAA,cACN,OAAKC;AAAA,uBAAyB;AAAA,6BAAyB;AAAA;AAAA;cAKxDG,gBAGa;AAAA,gBAFV,SAAS,WAAM,OAAO,QAAQ;AAAA,gBAC9B,gBAAc;AAAA;cAGT,mBAAc,qBAAW,2BADjCC,gBAME;AAAA;gBAJC,QAAQ;AAAA,gBACR,gBAAc;AAAA,gBACd,OAAO;AAAA,gBACP,kBAAkB;AAAA;cAErBD,gBAQE;AAAA,gBAPC,SAAS;AAAA,gBACT,WAAW;AAAA,gBACX,kBAAgB;AAAA,gBAChB,kBAAgB;AAAA,gBAChB,aAAW;AAAA,gBACX,OAAO;AAAA,gBACP,QAAQ;AAAA;;YAIL,iCADRL,uBASM;AAAA;cAPJ,KAAI;AAAA,cACH,OAAKE,mBAAE;AAAA,cACP,OAAKD,mBAAE,QAAG,EAAC;AAAA;cAEZE,uBAEO;AAAA,gBAFA,OAAKF,mBAAE,QAAG,EAAC;AAAA;gBAChBG,eAAiD,0BAAjD,MAAiD;AAAA,0DAA3B,yBAAiB;AAAA;AAAA;;YAInC,YAAO,2BADfJ,uBAMM;AAAA;cAJJ,KAAI;AAAA,cACH,OAAKC,mBAAE,QAAG,EAAC;AAAA;cAEZG,eAA2B;AAAA;;;;;MAItB,eAAU,iCAArBJ,uBAAuE;AAAA;QAAxC,OAAKC,mBAAE,QAAG,EAAC;AAAA;;IAGpC,wDADRD,uBAeM;AAAA;MAZJ,KAAI;AAAA,MAEH,OAAKC,mBAAE,QAAG,EAAC;AAAA;MAEZI,gBAOE;AAAA,QANC,QAAQ;AAAA,QACR,gBAAc;AAAA,QACd,OAAO;AAAA,QACP,OAAKH,mBAAE;AAAA,QACP,YAAU;AAAA,QACV,kBAAgB;AAAA;;mBAXV;AAAA,8BAEK;AAAA;uBAYhBC,uBAIO;AAAA,MAFL,KAAI;AAAA,MACH,OAAKF,mBAAE,QAAG,EAAC;AAAA;kBAFJ;AAAA;AAAA;;;;;;"}
1
+ {"version":3,"file":"table.js","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave()\"\n >\n <div :class=\"ns.e('inner-wrapper')\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot></slot>\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n ></hColgroup>\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :style=\"bodyHeight\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollWrapper\"\n :height=\"maxHeight ? undefined : height\"\n :max-height=\"maxHeight ? height : undefined\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n ></hColgroup>\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"tooltipEffect\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\"></slot>\n </div>\n </el-scrollbar>\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\"></div>\n </div>\n <div\n v-if=\"showSummary\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :style=\"tableBodyStyles\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n ></div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, computed, provide } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport useUtils from './table/utils-helper'\nimport useStyle from './table/style-helper'\nimport defaultProps from './table/defaults'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\n\nimport type { Table } from './table/defaults'\n\nlet tableIdSeed = 1\nexport default defineComponent({\n name: 'ElTable',\n directives: {\n Mousewheel,\n },\n components: {\n TableHeader,\n TableBody,\n TableFooter,\n ElScrollbar,\n hColgroup,\n },\n props: defaultProps,\n emits: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-contextmenu',\n 'cell-click',\n 'cell-dblclick',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n ],\n setup(props) {\n type Row = typeof props.data[number]\n const { t } = useLocale()\n const ns = useNamespace('table')\n const table = getCurrentInstance() as Table<Row>\n provide(TABLE_INJECTION_KEY, table)\n const store = createStore<Row>(table, props)\n table.store = store\n const layout = new TableLayout<Row>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n })\n table.layout = layout\n\n const isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n /**\n * open functions\n */\n const {\n setCurrentRow,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n } = useUtils<Row>(store)\n const {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n bodyHeight,\n height,\n emptyBlockStyle,\n handleFixedMousewheel,\n fixedHeight,\n fixedBodyHeight,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n } = useStyle<Row>(props, layout, store, table)\n\n const debouncedUpdateLayout = debounce(doLayout, 50)\n\n const tableId = `el-table_${tableIdSeed++}`\n table.tableId = tableId\n table.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout,\n }\n const computedSumText = computed(\n () => props.sumText || t('el.table.sumText')\n )\n\n const computedEmptyText = computed(() => {\n return props.emptyText || t('el.table.emptyText')\n })\n\n return {\n ns,\n layout,\n store,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n bodyHeight,\n height,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n handleFixedMousewheel,\n fixedHeight,\n fixedBodyHeight,\n setCurrentRow,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n doLayout,\n sort,\n t,\n setDragVisible,\n context: table,\n computedSumText,\n computedEmptyText,\n tableLayout,\n }\n },\n})\n</script>\n"],"names":["defineComponent","Mousewheel","TableHeader","TableBody","TableFooter","ElScrollbar","hColgroup","defaultProps","useLocale","useNamespace","getCurrentInstance","TABLE_INJECTION_KEY","createStore","TableLayout","computed","useUtils","tableLayout","useStyle","debounce","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createBlock"],"mappings":"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"}
@@ -157,8 +157,10 @@ const _sfc_main = vue.defineComponent({
157
157
  userInput.value = null;
158
158
  emitInput(result);
159
159
  };
160
- const onShow = () => {
160
+ const onBeforeShow = () => {
161
161
  pickerActualVisible.value = true;
162
+ };
163
+ const onShow = () => {
162
164
  ctx.emit("visible-change", true);
163
165
  };
164
166
  const onHide = () => {
@@ -449,6 +451,7 @@ const _sfc_main = vue.defineComponent({
449
451
  onPanelChange,
450
452
  focus,
451
453
  onShow,
454
+ onBeforeShow,
452
455
  onHide
453
456
  };
454
457
  }
@@ -477,6 +480,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
477
480
  "stop-popper-mouse-event": false,
478
481
  "hide-after": 0,
479
482
  persistent: "",
483
+ onBeforeShow: _ctx.onBeforeShow,
480
484
  onShow: _ctx.onShow,
481
485
  onHide: _ctx.onHide
482
486
  }), {
@@ -615,7 +619,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
615
619
  })
616
620
  ]),
617
621
  _: 3
618
- }, 16, ["visible", "popper-class", "popper-options", "onShow", "onHide"]);
622
+ }, 16, ["visible", "popper-class", "popper-options", "onBeforeShow", "onShow", "onHide"]);
619
623
  }
620
624
  var CommonPicker = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
621
625
 
@@ -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 v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n $attrs.class || undefined,\n ]\"\n :style=\"$attrs.style || undefined\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\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=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-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=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\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 :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 @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { isEmpty } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: Date | string,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (date: number | Date, format: string, lang: string) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: [\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n ],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const 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 const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\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 }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.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\n const onShow = () => {\n pickerActualVisible.value = true\n ctx.emit('visible-change', true)\n }\n\n const onHide = () => {\n pickerActualVisible.value = false\n ctx.emit('visible-change', false)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.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\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n 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\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\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))\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\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const 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\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n const onPanelChange = (value, mode, view) => {\n ctx.emit('panel-change', value, mode, view)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n onPanelChange,\n focus,\n onShow,\n onHide,\n }\n },\n})\n</script>\n"],"names":["isEmpty","dayjs","defineComponent","ElInput","ElTooltip","ElIcon","timePickerDefaultProps","useLocale","inject","elFormKey","elFormItemKey","ref","computed","unref","onClickOutside","_createElementVNode","_createBlock"],"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 v-model:visible=\"pickerVisible\"\n effect=\"light\"\n pure\n trigger=\"click\"\n v-bind=\"$attrs\"\n append-to-body\n transition=\"el-zoom-in-top\"\n :popper-class=\"`el-picker__popper ${popperClass}`\"\n :popper-options=\"elPopperOptions\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :hide-after=\"0\"\n persistent\n @before-show=\"onBeforeShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <template #default>\n <el-input\n v-if=\"!isRangeInput\"\n :id=\"id\"\n ref=\"inputRef\"\n :model-value=\"displayValue\"\n :name=\"name\"\n :size=\"pickerSize\"\n :disabled=\"pickerDisabled\"\n :placeholder=\"placeholder\"\n class=\"el-date-editor\"\n :class=\"['el-date-editor--' + type, $attrs.class || undefined]\"\n :style=\"$attrs.style || undefined\"\n :readonly=\"!editable || readonly || isDatesPicker || type === 'week'\"\n @input=\"onUserInput\"\n @focus=\"handleFocus\"\n @keydown=\"handleKeydown\"\n @change=\"handleChange\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @click.stop\n >\n <template #prefix>\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\n </el-icon>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"showClose && clearIcon\"\n class=\"el-input__icon clear-icon\"\n @click=\"onClearIconClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n <div\n v-else\n ref=\"inputRef\"\n class=\"el-date-editor el-range-editor el-input__inner\"\n :class=\"[\n 'el-date-editor--' + type,\n pickerSize ? `el-range-editor--${pickerSize}` : '',\n pickerDisabled ? 'is-disabled' : '',\n pickerVisible ? 'is-active' : '',\n $attrs.class || undefined,\n ]\"\n :style=\"$attrs.style || undefined\"\n @click=\"handleFocus\"\n @mouseenter=\"onMouseEnter\"\n @mouseleave=\"onMouseLeave\"\n @keydown=\"handleKeydown\"\n >\n <el-icon\n v-if=\"triggerIcon\"\n class=\"el-input__icon el-range__icon\"\n @click=\"handleFocus\"\n >\n <component :is=\"triggerIcon\"></component>\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=\"el-range-input\"\n @input=\"handleStartInput\"\n @change=\"handleStartChange\"\n @focus=\"handleFocus\"\n />\n <slot name=\"range-separator\">\n <span class=\"el-range-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=\"el-range-input\"\n @focus=\"handleFocus\"\n @input=\"handleEndInput\"\n @change=\"handleEndChange\"\n />\n <el-icon\n v-if=\"clearIcon\"\n class=\"el-input__icon el-range__close-icon\"\n :class=\"{\n 'el-range__close-icon--hidden': !showClose,\n }\"\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 :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 @mousedown.stop\n ></slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n ref,\n computed,\n nextTick,\n inject,\n watch,\n provide,\n unref,\n} from 'vue'\nimport dayjs from 'dayjs'\nimport { isEqual } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { useLocale, useSize } from '@element-plus/hooks'\nimport { elFormKey, elFormItemKey } from '@element-plus/tokens'\nimport ElInput from '@element-plus/components/input'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { isEmpty } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { Clock, Calendar } from '@element-plus/icons-vue'\nimport { timePickerDefaultProps } from './props'\n\nimport type { Dayjs } from 'dayjs'\nimport type { ComponentPublicInstance } from 'vue'\nimport type { ElFormContext, ElFormItemContext } from '@element-plus/tokens'\nimport type { Options } from '@popperjs/core'\n\ninterface PickerOptions {\n isValidValue: (date: Dayjs) => boolean\n handleKeydown: (event: KeyboardEvent) => void\n parseUserInput: (value: Dayjs) => dayjs.Dayjs\n formatToString: (value: Dayjs) => string | string[]\n getRangeAvailableTime: (date: Dayjs) => dayjs.Dayjs\n getDefaultValue: () => Dayjs\n panelReady: boolean\n handleClear: () => void\n}\n\n// Date object and string\nconst dateEquals = function (a: Date | any, b: Date | any) {\n const aIsDate = a instanceof Date\n const bIsDate = b instanceof Date\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nconst valueEquals = function (a: Array<Date> | any, b: Array<Date> | any) {\n const aIsArray = a instanceof Array\n const bIsArray = b instanceof Array\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return (a as Array<Date>).every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nconst parser = function (\n date: string | number | Date,\n format: string,\n lang: string\n): Dayjs {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nconst formatter = function (\n date: string | number | Date,\n format: string,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport default defineComponent({\n name: 'Picker',\n components: {\n ElInput,\n ElTooltip,\n ElIcon,\n },\n props: timePickerDefaultProps,\n emits: [\n 'update:modelValue',\n 'change',\n 'focus',\n 'blur',\n 'calendar-change',\n 'panel-change',\n 'visible-change',\n ],\n setup(props, ctx) {\n const { lang } = useLocale()\n\n const elForm = inject(elFormKey, {} as ElFormContext)\n const elFormItem = inject(elFormItemKey, {} as ElFormItemContext)\n const elPopperOptions = inject('ElPopperOptions', {} as Options)\n\n const refPopper = ref<InstanceType<typeof ElTooltip>>()\n const inputRef = ref<HTMLElement | ComponentPublicInstance>()\n const pickerVisible = ref(false)\n const pickerActualVisible = ref(false)\n const valueOnOpen = ref(null)\n\n watch(pickerVisible, (val) => {\n if (!val) {\n userInput.value = null\n nextTick(() => {\n emitChange(props.modelValue)\n })\n ctx.emit('blur')\n blurInput()\n props.validateEvent && elFormItem.validate?.('blur')\n } else {\n valueOnOpen.value = props.modelValue\n }\n })\n const emitChange = (val, isClear?: boolean) => {\n // determine user real change only\n if (isClear || !valueEquals(val, valueOnOpen.value)) {\n ctx.emit('change', val)\n props.validateEvent && elFormItem.validate?.('change')\n }\n }\n const emitInput = (val) => {\n if (!valueEquals(props.modelValue, val)) {\n let formatValue\n if (Array.isArray(val)) {\n formatValue = val.map((_) =>\n formatter(_, props.valueFormat, lang.value)\n )\n } else if (val) {\n formatValue = formatter(val, props.valueFormat, lang.value)\n }\n ctx.emit('update:modelValue', val ? formatValue : val, lang.value)\n }\n }\n const 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 const refStartInput = computed(() => {\n return refInput?.value[0]\n })\n const refEndInput = computed(() => {\n return refInput?.value[1]\n })\n const setSelectionRange = (start, end, pos) => {\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 }\n const onPick = (date: any = '', visible = false) => {\n pickerVisible.value = visible\n let result\n if (Array.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\n const onBeforeShow = () => {\n pickerActualVisible.value = true\n }\n\n const onShow = () => {\n ctx.emit('visible-change', true)\n }\n\n const onHide = () => {\n pickerActualVisible.value = false\n ctx.emit('visible-change', false)\n }\n\n const focus = (focusStartInput = true) => {\n let input = refStartInput.value\n if (!focusStartInput && isRangeInput.value) {\n input = refEndInput.value\n }\n if (input) {\n input.focus()\n }\n }\n\n const handleFocus = (e) => {\n if (props.readonly || pickerDisabled.value || pickerVisible.value) return\n pickerVisible.value = true\n ctx.emit('focus', e)\n }\n\n const handleBlur = () => {\n refPopper.value?.onClose()\n blurInput()\n }\n\n const pickerDisabled = computed(() => {\n return props.disabled || elForm.disabled\n })\n\n const parsedValue = computed(() => {\n let result\n if (valueIsEmpty.value) {\n if (pickerOptions.value.getDefaultValue) {\n result = pickerOptions.value.getDefaultValue()\n }\n } else {\n if (Array.isArray(props.modelValue)) {\n result = props.modelValue.map((_) =>\n parser(_, props.valueFormat, lang.value)\n )\n } else {\n result = parser(props.modelValue, props.valueFormat, lang.value)\n }\n }\n\n if (pickerOptions.value.getRangeAvailableTime) {\n const availableResult =\n pickerOptions.value.getRangeAvailableTime(result)\n if (!isEqual(availableResult, result)) {\n result = availableResult\n emitInput(\n Array.isArray(result)\n ? result.map((_) => _.toDate())\n : result.toDate()\n )\n }\n }\n if (Array.isArray(result) && result.some((_) => !_)) {\n result = []\n }\n return result\n })\n\n const displayValue = computed(() => {\n if (!pickerOptions.value.panelReady) return\n const formattedValue = formatDayjsToString(parsedValue.value)\n if (Array.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\n ? (formattedValue as Array<string>).join(', ')\n : formattedValue\n }\n return ''\n })\n\n const isTimeLikePicker = computed(() => props.type.includes('time'))\n\n const isTimePicker = computed(() => props.type.startsWith('time'))\n\n const isDatesPicker = computed(() => props.type === 'dates')\n\n const triggerIcon = computed(\n () => props.prefixIcon || (isTimeLikePicker.value ? Clock : Calendar)\n )\n\n const showClose = ref(false)\n\n const onClearIconClick = (event) => {\n if (props.readonly || pickerDisabled.value) return\n if (showClose.value) {\n event.stopPropagation()\n emitInput(null)\n emitChange(null, true)\n showClose.value = false\n pickerVisible.value = false\n pickerOptions.value.handleClear && pickerOptions.value.handleClear()\n }\n }\n const valueIsEmpty = computed(() => {\n return (\n !props.modelValue ||\n (Array.isArray(props.modelValue) && !props.modelValue.length)\n )\n })\n const onMouseEnter = () => {\n if (props.readonly || pickerDisabled.value) return\n if (!valueIsEmpty.value && props.clearable) {\n showClose.value = true\n }\n }\n const onMouseLeave = () => {\n showClose.value = false\n }\n const isRangeInput = computed(() => {\n return props.type.indexOf('range') > -1\n })\n\n const pickerSize = useSize()\n\n const popperPaneRef = computed(() => {\n return refPopper.value?.popperRef?.contentRef\n })\n\n const popperEl = computed(() => unref(refPopper)?.popperRef?.contentRef)\n const actualInputRef = computed(() => {\n if (unref(isRangeInput)) {\n return unref(inputRef)\n }\n\n return (unref(inputRef) as ComponentPublicInstance)?.$el\n })\n\n 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\n const userInput = ref(null)\n\n const handleChange = () => {\n if (userInput.value) {\n const value = parseUserInputToDayjs(displayValue.value)\n if (value) {\n if (isValidValue(value)) {\n emitInput(\n Array.isArray(value)\n ? value.map((_) => _.toDate())\n : value.toDate()\n )\n userInput.value = null\n }\n }\n }\n if (userInput.value === '') {\n emitInput(null)\n emitChange(null)\n userInput.value = null\n }\n }\n\n const blurInput = () => {\n refInput.value.forEach((input) => input.blur())\n }\n\n const parseUserInputToDayjs = (value) => {\n if (!value) return null\n return pickerOptions.value.parseUserInput(value)\n }\n\n const formatDayjsToString = (value) => {\n if (!value) return null\n return pickerOptions.value.formatToString(value)\n }\n\n const isValidValue = (value) => {\n return pickerOptions.value.isValidValue(value)\n }\n\n const handleKeydown = (event) => {\n const code = event.code\n\n if (code === EVENT_CODE.esc) {\n pickerVisible.value = false\n event.stopPropagation()\n return\n }\n\n if (code === EVENT_CODE.tab) {\n if (!isRangeInput.value) {\n handleChange()\n pickerVisible.value = false\n event.stopPropagation()\n } else {\n // user may change focus between two input\n setTimeout(() => {\n if (refInput.value.indexOf(document.activeElement) === -1) {\n pickerVisible.value = false\n blurInput()\n }\n }, 0)\n }\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))\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\n if (pickerOptions.value.handleKeydown) {\n pickerOptions.value.handleKeydown(event)\n }\n }\n const onUserInput = (e) => {\n userInput.value = e\n }\n\n const handleStartInput = (event) => {\n if (userInput.value) {\n userInput.value = [event.target.value, userInput.value[1]]\n } else {\n userInput.value = [event.target.value, null]\n }\n }\n\n const handleEndInput = (event) => {\n if (userInput.value) {\n userInput.value = [userInput.value[0], event.target.value]\n } else {\n userInput.value = [null, event.target.value]\n }\n }\n\n const handleStartChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[0])\n if (value && value.isValid()) {\n userInput.value = [formatDayjsToString(value), displayValue.value[1]]\n const newValue = [value, parsedValue.value && parsedValue.value[1]]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const handleEndChange = () => {\n const value = parseUserInputToDayjs(userInput.value && userInput.value[1])\n if (value && value.isValid()) {\n userInput.value = [displayValue.value[0], formatDayjsToString(value)]\n const newValue = [parsedValue.value && parsedValue.value[0], value]\n if (isValidValue(newValue)) {\n emitInput(newValue)\n userInput.value = null\n }\n }\n }\n\n const pickerOptions = ref<Partial<PickerOptions>>({})\n const 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\n const onCalendarChange = (e) => {\n ctx.emit('calendar-change', e)\n }\n\n const onPanelChange = (value, mode, view) => {\n ctx.emit('panel-change', value, mode, view)\n }\n\n provide('EP_PICKER_BASE', {\n props,\n })\n\n return {\n // injected popper options\n elPopperOptions,\n\n isDatesPicker,\n handleEndChange,\n handleStartChange,\n handleStartInput,\n handleEndInput,\n onUserInput,\n handleChange,\n handleKeydown,\n popperPaneRef,\n onClickOutside,\n pickerSize,\n isRangeInput,\n onMouseLeave,\n onMouseEnter,\n onClearIconClick,\n showClose,\n triggerIcon,\n onPick,\n handleFocus,\n handleBlur,\n pickerVisible,\n pickerActualVisible,\n displayValue,\n parsedValue,\n setSelectionRange,\n refPopper,\n inputRef,\n pickerDisabled,\n onSetPickerOption,\n onCalendarChange,\n onPanelChange,\n focus,\n onShow,\n onBeforeShow,\n onHide,\n }\n },\n})\n</script>\n"],"names":["isEmpty","dayjs","defineComponent","ElInput","ElTooltip","ElIcon","timePickerDefaultProps","useLocale","inject","elFormKey","elFormItemKey","ref","computed","unref","onClickOutside","_createElementVNode","_createBlock"],"mappings":"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"}
@@ -187,6 +187,7 @@ declare const _default: import("vue").DefineComponent<{
187
187
  } | (string | {
188
188
  [x: string]: any;
189
189
  } | any)[])[])[])[])[])[])[])[])[])[])[];
190
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
190
191
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
191
192
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
192
193
  popperClass: string | {
@@ -217,7 +218,6 @@ declare const _default: import("vue").DefineComponent<{
217
218
  popperStyle: import("vue").StyleValue;
218
219
  referenceEl: HTMLElement;
219
220
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
220
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
221
221
  content: string;
222
222
  showAfter: number;
223
223
  hideAfter: number;
@@ -229,6 +229,7 @@ declare const _default: import("vue").DefineComponent<{
229
229
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
230
230
  virtualRef: import("../../..").Measurable;
231
231
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
232
+ "onUpdate:visible": (val: boolean) => void;
232
233
  openDelay: number;
233
234
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
234
235
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -316,9 +317,10 @@ declare const _default: import("vue").DefineComponent<{
316
317
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
317
318
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
318
319
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
320
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
319
321
  }>> & {
320
322
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
321
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "visible" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "openDelay" | "visibleArrow" | "showArrow">;
323
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "offset" | "effect" | "arrowOffset" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "visible" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent" | "content" | "showAfter" | "hideAfter" | "appendTo" | "rawContent" | "transition" | "teleported" | "persistent" | "trigger" | "virtualRef" | "virtualTriggering" | "onUpdate:visible" | "openDelay" | "visibleArrow" | "showArrow">;
322
324
  $attrs: {
323
325
  [x: string]: unknown;
324
326
  };
@@ -416,6 +418,7 @@ declare const _default: import("vue").DefineComponent<{
416
418
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
417
419
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
418
420
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
421
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
419
422
  }>> & {
420
423
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
421
424
  }, {
@@ -501,6 +504,7 @@ declare const _default: import("vue").DefineComponent<{
501
504
  } | (string | {
502
505
  [x: string]: any;
503
506
  } | any)[])[])[])[])[])[])[])[])[])[])[];
507
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
504
508
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
505
509
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
506
510
  popperClass: string | {
@@ -531,7 +535,6 @@ declare const _default: import("vue").DefineComponent<{
531
535
  popperStyle: import("vue").StyleValue;
532
536
  referenceEl: HTMLElement;
533
537
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
534
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
535
538
  content: string;
536
539
  showAfter: number;
537
540
  hideAfter: number;
@@ -543,6 +546,7 @@ declare const _default: import("vue").DefineComponent<{
543
546
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
544
547
  virtualRef: import("../../..").Measurable;
545
548
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
549
+ "onUpdate:visible": (val: boolean) => void;
546
550
  openDelay: number;
547
551
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
548
552
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -650,6 +654,7 @@ declare const _default: import("vue").DefineComponent<{
650
654
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<Options>>, () => {}, unknown, unknown, unknown>;
651
655
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
652
656
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
657
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
653
658
  }>> & {
654
659
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
655
660
  } & import("vue").ShallowUnwrapRef<{
@@ -706,6 +711,7 @@ declare const _default: import("vue").DefineComponent<{
706
711
  onPanelChange: (value: any, mode: any, view: any) => void;
707
712
  focus: (focusStartInput?: boolean) => void;
708
713
  onShow: () => void;
714
+ onBeforeShow: () => void;
709
715
  onHide: () => void;
710
716
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "focus" | "blur" | "visible-change" | "calendar-change" | "panel-change")[], "update:modelValue" | "change" | "blur" | "focus" | "visible-change" | "calendar-change" | "panel-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
711
717
  id: {
@@ -54,7 +54,7 @@ export declare const useOldValue: (props: {
54
54
  startOf: (unit: import("dayjs").OpUnitType) => Dayjs;
55
55
  endOf: (unit: import("dayjs").OpUnitType) => Dayjs;
56
56
  format: (template?: string | undefined) => string;
57
- diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "months" | "years" | "d" | "m" | "ms" | "weeks" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
57
+ diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
58
58
  valueOf: () => number;
59
59
  unix: () => number;
60
60
  daysInMonth: () => number;
@@ -124,7 +124,7 @@ export declare const useOldValue: (props: {
124
124
  startOf: (unit: import("dayjs").OpUnitType) => Dayjs;
125
125
  endOf: (unit: import("dayjs").OpUnitType) => Dayjs;
126
126
  format: (template?: string | undefined) => string;
127
- diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "months" | "years" | "d" | "m" | "ms" | "weeks" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
127
+ diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
128
128
  valueOf: () => number;
129
129
  unix: () => number;
130
130
  daysInMonth: () => number;
@@ -82,6 +82,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
82
82
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
83
83
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
84
84
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
85
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
85
86
  }, {
86
87
  compatShowAfter: import("vue").ComputedRef<number>;
87
88
  compatShowArrow: import("vue").ComputedRef<import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>>;
@@ -212,6 +213,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
212
213
  popperOptions: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<Partial<import("@popperjs/core").Options>>, () => {}, unknown, unknown, unknown>;
213
214
  strategy: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "absolute", unknown, "fixed" | "absolute", unknown>;
214
215
  showAfter: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
216
+ "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
215
217
  }>> & {
216
218
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
217
219
  }, {
@@ -251,6 +253,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
251
253
  } | (string | {
252
254
  [x: string]: any;
253
255
  } | any)[])[])[])[])[])[])[])[])[])[])[];
256
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
254
257
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
255
258
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
256
259
  popperClass: string | {
@@ -281,7 +284,6 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
281
284
  popperStyle: import("vue").StyleValue;
282
285
  referenceEl: HTMLElement;
283
286
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
284
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
285
287
  content: string;
286
288
  showAfter: number;
287
289
  hideAfter: number;
@@ -293,6 +295,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
293
295
  trigger: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<"click" | "focus" | "hover" | "contextmenu" | ("click" | "focus" | "hover" | "contextmenu")[]>, unknown, unknown>;
294
296
  virtualRef: import("..").Measurable;
295
297
  virtualTriggering: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
298
+ "onUpdate:visible": (val: boolean) => void;
296
299
  openDelay: number;
297
300
  visibleArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
298
301
  showArrow: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
@@ -29,7 +29,18 @@ const _sfc_main = vue.defineComponent({
29
29
  const intermediateOpen = vue.ref(false);
30
30
  const entering = vue.ref(false);
31
31
  const leaving = vue.ref(false);
32
- const { controlled, id, open, trigger, onClose, onOpen, onShow, onHide } = vue.inject(tokens.TOOLTIP_INJECTION_KEY, void 0);
32
+ const {
33
+ controlled,
34
+ id,
35
+ open,
36
+ trigger,
37
+ onClose,
38
+ onOpen,
39
+ onShow,
40
+ onHide,
41
+ onBeforeShow,
42
+ onBeforeHide
43
+ } = vue.inject(tokens.TOOLTIP_INJECTION_KEY, void 0);
33
44
  const persistentRef = vue.computed(() => {
34
45
  if (process.env.NODE_ENV === "test") {
35
46
  return true;
@@ -68,6 +79,10 @@ const _sfc_main = vue.defineComponent({
68
79
  const onBeforeEnter = () => {
69
80
  var _a, _b;
70
81
  (_b = (_a = contentRef.value) == null ? void 0 : _a.updatePopper) == null ? void 0 : _b.call(_a);
82
+ onBeforeShow();
83
+ };
84
+ const onBeforeLeave = () => {
85
+ onBeforeHide();
71
86
  };
72
87
  const onAfterShow = () => {
73
88
  onShow();
@@ -105,6 +120,7 @@ const _sfc_main = vue.defineComponent({
105
120
  open,
106
121
  onAfterShow,
107
122
  onBeforeEnter,
123
+ onBeforeLeave,
108
124
  onContentEnter,
109
125
  onContentLeave,
110
126
  onTransitionLeave
@@ -122,7 +138,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
122
138
  name: _ctx.transition,
123
139
  onAfterLeave: _ctx.onTransitionLeave,
124
140
  onBeforeEnter: _ctx.onBeforeEnter,
125
- onAfterEnter: _ctx.onAfterShow
141
+ onAfterEnter: _ctx.onAfterShow,
142
+ onBeforeLeave: _ctx.onBeforeLeave
126
143
  }, {
127
144
  default: vue.withCtx(() => [
128
145
  _ctx.shouldRender ? vue.withDirectives((vue.openBlock(), vue.createBlock(_component_el_popper_content, vue.mergeProps({
@@ -143,6 +160,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
143
160
  "popper-class": _ctx.popperClass,
144
161
  "popper-style": [_ctx.popperStyle, _ctx.contentStyle],
145
162
  "reference-el": _ctx.referenceEl,
163
+ visible: _ctx.shouldShow,
146
164
  "z-index": _ctx.zIndex,
147
165
  onMouseenter: _ctx.onContentEnter,
148
166
  onMouseleave: _ctx.onContentLeave
@@ -160,12 +178,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
160
178
  }, 8, ["id"])
161
179
  ]),
162
180
  _: 3
163
- }, 16, ["aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "z-index", "onMouseenter", "onMouseleave"])), [
181
+ }, 16, ["aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "visible", "z-index", "onMouseenter", "onMouseleave"])), [
164
182
  [vue.vShow, _ctx.shouldShow]
165
183
  ]) : vue.createCommentVNode("v-if", true)
166
184
  ]),
167
185
  _: 3
168
- }, 8, ["name", "onAfterLeave", "onBeforeEnter", "onAfterEnter"])
186
+ }, 8, ["name", "onAfterLeave", "onBeforeEnter", "onAfterEnter", "onBeforeLeave"])
169
187
  ], 8, ["disabled", "to"]);
170
188
  }
171
189
  var ElTooltipContent = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transition\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\n v-show=\"shouldShow\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle, contentStyle]\"\n :reference-el=\"referenceEl\"\n :z-index=\"zIndex\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n >\n <slot />\n <el-visually-hidden :id=\"id\" role=\"tooltip\">\n {{ ariaLabel }}\n </el-visually-hidden>\n </el-popper-content>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { onClickOutside } from '@vueuse/core'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport { ElVisuallyHidden } from '@element-plus/components/visual-hidden'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { useEscapeKeydown } from '@element-plus/hooks'\n\nimport { useTooltipContentProps } from './tooltip'\nimport { TOOLTIP_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElTooltipContent',\n components: {\n ElPopperContent,\n ElVisuallyHidden,\n },\n inheritAttrs: false,\n props: useTooltipContentProps,\n setup(props) {\n const contentRef = ref<InstanceType<typeof ElPopperContent> | null>(null)\n const intermediateOpen = ref(false)\n const entering = ref(false)\n const leaving = ref(false)\n const { controlled, id, open, trigger, onClose, onOpen, onShow, onHide } =\n inject(TOOLTIP_INJECTION_KEY, undefined)!\n const persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n return true\n }\n return props.persistent\n })\n\n const shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n })\n\n const shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n })\n\n const contentStyle = computed(() => (props.style ?? {}) as any)\n\n const ariaHidden = computed(() => !unref(open))\n\n useEscapeKeydown(onClose)\n\n const onTransitionLeave = () => {\n onHide()\n }\n\n const stopWhenControlled = () => {\n if (unref(controlled)) return true\n }\n\n const onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n })\n\n const onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (unref(trigger) === 'hover') {\n onClose()\n }\n })\n\n const onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n }\n\n const onAfterShow = () => {\n onShow()\n }\n\n let stopHandle: ReturnType<typeof onClickOutside>\n\n watch(\n () => unref(open),\n (val) => {\n if (val) {\n stopHandle = onClickOutside(\n computed(() => {\n return contentRef.value?.popperContentRef\n }),\n () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\n }\n )\n } else {\n stopHandle?.()\n }\n },\n {\n flush: 'post',\n }\n )\n\n return {\n ariaHidden,\n entering,\n leaving,\n id,\n intermediateOpen,\n contentStyle,\n contentRef,\n shouldRender,\n shouldShow,\n open,\n onAfterShow,\n onBeforeEnter,\n onContentEnter,\n onContentLeave,\n onTransitionLeave,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElPopperContent","ElVisuallyHidden","useTooltipContentProps","ref","inject","TOOLTIP_INJECTION_KEY","computed","unref"],"mappings":";;;;;;;;;;;;;;;;;;AAmDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,qBACVC;AAAA,sBACAC;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAOC;AAAA,EACP,MAAM,OAAO;AACX,UAAM,aAAaC,QAAiD;AACpE,UAAM,mBAAmBA,QAAI;AAC7B,UAAM,WAAWA,QAAI;AACrB,UAAM,UAAUA,QAAI;AACpB,UAAM,EAAE,YAAY,IAAI,MAAM,SAAS,SAAS,QAAQ,QAAQ,WAC9DC,WAAOC,8BAAuB;AAChC,UAAM,gBAAgBC,aAAS,MAAM;AAGnC,UAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,eAAO;AAAA;AAET,aAAO,MAAM;AAAA;AAGf,UAAM,eAAeA,aAAS,MAAM;AAClC,aAAOC,UAAM,iBAAiB,OAAOA,UAAM;AAAA;AAG7C,UAAM,aAAaD,aAAS,MAAM;AAChC,aAAO,MAAM,WAAW,QAAQC,UAAM;AAAA;AAGxC,UAAM,eAAeD,aAAS,MAAO;AAErC,UAAM;AAEN;AAEA;AACE;AAAA;AAGF,UAAM;AACJ;AAAuB;AAAO;AAGhC,UAAMC,qBAAiB;AACrB;AACE;AAAA;AAAA;AAIJ;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AAAkB;AAGpB,UAAM;AACJ;AAAA;AAGF;AAEA,UACE,oBACC;AACC,eAAS;AACP;AAEI;AAAyB;AAGzB;AAAuB;AACvB,gBAAM;AACN;AACE;AAAA;AAAA;AAAA;AAKN;AAAA;AAAA;AAGJ;AACS;AAIX;AAAO;AACL;AACA,MACA;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;AA9JkB;AAAiB;;AAmCxB;AAjCJ,oBACO;AAAA,MACb,eAAc;AAAA;AACD;;AA6BM;AAAA;;AAxBd;AACU;AACA;AACO,UACpB;AAAqB,UACrB;AAAkB;AACV,UACR;AAAW,UACX;AAAgB,UAChB;AAAU,UACV;AAAQ,UACR;AAAW,UACX;AAAM,UACN,gBAAc;AAAA,UACd;AAA4B,UAC5B;AAAc,UACd,WAAS;AAAA,UACT;AAAY,UACZ,cAAY;AAAA;;AAEL;AAAA;AAGa;AAFI;AAAS;;AACjB;AAAH;AAAA;;;;;;AAvBN;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"content.js","sources":["../../../../../../packages/components/tooltip/src/content.vue"],"sourcesContent":["<template>\n <teleport :disabled=\"!teleported\" :to=\"appendTo\">\n <transition\n :name=\"transition\"\n @after-leave=\"onTransitionLeave\"\n @before-enter=\"onBeforeEnter\"\n @after-enter=\"onAfterShow\"\n @before-leave=\"onBeforeLeave\"\n >\n <el-popper-content\n v-if=\"shouldRender\"\n v-show=\"shouldShow\"\n ref=\"contentRef\"\n v-bind=\"$attrs\"\n :aria-hidden=\"ariaHidden\"\n :boundaries-padding=\"boundariesPadding\"\n :fallback-placements=\"fallbackPlacements\"\n :gpu-acceleration=\"gpuAcceleration\"\n :offset=\"offset\"\n :placement=\"placement\"\n :popper-options=\"popperOptions\"\n :strategy=\"strategy\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :pure=\"pure\"\n :popper-class=\"popperClass\"\n :popper-style=\"[popperStyle, contentStyle]\"\n :reference-el=\"referenceEl\"\n :visible=\"shouldShow\"\n :z-index=\"zIndex\"\n @mouseenter=\"onContentEnter\"\n @mouseleave=\"onContentLeave\"\n >\n <slot />\n <el-visually-hidden :id=\"id\" role=\"tooltip\">\n {{ ariaLabel }}\n </el-visually-hidden>\n </el-popper-content>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, ref, unref, watch } from 'vue'\nimport { onClickOutside } from '@vueuse/core'\nimport { ElPopperContent } from '@element-plus/components/popper'\nimport { ElVisuallyHidden } from '@element-plus/components/visual-hidden'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { useEscapeKeydown } from '@element-plus/hooks'\n\nimport { useTooltipContentProps } from './tooltip'\nimport { TOOLTIP_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElTooltipContent',\n components: {\n ElPopperContent,\n ElVisuallyHidden,\n },\n inheritAttrs: false,\n props: useTooltipContentProps,\n setup(props) {\n const contentRef = ref<InstanceType<typeof ElPopperContent> | null>(null)\n const intermediateOpen = ref(false)\n const entering = ref(false)\n const leaving = ref(false)\n const {\n controlled,\n id,\n open,\n trigger,\n onClose,\n onOpen,\n onShow,\n onHide,\n onBeforeShow,\n onBeforeHide,\n } = inject(TOOLTIP_INJECTION_KEY, undefined)!\n const persistentRef = computed(() => {\n // For testing, we would always want the content to be rendered\n // to the DOM, so we need to return true here.\n if (process.env.NODE_ENV === 'test') {\n return true\n }\n return props.persistent\n })\n\n const shouldRender = computed(() => {\n return unref(persistentRef) ? true : unref(open)\n })\n\n const shouldShow = computed(() => {\n return props.disabled ? false : unref(open)\n })\n\n const contentStyle = computed(() => (props.style ?? {}) as any)\n\n const ariaHidden = computed(() => !unref(open))\n\n useEscapeKeydown(onClose)\n\n const onTransitionLeave = () => {\n onHide()\n }\n\n const stopWhenControlled = () => {\n if (unref(controlled)) return true\n }\n\n const onContentEnter = composeEventHandlers(stopWhenControlled, () => {\n if (props.enterable && unref(trigger) === 'hover') {\n onOpen()\n }\n })\n\n const onContentLeave = composeEventHandlers(stopWhenControlled, () => {\n if (unref(trigger) === 'hover') {\n onClose()\n }\n })\n\n const onBeforeEnter = () => {\n contentRef.value?.updatePopper?.()\n onBeforeShow()\n }\n\n const onBeforeLeave = () => {\n onBeforeHide()\n }\n\n const onAfterShow = () => {\n onShow()\n }\n\n let stopHandle: ReturnType<typeof onClickOutside>\n\n watch(\n () => unref(open),\n (val) => {\n if (val) {\n stopHandle = onClickOutside(\n computed(() => {\n return contentRef.value?.popperContentRef\n }),\n () => {\n if (unref(controlled)) return\n const $trigger = unref(trigger)\n if ($trigger !== 'hover') {\n onClose()\n }\n }\n )\n } else {\n stopHandle?.()\n }\n },\n {\n flush: 'post',\n }\n )\n\n return {\n ariaHidden,\n entering,\n leaving,\n id,\n intermediateOpen,\n contentStyle,\n contentRef,\n shouldRender,\n shouldShow,\n open,\n onAfterShow,\n onBeforeEnter,\n onBeforeLeave,\n onContentEnter,\n onContentLeave,\n onTransitionLeave,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElPopperContent","ElVisuallyHidden","useTooltipContentProps","ref","inject","TOOLTIP_INJECTION_KEY","computed","unref"],"mappings":";;;;;;;;;;;;;;;;;;AAqDA,MAAK,YAAaA,oBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,qBACVC;AAAA,sBACAC;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAOC;AAAA,EACP,MAAM,OAAO;AACX,UAAM,aAAaC,QAAiD;AACpE,UAAM,mBAAmBA,QAAI;AAC7B,UAAM,WAAWA,QAAI;AACrB,UAAM,UAAUA,QAAI;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACEC,WAAOC,8BAAuB;AAClC,UAAM,gBAAgBC,aAAS,MAAM;AAGnC,UAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,eAAO;AAAA;AAET,aAAO,MAAM;AAAA;AAGf,UAAM,eAAeA,aAAS,MAAM;AAClC,aAAOC,UAAM,iBAAiB,OAAOA,UAAM;AAAA;AAG7C,UAAM,aAAaD,aAAS,MAAM;AAChC,aAAO,MAAM,WAAW,QAAQC,UAAM;AAAA;AAGxC,UAAM,eAAeD,aAAS,MAAO;AAErC,UAAM;AAEN;AAEA;AACE;AAAA;AAGF,UAAM;AACJ;AAAuB;AAAO;AAGhC,UAAMC,qBAAiB;AACrB;AACE;AAAA;AAAA;AAIJ;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AACA;AAAA;AAGF,UAAM;AACJ;AAAA;AAGF;AACE;AAAA;AAGF;AAEA,UACE,oBACC;AACC,eAAS;AACP;AAEI;AAAyB;AAGzB;AAAuB;AACvB,gBAAM;AACN;AACE;AAAA;AAAA;AAAA;AAKN;AAAA;AAAA;AAGJ;AACS;AAIX;AAAO;AACL;AACA,MACA;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;AAhLkB;AAAiB;;AAqCxB;AAnCJ,oBACO;AAAA,MACb,eAAc;AAAA;AACD;AACC;wBAEf;AA4BoB;AAAA;;AAzBd;AACU;AACA;AACO,UACpB;AAAqB,UACrB;AAAkB;AACV,UACR;AAAW,UACX;AAAgB,UAChB;AAAU,UACV;AAAQ,UACR;AAAW,UACX;AAAM,UACN,gBAAc;AAAA,UACd;AAA4B,UAC5B;AAAc,UACd,SAAS;AAAA,UACT,WAAS;AAAA,UACT,cAAY;AAAA,UACZ,cAAY;AAAA;kCAEL;AAAA;AAAA;AAGa;AAFI;AAAS;;AACjB;AAAH;AAAA;;;;;;AAxBN;;;;;;;;;;;;;;;"}
@@ -120,6 +120,7 @@ declare const _default: import("vue").DefineComponent<{
120
120
  } | (string | {
121
121
  [x: string]: any;
122
122
  } | any)[])[])[])[])[])[])[])[])[])[])[];
123
+ visible: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
123
124
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
124
125
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
125
126
  popperClass: string | {
@@ -178,6 +179,7 @@ declare const _default: import("vue").DefineComponent<{
178
179
  [x: string]: any;
179
180
  } | any)[])[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
180
181
  readonly effect: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "dark", unknown, unknown, unknown>;
182
+ readonly visible: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
181
183
  readonly enterable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
182
184
  readonly pure: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
183
185
  readonly popperClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | {
@@ -219,7 +221,7 @@ declare const _default: import("vue").DefineComponent<{
219
221
  }>> & {
220
222
  onMouseenter?: ((...args: any[]) => any) | undefined;
221
223
  onMouseleave?: ((...args: any[]) => any) | undefined;
222
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "offset" | "effect" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent">;
224
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "offset" | "effect" | "boundariesPadding" | "fallbackPlacements" | "gpuAcceleration" | "placement" | "popperOptions" | "strategy" | "style" | "className" | "visible" | "enterable" | "pure" | "popperClass" | "popperStyle" | "referenceEl" | "stopPopperMouseEvent">;
223
225
  $attrs: {
224
226
  [x: string]: unknown;
225
227
  };
@@ -261,6 +263,7 @@ declare const _default: import("vue").DefineComponent<{
261
263
  [x: string]: any;
262
264
  } | any)[])[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
263
265
  readonly effect: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "dark", unknown, unknown, unknown>;
266
+ readonly visible: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
264
267
  readonly enterable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
265
268
  readonly pure: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
266
269
  readonly popperClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | {
@@ -359,6 +362,7 @@ declare const _default: import("vue").DefineComponent<{
359
362
  } | (string | {
360
363
  [x: string]: any;
361
364
  } | any)[])[])[])[])[])[])[])[])[])[])[];
365
+ visible: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
362
366
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
363
367
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
364
368
  popperClass: string | {
@@ -437,6 +441,7 @@ declare const _default: import("vue").DefineComponent<{
437
441
  [x: string]: any;
438
442
  } | any)[])[])[])[])[])[])[])[])[])[])[]>, unknown, unknown, unknown, unknown>;
439
443
  readonly effect: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "dark", unknown, unknown, unknown>;
444
+ readonly visible: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
440
445
  readonly enterable: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, true, unknown, unknown, unknown>;
441
446
  readonly pure: import("element-plus/es/utils").BuildPropReturn<BooleanConstructor, unknown, unknown, unknown, unknown>;
442
447
  readonly popperClass: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | {
@@ -506,6 +511,7 @@ declare const _default: import("vue").DefineComponent<{
506
511
  open: import("vue").Ref<boolean>;
507
512
  onAfterShow: () => void;
508
513
  onBeforeEnter: () => void;
514
+ onBeforeLeave: () => void;
509
515
  onContentEnter: (event: unknown) => void;
510
516
  onContentLeave: (event: unknown) => void;
511
517
  onTransitionLeave: () => void;
@@ -622,6 +628,7 @@ declare const _default: import("vue").DefineComponent<{
622
628
  } | (string | {
623
629
  [x: string]: any;
624
630
  } | any)[])[])[])[])[])[])[])[])[])[])[];
631
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
625
632
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
626
633
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
627
634
  popperClass: string | {
@@ -652,7 +659,6 @@ declare const _default: import("vue").DefineComponent<{
652
659
  popperStyle: import("vue").StyleValue;
653
660
  referenceEl: HTMLElement;
654
661
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
655
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
656
662
  content: string;
657
663
  showAfter: number;
658
664
  hideAfter: number;
@@ -10,6 +10,8 @@ export declare type ElTooltipInjectionContext = {
10
10
  onToggle: (e: Event) => void;
11
11
  onShow: () => void;
12
12
  onHide: () => void;
13
+ onBeforeShow: () => void;
14
+ onBeforeHide: () => void;
13
15
  updatePopper: () => void;
14
16
  };
15
17
  export declare const TOOLTIP_INJECTION_KEY: InjectionKey<ElTooltipInjectionContext>;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sources":["../../../../../../packages/components/tooltip/src/tokens.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { Trigger } from './tooltip'\n\nexport type ElTooltipInjectionContext = {\n controlled: Ref<boolean>\n id: Ref<string>\n open: Ref<boolean>\n trigger: Ref<Trigger | Trigger[]>\n onOpen: (e?: Event) => void\n onClose: (e?: Event) => void\n onToggle: (e: Event) => void\n onShow: () => void\n onHide: () => void\n updatePopper: () => void\n}\n\nexport const TOOLTIP_INJECTION_KEY: InjectionKey<ElTooltipInjectionContext> =\n Symbol('elTooltip')\n"],"names":[],"mappings":";;;;AAAY,MAAC,qBAAqB,GAAG,MAAM,CAAC,WAAW;;;;"}
1
+ {"version":3,"file":"tokens.js","sources":["../../../../../../packages/components/tooltip/src/tokens.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { Trigger } from './tooltip'\n\nexport type ElTooltipInjectionContext = {\n controlled: Ref<boolean>\n id: Ref<string>\n open: Ref<boolean>\n trigger: Ref<Trigger | Trigger[]>\n onOpen: (e?: Event) => void\n onClose: (e?: Event) => void\n onToggle: (e: Event) => void\n onShow: () => void\n onHide: () => void\n onBeforeShow: () => void\n onBeforeHide: () => void\n updatePopper: () => void\n}\n\nexport const TOOLTIP_INJECTION_KEY: InjectionKey<ElTooltipInjectionContext> =\n Symbol('elTooltip')\n"],"names":[],"mappings":";;;;AAAY,MAAC,qBAAqB,GAAG,MAAM,CAAC,WAAW;;;;"}