@element-plus/nightly 0.0.20250212 → 0.0.20250214

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 (528) hide show
  1. package/dist/index.full.js +13 -5
  2. package/dist/index.full.min.js +4 -4
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +4 -4
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +13 -5
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lt.js +1 -1
  140. package/dist/locale/lt.min.js +1 -1
  141. package/dist/locale/lt.min.mjs +1 -1
  142. package/dist/locale/lt.mjs +1 -1
  143. package/dist/locale/lv.js +1 -1
  144. package/dist/locale/lv.min.js +1 -1
  145. package/dist/locale/lv.min.mjs +1 -1
  146. package/dist/locale/lv.mjs +1 -1
  147. package/dist/locale/mg.js +1 -1
  148. package/dist/locale/mg.min.js +1 -1
  149. package/dist/locale/mg.min.mjs +1 -1
  150. package/dist/locale/mg.mjs +1 -1
  151. package/dist/locale/mn.js +1 -1
  152. package/dist/locale/mn.min.js +1 -1
  153. package/dist/locale/mn.min.mjs +1 -1
  154. package/dist/locale/mn.mjs +1 -1
  155. package/dist/locale/ms.js +1 -1
  156. package/dist/locale/ms.min.js +1 -1
  157. package/dist/locale/ms.min.mjs +1 -1
  158. package/dist/locale/ms.mjs +1 -1
  159. package/dist/locale/my.js +1 -1
  160. package/dist/locale/my.min.js +1 -1
  161. package/dist/locale/my.min.mjs +1 -1
  162. package/dist/locale/my.mjs +1 -1
  163. package/dist/locale/nb-no.js +1 -1
  164. package/dist/locale/nb-no.min.js +1 -1
  165. package/dist/locale/nb-no.min.mjs +1 -1
  166. package/dist/locale/nb-no.mjs +1 -1
  167. package/dist/locale/nl.js +1 -1
  168. package/dist/locale/nl.min.js +1 -1
  169. package/dist/locale/nl.min.mjs +1 -1
  170. package/dist/locale/nl.mjs +1 -1
  171. package/dist/locale/no.js +1 -1
  172. package/dist/locale/no.min.js +1 -1
  173. package/dist/locale/no.min.mjs +1 -1
  174. package/dist/locale/no.mjs +1 -1
  175. package/dist/locale/pa.js +1 -1
  176. package/dist/locale/pa.min.js +1 -1
  177. package/dist/locale/pa.min.mjs +1 -1
  178. package/dist/locale/pa.mjs +1 -1
  179. package/dist/locale/pl.js +1 -1
  180. package/dist/locale/pl.min.js +1 -1
  181. package/dist/locale/pl.min.mjs +1 -1
  182. package/dist/locale/pl.mjs +1 -1
  183. package/dist/locale/pt-br.js +1 -1
  184. package/dist/locale/pt-br.min.js +1 -1
  185. package/dist/locale/pt-br.min.mjs +1 -1
  186. package/dist/locale/pt-br.mjs +1 -1
  187. package/dist/locale/pt.js +1 -1
  188. package/dist/locale/pt.min.js +1 -1
  189. package/dist/locale/pt.min.mjs +1 -1
  190. package/dist/locale/pt.mjs +1 -1
  191. package/dist/locale/ro.js +1 -1
  192. package/dist/locale/ro.min.js +1 -1
  193. package/dist/locale/ro.min.mjs +1 -1
  194. package/dist/locale/ro.mjs +1 -1
  195. package/dist/locale/ru.js +1 -1
  196. package/dist/locale/ru.min.js +1 -1
  197. package/dist/locale/ru.min.mjs +1 -1
  198. package/dist/locale/ru.mjs +1 -1
  199. package/dist/locale/sk.js +1 -1
  200. package/dist/locale/sk.min.js +1 -1
  201. package/dist/locale/sk.min.mjs +1 -1
  202. package/dist/locale/sk.mjs +1 -1
  203. package/dist/locale/sl.js +1 -1
  204. package/dist/locale/sl.min.js +1 -1
  205. package/dist/locale/sl.min.mjs +1 -1
  206. package/dist/locale/sl.mjs +1 -1
  207. package/dist/locale/sr.js +1 -1
  208. package/dist/locale/sr.min.js +1 -1
  209. package/dist/locale/sr.min.mjs +1 -1
  210. package/dist/locale/sr.mjs +1 -1
  211. package/dist/locale/sv.js +1 -1
  212. package/dist/locale/sv.min.js +1 -1
  213. package/dist/locale/sv.min.mjs +1 -1
  214. package/dist/locale/sv.mjs +1 -1
  215. package/dist/locale/sw.js +1 -1
  216. package/dist/locale/sw.min.js +1 -1
  217. package/dist/locale/sw.min.mjs +1 -1
  218. package/dist/locale/sw.mjs +1 -1
  219. package/dist/locale/ta.js +1 -1
  220. package/dist/locale/ta.min.js +1 -1
  221. package/dist/locale/ta.min.mjs +1 -1
  222. package/dist/locale/ta.mjs +1 -1
  223. package/dist/locale/te.js +1 -1
  224. package/dist/locale/te.min.js +1 -1
  225. package/dist/locale/te.min.mjs +1 -1
  226. package/dist/locale/te.mjs +1 -1
  227. package/dist/locale/th.js +1 -1
  228. package/dist/locale/th.min.js +1 -1
  229. package/dist/locale/th.min.mjs +1 -1
  230. package/dist/locale/th.mjs +1 -1
  231. package/dist/locale/tk.js +1 -1
  232. package/dist/locale/tk.min.js +1 -1
  233. package/dist/locale/tk.min.mjs +1 -1
  234. package/dist/locale/tk.mjs +1 -1
  235. package/dist/locale/tr.js +1 -1
  236. package/dist/locale/tr.min.js +1 -1
  237. package/dist/locale/tr.min.mjs +1 -1
  238. package/dist/locale/tr.mjs +1 -1
  239. package/dist/locale/ug-cn.js +1 -1
  240. package/dist/locale/ug-cn.min.js +1 -1
  241. package/dist/locale/ug-cn.min.mjs +1 -1
  242. package/dist/locale/ug-cn.mjs +1 -1
  243. package/dist/locale/uk.js +1 -1
  244. package/dist/locale/uk.min.js +1 -1
  245. package/dist/locale/uk.min.mjs +1 -1
  246. package/dist/locale/uk.mjs +1 -1
  247. package/dist/locale/uz-uz.js +1 -1
  248. package/dist/locale/uz-uz.min.js +1 -1
  249. package/dist/locale/uz-uz.min.mjs +1 -1
  250. package/dist/locale/uz-uz.mjs +1 -1
  251. package/dist/locale/vi.js +1 -1
  252. package/dist/locale/vi.min.js +1 -1
  253. package/dist/locale/vi.min.mjs +1 -1
  254. package/dist/locale/vi.mjs +1 -1
  255. package/dist/locale/zh-cn.js +1 -1
  256. package/dist/locale/zh-cn.min.js +1 -1
  257. package/dist/locale/zh-cn.min.mjs +1 -1
  258. package/dist/locale/zh-cn.mjs +1 -1
  259. package/dist/locale/zh-hk.js +1 -1
  260. package/dist/locale/zh-hk.min.js +1 -1
  261. package/dist/locale/zh-hk.min.mjs +1 -1
  262. package/dist/locale/zh-hk.mjs +1 -1
  263. package/dist/locale/zh-mo.js +1 -1
  264. package/dist/locale/zh-mo.min.js +1 -1
  265. package/dist/locale/zh-mo.min.mjs +1 -1
  266. package/dist/locale/zh-mo.mjs +1 -1
  267. package/dist/locale/zh-tw.js +1 -1
  268. package/dist/locale/zh-tw.min.js +1 -1
  269. package/dist/locale/zh-tw.min.mjs +1 -1
  270. package/dist/locale/zh-tw.mjs +1 -1
  271. package/es/components/autocomplete/index.mjs +2 -2
  272. package/es/components/autocomplete/src/autocomplete.mjs +367 -79
  273. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  274. package/es/components/autocomplete/src/autocomplete2.mjs +79 -367
  275. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  276. package/es/components/backtop/index.mjs +2 -2
  277. package/es/components/backtop/src/backtop.mjs +53 -21
  278. package/es/components/backtop/src/backtop.mjs.map +1 -1
  279. package/es/components/backtop/src/backtop2.mjs +21 -53
  280. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  281. package/es/components/button/index.mjs +1 -1
  282. package/es/components/button/src/button-group.mjs +6 -29
  283. package/es/components/button/src/button-group.mjs.map +1 -1
  284. package/es/components/button/src/button-group2.mjs +29 -6
  285. package/es/components/button/src/button-group2.mjs.map +1 -1
  286. package/es/components/cascader/src/cascader.mjs +1 -1
  287. package/es/components/col/index.mjs +2 -2
  288. package/es/components/col/src/col.mjs +64 -43
  289. package/es/components/col/src/col.mjs.map +1 -1
  290. package/es/components/col/src/col2.mjs +43 -64
  291. package/es/components/col/src/col2.mjs.map +1 -1
  292. package/es/components/color-picker/src/color-picker.mjs +1 -1
  293. package/es/components/dropdown/src/dropdown.d.ts +1 -0
  294. package/es/components/dropdown/src/dropdown.mjs +6 -2
  295. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  296. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -0
  297. package/es/components/dropdown/src/dropdown2.mjs +2 -2
  298. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  299. package/es/components/form/index.mjs +2 -2
  300. package/es/components/form/src/form.mjs +153 -53
  301. package/es/components/form/src/form.mjs.map +1 -1
  302. package/es/components/form/src/form2.mjs +53 -153
  303. package/es/components/form/src/form2.mjs.map +1 -1
  304. package/es/components/index.mjs +18 -18
  305. package/es/components/message/index.mjs +1 -1
  306. package/es/components/message/src/message.mjs +91 -145
  307. package/es/components/message/src/message.mjs.map +1 -1
  308. package/es/components/message/src/message2.mjs +145 -91
  309. package/es/components/message/src/message2.mjs.map +1 -1
  310. package/es/components/message/src/method.mjs +2 -2
  311. package/es/components/pagination/src/components/prev.mjs +17 -35
  312. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  313. package/es/components/pagination/src/components/prev2.mjs +35 -17
  314. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  315. package/es/components/pagination/src/pagination.mjs +1 -1
  316. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  317. package/es/components/popover/src/popover.mjs +1 -1
  318. package/es/components/popper/index.mjs +2 -2
  319. package/es/components/popper/src/arrow.mjs +7 -36
  320. package/es/components/popper/src/arrow.mjs.map +1 -1
  321. package/es/components/popper/src/arrow2.mjs +36 -7
  322. package/es/components/popper/src/arrow2.mjs.map +1 -1
  323. package/es/components/radio/index.mjs +2 -2
  324. package/es/components/radio/src/radio-button.mjs +1 -1
  325. package/es/components/radio/src/radio-group.mjs +1 -1
  326. package/es/components/radio/src/radio.mjs +32 -73
  327. package/es/components/radio/src/radio.mjs.map +1 -1
  328. package/es/components/radio/src/radio2.mjs +73 -32
  329. package/es/components/radio/src/radio2.mjs.map +1 -1
  330. package/es/components/rate/index.mjs +2 -2
  331. package/es/components/rate/src/rate.mjs +258 -83
  332. package/es/components/rate/src/rate.mjs.map +1 -1
  333. package/es/components/rate/src/rate2.mjs +83 -258
  334. package/es/components/rate/src/rate2.mjs.map +1 -1
  335. package/es/components/scrollbar/index.mjs +1 -1
  336. package/es/components/scrollbar/src/bar2.mjs +1 -1
  337. package/es/components/scrollbar/src/thumb.mjs +129 -11
  338. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  339. package/es/components/scrollbar/src/thumb2.mjs +11 -129
  340. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  341. package/es/components/select/src/select.mjs +1 -1
  342. package/es/components/select-v2/src/defaults.mjs +1 -1
  343. package/es/components/skeleton/index.mjs +4 -4
  344. package/es/components/skeleton/src/skeleton-item.mjs +17 -22
  345. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  346. package/es/components/skeleton/src/skeleton-item2.mjs +22 -17
  347. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  348. package/es/components/skeleton/src/skeleton.mjs +48 -21
  349. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  350. package/es/components/skeleton/src/skeleton2.mjs +21 -48
  351. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  352. package/es/components/statistic/index.mjs +2 -2
  353. package/es/components/statistic/src/statistic.mjs +69 -25
  354. package/es/components/statistic/src/statistic.mjs.map +1 -1
  355. package/es/components/statistic/src/statistic2.mjs +25 -69
  356. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  357. package/es/components/table/src/table/style-helper.mjs +2 -0
  358. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  359. package/es/components/time-select/index.mjs +2 -2
  360. package/es/components/time-select/src/time-select.mjs +54 -131
  361. package/es/components/time-select/src/time-select.mjs.map +1 -1
  362. package/es/components/time-select/src/time-select2.mjs +131 -54
  363. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  364. package/es/components/tooltip/index.mjs +3 -3
  365. package/es/components/tooltip/src/content.mjs +192 -28
  366. package/es/components/tooltip/src/content.mjs.map +1 -1
  367. package/es/components/tooltip/src/content2.mjs +28 -192
  368. package/es/components/tooltip/src/content2.mjs.map +1 -1
  369. package/es/components/tooltip/src/tooltip.mjs +166 -30
  370. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  371. package/es/components/tooltip/src/tooltip2.mjs +30 -166
  372. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  373. package/es/components/tooltip-v2/index.mjs +1 -1
  374. package/es/components/tooltip-v2/src/content.mjs +48 -110
  375. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  376. package/es/components/tooltip-v2/src/content2.mjs +110 -48
  377. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  378. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  379. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  380. package/es/components/tour/index.mjs +2 -2
  381. package/es/components/tour/src/step.mjs +44 -168
  382. package/es/components/tour/src/step.mjs.map +1 -1
  383. package/es/components/tour/src/step2.mjs +168 -44
  384. package/es/components/tour/src/step2.mjs.map +1 -1
  385. package/es/components/tree-select/src/select.mjs +2 -0
  386. package/es/components/tree-select/src/select.mjs.map +1 -1
  387. package/es/components/watermark/index.mjs +2 -2
  388. package/es/components/watermark/src/watermark.mjs +210 -27
  389. package/es/components/watermark/src/watermark.mjs.map +1 -1
  390. package/es/components/watermark/src/watermark2.mjs +27 -210
  391. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  392. package/es/directives/click-outside/index.mjs +1 -1
  393. package/es/hooks/use-focus-controller/index.mjs +1 -1
  394. package/es/hooks/use-lockscreen/index.mjs +1 -1
  395. package/es/index.mjs +18 -18
  396. package/es/version.d.ts +1 -1
  397. package/es/version.mjs +1 -1
  398. package/es/version.mjs.map +1 -1
  399. package/lib/components/autocomplete/index.js +2 -2
  400. package/lib/components/autocomplete/src/autocomplete.js +366 -79
  401. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  402. package/lib/components/autocomplete/src/autocomplete2.js +79 -366
  403. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  404. package/lib/components/backtop/index.js +2 -2
  405. package/lib/components/backtop/src/backtop.js +53 -22
  406. package/lib/components/backtop/src/backtop.js.map +1 -1
  407. package/lib/components/backtop/src/backtop2.js +22 -53
  408. package/lib/components/backtop/src/backtop2.js.map +1 -1
  409. package/lib/components/button/index.js +1 -1
  410. package/lib/components/button/src/button-group.js +6 -29
  411. package/lib/components/button/src/button-group.js.map +1 -1
  412. package/lib/components/button/src/button-group2.js +29 -6
  413. package/lib/components/button/src/button-group2.js.map +1 -1
  414. package/lib/components/cascader/src/cascader.js +1 -1
  415. package/lib/components/col/index.js +2 -2
  416. package/lib/components/col/src/col.js +64 -43
  417. package/lib/components/col/src/col.js.map +1 -1
  418. package/lib/components/col/src/col2.js +43 -64
  419. package/lib/components/col/src/col2.js.map +1 -1
  420. package/lib/components/color-picker/src/color-picker.js +1 -1
  421. package/lib/components/dropdown/src/dropdown.d.ts +1 -0
  422. package/lib/components/dropdown/src/dropdown.js +6 -2
  423. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  424. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -0
  425. package/lib/components/dropdown/src/dropdown2.js +2 -2
  426. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  427. package/lib/components/form/index.js +2 -2
  428. package/lib/components/form/src/form.js +152 -54
  429. package/lib/components/form/src/form.js.map +1 -1
  430. package/lib/components/form/src/form2.js +54 -152
  431. package/lib/components/form/src/form2.js.map +1 -1
  432. package/lib/components/index.js +18 -18
  433. package/lib/components/message/index.js +1 -1
  434. package/lib/components/message/src/message.js +93 -144
  435. package/lib/components/message/src/message.js.map +1 -1
  436. package/lib/components/message/src/message2.js +144 -93
  437. package/lib/components/message/src/message2.js.map +1 -1
  438. package/lib/components/message/src/method.js +2 -2
  439. package/lib/components/pagination/src/components/prev.js +18 -35
  440. package/lib/components/pagination/src/components/prev.js.map +1 -1
  441. package/lib/components/pagination/src/components/prev2.js +35 -18
  442. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  443. package/lib/components/pagination/src/pagination.js +1 -1
  444. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  445. package/lib/components/popover/src/popover.js +1 -1
  446. package/lib/components/popper/index.js +2 -2
  447. package/lib/components/popper/src/arrow.js +8 -36
  448. package/lib/components/popper/src/arrow.js.map +1 -1
  449. package/lib/components/popper/src/arrow2.js +36 -8
  450. package/lib/components/popper/src/arrow2.js.map +1 -1
  451. package/lib/components/radio/index.js +2 -2
  452. package/lib/components/radio/src/radio-button.js +1 -1
  453. package/lib/components/radio/src/radio-group.js +1 -1
  454. package/lib/components/radio/src/radio.js +34 -73
  455. package/lib/components/radio/src/radio.js.map +1 -1
  456. package/lib/components/radio/src/radio2.js +73 -34
  457. package/lib/components/radio/src/radio2.js.map +1 -1
  458. package/lib/components/rate/index.js +2 -2
  459. package/lib/components/rate/src/rate.js +257 -83
  460. package/lib/components/rate/src/rate.js.map +1 -1
  461. package/lib/components/rate/src/rate2.js +83 -257
  462. package/lib/components/rate/src/rate2.js.map +1 -1
  463. package/lib/components/scrollbar/index.js +1 -1
  464. package/lib/components/scrollbar/src/bar2.js +1 -1
  465. package/lib/components/scrollbar/src/thumb.js +129 -11
  466. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  467. package/lib/components/scrollbar/src/thumb2.js +11 -129
  468. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  469. package/lib/components/select/src/select.js +1 -1
  470. package/lib/components/select-v2/src/defaults.js +1 -1
  471. package/lib/components/skeleton/index.js +4 -4
  472. package/lib/components/skeleton/src/skeleton-item.js +17 -22
  473. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  474. package/lib/components/skeleton/src/skeleton-item2.js +22 -17
  475. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  476. package/lib/components/skeleton/src/skeleton.js +48 -21
  477. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  478. package/lib/components/skeleton/src/skeleton2.js +21 -48
  479. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  480. package/lib/components/statistic/index.js +2 -2
  481. package/lib/components/statistic/src/statistic.js +69 -25
  482. package/lib/components/statistic/src/statistic.js.map +1 -1
  483. package/lib/components/statistic/src/statistic2.js +25 -69
  484. package/lib/components/statistic/src/statistic2.js.map +1 -1
  485. package/lib/components/table/src/table/style-helper.js +2 -0
  486. package/lib/components/table/src/table/style-helper.js.map +1 -1
  487. package/lib/components/time-select/index.js +2 -2
  488. package/lib/components/time-select/src/time-select.js +54 -136
  489. package/lib/components/time-select/src/time-select.js.map +1 -1
  490. package/lib/components/time-select/src/time-select2.js +136 -54
  491. package/lib/components/time-select/src/time-select2.js.map +1 -1
  492. package/lib/components/tooltip/index.js +3 -3
  493. package/lib/components/tooltip/src/content.js +192 -28
  494. package/lib/components/tooltip/src/content.js.map +1 -1
  495. package/lib/components/tooltip/src/content2.js +28 -192
  496. package/lib/components/tooltip/src/content2.js.map +1 -1
  497. package/lib/components/tooltip/src/tooltip.js +164 -32
  498. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  499. package/lib/components/tooltip/src/tooltip2.js +32 -164
  500. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  501. package/lib/components/tooltip-v2/index.js +1 -1
  502. package/lib/components/tooltip-v2/src/content.js +48 -110
  503. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  504. package/lib/components/tooltip-v2/src/content2.js +110 -48
  505. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  506. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  507. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  508. package/lib/components/tour/index.js +2 -2
  509. package/lib/components/tour/src/step.js +44 -167
  510. package/lib/components/tour/src/step.js.map +1 -1
  511. package/lib/components/tour/src/step2.js +167 -44
  512. package/lib/components/tour/src/step2.js.map +1 -1
  513. package/lib/components/tree-select/src/select.js +2 -0
  514. package/lib/components/tree-select/src/select.js.map +1 -1
  515. package/lib/components/watermark/index.js +2 -2
  516. package/lib/components/watermark/src/watermark.js +210 -27
  517. package/lib/components/watermark/src/watermark.js.map +1 -1
  518. package/lib/components/watermark/src/watermark2.js +27 -210
  519. package/lib/components/watermark/src/watermark2.js.map +1 -1
  520. package/lib/directives/click-outside/index.js +1 -1
  521. package/lib/hooks/use-focus-controller/index.js +1 -1
  522. package/lib/hooks/use-lockscreen/index.js +1 -1
  523. package/lib/index.js +18 -18
  524. package/lib/version.d.ts +1 -1
  525. package/lib/version.js +1 -1
  526. package/lib/version.js.map +1 -1
  527. package/package.json +2 -2
  528. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"col2.js","sources":["../../../../../../packages/components/col/src/col.vue"],"sourcesContent":["<template>\n <component :is=\"tag\" :class=\"colKls\" :style=\"style\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { rowContextKey } from '@element-plus/components/row'\nimport { colProps } from './col'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElCol',\n})\n\nconst props = defineProps(colProps)\n\nconst { gutter } = inject(rowContextKey, { gutter: computed(() => 0) })\nconst ns = useNamespace('col')\n\nconst style = computed(() => {\n const styles: CSSProperties = {}\n if (gutter.value) {\n styles.paddingLeft = styles.paddingRight = `${gutter.value / 2}px`\n }\n return styles\n})\n\nconst colKls = computed(() => {\n const classes: string[] = []\n const pos = ['span', 'offset', 'pull', 'push'] as const\n\n pos.forEach((prop) => {\n const size = props[prop]\n if (isNumber(size)) {\n if (prop === 'span') classes.push(ns.b(`${props[prop]}`))\n else if (size > 0) classes.push(ns.b(`${prop}-${props[prop]}`))\n }\n })\n\n const sizes = ['xs', 'sm', 'md', 'lg', 'xl'] as const\n sizes.forEach((size) => {\n if (isNumber(props[size])) {\n classes.push(ns.b(`${size}-${props[size]}`))\n } else if (isObject(props[size])) {\n Object.entries(props[size]).forEach(([prop, sizeProp]) => {\n classes.push(\n prop !== 'span'\n ? ns.b(`${size}-${prop}-${sizeProp}`)\n : ns.b(`${size}-${sizeProp}`)\n )\n })\n }\n })\n\n // this is for the fix\n if (gutter.value) {\n classes.push(ns.is('guttered'))\n }\n return [ns.b(), classes]\n})\n</script>\n"],"names":["inject","rowContextKey","computed","useNamespace","isNumber","isObject"],"mappings":"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"}
1
+ {"version":3,"file":"col2.js","sources":["../../../../../../packages/components/col/src/col.ts"],"sourcesContent":["import { buildProps, definePropType, mutable } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Col from './col.vue'\n\nexport type ColSizeObject = {\n span?: number\n offset?: number\n pull?: number\n push?: number\n}\nexport type ColSize = number | ColSizeObject\n\nexport const colProps = buildProps({\n /**\n * @description custom element tag\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description number of column the grid spans\n */\n span: {\n type: Number,\n default: 24,\n },\n /**\n * @description number of spacing on the left side of the grid\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description number of columns that grid moves to the left\n */\n pull: {\n type: Number,\n default: 0,\n },\n /**\n * @description number of columns that grid moves to the right\n */\n push: {\n type: Number,\n default: 0,\n },\n /**\n * @description `<768px` Responsive columns or column props object\n */\n xs: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥768px` Responsive columns or column props object\n */\n sm: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥992px` Responsive columns or column props object\n */\n md: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥1200px` Responsive columns or column props object\n */\n lg: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥1920px` Responsive columns or column props object\n */\n xl: {\n type: definePropType<ColSize>([Number, Object]),\n default: () => mutable({} as const),\n },\n} as const)\nexport type ColProps = ExtractPropTypes<typeof colProps>\nexport type ColInstance = InstanceType<typeof Col>\n"],"names":["buildProps","definePropType","mutable"],"mappings":";;;;;;;AACY,MAAC,QAAQ,GAAGA,kBAAU,CAAC;AACnC,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAED,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAED,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAED,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAED,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,MAAMC,kBAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC;;;;"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var lodashUnified = require('lodash-unified');
6
6
  var runtime = require('../../../utils/vue/props/runtime.js');
7
7
  var index = require('../../../hooks/use-size/index.js');
8
- var content = require('../../tooltip/src/content.js');
8
+ var content = require('../../tooltip/src/content2.js');
9
9
  var index$1 = require('../../../hooks/use-aria/index.js');
10
10
  var event = require('../../../constants/event.js');
11
11
  var shared = require('@vue/shared');
@@ -51,6 +51,7 @@ export declare const dropdownProps: {
51
51
  __epPropKey: true;
52
52
  };
53
53
  readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
54
+ readonly persistent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
54
55
  };
55
56
  export declare const dropdownItemProps: {
56
57
  readonly command: import("@element-plus/nightly/es/utils").EpPropFinalized<readonly [ObjectConstructor, StringConstructor, NumberConstructor], unknown, unknown, () => {}, boolean>;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var trigger = require('../../tooltip/src/trigger.js');
6
6
  var runtime = require('../../../utils/vue/props/runtime.js');
7
7
  var aria = require('../../../constants/aria.js');
8
- var content = require('../../tooltip/src/content.js');
8
+ var content = require('../../tooltip/src/content2.js');
9
9
  var icon = require('../../../utils/vue/icon.js');
10
10
  var collection = require('../../collection/src/collection.js');
11
11
 
@@ -77,7 +77,11 @@ const dropdownProps = runtime.buildProps({
77
77
  buttonProps: {
78
78
  type: runtime.definePropType(Object)
79
79
  },
80
- teleported: content.useTooltipContentProps.teleported
80
+ teleported: content.useTooltipContentProps.teleported,
81
+ persistent: {
82
+ type: Boolean,
83
+ default: true
84
+ }
81
85
  });
82
86
  const dropdownItemProps = runtime.buildProps({
83
87
  command: {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.ts"],"sourcesContent":["// @ts-nocheck\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport {\n useTooltipContentProps,\n useTooltipTriggerProps,\n} from '@element-plus/components/tooltip'\n\nimport type { Options } from '@popperjs/core'\nimport type { ButtonProps, ButtonType } from '@element-plus/components/button'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { ComponentInternalInstance, ComputedRef } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\nexport interface IElDropdownInstance {\n instance?: ComponentInternalInstance\n dropdownSize?: ComputedRef<string>\n handleClick?: () => void\n commandHandler?: (...arg) => void\n show?: () => void\n hide?: () => void\n trigger?: ComputedRef<string>\n hideOnClick?: ComputedRef<boolean>\n triggerElm?: ComputedRef<Nullable<HTMLButtonElement>>\n}\n\nexport const dropdownProps = buildProps({\n /**\n * @description how to trigger\n */\n trigger: useTooltipTriggerProps.trigger,\n triggerKeys: {\n type: definePropType<string[]>(Array),\n default: () => [\n EVENT_CODE.enter,\n EVENT_CODE.numpadEnter,\n EVENT_CODE.space,\n EVENT_CODE.down,\n ],\n },\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n /**\n * @description menu button type, refer to `Button` Component, only works when `split-button` is true\n */\n type: {\n type: definePropType<ButtonType>(String),\n },\n /**\n * @description placement of pop menu\n */\n placement: {\n type: definePropType<Placement>(String),\n default: 'bottom',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n id: String,\n /**\n * @description menu size, also works on the split button\n */\n size: {\n type: String,\n default: '',\n },\n /**\n * @description whether a button group is displayed\n */\n splitButton: Boolean,\n /**\n * @description whether to hide menu after clicking menu-item\n */\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n loop: {\n type: Boolean,\n default: true,\n },\n /**\n * @description delay time before show a dropdown (only works when trigger is `hover`)\n */\n showTimeout: {\n type: Number,\n default: 150,\n },\n /**\n * @description delay time before hide a dropdown (only works when trigger is `hover`)\n */\n hideTimeout: {\n type: Number,\n default: 150,\n },\n /**\n * @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Dropdown\n */\n tabindex: {\n type: definePropType<number | string>([Number, String]),\n default: 0,\n },\n /**\n * @description the max height of menu\n */\n maxHeight: {\n type: definePropType<number | string>([Number, String]),\n default: '',\n },\n /**\n * @description custom class name for Dropdown's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description the ARIA role attribute for the dropdown menu. Depending on the use case, you may want to change this to 'navigation'\n */\n role: {\n type: String,\n default: 'menu',\n },\n buttonProps: {\n type: definePropType<ButtonProps>(Object),\n },\n /**\n * @description whether the dropdown popup is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n} as const)\n\nexport const dropdownItemProps = buildProps({\n /**\n * @description a command to be dispatched to Dropdown's `command` callback\n */\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n /**\n * @description whether the item is disabled\n */\n disabled: Boolean,\n /**\n * @description whether a divider is displayed\n */\n divided: Boolean,\n textValue: String,\n /**\n * @description custom icon\n */\n icon: {\n type: iconPropType,\n },\n} as const)\n\nexport const dropdownMenuProps = buildProps({\n onKeydown: { type: definePropType<(e: KeyboardEvent) => void>(Function) },\n})\n\nexport const FIRST_KEYS = [\n EVENT_CODE.down,\n EVENT_CODE.pageDown,\n EVENT_CODE.home,\n]\n\nexport const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end]\n\nexport const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS]\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('Dropdown')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n}\n"],"names":["buildProps","useTooltipTriggerProps","definePropType","EVENT_CODE","useTooltipContentProps","iconPropType","createCollectionWithScope"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.ts"],"sourcesContent":["// @ts-nocheck\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport {\n useTooltipContentProps,\n useTooltipTriggerProps,\n} from '@element-plus/components/tooltip'\n\nimport type { Options } from '@popperjs/core'\nimport type { ButtonProps, ButtonType } from '@element-plus/components/button'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { ComponentInternalInstance, ComputedRef } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\nexport interface IElDropdownInstance {\n instance?: ComponentInternalInstance\n dropdownSize?: ComputedRef<string>\n handleClick?: () => void\n commandHandler?: (...arg) => void\n show?: () => void\n hide?: () => void\n trigger?: ComputedRef<string>\n hideOnClick?: ComputedRef<boolean>\n triggerElm?: ComputedRef<Nullable<HTMLButtonElement>>\n}\n\nexport const dropdownProps = buildProps({\n /**\n * @description how to trigger\n */\n trigger: useTooltipTriggerProps.trigger,\n triggerKeys: {\n type: definePropType<string[]>(Array),\n default: () => [\n EVENT_CODE.enter,\n EVENT_CODE.numpadEnter,\n EVENT_CODE.space,\n EVENT_CODE.down,\n ],\n },\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n /**\n * @description menu button type, refer to `Button` Component, only works when `split-button` is true\n */\n type: {\n type: definePropType<ButtonType>(String),\n },\n /**\n * @description placement of pop menu\n */\n placement: {\n type: definePropType<Placement>(String),\n default: 'bottom',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n id: String,\n /**\n * @description menu size, also works on the split button\n */\n size: {\n type: String,\n default: '',\n },\n /**\n * @description whether a button group is displayed\n */\n splitButton: Boolean,\n /**\n * @description whether to hide menu after clicking menu-item\n */\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n loop: {\n type: Boolean,\n default: true,\n },\n /**\n * @description delay time before show a dropdown (only works when trigger is `hover`)\n */\n showTimeout: {\n type: Number,\n default: 150,\n },\n /**\n * @description delay time before hide a dropdown (only works when trigger is `hover`)\n */\n hideTimeout: {\n type: Number,\n default: 150,\n },\n /**\n * @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Dropdown\n */\n tabindex: {\n type: definePropType<number | string>([Number, String]),\n default: 0,\n },\n /**\n * @description the max height of menu\n */\n maxHeight: {\n type: definePropType<number | string>([Number, String]),\n default: '',\n },\n /**\n * @description custom class name for Dropdown's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description the ARIA role attribute for the dropdown menu. Depending on the use case, you may want to change this to 'navigation'\n */\n role: {\n type: String,\n default: 'menu',\n },\n buttonProps: {\n type: definePropType<ButtonProps>(Object),\n },\n /**\n * @description whether the dropdown popup is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when dropdown inactive and `persistent` is `false` , dropdown menu will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport const dropdownItemProps = buildProps({\n /**\n * @description a command to be dispatched to Dropdown's `command` callback\n */\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n /**\n * @description whether the item is disabled\n */\n disabled: Boolean,\n /**\n * @description whether a divider is displayed\n */\n divided: Boolean,\n textValue: String,\n /**\n * @description custom icon\n */\n icon: {\n type: iconPropType,\n },\n} as const)\n\nexport const dropdownMenuProps = buildProps({\n onKeydown: { type: definePropType<(e: KeyboardEvent) => void>(Function) },\n})\n\nexport const FIRST_KEYS = [\n EVENT_CODE.down,\n EVENT_CODE.pageDown,\n EVENT_CODE.home,\n]\n\nexport const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end]\n\nexport const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS]\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('Dropdown')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n}\n"],"names":["buildProps","useTooltipTriggerProps","definePropType","EVENT_CODE","useTooltipContentProps","iconPropType","createCollectionWithScope"],"mappings":"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"}
@@ -36,6 +36,7 @@ declare const _default: import("vue").DefineComponent<{
36
36
  __epPropKey: true;
37
37
  };
38
38
  readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
39
+ readonly persistent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
39
40
  }, {
40
41
  t: import("@element-plus/nightly/es/hooks").Translator;
41
42
  ns: {
@@ -1196,6 +1197,7 @@ declare const _default: import("vue").DefineComponent<{
1196
1197
  __epPropKey: true;
1197
1198
  };
1198
1199
  readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
1200
+ readonly persistent: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
1199
1201
  }>> & {
1200
1202
  onClick?: ((...args: any[]) => any) | undefined;
1201
1203
  "onVisible-change"?: ((...args: any[]) => any) | undefined;
@@ -1214,6 +1216,7 @@ declare const _default: import("vue").DefineComponent<{
1214
1216
  readonly popperClass: string;
1215
1217
  readonly triggerKeys: string[];
1216
1218
  readonly teleported: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1219
+ readonly persistent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1217
1220
  readonly hideOnClick: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
1218
1221
  readonly showTimeout: number;
1219
1222
  readonly hideTimeout: number;
@@ -206,7 +206,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
206
206
  transition: `${_ctx.ns.namespace.value}-zoom-in-top`,
207
207
  teleported: _ctx.teleported,
208
208
  pure: "",
209
- persistent: "",
209
+ persistent: _ctx.persistent,
210
210
  onBeforeShow: _ctx.handleBeforeShowTooltip,
211
211
  onShow: _ctx.handleShowTooltip,
212
212
  onBeforeHide: _ctx.handleBeforeHideTooltip
@@ -258,7 +258,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
258
258
  }, 8, ["id", "tabindex"])
259
259
  ])
260
260
  } : void 0
261
- ]), 1032, ["role", "effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "trigger-keys", "trigger-target-el", "show-after", "virtual-ref", "virtual-triggering", "disabled", "transition", "teleported", "onBeforeShow", "onShow", "onBeforeHide"]),
261
+ ]), 1032, ["role", "effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "trigger-keys", "trigger-target-el", "show-after", "virtual-ref", "virtual-triggering", "disabled", "transition", "teleported", "persistent", "onBeforeShow", "onShow", "onBeforeHide"]),
262
262
  _ctx.splitButton ? (vue.openBlock(), vue.createBlock(_component_el_button_group, { key: 0 }, {
263
263
  default: vue.withCtx(() => [
264
264
  vue.createVNode(_component_el_button, vue.mergeProps({ ref: "referenceElementRef" }, _ctx.buttonProps, {
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n persistent\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useFormSize } from '@element-plus/components/form'\nimport { addUnit, ensureArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useId, useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n const { t } = useLocale()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n const trigger = computed(() => ensureArray(props.trigger))\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => props.id || defaultTriggerId)\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, trigger],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n trigger.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useFormSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n trigger.value.includes('hover') && contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onFocusAfterTrapped = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElOnlyChild","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","useLocale","ref","computed","addUnit","ensureArray","useId","watch","onBeforeUnmount","useFormSize","unref","provide","DROPDOWN_INJECTION_KEY","toRef","_resolveComponent","_createSlots","_withCtx","_createVNode","_renderSlot","_openBlock","_createBlock","_mergeProps","_normalizeClass","_createCommentVNode","_export_sfc"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown2.js","sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n :persistent=\"persistent\"\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useFormSize } from '@element-plus/components/form'\nimport { addUnit, ensureArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useId, useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n const { t } = useLocale()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n const trigger = computed(() => ensureArray(props.trigger))\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => props.id || defaultTriggerId)\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, trigger],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n trigger.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useFormSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n trigger.value.includes('hover') && contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onFocusAfterTrapped = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"names":["ElButton","defineComponent","ElScrollbar","ElDropdownCollection","ElTooltip","ElRovingFocusGroup","ElOnlyChild","ElIcon","ArrowDown","dropdownProps","getCurrentInstance","useNamespace","useLocale","ref","computed","addUnit","ensureArray","useId","watch","onBeforeUnmount","useFormSize","unref","provide","DROPDOWN_INJECTION_KEY","toRef","_resolveComponent","_createSlots","_withCtx","_createVNode","_renderSlot","_openBlock","_createBlock","_mergeProps","_normalizeClass","_createCommentVNode","_export_sfc"],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var form$1 = require('./src/form2.js');
5
+ var form$1 = require('./src/form.js');
6
6
  var formItem$1 = require('./src/form-item2.js');
7
- var form = require('./src/form.js');
7
+ var form = require('./src/form2.js');
8
8
  var formItem = require('./src/form-item.js');
9
9
  var constants = require('./src/constants.js');
10
10
  var install = require('../../utils/vue/install.js');
@@ -2,64 +2,162 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var size = require('../../../constants/size.js');
5
+ var vue = require('vue');
6
+ var constants = require('./constants.js');
7
+ var form = require('./form2.js');
8
+ var utils = require('./utils.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var useFormCommonProps = require('./hooks/use-form-common-props.js');
11
+ var index = require('../../../hooks/use-namespace/index.js');
12
+ var error = require('../../../utils/error.js');
7
13
  var shared = require('@vue/shared');
8
- var types = require('../../../utils/types.js');
9
14
 
10
- const formMetaProps = runtime.buildProps({
11
- size: {
12
- type: String,
13
- values: size.componentSizes
14
- },
15
- disabled: Boolean
15
+ const COMPONENT_NAME = "ElForm";
16
+ const __default__ = vue.defineComponent({
17
+ name: COMPONENT_NAME
16
18
  });
17
- const formProps = runtime.buildProps({
18
- ...formMetaProps,
19
- model: Object,
20
- rules: {
21
- type: runtime.definePropType(Object)
22
- },
23
- labelPosition: {
24
- type: String,
25
- values: ["left", "right", "top"],
26
- default: "right"
27
- },
28
- requireAsteriskPosition: {
29
- type: String,
30
- values: ["left", "right"],
31
- default: "left"
32
- },
33
- labelWidth: {
34
- type: [String, Number],
35
- default: ""
36
- },
37
- labelSuffix: {
38
- type: String,
39
- default: ""
40
- },
41
- inline: Boolean,
42
- inlineMessage: Boolean,
43
- statusIcon: Boolean,
44
- showMessage: {
45
- type: Boolean,
46
- default: true
47
- },
48
- validateOnRuleChange: {
49
- type: Boolean,
50
- default: true
51
- },
52
- hideRequiredAsterisk: Boolean,
53
- scrollToError: Boolean,
54
- scrollIntoViewOptions: {
55
- type: [Object, Boolean]
19
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
+ ...__default__,
21
+ props: form.formProps,
22
+ emits: form.formEmits,
23
+ setup(__props, { expose, emit }) {
24
+ const props = __props;
25
+ const fields = [];
26
+ const formSize = useFormCommonProps.useFormSize();
27
+ const ns = index.useNamespace("form");
28
+ const formClasses = vue.computed(() => {
29
+ const { labelPosition, inline } = props;
30
+ return [
31
+ ns.b(),
32
+ ns.m(formSize.value || "default"),
33
+ {
34
+ [ns.m(`label-${labelPosition}`)]: labelPosition,
35
+ [ns.m("inline")]: inline
36
+ }
37
+ ];
38
+ });
39
+ const getField = (prop) => {
40
+ return fields.find((field) => field.prop === prop);
41
+ };
42
+ const addField = (field) => {
43
+ fields.push(field);
44
+ };
45
+ const removeField = (field) => {
46
+ if (field.prop) {
47
+ fields.splice(fields.indexOf(field), 1);
48
+ }
49
+ };
50
+ const resetFields = (properties = []) => {
51
+ if (!props.model) {
52
+ error.debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
53
+ return;
54
+ }
55
+ utils.filterFields(fields, properties).forEach((field) => field.resetField());
56
+ };
57
+ const clearValidate = (props2 = []) => {
58
+ utils.filterFields(fields, props2).forEach((field) => field.clearValidate());
59
+ };
60
+ const isValidatable = vue.computed(() => {
61
+ const hasModel = !!props.model;
62
+ if (!hasModel) {
63
+ error.debugWarn(COMPONENT_NAME, "model is required for validate to work.");
64
+ }
65
+ return hasModel;
66
+ });
67
+ const obtainValidateFields = (props2) => {
68
+ if (fields.length === 0)
69
+ return [];
70
+ const filteredFields = utils.filterFields(fields, props2);
71
+ if (!filteredFields.length) {
72
+ error.debugWarn(COMPONENT_NAME, "please pass correct props!");
73
+ return [];
74
+ }
75
+ return filteredFields;
76
+ };
77
+ const validate = async (callback) => validateField(void 0, callback);
78
+ const doValidateField = async (props2 = []) => {
79
+ if (!isValidatable.value)
80
+ return false;
81
+ const fields2 = obtainValidateFields(props2);
82
+ if (fields2.length === 0)
83
+ return true;
84
+ let validationErrors = {};
85
+ for (const field of fields2) {
86
+ try {
87
+ await field.validate("");
88
+ if (field.validateState === "error")
89
+ field.resetField();
90
+ } catch (fields3) {
91
+ validationErrors = {
92
+ ...validationErrors,
93
+ ...fields3
94
+ };
95
+ }
96
+ }
97
+ if (Object.keys(validationErrors).length === 0)
98
+ return true;
99
+ return Promise.reject(validationErrors);
100
+ };
101
+ const validateField = async (modelProps = [], callback) => {
102
+ const shouldThrow = !shared.isFunction(callback);
103
+ try {
104
+ const result = await doValidateField(modelProps);
105
+ if (result === true) {
106
+ await (callback == null ? void 0 : callback(result));
107
+ }
108
+ return result;
109
+ } catch (e) {
110
+ if (e instanceof Error)
111
+ throw e;
112
+ const invalidFields = e;
113
+ if (props.scrollToError) {
114
+ scrollToField(Object.keys(invalidFields)[0]);
115
+ }
116
+ await (callback == null ? void 0 : callback(false, invalidFields));
117
+ return shouldThrow && Promise.reject(invalidFields);
118
+ }
119
+ };
120
+ const scrollToField = (prop) => {
121
+ var _a;
122
+ const field = utils.filterFields(fields, prop)[0];
123
+ if (field) {
124
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
125
+ }
126
+ };
127
+ vue.watch(() => props.rules, () => {
128
+ if (props.validateOnRuleChange) {
129
+ validate().catch((err) => error.debugWarn(err));
130
+ }
131
+ }, { deep: true, flush: "post" });
132
+ vue.provide(constants.formContextKey, vue.reactive({
133
+ ...vue.toRefs(props),
134
+ emit,
135
+ resetFields,
136
+ clearValidate,
137
+ validateField,
138
+ getField,
139
+ addField,
140
+ removeField,
141
+ ...utils.useFormLabelWidth()
142
+ }));
143
+ expose({
144
+ validate,
145
+ validateField,
146
+ resetFields,
147
+ clearValidate,
148
+ scrollToField,
149
+ fields
150
+ });
151
+ return (_ctx, _cache) => {
152
+ return vue.openBlock(), vue.createElementBlock("form", {
153
+ class: vue.normalizeClass(vue.unref(formClasses))
154
+ }, [
155
+ vue.renderSlot(_ctx.$slots, "default")
156
+ ], 2);
157
+ };
56
158
  }
57
159
  });
58
- const formEmits = {
59
- validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && types.isBoolean(isValid) && shared.isString(message)
60
- };
160
+ var Form = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "form.vue"]]);
61
161
 
62
- exports.formEmits = formEmits;
63
- exports.formMetaProps = formMetaProps;
64
- exports.formProps = formProps;
162
+ exports["default"] = Form;
65
163
  //# sourceMappingURL=form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType<FormRules>(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: Boolean,\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: [Object, Boolean],\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n"],"names":["buildProps","componentSizes","definePropType","isArray","isString","isBoolean"],"mappings":";;;;;;;;;AAQY,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,CAAC,EAAE;AACS,MAAC,SAAS,GAAGD,kBAAU,CAAC;AACpC,EAAE,GAAG,aAAa;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEE,sBAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AACpC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,uBAAuB,EAAE;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC7B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,UAAU,EAAE,OAAO;AACrB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,oBAAoB,EAAE,OAAO;AAC/B,EAAE,aAAa,EAAE,OAAO;AACxB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,CAACC,cAAO,CAAC,IAAI,CAAC,IAAIC,eAAQ,CAAC,IAAI,CAAC,KAAKC,eAAS,CAAC,OAAO,CAAC,IAAID,eAAQ,CAAC,OAAO,CAAC;AACpH;;;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, toRefs, watch } from 'vue'\nimport { debugWarn, isFunction } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formContextKey } from './constants'\nimport { formEmits, formProps } from './form'\nimport { filterFields, useFormLabelWidth } from './utils'\n\nimport type { ValidateFieldsError } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormContext,\n FormItemContext,\n FormValidateCallback,\n FormValidationResult,\n} from './types'\nimport type { FormItemProp } from './form-item'\n\nconst COMPONENT_NAME = 'ElForm'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = defineProps(formProps)\nconst emit = defineEmits(formEmits)\n\nconst fields: FormItemContext[] = []\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\n // todo: in v2.2.0, we can remove default\n // in fact, remove it doesn't affect the final style\n ns.m(formSize.value || 'default'),\n {\n [ns.m(`label-${labelPosition}`)]: labelPosition,\n [ns.m('inline')]: inline,\n },\n ]\n})\n\nconst getField: FormContext['getField'] = (prop) => {\n return fields.find((field) => field.prop === prop)\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error') field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n const shouldThrow = !isFunction(callback)\n try {\n const result = await doValidateField(modelProps)\n // When result is false meaning that the fields are not validatable\n if (result === true) {\n await callback?.(result)\n }\n return result\n } catch (e) {\n if (e instanceof Error) throw e\n\n const invalidFields = e as ValidateFieldsError\n\n if (props.scrollToError) {\n scrollToField(Object.keys(invalidFields)[0])\n }\n await callback?.(false, invalidFields)\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = filterFields(fields, prop)[0]\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["useFormSize","useNamespace","computed","debugWarn","filterFields","fields","props","isFunction","watch","provide","formContextKey","reactive","toRefs","useFormLabelWidth","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_export_sfc"],"mappings":"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"}