@element-plus/nightly 0.0.20220222 → 0.0.20220225

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 (451) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +2649 -5535
  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 +2650 -5536
  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/card/index.mjs +2 -2
  251. package/es/components/card/index.mjs.map +1 -1
  252. package/es/components/card/src/card2.mjs +27 -29
  253. package/es/components/card/src/card2.mjs.map +1 -1
  254. package/es/components/cascader/index.d.ts +12 -12
  255. package/es/components/cascader/src/index.vue.d.ts +6 -6
  256. package/es/components/descriptions/index.d.ts +2 -2
  257. package/es/components/descriptions/src/description-item.d.ts +1 -1
  258. package/es/components/dialog/index.d.ts +1 -1
  259. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  260. package/es/components/drawer/index.d.ts +1 -1
  261. package/es/components/drawer/src/drawer.vue.d.ts +1 -1
  262. package/es/components/dropdown/index.d.ts +3 -3
  263. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  264. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  265. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -3
  266. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  267. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  268. package/es/components/icon/index.mjs +2 -2
  269. package/es/components/icon/src/icon.mjs +33 -8
  270. package/es/components/icon/src/icon.mjs.map +1 -1
  271. package/es/components/icon/src/icon2.mjs +8 -33
  272. package/es/components/icon/src/icon2.mjs.map +1 -1
  273. package/es/components/index.mjs +1 -1
  274. package/es/components/message/index.d.ts +1 -1
  275. package/es/components/message/src/message-method.d.ts +1 -1
  276. package/es/components/message/src/message-method.mjs +10 -7
  277. package/es/components/message/src/message-method.mjs.map +1 -1
  278. package/es/components/message/src/message.d.ts +3 -3
  279. package/es/components/message/src/message.mjs.map +1 -1
  280. package/es/components/notification/index.d.ts +1 -1
  281. package/es/components/popover/index.d.ts +10 -10
  282. package/es/components/popover/src/index.vue.d.ts +5 -5
  283. package/es/components/popper/src/content.mjs +9 -0
  284. package/es/components/popper/src/content.mjs.map +1 -1
  285. package/es/components/popper/src/content.vue.d.ts +3 -0
  286. package/es/components/popper/src/popper.d.ts +1 -0
  287. package/es/components/popper/src/popper.mjs +3 -0
  288. package/es/components/popper/src/popper.mjs.map +1 -1
  289. package/es/components/row/index.d.ts +3 -3
  290. package/es/components/row/src/row.d.ts +4 -4
  291. package/es/components/row/src/row.mjs +8 -1
  292. package/es/components/row/src/row.mjs.map +1 -1
  293. package/es/components/scrollbar/index.d.ts +1 -1
  294. package/es/components/scrollbar/src/bar.vue.d.ts +2 -2
  295. package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  296. package/es/components/select/index.d.ts +3 -3
  297. package/es/components/select/src/select.vue.d.ts +3 -3
  298. package/es/components/select/src/useSelect.d.ts +3 -3
  299. package/es/components/select-v2/index.d.ts +8 -8
  300. package/es/components/select-v2/src/select.vue.d.ts +4 -4
  301. package/es/components/select-v2/src/useSelect.d.ts +3 -3
  302. package/es/components/slider/index.d.ts +2 -2
  303. package/es/components/slider/src/index.vue.d.ts +1 -1
  304. package/es/components/table/src/filter-panel.vue.d.ts +3 -3
  305. package/es/components/table/src/store/watcher.mjs +4 -8
  306. package/es/components/table/src/store/watcher.mjs.map +1 -1
  307. package/es/components/table/src/table.mjs +1 -0
  308. package/es/components/table/src/table.mjs.map +1 -1
  309. package/es/components/time-picker/src/common/picker.mjs +6 -2
  310. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  311. package/es/components/time-picker/src/common/picker.vue.d.ts +4 -3
  312. package/es/components/tooltip/index.d.ts +1 -1
  313. package/es/components/tooltip/src/content.mjs +2 -1
  314. package/es/components/tooltip/src/content.mjs.map +1 -1
  315. package/es/components/tooltip/src/content.vue.d.ts +7 -2
  316. package/es/components/tooltip/src/tooltip.vue.d.ts +1 -1
  317. package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  318. package/es/components/virtual-list/src/builders/build-list.d.ts +1 -1
  319. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  320. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  321. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  322. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  323. package/es/index.mjs +1 -1
  324. package/es/utils/vue/install.d.ts +2 -2
  325. package/es/utils/vue/install.mjs +2 -0
  326. package/es/utils/vue/install.mjs.map +1 -1
  327. package/es/utils/vue/typescript.d.ts +4 -1
  328. package/es/version.d.ts +1 -1
  329. package/es/version.mjs +1 -1
  330. package/es/version.mjs.map +1 -1
  331. package/lib/components/affix/index.d.ts +6 -8
  332. package/lib/components/affix/src/affix.vue.d.ts +6 -8
  333. package/lib/components/affix/src/affix2.js +34 -33
  334. package/lib/components/affix/src/affix2.js.map +1 -1
  335. package/lib/components/avatar/index.d.ts +58 -0
  336. package/lib/components/avatar/src/avatar.vue.d.ts +58 -0
  337. package/lib/components/avatar/src/avatar2.js +31 -40
  338. package/lib/components/avatar/src/avatar2.js.map +1 -1
  339. package/lib/components/badge/src/badge2.js +4 -1
  340. package/lib/components/badge/src/badge2.js.map +1 -1
  341. package/lib/components/button/index.d.ts +12 -1
  342. package/lib/components/button/src/button-group.vue.d.ts +6 -0
  343. package/lib/components/button/src/button-group2.js +14 -15
  344. package/lib/components/button/src/button-group2.js.map +1 -1
  345. package/lib/components/button/src/button.vue.d.ts +0 -1
  346. package/lib/components/button/src/button2.js +3 -5
  347. package/lib/components/button/src/button2.js.map +1 -1
  348. package/lib/components/card/src/card2.js +26 -28
  349. package/lib/components/card/src/card2.js.map +1 -1
  350. package/lib/components/cascader/index.d.ts +12 -12
  351. package/lib/components/cascader/src/index.vue.d.ts +6 -6
  352. package/lib/components/descriptions/index.d.ts +2 -2
  353. package/lib/components/descriptions/src/description-item.d.ts +1 -1
  354. package/lib/components/dialog/index.d.ts +1 -1
  355. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  356. package/lib/components/drawer/index.d.ts +1 -1
  357. package/lib/components/drawer/src/drawer.vue.d.ts +1 -1
  358. package/lib/components/dropdown/index.d.ts +3 -3
  359. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  360. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  361. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -3
  362. package/lib/components/dropdown/src/dropdown2.js +1 -1
  363. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  364. package/lib/components/icon/index.js +2 -2
  365. package/lib/components/icon/src/icon.js +33 -8
  366. package/lib/components/icon/src/icon.js.map +1 -1
  367. package/lib/components/icon/src/icon2.js +8 -33
  368. package/lib/components/icon/src/icon2.js.map +1 -1
  369. package/lib/components/index.js +1 -1
  370. package/lib/components/message/index.d.ts +1 -1
  371. package/lib/components/message/src/message-method.d.ts +1 -1
  372. package/lib/components/message/src/message-method.js +10 -7
  373. package/lib/components/message/src/message-method.js.map +1 -1
  374. package/lib/components/message/src/message.d.ts +3 -3
  375. package/lib/components/message/src/message.js.map +1 -1
  376. package/lib/components/notification/index.d.ts +1 -1
  377. package/lib/components/popover/index.d.ts +10 -10
  378. package/lib/components/popover/src/index.vue.d.ts +5 -5
  379. package/lib/components/popper/src/content.js +9 -0
  380. package/lib/components/popper/src/content.js.map +1 -1
  381. package/lib/components/popper/src/content.vue.d.ts +3 -0
  382. package/lib/components/popper/src/popper.d.ts +1 -0
  383. package/lib/components/popper/src/popper.js +3 -0
  384. package/lib/components/popper/src/popper.js.map +1 -1
  385. package/lib/components/row/index.d.ts +3 -3
  386. package/lib/components/row/src/row.d.ts +4 -4
  387. package/lib/components/row/src/row.js +8 -1
  388. package/lib/components/row/src/row.js.map +1 -1
  389. package/lib/components/scrollbar/index.d.ts +1 -1
  390. package/lib/components/scrollbar/src/bar.vue.d.ts +2 -2
  391. package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
  392. package/lib/components/select/index.d.ts +3 -3
  393. package/lib/components/select/src/select.vue.d.ts +3 -3
  394. package/lib/components/select/src/useSelect.d.ts +3 -3
  395. package/lib/components/select-v2/index.d.ts +8 -8
  396. package/lib/components/select-v2/src/select.vue.d.ts +4 -4
  397. package/lib/components/select-v2/src/useSelect.d.ts +3 -3
  398. package/lib/components/slider/index.d.ts +2 -2
  399. package/lib/components/slider/src/index.vue.d.ts +1 -1
  400. package/lib/components/table/src/filter-panel.vue.d.ts +3 -3
  401. package/lib/components/table/src/store/watcher.js +4 -8
  402. package/lib/components/table/src/store/watcher.js.map +1 -1
  403. package/lib/components/table/src/table.js +1 -0
  404. package/lib/components/table/src/table.js.map +1 -1
  405. package/lib/components/time-picker/src/common/picker.js +6 -2
  406. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  407. package/lib/components/time-picker/src/common/picker.vue.d.ts +4 -3
  408. package/lib/components/tooltip/index.d.ts +1 -1
  409. package/lib/components/tooltip/src/content.js +2 -1
  410. package/lib/components/tooltip/src/content.js.map +1 -1
  411. package/lib/components/tooltip/src/content.vue.d.ts +7 -2
  412. package/lib/components/tooltip/src/tooltip.vue.d.ts +1 -1
  413. package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
  414. package/lib/components/virtual-list/src/builders/build-list.d.ts +1 -1
  415. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
  416. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +1 -1
  417. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
  418. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +1 -1
  419. package/lib/index.js +1 -1
  420. package/lib/utils/vue/install.d.ts +2 -2
  421. package/lib/utils/vue/install.js +2 -0
  422. package/lib/utils/vue/install.js.map +1 -1
  423. package/lib/utils/vue/typescript.d.ts +4 -1
  424. package/lib/version.d.ts +1 -1
  425. package/lib/version.js +1 -1
  426. package/lib/version.js.map +1 -1
  427. package/package.json +3 -3
  428. package/theme-chalk/el-button.css +1 -1
  429. package/theme-chalk/el-check-tag.css +1 -1
  430. package/theme-chalk/el-checkbox-button.css +1 -1
  431. package/theme-chalk/el-date-picker.css +1 -1
  432. package/theme-chalk/el-input.css +1 -1
  433. package/theme-chalk/el-row.css +1 -1
  434. package/theme-chalk/el-select.css +1 -1
  435. package/theme-chalk/el-tag.css +1 -1
  436. package/theme-chalk/el-time-picker.css +1 -1
  437. package/theme-chalk/el-time-select.css +1 -1
  438. package/theme-chalk/index.css +1 -1
  439. package/theme-chalk/src/check-tag.scss +7 -5
  440. package/theme-chalk/src/checkbox-button.scss +1 -1
  441. package/theme-chalk/src/common/var.scss +3 -14
  442. package/theme-chalk/src/date-picker/date-table.scss +14 -14
  443. package/theme-chalk/src/date-picker/picker.scss +3 -4
  444. package/theme-chalk/src/input.scss +12 -7
  445. package/theme-chalk/src/mixins/_button.scss +119 -15
  446. package/theme-chalk/src/mixins/_var.scss +12 -0
  447. package/theme-chalk/src/mixins/function.scss +17 -0
  448. package/theme-chalk/src/row.scss +3 -1
  449. package/theme-chalk/src/select.scss +3 -0
  450. package/theme-chalk/src/tag.scss +64 -66
  451. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.mjs","sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["import { ref, getCurrentInstance, unref, watch, toRefs } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport {\n getKeysMap,\n getRowIdentity,\n getColumnById,\n getColumnByKey,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { Table, TableRefs } from '../table/defaults'\nimport type { StoreFilter } from './index'\n\nconst sortData = (data, states) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || typeof sortingColumn.sortable === 'string') {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = (columns) => {\n const result = []\n columns.forEach((column) => {\n if (column.children) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<(row: T, index: number) => boolean> = ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData = ref(null)\n const sortingColumn = ref(null)\n const sortProp = ref(null)\n const sortOrder = ref(null)\n const hoverRow = ref(null)\n\n watch(data, () => instance.state && scheduleLayout(false), {\n deep: true,\n })\n\n // 检查 rowKey 是否存在\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n // 更新列\n const updateColumns = () => {\n fixedColumns.value = _columns.value.filter(\n (column) => column.fixed === true || column.fixed === 'left'\n )\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n if (\n fixedColumns.value.length > 0 &&\n _columns.value[0] &&\n _columns.value[0].type === 'selection' &&\n !_columns.value[0].fixed\n ) {\n _columns.value[0].fixed = true\n fixedColumns.value.unshift(_columns.value[0])\n }\n\n const notFixedColumns = _columns.value.filter((column) => !column.fixed)\n originColumns.value = []\n .concat(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = []\n .concat(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n // 更新 DOM\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n // 选择\n const isSelected = (row) => {\n return selection.value.indexOf(row) > -1\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n if (oldSelection.length) {\n selection.value = []\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n const dataMap = getKeysMap(data.value, rowKey.value)\n for (const key in selectedMap) {\n if (hasOwn(selectedMap, key) && !dataMap[key]) {\n deleted.push(selectedMap[key].row)\n }\n }\n } else {\n deleted = selection.value.filter(\n (item) => data.value.indexOf(item) === -1\n )\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => deleted.indexOf(item) === -1\n )\n selection.value = newSelection\n instance.emit('selection-change', newSelection.slice())\n }\n }\n\n const toggleRowSelection = (\n row: T,\n selected = undefined,\n emitChange = true\n ) => {\n const changed = toggleRowStatus(selection.value, row, selected)\n if (changed) {\n const newSelection = (selection.value || []).slice()\n // 调用 API 修改选中值,不触发 select 事件\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (selectable.value) {\n if (\n selectable.value.call(null, row, rowIndex) &&\n toggleRowStatus(selection.value, row, value)\n ) {\n selectionChanged = true\n }\n } else {\n if (toggleRowStatus(selection.value, row, value)) {\n selectionChanged = true\n }\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n instance.emit('select-all', selection.value)\n }\n\n const updateSelectionByRowKey = () => {\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n data.value.forEach((row) => {\n const rowId = getRowIdentity(row, rowKey.value)\n const rowInfo = selectedMap[rowId]\n if (rowInfo) {\n selection.value[rowInfo.index] = row\n }\n })\n }\n\n const updateAllSelected = () => {\n // data 为 null 时,解构时的默认值会被忽略\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let selectedMap\n if (rowKey.value) {\n selectedMap = getKeysMap(selection.value, rowKey.value)\n }\n const isSelected = function (row) {\n if (selectedMap) {\n return !!selectedMap[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.indexOf(row) !== -1\n }\n }\n let isAllSelected_ = true\n let selectedCount = 0\n let childrenCount = 0\n for (let i = 0, j = (data.value || []).length; i < j; i++) {\n const keyProp = instance?.store?.states?.rowKey.value\n const rowIndex = i + childrenCount\n const item = data.value[i]\n const isRowSelectable =\n selectable.value && selectable.value.call(null, item, rowIndex)\n if (!isSelected(item)) {\n if (!selectable.value || isRowSelectable) {\n isAllSelected_ = false\n break\n }\n } else {\n selectedCount++\n }\n childrenCount += getChildrenCount(getRowIdentity(item, keyProp))\n }\n\n if (selectedCount === 0) isAllSelected_ = false\n isAllSelected.value = isAllSelected_\n }\n\n // gets the number of all child nodes by rowKey\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n // 过滤与排序\n const updateFilters = (columns, values) => {\n if (!Array.isArray(columns)) {\n columns = [columns]\n }\n const filters_ = {}\n columns.forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (column, prop, order) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value, {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // 根据 filters 与 sort 去过滤 data\n const execQuery = (ignore = undefined) => {\n if (!(ignore && ignore.filter)) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys) => {\n const { tableHeader, fixedTableHeader, rightFixedTableHeader } =\n instance.refs as TableRefs\n let panels = {}\n if (tableHeader) panels = Object.assign(panels, tableHeader.filterPanels)\n if (fixedTableHeader)\n panels = Object.assign(panels, fixedTableHeader.filterPanels)\n if (rightFixedTableHeader)\n panels = Object.assign(panels, rightFixedTableHeader.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (typeof columnKeys === 'string') {\n columnKeys = [columnKeys]\n }\n\n if (Array.isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // 适配层,expand-row-keys 在 Expand 与 TreeTable 中都有使用\n const setExpandRowKeysAdapter = (val: string[]) => {\n // 这里会触发额外的计算,但为了兼容性,暂时这么做\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // 展开行与 TreeTable 都要使用\n const toggleRowExpansionAdapter = (row: T, expanded: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null,\n updateSelectionByRowKey,\n updateAllSelected,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.mjs","sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["import { ref, getCurrentInstance, unref, watch, toRefs } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport {\n getKeysMap,\n getRowIdentity,\n getColumnById,\n getColumnByKey,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { Table, TableRefs } from '../table/defaults'\nimport type { StoreFilter } from './index'\n\nconst sortData = (data, states) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || typeof sortingColumn.sortable === 'string') {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = (columns) => {\n const result = []\n columns.forEach((column) => {\n if (column.children) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<(row: T, index: number) => boolean> = ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData = ref(null)\n const sortingColumn = ref(null)\n const sortProp = ref(null)\n const sortOrder = ref(null)\n const hoverRow = ref(null)\n\n watch(data, () => instance.state && scheduleLayout(false), {\n deep: true,\n })\n\n // 检查 rowKey 是否存在\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n // 更新列\n const updateColumns = () => {\n fixedColumns.value = _columns.value.filter(\n (column) => column.fixed === true || column.fixed === 'left'\n )\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n if (\n fixedColumns.value.length > 0 &&\n _columns.value[0] &&\n _columns.value[0].type === 'selection' &&\n !_columns.value[0].fixed\n ) {\n _columns.value[0].fixed = true\n fixedColumns.value.unshift(_columns.value[0])\n }\n\n const notFixedColumns = _columns.value.filter((column) => !column.fixed)\n originColumns.value = []\n .concat(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = []\n .concat(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n // 更新 DOM\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n // 选择\n const isSelected = (row) => {\n return selection.value.indexOf(row) > -1\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n if (oldSelection.length) {\n selection.value = []\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n const dataMap = getKeysMap(data.value, rowKey.value)\n for (const key in selectedMap) {\n if (hasOwn(selectedMap, key) && !dataMap[key]) {\n deleted.push(selectedMap[key].row)\n }\n }\n } else {\n deleted = selection.value.filter(\n (item) => data.value.indexOf(item) === -1\n )\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => deleted.indexOf(item) === -1\n )\n selection.value = newSelection\n instance.emit('selection-change', newSelection.slice())\n }\n }\n\n const toggleRowSelection = (\n row: T,\n selected = undefined,\n emitChange = true\n ) => {\n const changed = toggleRowStatus(selection.value, row, selected)\n if (changed) {\n const newSelection = (selection.value || []).slice()\n // 调用 API 修改选中值,不触发 select 事件\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (selectable.value) {\n if (\n selectable.value.call(null, row, rowIndex) &&\n toggleRowStatus(selection.value, row, value)\n ) {\n selectionChanged = true\n }\n } else {\n if (toggleRowStatus(selection.value, row, value)) {\n selectionChanged = true\n }\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n instance.emit('select-all', selection.value)\n }\n\n const updateSelectionByRowKey = () => {\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n data.value.forEach((row) => {\n const rowId = getRowIdentity(row, rowKey.value)\n const rowInfo = selectedMap[rowId]\n if (rowInfo) {\n selection.value[rowInfo.index] = row\n }\n })\n }\n\n const updateAllSelected = () => {\n // data 为 null 时,解构时的默认值会被忽略\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let selectedMap\n if (rowKey.value) {\n selectedMap = getKeysMap(selection.value, rowKey.value)\n }\n const isSelected = function (row) {\n if (selectedMap) {\n return !!selectedMap[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.indexOf(row) !== -1\n }\n }\n let isAllSelected_ = true\n let selectedCount = 0\n let childrenCount = 0\n for (let i = 0, j = (data.value || []).length; i < j; i++) {\n const keyProp = instance?.store?.states?.rowKey.value\n const rowIndex = i + childrenCount\n const item = data.value[i]\n const isRowSelectable =\n selectable.value && selectable.value.call(null, item, rowIndex)\n if (!isSelected(item)) {\n if (!selectable.value || isRowSelectable) {\n isAllSelected_ = false\n break\n }\n } else {\n selectedCount++\n }\n childrenCount += getChildrenCount(getRowIdentity(item, keyProp))\n }\n\n if (selectedCount === 0) isAllSelected_ = false\n isAllSelected.value = isAllSelected_\n }\n\n // gets the number of all child nodes by rowKey\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n // 过滤与排序\n const updateFilters = (columns, values) => {\n if (!Array.isArray(columns)) {\n columns = [columns]\n }\n const filters_ = {}\n columns.forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (column, prop, order) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value, {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // 根据 filters 与 sort 去过滤 data\n const execQuery = (ignore = undefined) => {\n if (!(ignore && ignore.filter)) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys) => {\n const { tableHeaderRef } = instance.refs as TableRefs\n if (!tableHeaderRef) return\n const panels = Object.assign({}, tableHeaderRef.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (typeof columnKeys === 'string') {\n columnKeys = [columnKeys]\n }\n\n if (Array.isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // 适配层,expand-row-keys 在 Expand 与 TreeTable 中都有使用\n const setExpandRowKeysAdapter = (val: string[]) => {\n // 这里会触发额外的计算,但为了兼容性,暂时这么做\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // 展开行与 TreeTable 都要使用\n const toggleRowExpansionAdapter = (row: T, expanded: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null,\n updateSelectionByRowKey,\n updateAllSelected,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":"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"}
@@ -213,6 +213,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
213
213
  "table-layout": _ctx.tableLayout
214
214
  }, null, 8, ["columns", "table-layout"]),
215
215
  createVNode(_component_table_header, {
216
+ ref: "tableHeaderRef",
216
217
  border: _ctx.border,
217
218
  "default-sort": _ctx.defaultSort,
218
219
  store: _ctx.store,
@@ -1 +1 @@
1
- {"version":3,"file":"table.mjs","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":["_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"table.mjs","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":["_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_createVNode","_createBlock"],"mappings":"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"}
@@ -149,8 +149,10 @@ const _sfc_main = defineComponent({
149
149
  userInput.value = null;
150
150
  emitInput(result);
151
151
  };
152
- const onShow = () => {
152
+ const onBeforeShow = () => {
153
153
  pickerActualVisible.value = true;
154
+ };
155
+ const onShow = () => {
154
156
  ctx.emit("visible-change", true);
155
157
  };
156
158
  const onHide = () => {
@@ -441,6 +443,7 @@ const _sfc_main = defineComponent({
441
443
  onPanelChange,
442
444
  focus,
443
445
  onShow,
446
+ onBeforeShow,
444
447
  onHide
445
448
  };
446
449
  }
@@ -469,6 +472,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
469
472
  "stop-popper-mouse-event": false,
470
473
  "hide-after": 0,
471
474
  persistent: "",
475
+ onBeforeShow: _ctx.onBeforeShow,
472
476
  onShow: _ctx.onShow,
473
477
  onHide: _ctx.onHide
474
478
  }), {
@@ -607,7 +611,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
607
611
  })
608
612
  ]),
609
613
  _: 3
610
- }, 16, ["visible", "popper-class", "popper-options", "onShow", "onHide"]);
614
+ }, 16, ["visible", "popper-class", "popper-options", "onBeforeShow", "onShow", "onHide"]);
611
615
  }
612
616
  var CommonPicker = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
613
617
 
@@ -1 +1 @@
1
- {"version":3,"file":"picker.mjs","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: 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 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":["_createElementVNode","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"picker.mjs","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":["_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;
@@ -320,7 +320,7 @@ declare const _default: import("vue").DefineComponent<{
320
320
  "onUpdate:visible": import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<(val: boolean) => void>, never, false, never, never>;
321
321
  }>> & {
322
322
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
323
- } & 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" | "onUpdate:visible" | "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">;
324
324
  $attrs: {
325
325
  [x: string]: unknown;
326
326
  };
@@ -504,6 +504,7 @@ declare const _default: import("vue").DefineComponent<{
504
504
  } | (string | {
505
505
  [x: string]: any;
506
506
  } | any)[])[])[])[])[])[])[])[])[])[])[];
507
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
507
508
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
508
509
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
509
510
  popperClass: string | {
@@ -534,7 +535,6 @@ declare const _default: import("vue").DefineComponent<{
534
535
  popperStyle: import("vue").StyleValue;
535
536
  referenceEl: HTMLElement;
536
537
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
537
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
538
538
  content: string;
539
539
  showAfter: number;
540
540
  hideAfter: number;
@@ -711,6 +711,7 @@ declare const _default: import("vue").DefineComponent<{
711
711
  onPanelChange: (value: any, mode: any, view: any) => void;
712
712
  focus: (focusStartInput?: boolean) => void;
713
713
  onShow: () => void;
714
+ onBeforeShow: () => void;
714
715
  onHide: () => void;
715
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<{
716
717
  id: {
@@ -253,6 +253,7 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
253
253
  } | (string | {
254
254
  [x: string]: any;
255
255
  } | any)[])[])[])[])[])[])[])[])[])[])[];
256
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
256
257
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
257
258
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
258
259
  popperClass: string | {
@@ -283,7 +284,6 @@ export declare const ElTooltip: import("element-plus/es/utils").SFCWithInstall<i
283
284
  popperStyle: import("vue").StyleValue;
284
285
  referenceEl: HTMLElement;
285
286
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
286
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
287
287
  content: string;
288
288
  showAfter: number;
289
289
  hideAfter: number;
@@ -156,6 +156,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
156
156
  "popper-class": _ctx.popperClass,
157
157
  "popper-style": [_ctx.popperStyle, _ctx.contentStyle],
158
158
  "reference-el": _ctx.referenceEl,
159
+ visible: _ctx.shouldShow,
159
160
  "z-index": _ctx.zIndex,
160
161
  onMouseenter: _ctx.onContentEnter,
161
162
  onMouseleave: _ctx.onContentLeave
@@ -173,7 +174,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
173
174
  }, 8, ["id"])
174
175
  ]),
175
176
  _: 3
176
- }, 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"])), [
177
+ }, 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"])), [
177
178
  [vShow, _ctx.shouldShow]
178
179
  ]) : createCommentVNode("v-if", true)
179
180
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"content.mjs","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 :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":[],"mappings":";;;;;;;;;;;;;;AAoDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,aAAa,IAAiD;AACpE,UAAM,mBAAmB,IAAI;AAC7B,UAAM,WAAW,IAAI;AACrB,UAAM,UAAU,IAAI;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAO,uBAAuB;AAClC,UAAM,gBAAgB,SAAS,MAAM;AAGnC,UAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,eAAO;AAAA;AAET,aAAO,MAAM;AAAA;AAGf,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM,iBAAiB,OAAO,MAAM;AAAA;AAG7C,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,WAAW,QAAQ,MAAM;AAAA;AAGxC,UAAM,eAAe,SAAS,MAAO;AAErC,UAAM;AAEN;AAEA;AACE;AAAA;AAGF,UAAM;AACJ;AAAuB;AAAO;AAGhC,UAAM,iBAAiB;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;;;;;;AA/KkB;AAAiB;;AAoCxB;AAlCJ,oBACO;AAAA,MACb,eAAc;AAAA;AACD;AACC;wBAEf;AA2BoB;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.mjs","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":[],"mappings":";;;;;;;;;;;;;;AAqDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,aAAa,IAAiD;AACpE,UAAM,mBAAmB,IAAI;AAC7B,UAAM,WAAW,IAAI;AACrB,UAAM,UAAU,IAAI;AACpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,OAAO,uBAAuB;AAClC,UAAM,gBAAgB,SAAS,MAAM;AAGnC,UAAI,QAAQ,IAAI,aAAa,QAAQ;AACnC,eAAO;AAAA;AAET,aAAO,MAAM;AAAA;AAGf,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM,iBAAiB,OAAO,MAAM;AAAA;AAG7C,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,MAAM,WAAW,QAAQ,MAAM;AAAA;AAGxC,UAAM,eAAe,SAAS,MAAO;AAErC,UAAM;AAEN;AAEA;AACE;AAAA;AAGF,UAAM;AACJ;AAAuB;AAAO;AAGhC,UAAM,iBAAiB;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 | {
@@ -623,6 +628,7 @@ declare const _default: import("vue").DefineComponent<{
623
628
  } | (string | {
624
629
  [x: string]: any;
625
630
  } | any)[])[])[])[])[])[])[])[])[])[])[];
631
+ visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
626
632
  enterable: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
627
633
  pure: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
628
634
  popperClass: string | {
@@ -653,7 +659,6 @@ declare const _default: import("vue").DefineComponent<{
653
659
  popperStyle: import("vue").StyleValue;
654
660
  referenceEl: HTMLElement;
655
661
  stopPopperMouseEvent: import("element-plus/es/utils").BuildPropType<BooleanConstructor, unknown, unknown>;
656
- visible: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<boolean | null>, unknown, unknown>;
657
662
  content: string;
658
663
  showAfter: number;
659
664
  hideAfter: number;