@element-plus/nightly 0.0.20250723 → 0.0.20250724

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 (552) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +101 -53
  4. package/dist/index.full.min.js +15 -15
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +15 -15
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +101 -54
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar-eg.js +1 -1
  14. package/dist/locale/ar-eg.min.js +1 -1
  15. package/dist/locale/ar-eg.min.mjs +1 -1
  16. package/dist/locale/ar-eg.mjs +1 -1
  17. package/dist/locale/ar.js +1 -1
  18. package/dist/locale/ar.min.js +1 -1
  19. package/dist/locale/ar.min.mjs +1 -1
  20. package/dist/locale/ar.mjs +1 -1
  21. package/dist/locale/az.js +1 -1
  22. package/dist/locale/az.min.js +1 -1
  23. package/dist/locale/az.min.mjs +1 -1
  24. package/dist/locale/az.mjs +1 -1
  25. package/dist/locale/bg.js +1 -1
  26. package/dist/locale/bg.min.js +1 -1
  27. package/dist/locale/bg.min.mjs +1 -1
  28. package/dist/locale/bg.mjs +1 -1
  29. package/dist/locale/bn.js +1 -1
  30. package/dist/locale/bn.min.js +1 -1
  31. package/dist/locale/bn.min.mjs +1 -1
  32. package/dist/locale/bn.mjs +1 -1
  33. package/dist/locale/ca.js +1 -1
  34. package/dist/locale/ca.min.js +1 -1
  35. package/dist/locale/ca.min.mjs +1 -1
  36. package/dist/locale/ca.mjs +1 -1
  37. package/dist/locale/ckb.js +1 -1
  38. package/dist/locale/ckb.min.js +1 -1
  39. package/dist/locale/ckb.min.mjs +1 -1
  40. package/dist/locale/ckb.mjs +1 -1
  41. package/dist/locale/cs.js +1 -1
  42. package/dist/locale/cs.min.js +1 -1
  43. package/dist/locale/cs.min.mjs +1 -1
  44. package/dist/locale/cs.mjs +1 -1
  45. package/dist/locale/da.js +1 -1
  46. package/dist/locale/da.min.js +1 -1
  47. package/dist/locale/da.min.mjs +1 -1
  48. package/dist/locale/da.mjs +1 -1
  49. package/dist/locale/de.js +1 -1
  50. package/dist/locale/de.min.js +1 -1
  51. package/dist/locale/de.min.mjs +1 -1
  52. package/dist/locale/de.mjs +1 -1
  53. package/dist/locale/el.js +1 -1
  54. package/dist/locale/el.min.js +1 -1
  55. package/dist/locale/el.min.mjs +1 -1
  56. package/dist/locale/el.mjs +1 -1
  57. package/dist/locale/en.js +1 -1
  58. package/dist/locale/en.min.js +1 -1
  59. package/dist/locale/en.min.mjs +1 -1
  60. package/dist/locale/en.mjs +1 -1
  61. package/dist/locale/eo.js +1 -1
  62. package/dist/locale/eo.min.js +1 -1
  63. package/dist/locale/eo.min.mjs +1 -1
  64. package/dist/locale/eo.mjs +1 -1
  65. package/dist/locale/es.js +1 -1
  66. package/dist/locale/es.min.js +1 -1
  67. package/dist/locale/es.min.mjs +1 -1
  68. package/dist/locale/es.mjs +1 -1
  69. package/dist/locale/et.js +1 -1
  70. package/dist/locale/et.min.js +1 -1
  71. package/dist/locale/et.min.mjs +1 -1
  72. package/dist/locale/et.mjs +1 -1
  73. package/dist/locale/eu.js +1 -1
  74. package/dist/locale/eu.min.js +1 -1
  75. package/dist/locale/eu.min.mjs +1 -1
  76. package/dist/locale/eu.mjs +1 -1
  77. package/dist/locale/fa.js +1 -1
  78. package/dist/locale/fa.min.js +1 -1
  79. package/dist/locale/fa.min.mjs +1 -1
  80. package/dist/locale/fa.mjs +1 -1
  81. package/dist/locale/fi.js +1 -1
  82. package/dist/locale/fi.min.js +1 -1
  83. package/dist/locale/fi.min.mjs +1 -1
  84. package/dist/locale/fi.mjs +1 -1
  85. package/dist/locale/fr.js +1 -1
  86. package/dist/locale/fr.min.js +1 -1
  87. package/dist/locale/fr.min.mjs +1 -1
  88. package/dist/locale/fr.mjs +1 -1
  89. package/dist/locale/he.js +1 -1
  90. package/dist/locale/he.min.js +1 -1
  91. package/dist/locale/he.min.mjs +1 -1
  92. package/dist/locale/he.mjs +1 -1
  93. package/dist/locale/hi.js +1 -1
  94. package/dist/locale/hi.min.js +1 -1
  95. package/dist/locale/hi.min.mjs +1 -1
  96. package/dist/locale/hi.mjs +1 -1
  97. package/dist/locale/hr.js +1 -1
  98. package/dist/locale/hr.min.js +1 -1
  99. package/dist/locale/hr.min.mjs +1 -1
  100. package/dist/locale/hr.mjs +1 -1
  101. package/dist/locale/hu.js +1 -1
  102. package/dist/locale/hu.min.js +1 -1
  103. package/dist/locale/hu.min.mjs +1 -1
  104. package/dist/locale/hu.mjs +1 -1
  105. package/dist/locale/hy-am.js +1 -1
  106. package/dist/locale/hy-am.min.js +1 -1
  107. package/dist/locale/hy-am.min.mjs +1 -1
  108. package/dist/locale/hy-am.mjs +1 -1
  109. package/dist/locale/id.js +1 -1
  110. package/dist/locale/id.min.js +1 -1
  111. package/dist/locale/id.min.mjs +1 -1
  112. package/dist/locale/id.mjs +1 -1
  113. package/dist/locale/it.js +1 -1
  114. package/dist/locale/it.min.js +1 -1
  115. package/dist/locale/it.min.mjs +1 -1
  116. package/dist/locale/it.mjs +1 -1
  117. package/dist/locale/ja.js +1 -1
  118. package/dist/locale/ja.min.js +1 -1
  119. package/dist/locale/ja.min.mjs +1 -1
  120. package/dist/locale/ja.mjs +1 -1
  121. package/dist/locale/kk.js +1 -1
  122. package/dist/locale/kk.min.js +1 -1
  123. package/dist/locale/kk.min.mjs +1 -1
  124. package/dist/locale/kk.mjs +1 -1
  125. package/dist/locale/km.js +1 -1
  126. package/dist/locale/km.min.js +1 -1
  127. package/dist/locale/km.min.mjs +1 -1
  128. package/dist/locale/km.mjs +1 -1
  129. package/dist/locale/ko.js +1 -1
  130. package/dist/locale/ko.min.js +1 -1
  131. package/dist/locale/ko.min.mjs +1 -1
  132. package/dist/locale/ko.mjs +1 -1
  133. package/dist/locale/ku.js +1 -1
  134. package/dist/locale/ku.min.js +1 -1
  135. package/dist/locale/ku.min.mjs +1 -1
  136. package/dist/locale/ku.mjs +1 -1
  137. package/dist/locale/ky.js +1 -1
  138. package/dist/locale/ky.min.js +1 -1
  139. package/dist/locale/ky.min.mjs +1 -1
  140. package/dist/locale/ky.mjs +1 -1
  141. package/dist/locale/lo.js +1 -1
  142. package/dist/locale/lo.min.js +1 -1
  143. package/dist/locale/lo.min.mjs +1 -1
  144. package/dist/locale/lo.mjs +1 -1
  145. package/dist/locale/lt.js +1 -1
  146. package/dist/locale/lt.min.js +1 -1
  147. package/dist/locale/lt.min.mjs +1 -1
  148. package/dist/locale/lt.mjs +1 -1
  149. package/dist/locale/lv.js +1 -1
  150. package/dist/locale/lv.min.js +1 -1
  151. package/dist/locale/lv.min.mjs +1 -1
  152. package/dist/locale/lv.mjs +1 -1
  153. package/dist/locale/mg.js +1 -1
  154. package/dist/locale/mg.min.js +1 -1
  155. package/dist/locale/mg.min.mjs +1 -1
  156. package/dist/locale/mg.mjs +1 -1
  157. package/dist/locale/mn.js +1 -1
  158. package/dist/locale/mn.min.js +1 -1
  159. package/dist/locale/mn.min.mjs +1 -1
  160. package/dist/locale/mn.mjs +1 -1
  161. package/dist/locale/ms.js +1 -1
  162. package/dist/locale/ms.min.js +1 -1
  163. package/dist/locale/ms.min.mjs +1 -1
  164. package/dist/locale/ms.mjs +1 -1
  165. package/dist/locale/my.js +1 -1
  166. package/dist/locale/my.min.js +1 -1
  167. package/dist/locale/my.min.mjs +1 -1
  168. package/dist/locale/my.mjs +1 -1
  169. package/dist/locale/nb-no.js +1 -1
  170. package/dist/locale/nb-no.min.js +1 -1
  171. package/dist/locale/nb-no.min.mjs +1 -1
  172. package/dist/locale/nb-no.mjs +1 -1
  173. package/dist/locale/nl.js +1 -1
  174. package/dist/locale/nl.min.js +1 -1
  175. package/dist/locale/nl.min.mjs +1 -1
  176. package/dist/locale/nl.mjs +1 -1
  177. package/dist/locale/no.js +1 -1
  178. package/dist/locale/no.min.js +1 -1
  179. package/dist/locale/no.min.mjs +1 -1
  180. package/dist/locale/no.mjs +1 -1
  181. package/dist/locale/pa.js +1 -1
  182. package/dist/locale/pa.min.js +1 -1
  183. package/dist/locale/pa.min.mjs +1 -1
  184. package/dist/locale/pa.mjs +1 -1
  185. package/dist/locale/pl.js +1 -1
  186. package/dist/locale/pl.min.js +1 -1
  187. package/dist/locale/pl.min.mjs +1 -1
  188. package/dist/locale/pl.mjs +1 -1
  189. package/dist/locale/pt-br.js +1 -1
  190. package/dist/locale/pt-br.min.js +1 -1
  191. package/dist/locale/pt-br.min.mjs +1 -1
  192. package/dist/locale/pt-br.mjs +1 -1
  193. package/dist/locale/pt.js +1 -1
  194. package/dist/locale/pt.min.js +1 -1
  195. package/dist/locale/pt.min.mjs +1 -1
  196. package/dist/locale/pt.mjs +1 -1
  197. package/dist/locale/ro.js +1 -1
  198. package/dist/locale/ro.min.js +1 -1
  199. package/dist/locale/ro.min.mjs +1 -1
  200. package/dist/locale/ro.mjs +1 -1
  201. package/dist/locale/ru.js +1 -1
  202. package/dist/locale/ru.min.js +1 -1
  203. package/dist/locale/ru.min.mjs +1 -1
  204. package/dist/locale/ru.mjs +1 -1
  205. package/dist/locale/sk.js +1 -1
  206. package/dist/locale/sk.min.js +1 -1
  207. package/dist/locale/sk.min.mjs +1 -1
  208. package/dist/locale/sk.mjs +1 -1
  209. package/dist/locale/sl.js +1 -1
  210. package/dist/locale/sl.min.js +1 -1
  211. package/dist/locale/sl.min.mjs +1 -1
  212. package/dist/locale/sl.mjs +1 -1
  213. package/dist/locale/sr.js +1 -1
  214. package/dist/locale/sr.min.js +1 -1
  215. package/dist/locale/sr.min.mjs +1 -1
  216. package/dist/locale/sr.mjs +1 -1
  217. package/dist/locale/sv.js +1 -1
  218. package/dist/locale/sv.min.js +1 -1
  219. package/dist/locale/sv.min.mjs +1 -1
  220. package/dist/locale/sv.mjs +1 -1
  221. package/dist/locale/sw.js +1 -1
  222. package/dist/locale/sw.min.js +1 -1
  223. package/dist/locale/sw.min.mjs +1 -1
  224. package/dist/locale/sw.mjs +1 -1
  225. package/dist/locale/ta.js +1 -1
  226. package/dist/locale/ta.min.js +1 -1
  227. package/dist/locale/ta.min.mjs +1 -1
  228. package/dist/locale/ta.mjs +1 -1
  229. package/dist/locale/te.js +1 -1
  230. package/dist/locale/te.min.js +1 -1
  231. package/dist/locale/te.min.mjs +1 -1
  232. package/dist/locale/te.mjs +1 -1
  233. package/dist/locale/th.js +1 -1
  234. package/dist/locale/th.min.js +1 -1
  235. package/dist/locale/th.min.mjs +1 -1
  236. package/dist/locale/th.mjs +1 -1
  237. package/dist/locale/tk.js +1 -1
  238. package/dist/locale/tk.min.js +1 -1
  239. package/dist/locale/tk.min.mjs +1 -1
  240. package/dist/locale/tk.mjs +1 -1
  241. package/dist/locale/tr.js +1 -1
  242. package/dist/locale/tr.min.js +1 -1
  243. package/dist/locale/tr.min.mjs +1 -1
  244. package/dist/locale/tr.mjs +1 -1
  245. package/dist/locale/ug-cn.js +1 -1
  246. package/dist/locale/ug-cn.min.js +1 -1
  247. package/dist/locale/ug-cn.min.mjs +1 -1
  248. package/dist/locale/ug-cn.mjs +1 -1
  249. package/dist/locale/uk.js +1 -1
  250. package/dist/locale/uk.min.js +1 -1
  251. package/dist/locale/uk.min.mjs +1 -1
  252. package/dist/locale/uk.mjs +1 -1
  253. package/dist/locale/uz-uz.js +1 -1
  254. package/dist/locale/uz-uz.min.js +1 -1
  255. package/dist/locale/uz-uz.min.mjs +1 -1
  256. package/dist/locale/uz-uz.mjs +1 -1
  257. package/dist/locale/vi.js +1 -1
  258. package/dist/locale/vi.min.js +1 -1
  259. package/dist/locale/vi.min.mjs +1 -1
  260. package/dist/locale/vi.mjs +1 -1
  261. package/dist/locale/zh-cn.js +1 -1
  262. package/dist/locale/zh-cn.min.js +1 -1
  263. package/dist/locale/zh-cn.min.mjs +1 -1
  264. package/dist/locale/zh-cn.mjs +1 -1
  265. package/dist/locale/zh-hk.js +1 -1
  266. package/dist/locale/zh-hk.min.js +1 -1
  267. package/dist/locale/zh-hk.min.mjs +1 -1
  268. package/dist/locale/zh-hk.mjs +1 -1
  269. package/dist/locale/zh-mo.js +1 -1
  270. package/dist/locale/zh-mo.min.js +1 -1
  271. package/dist/locale/zh-mo.min.mjs +1 -1
  272. package/dist/locale/zh-mo.mjs +1 -1
  273. package/dist/locale/zh-tw.js +1 -1
  274. package/dist/locale/zh-tw.min.js +1 -1
  275. package/dist/locale/zh-tw.min.mjs +1 -1
  276. package/dist/locale/zh-tw.mjs +1 -1
  277. package/es/components/anchor/index.mjs +1 -1
  278. package/es/components/anchor/src/anchor-link.mjs +5 -81
  279. package/es/components/anchor/src/anchor-link.mjs.map +1 -1
  280. package/es/components/anchor/src/anchor-link2.mjs +81 -5
  281. package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
  282. package/es/components/breadcrumb/index.mjs +2 -2
  283. package/es/components/breadcrumb/src/breadcrumb.mjs +37 -10
  284. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  285. package/es/components/breadcrumb/src/breadcrumb2.mjs +10 -37
  286. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  287. package/es/components/calendar/index.mjs +2 -2
  288. package/es/components/calendar/src/calendar.mjs +16 -134
  289. package/es/components/calendar/src/calendar.mjs.map +1 -1
  290. package/es/components/calendar/src/calendar2.mjs +134 -16
  291. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  292. package/es/components/card/index.mjs +2 -2
  293. package/es/components/card/src/card.mjs +42 -22
  294. package/es/components/card/src/card.mjs.map +1 -1
  295. package/es/components/card/src/card2.mjs +22 -42
  296. package/es/components/card/src/card2.mjs.map +1 -1
  297. package/es/components/cascader/index.mjs +2 -2
  298. package/es/components/cascader/src/cascader.mjs +668 -86
  299. package/es/components/cascader/src/cascader.mjs.map +1 -1
  300. package/es/components/cascader/src/cascader.vue.d.ts +2 -0
  301. package/es/components/cascader/src/cascader2.mjs +86 -652
  302. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  303. package/es/components/col/index.mjs +2 -2
  304. package/es/components/col/src/col.mjs +64 -43
  305. package/es/components/col/src/col.mjs.map +1 -1
  306. package/es/components/col/src/col2.mjs +43 -64
  307. package/es/components/col/src/col2.mjs.map +1 -1
  308. package/es/components/collapse/index.mjs +2 -2
  309. package/es/components/collapse/src/collapse.mjs +28 -23
  310. package/es/components/collapse/src/collapse.mjs.map +1 -1
  311. package/es/components/collapse/src/collapse2.mjs +23 -28
  312. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  313. package/es/components/color-picker/index.mjs +2 -2
  314. package/es/components/color-picker/src/color-picker.mjs +400 -49
  315. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  316. package/es/components/color-picker/src/color-picker2.mjs +49 -400
  317. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  318. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  319. package/es/components/dialog/index.mjs +1 -1
  320. package/es/components/dialog/src/constants.d.ts +1 -0
  321. package/es/components/dialog/src/constants.mjs +2 -1
  322. package/es/components/dialog/src/constants.mjs.map +1 -1
  323. package/es/components/dialog/src/dialog.d.ts +3 -1
  324. package/es/components/dialog/src/dialog.mjs +5 -0
  325. package/es/components/dialog/src/dialog.mjs.map +1 -1
  326. package/es/components/dialog/src/dialog.vue.d.ts +3 -0
  327. package/es/components/dialog/src/dialog2.mjs +4 -12
  328. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  329. package/es/components/dialog/src/use-dialog.d.ts +7 -1
  330. package/es/components/dialog/src/use-dialog.mjs +39 -1
  331. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  332. package/es/components/drawer/src/drawer.d.ts +1 -0
  333. package/es/components/drawer/src/drawer.vue.d.ts +3 -0
  334. package/es/components/form/index.mjs +2 -2
  335. package/es/components/form/src/form-item.mjs +322 -47
  336. package/es/components/form/src/form-item.mjs.map +1 -1
  337. package/es/components/form/src/form-item2.mjs +47 -322
  338. package/es/components/form/src/form-item2.mjs.map +1 -1
  339. package/es/components/index.mjs +13 -13
  340. package/es/components/pagination/src/components/sizes.mjs +71 -23
  341. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  342. package/es/components/pagination/src/components/sizes2.mjs +23 -71
  343. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  344. package/es/components/pagination/src/components/total.mjs +26 -6
  345. package/es/components/pagination/src/components/total.mjs.map +1 -1
  346. package/es/components/pagination/src/components/total2.mjs +6 -26
  347. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  348. package/es/components/pagination/src/pagination.mjs +2 -2
  349. package/es/components/radio/index.mjs +2 -2
  350. package/es/components/radio/src/radio-group.mjs +65 -34
  351. package/es/components/radio/src/radio-group.mjs.map +1 -1
  352. package/es/components/radio/src/radio-group2.mjs +34 -65
  353. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  354. package/es/components/scrollbar/index.mjs +1 -1
  355. package/es/components/scrollbar/src/bar2.mjs +1 -1
  356. package/es/components/scrollbar/src/scrollbar2.mjs +18 -23
  357. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  358. package/es/components/scrollbar/src/thumb.mjs +139 -11
  359. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  360. package/es/components/scrollbar/src/thumb2.mjs +11 -139
  361. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  362. package/es/components/select/index.mjs +1 -1
  363. package/es/components/select/src/option.mjs +13 -89
  364. package/es/components/select/src/option.mjs.map +1 -1
  365. package/es/components/select/src/option2.mjs +89 -13
  366. package/es/components/select/src/option2.mjs.map +1 -1
  367. package/es/components/select/src/select2.mjs +1 -1
  368. package/es/components/select/src/useOption.mjs +1 -1
  369. package/es/components/slider/src/button.mjs +19 -91
  370. package/es/components/slider/src/button.mjs.map +1 -1
  371. package/es/components/slider/src/button2.mjs +91 -19
  372. package/es/components/slider/src/button2.mjs.map +1 -1
  373. package/es/components/slider/src/slider2.mjs +1 -1
  374. package/es/components/statistic/index.mjs +2 -2
  375. package/es/components/statistic/src/statistic.mjs +25 -69
  376. package/es/components/statistic/src/statistic.mjs.map +1 -1
  377. package/es/components/statistic/src/statistic2.mjs +69 -25
  378. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  379. package/es/components/table/src/store/helper.d.ts +12 -12
  380. package/es/components/table/src/store/index.d.ts +24 -24
  381. package/es/components/table/src/store/tree.d.ts +3 -3
  382. package/es/components/table/src/store/tree.mjs +11 -10
  383. package/es/components/table/src/store/tree.mjs.map +1 -1
  384. package/es/components/table/src/store/watcher.d.ts +2 -2
  385. package/es/components/table/src/store/watcher.mjs.map +1 -1
  386. package/es/components/table/src/table/defaults.d.ts +1 -1
  387. package/es/components/table/src/table/defaults.mjs.map +1 -1
  388. package/es/components/table/src/table.vue.d.ts +12 -12
  389. package/es/components/table/src/util.d.ts +1 -1
  390. package/es/components/table/src/util.mjs +3 -3
  391. package/es/components/table/src/util.mjs.map +1 -1
  392. package/es/components/table-v2/src/composables/use-row.mjs +6 -1
  393. package/es/components/table-v2/src/composables/use-row.mjs.map +1 -1
  394. package/es/components/table-v2/src/row.d.ts +2 -2
  395. package/es/components/table-v2/src/row.mjs.map +1 -1
  396. package/es/components/time-picker/src/common/picker-range-trigger.mjs +1 -1
  397. package/es/components/time-picker/src/common/picker-range-trigger.mjs.map +1 -1
  398. package/es/components/upload/index.mjs +1 -1
  399. package/es/components/upload/src/upload-content2.mjs +1 -1
  400. package/es/components/upload/src/upload-dragger.mjs +8 -61
  401. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  402. package/es/components/upload/src/upload-dragger2.mjs +61 -8
  403. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  404. package/es/index.d.ts +46 -27
  405. package/es/index.mjs +13 -13
  406. package/es/version.d.ts +1 -1
  407. package/es/version.mjs +1 -1
  408. package/es/version.mjs.map +1 -1
  409. package/lib/components/anchor/index.js +1 -1
  410. package/lib/components/anchor/src/anchor-link.js +5 -81
  411. package/lib/components/anchor/src/anchor-link.js.map +1 -1
  412. package/lib/components/anchor/src/anchor-link2.js +81 -5
  413. package/lib/components/anchor/src/anchor-link2.js.map +1 -1
  414. package/lib/components/breadcrumb/index.js +2 -2
  415. package/lib/components/breadcrumb/src/breadcrumb.js +37 -10
  416. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  417. package/lib/components/breadcrumb/src/breadcrumb2.js +10 -37
  418. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  419. package/lib/components/calendar/index.js +2 -2
  420. package/lib/components/calendar/src/calendar.js +17 -134
  421. package/lib/components/calendar/src/calendar.js.map +1 -1
  422. package/lib/components/calendar/src/calendar2.js +134 -17
  423. package/lib/components/calendar/src/calendar2.js.map +1 -1
  424. package/lib/components/card/index.js +2 -2
  425. package/lib/components/card/src/card.js +42 -22
  426. package/lib/components/card/src/card.js.map +1 -1
  427. package/lib/components/card/src/card2.js +22 -42
  428. package/lib/components/card/src/card2.js.map +1 -1
  429. package/lib/components/cascader/index.js +2 -2
  430. package/lib/components/cascader/src/cascader.js +668 -87
  431. package/lib/components/cascader/src/cascader.js.map +1 -1
  432. package/lib/components/cascader/src/cascader.vue.d.ts +2 -0
  433. package/lib/components/cascader/src/cascader2.js +87 -652
  434. package/lib/components/cascader/src/cascader2.js.map +1 -1
  435. package/lib/components/col/index.js +2 -2
  436. package/lib/components/col/src/col.js +64 -43
  437. package/lib/components/col/src/col.js.map +1 -1
  438. package/lib/components/col/src/col2.js +43 -64
  439. package/lib/components/col/src/col2.js.map +1 -1
  440. package/lib/components/collapse/index.js +2 -2
  441. package/lib/components/collapse/src/collapse.js +28 -25
  442. package/lib/components/collapse/src/collapse.js.map +1 -1
  443. package/lib/components/collapse/src/collapse2.js +25 -28
  444. package/lib/components/collapse/src/collapse2.js.map +1 -1
  445. package/lib/components/color-picker/index.js +2 -2
  446. package/lib/components/color-picker/src/color-picker.js +399 -50
  447. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  448. package/lib/components/color-picker/src/color-picker2.js +50 -399
  449. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  450. package/lib/components/color-picker/src/components/predefine.js +1 -1
  451. package/lib/components/dialog/index.js +1 -0
  452. package/lib/components/dialog/index.js.map +1 -1
  453. package/lib/components/dialog/src/constants.d.ts +1 -0
  454. package/lib/components/dialog/src/constants.js +2 -0
  455. package/lib/components/dialog/src/constants.js.map +1 -1
  456. package/lib/components/dialog/src/dialog.d.ts +3 -1
  457. package/lib/components/dialog/src/dialog.js +5 -0
  458. package/lib/components/dialog/src/dialog.js.map +1 -1
  459. package/lib/components/dialog/src/dialog.vue.d.ts +3 -0
  460. package/lib/components/dialog/src/dialog2.js +3 -11
  461. package/lib/components/dialog/src/dialog2.js.map +1 -1
  462. package/lib/components/dialog/src/use-dialog.d.ts +7 -1
  463. package/lib/components/dialog/src/use-dialog.js +39 -1
  464. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  465. package/lib/components/drawer/src/drawer.d.ts +1 -0
  466. package/lib/components/drawer/src/drawer.vue.d.ts +3 -0
  467. package/lib/components/form/index.js +2 -2
  468. package/lib/components/form/src/form-item.js +326 -48
  469. package/lib/components/form/src/form-item.js.map +1 -1
  470. package/lib/components/form/src/form-item2.js +48 -326
  471. package/lib/components/form/src/form-item2.js.map +1 -1
  472. package/lib/components/index.js +13 -12
  473. package/lib/components/index.js.map +1 -1
  474. package/lib/components/pagination/src/components/sizes.js +71 -23
  475. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  476. package/lib/components/pagination/src/components/sizes2.js +23 -71
  477. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  478. package/lib/components/pagination/src/components/total.js +26 -6
  479. package/lib/components/pagination/src/components/total.js.map +1 -1
  480. package/lib/components/pagination/src/components/total2.js +6 -26
  481. package/lib/components/pagination/src/components/total2.js.map +1 -1
  482. package/lib/components/pagination/src/pagination.js +2 -2
  483. package/lib/components/radio/index.js +2 -2
  484. package/lib/components/radio/src/radio-group.js +65 -35
  485. package/lib/components/radio/src/radio-group.js.map +1 -1
  486. package/lib/components/radio/src/radio-group2.js +35 -65
  487. package/lib/components/radio/src/radio-group2.js.map +1 -1
  488. package/lib/components/scrollbar/index.js +1 -1
  489. package/lib/components/scrollbar/src/bar2.js +1 -1
  490. package/lib/components/scrollbar/src/scrollbar2.js +18 -23
  491. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  492. package/lib/components/scrollbar/src/thumb.js +139 -11
  493. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  494. package/lib/components/scrollbar/src/thumb2.js +11 -139
  495. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  496. package/lib/components/select/index.js +1 -1
  497. package/lib/components/select/src/option.js +14 -89
  498. package/lib/components/select/src/option.js.map +1 -1
  499. package/lib/components/select/src/option2.js +89 -14
  500. package/lib/components/select/src/option2.js.map +1 -1
  501. package/lib/components/select/src/select2.js +1 -1
  502. package/lib/components/select/src/useOption.js +1 -1
  503. package/lib/components/slider/src/button.js +20 -91
  504. package/lib/components/slider/src/button.js.map +1 -1
  505. package/lib/components/slider/src/button2.js +91 -20
  506. package/lib/components/slider/src/button2.js.map +1 -1
  507. package/lib/components/slider/src/slider2.js +1 -1
  508. package/lib/components/statistic/index.js +2 -2
  509. package/lib/components/statistic/src/statistic.js +25 -69
  510. package/lib/components/statistic/src/statistic.js.map +1 -1
  511. package/lib/components/statistic/src/statistic2.js +69 -25
  512. package/lib/components/statistic/src/statistic2.js.map +1 -1
  513. package/lib/components/table/src/store/helper.d.ts +12 -12
  514. package/lib/components/table/src/store/index.d.ts +24 -24
  515. package/lib/components/table/src/store/tree.d.ts +3 -3
  516. package/lib/components/table/src/store/tree.js +11 -10
  517. package/lib/components/table/src/store/tree.js.map +1 -1
  518. package/lib/components/table/src/store/watcher.d.ts +2 -2
  519. package/lib/components/table/src/store/watcher.js.map +1 -1
  520. package/lib/components/table/src/table/defaults.d.ts +1 -1
  521. package/lib/components/table/src/table/defaults.js.map +1 -1
  522. package/lib/components/table/src/table.vue.d.ts +12 -12
  523. package/lib/components/table/src/util.d.ts +1 -1
  524. package/lib/components/table/src/util.js +3 -3
  525. package/lib/components/table/src/util.js.map +1 -1
  526. package/lib/components/table-v2/src/composables/use-row.js +5 -0
  527. package/lib/components/table-v2/src/composables/use-row.js.map +1 -1
  528. package/lib/components/table-v2/src/row.d.ts +2 -2
  529. package/lib/components/table-v2/src/row.js.map +1 -1
  530. package/lib/components/time-picker/src/common/picker-range-trigger.js +1 -1
  531. package/lib/components/time-picker/src/common/picker-range-trigger.js.map +1 -1
  532. package/lib/components/upload/index.js +1 -1
  533. package/lib/components/upload/src/upload-content2.js +1 -1
  534. package/lib/components/upload/src/upload-dragger.js +9 -61
  535. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  536. package/lib/components/upload/src/upload-dragger2.js +61 -9
  537. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  538. package/lib/index.d.ts +46 -27
  539. package/lib/index.js +13 -12
  540. package/lib/index.js.map +1 -1
  541. package/lib/version.d.ts +1 -1
  542. package/lib/version.js +1 -1
  543. package/lib/version.js.map +1 -1
  544. package/package.json +2 -2
  545. package/tags.json +1 -1
  546. package/theme-chalk/el-cascader.css +1 -1
  547. package/theme-chalk/el-input.css +1 -1
  548. package/theme-chalk/index.css +1 -1
  549. package/theme-chalk/src/cascader.scss +10 -0
  550. package/theme-chalk/src/common/var.scss +10 -0
  551. package/theme-chalk/src/input.scss +1 -0
  552. package/web-types.json +1 -1
@@ -1,4 +1,4 @@
1
- import { defineComponent, useSlots, computed, ref, provide, openBlock, createBlock, unref, withCtx, createVNode, Transition, withDirectives, createElementVNode, normalizeClass, normalizeStyle, mergeProps, createSlots, renderSlot, createCommentVNode, vShow } from 'vue';
1
+ import { defineComponent, useSlots, computed, ref, provide, openBlock, createBlock, unref, withCtx, createVNode, Transition, mergeProps, withDirectives, createElementVNode, normalizeClass, normalizeStyle, createSlots, renderSlot, createCommentVNode, vShow } from 'vue';
2
2
  import { ElOverlay } from '../../overlay/index.mjs';
3
3
  import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
4
4
  import { ElTeleport } from '../../teleport/index.mjs';
@@ -40,10 +40,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  style,
41
41
  overlayDialogStyle,
42
42
  rendered,
43
+ transitionConfig,
43
44
  zIndex,
44
- afterEnter,
45
- afterLeave,
46
- beforeLeave,
47
45
  handleClose,
48
46
  onModalClick,
49
47
  onOpenAutoFocus,
@@ -77,13 +75,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
77
75
  disabled: _ctx.appendTo !== "body" ? false : !_ctx.appendToBody
78
76
  }, {
79
77
  default: withCtx(() => [
80
- createVNode(Transition, {
81
- name: "dialog-fade",
82
- onAfterEnter: unref(afterEnter),
83
- onAfterLeave: unref(afterLeave),
84
- onBeforeLeave: unref(beforeLeave),
85
- persisted: ""
86
- }, {
78
+ createVNode(Transition, mergeProps(unref(transitionConfig), { persisted: "" }), {
87
79
  default: withCtx(() => [
88
80
  withDirectives(createVNode(unref(ElOverlay), {
89
81
  "custom-mask-event": "",
@@ -164,7 +156,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
164
156
  ])
165
157
  ]),
166
158
  _: 3
167
- }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
159
+ }, 16)
168
160
  ]),
169
161
  _: 3
170
162
  }, 8, ["to", "disabled"]);
@@ -1 +1 @@
1
- {"version":3,"file":"dialog2.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition\n name=\"dialog-fade\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"`${ns.namespace.value}-overlay-dialog`\"\n :style=\"overlayDialogStyle\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <el-dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n v-bind=\"$attrs\"\n :center=\"center\"\n :align-center=\"alignCenter\"\n :close-icon=\"closeIcon\"\n :draggable=\"draggable\"\n :overflow=\"overflow\"\n :fullscreen=\"fullscreen\"\n :header-class=\"headerClass\"\n :body-class=\"bodyClass\"\n :footer-class=\"footerClass\"\n :show-close=\"showClose\"\n :title=\"title\"\n :aria-level=\"headerAriaLevel\"\n @close=\"handleClose\"\n >\n <template #header>\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n />\n <slot v-else name=\"title\" />\n </template>\n <slot />\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </el-dialog-content>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref, useSlots } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogInjectionKey } from './constants'\nimport { dialogEmits, dialogProps } from './dialog'\nimport { useDialog } from './use-dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = defineProps(dialogProps)\ndefineEmits(dialogEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-dialog',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\nconst dialogContentRef = ref()\n\nconst {\n visible,\n titleId,\n bodyId,\n style,\n overlayDialogStyle,\n rendered,\n zIndex,\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n ns,\n rendered,\n style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst draggable = computed(() => props.draggable && !props.fullscreen)\n\nconst resetPosition = () => {\n dialogContentRef.value?.resetPosition()\n}\n\ndefineExpose({\n /** @description whether the dialog is visible */\n visible,\n dialogContentRef,\n resetPosition,\n handleClose,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref"],"mappings":";;;;;;;;;;;;;mCA0Fc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,aAAA,CAAA;AAAA,MACE,KAAA,EAAA,WAAA;AAAA,MAAA,IACS,EAAA,gBAAA;AAAA,MAAA,WACD,EAAA,iBAAA;AAAA,MAAA,OACO,EAAA,OAAA;AAAA,MAAA,GACJ,EAAA,4DAAA;AAAA,KAAA,EAAA,QACJ,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACP,MAAA,EAAA,GAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AAAA,IAAA,MACS,SAAA,GAAO;AAAY,IAC9B,MAAA,SAAA,GAAA,GAAA,EAAA,CAAA;AAEA,IAAM,MAAA,mBAA0B,GAAA,EAAA,CAAA;AAChC,IAAA,MAAM;AACN,MAAA;AACA,MAAA;AAEA,MAAM,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,KACA,GAAA,SAAA,CAAA,KAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACA,OAAA,CAAA,kBAAA,EAAA;AAAA,MACA,SAAA;AAAA,MACF,SAAc;AAEd,MAAA,MAAQ;AAAoB,MAC1B,EAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA,YAAA,GAAA,aAAA,CAAA,YAAA,CAAA,CAAA;AAAA,IACA,MAAA,SAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,SAAA,IAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AAAA,IACF,MAAC,aAAA,GAAA,MAAA;AAED,MAAM,IAAA,EAAA,CAAA;AAEN,MAAA,CAAA,EAAA,mBAA2B,CAAA,KAAA,SAAY,GAAa,KAAA,CAAA,GAAA,EAAC,cAAgB,EAAA,CAAA;AAErE,KAAA,CAAA;AACE,IAAA,MAAA,CAAA;AAAsC,MACxC,OAAA;AAEA,MAAa,gBAAA;AAAA,MAAA,aAAA;AAAA,MAEX,WAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MACA,OAAAA,SAAA,EAAA,EAAAC,WAAA,CAAAC,KAAA,CAAA,UAAA,CAAA,EAAA;AAAA,QACD,EAAA,EAAA,IAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dialog2.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition v-bind=\"transitionConfig\">\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"modalClass\"\n :z-index=\"zIndex\"\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"`${ns.namespace.value}-overlay-dialog`\"\n :style=\"overlayDialogStyle\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <el-dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n v-bind=\"$attrs\"\n :center=\"center\"\n :align-center=\"alignCenter\"\n :close-icon=\"closeIcon\"\n :draggable=\"draggable\"\n :overflow=\"overflow\"\n :fullscreen=\"fullscreen\"\n :header-class=\"headerClass\"\n :body-class=\"bodyClass\"\n :footer-class=\"footerClass\"\n :show-close=\"showClose\"\n :title=\"title\"\n :aria-level=\"headerAriaLevel\"\n @close=\"handleClose\"\n >\n <template #header>\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n />\n <slot v-else name=\"title\" />\n </template>\n <slot />\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </el-dialog-content>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref, useSlots } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogInjectionKey } from './constants'\nimport { dialogEmits, dialogProps } from './dialog'\nimport { useDialog } from './use-dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = defineProps(dialogProps)\ndefineEmits(dialogEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-dialog',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\nconst dialogContentRef = ref()\n\nconst {\n visible,\n titleId,\n bodyId,\n style,\n overlayDialogStyle,\n rendered,\n transitionConfig,\n zIndex,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n ns,\n rendered,\n style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst draggable = computed(() => props.draggable && !props.fullscreen)\n\nconst resetPosition = () => {\n dialogContentRef.value?.resetPosition()\n}\n\ndefineExpose({\n /** @description whether the dialog is visible */\n visible,\n dialogContentRef,\n resetPosition,\n handleClose,\n})\n</script>\n"],"names":["_openBlock","_createBlock","_unref"],"mappings":";;;;;;;;;;;;;mCAqFc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,aAAA,CAAA;AAAA,MACE,KAAA,EAAA,WAAA;AAAA,MAAA,IACS,EAAA,gBAAA;AAAA,MAAA,WACD,EAAA,iBAAA;AAAA,MAAA,OACO,EAAA,OAAA;AAAA,MAAA,GACJ,EAAA,4DAAA;AAAA,KAAA,EAAA,QACJ,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,IACP,MAAA,EAAA,GAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AAAA,IAAA,MACS,SAAA,GAAO;AAAY,IAC9B,MAAA,SAAA,GAAA,GAAA,EAAA,CAAA;AAEA,IAAM,MAAA,mBAA0B,GAAA,EAAA,CAAA;AAChC,IAAA,MAAM;AACN,MAAA;AACA,MAAA;AAEA,MAAM,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,mBAAA;AAAA,KACA,GAAA,SAAA,CAAA,KAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACA,OAAA,CAAA,kBAAA,EAAA;AAAA,MACA,SAAA;AAAA,MACF,SAAc;AAEd,MAAA,MAAQ;AAAoB,MAC1B,EAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,MAAA,YAAA,GAAA,aAAA,CAAA,YAAA,CAAA,CAAA;AAAA,IACA,MAAA,SAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,SAAA,IAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AAAA,IACF,MAAC,aAAA,GAAA,MAAA;AAED,MAAM,IAAA,EAAA,CAAA;AAEN,MAAA,CAAA,EAAA,mBAA2B,CAAA,KAAA,SAAY,GAAa,KAAA,CAAA,GAAA,EAAC,cAAgB,EAAA,CAAA;AAErE,KAAA,CAAA;AACE,IAAA,MAAA,CAAA;AAAsC,MACxC,OAAA;AAEA,MAAa,gBAAA;AAAA,MAAA,aAAA;AAAA,MAEX,WAAA;AAAA,KACA,CAAA,CAAA;AAAA,IACA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MACA,OAAAA,SAAA,EAAA,EAAAC,WAAA,CAAAC,KAAA,CAAA,UAAA,CAAA,EAAA;AAAA,QACD,EAAA,EAAA,IAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import type { CSSProperties, Ref } from 'vue';
1
+ import type { CSSProperties, Ref, TransitionProps } from 'vue';
2
2
  import type { DialogProps } from './dialog';
3
3
  export declare const useDialog: (props: DialogProps, targetRef: Ref<HTMLElement | undefined>) => {
4
4
  afterEnter: () => void;
@@ -20,4 +20,10 @@ export declare const useDialog: (props: DialogProps, targetRef: Ref<HTMLElement
20
20
  rendered: Ref<boolean>;
21
21
  visible: Ref<boolean>;
22
22
  zIndex: Ref<number>;
23
+ transitionConfig: import("vue").ComputedRef<TransitionProps | {
24
+ name: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | TransitionProps) | (() => import("./dialog").DialogTransition) | ((new (...args: any[]) => string | TransitionProps) | (() => import("./dialog").DialogTransition))[], unknown, unknown>;
25
+ onAfterEnter: () => void;
26
+ onBeforeLeave: () => void;
27
+ onAfterLeave: () => void;
28
+ }>;
23
29
  };
@@ -1,13 +1,17 @@
1
1
  import { getCurrentInstance, ref, computed, watch, nextTick, onMounted } from 'vue';
2
2
  import { useTimeoutFn, isClient } from '@vueuse/core';
3
+ import { DEFAULT_DIALOG_TRANSITION } from './constants.mjs';
3
4
  import { useLockscreen } from '../../../hooks/use-lockscreen/index.mjs';
4
5
  import { useZIndex } from '../../../hooks/use-z-index/index.mjs';
5
6
  import { useId } from '../../../hooks/use-id/index.mjs';
6
7
  import { useGlobalConfig } from '../../config-provider/src/hooks/use-global-config.mjs';
7
8
  import { defaultNamespace } from '../../../hooks/use-namespace/index.mjs';
8
9
  import { addUnit } from '../../../utils/dom/style.mjs';
10
+ import { isObject, isArray, isFunction } from '@vue/shared';
11
+ import { debugWarn } from '../../../utils/error.mjs';
9
12
  import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
10
13
 
14
+ const COMPONENT_NAME = "ElDialog";
11
15
  const useDialog = (props, targetRef) => {
12
16
  var _a;
13
17
  const instance = getCurrentInstance();
@@ -42,6 +46,39 @@ const useDialog = (props, targetRef) => {
42
46
  }
43
47
  return {};
44
48
  });
49
+ const transitionConfig = computed(() => {
50
+ const baseConfig = {
51
+ name: props.transition,
52
+ onAfterEnter: afterEnter,
53
+ onBeforeLeave: beforeLeave,
54
+ onAfterLeave: afterLeave
55
+ };
56
+ if (isObject(props.transition)) {
57
+ const config = { ...props.transition };
58
+ const _mergeHook = (userHook, defaultHook) => {
59
+ return (el) => {
60
+ if (isArray(userHook)) {
61
+ userHook.forEach((fn) => {
62
+ if (isFunction(fn))
63
+ fn(el);
64
+ });
65
+ } else if (isFunction(userHook)) {
66
+ userHook(el);
67
+ }
68
+ defaultHook();
69
+ };
70
+ };
71
+ config.onAfterEnter = _mergeHook(config.onAfterEnter, afterEnter);
72
+ config.onBeforeLeave = _mergeHook(config.onBeforeLeave, beforeLeave);
73
+ config.onAfterLeave = _mergeHook(config.onAfterLeave, afterLeave);
74
+ if (!config.name) {
75
+ config.name = DEFAULT_DIALOG_TRANSITION;
76
+ debugWarn(COMPONENT_NAME, `transition.name is missing when using object syntax, fallback to '${DEFAULT_DIALOG_TRANSITION}'`);
77
+ }
78
+ return config;
79
+ }
80
+ return baseConfig;
81
+ });
45
82
  function afterEnter() {
46
83
  emit("opened");
47
84
  }
@@ -180,7 +217,8 @@ const useDialog = (props, targetRef) => {
180
217
  overlayDialogStyle,
181
218
  rendered,
182
219
  visible,
183
- zIndex
220
+ zIndex,
221
+ transitionConfig
184
222
  };
185
223
  };
186
224
 
@@ -1 +1 @@
1
- {"version":3,"file":"use-dialog.mjs","sources":["../../../../../../packages/components/dialog/src/use-dialog.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport {\n defaultNamespace,\n useId,\n useLockscreen,\n useZIndex,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { addUnit, isClient } from '@element-plus/utils'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\n\nimport type { CSSProperties, Ref, SetupContext } from 'vue'\nimport type { DialogEmits, DialogProps } from './dialog'\n\nexport const useDialog = (\n props: DialogProps,\n targetRef: Ref<HTMLElement | undefined>\n) => {\n const instance = getCurrentInstance()!\n const emit = instance.emit as SetupContext<DialogEmits>['emit']\n const { nextZIndex } = useZIndex()\n\n let lastPosition = ''\n const titleId = useId()\n const bodyId = useId()\n const visible = ref(false)\n const closed = ref(false)\n const rendered = ref(false) // when destroyOnClose is true, we initialize it as false vise versa\n const zIndex = ref(props.zIndex ?? nextZIndex())\n\n let openTimer: (() => void) | undefined = undefined\n let closeTimer: (() => void) | undefined = undefined\n\n const namespace = useGlobalConfig('namespace', defaultNamespace)\n\n const style = computed<CSSProperties>(() => {\n const style: CSSProperties = {}\n const varPrefix = `--${namespace.value}-dialog` as const\n if (!props.fullscreen) {\n if (props.top) {\n style[`${varPrefix}-margin-top`] = props.top\n }\n if (props.width) {\n style[`${varPrefix}-width`] = addUnit(props.width)\n }\n }\n return style\n })\n\n const overlayDialogStyle = computed<CSSProperties>(() => {\n if (props.alignCenter) {\n return { display: 'flex' }\n }\n return {}\n })\n\n function afterEnter() {\n emit('opened')\n }\n\n function afterLeave() {\n emit('closed')\n emit(UPDATE_MODEL_EVENT, false)\n if (props.destroyOnClose) {\n rendered.value = false\n }\n }\n\n function beforeLeave() {\n emit('close')\n }\n\n function open() {\n closeTimer?.()\n openTimer?.()\n\n if (props.openDelay && props.openDelay > 0) {\n ;({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay))\n } else {\n doOpen()\n }\n }\n\n function close() {\n openTimer?.()\n closeTimer?.()\n\n if (props.closeDelay && props.closeDelay > 0) {\n ;({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay))\n } else {\n doClose()\n }\n }\n\n function handleClose() {\n function hide(shouldCancel?: boolean) {\n if (shouldCancel) return\n closed.value = true\n visible.value = false\n }\n\n if (props.beforeClose) {\n props.beforeClose(hide)\n } else {\n close()\n }\n }\n\n function onModalClick() {\n if (props.closeOnClickModal) {\n handleClose()\n }\n }\n\n function doOpen() {\n if (!isClient) return\n visible.value = true\n }\n\n function doClose() {\n visible.value = false\n }\n\n function onOpenAutoFocus() {\n emit('openAutoFocus')\n }\n\n function onCloseAutoFocus() {\n emit('closeAutoFocus')\n }\n\n function onFocusoutPrevented(event: CustomEvent) {\n if (event.detail?.focusReason === 'pointer') {\n event.preventDefault()\n }\n }\n\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n function onCloseRequested() {\n if (props.closeOnPressEscape) {\n handleClose()\n }\n }\n\n watch(\n () => props.zIndex,\n () => {\n zIndex.value = props.zIndex ?? nextZIndex()\n }\n )\n\n watch(\n () => props.modelValue,\n (val) => {\n if (val) {\n closed.value = false\n open()\n rendered.value = true // enables lazy rendering\n zIndex.value = props.zIndex ?? nextZIndex()\n // this.$el.addEventListener('scroll', this.updatePopper)\n nextTick(() => {\n emit('open')\n if (targetRef.value) {\n targetRef.value.parentElement!.scrollTop = 0\n targetRef.value.parentElement!.scrollLeft = 0\n targetRef.value.scrollTop = 0\n }\n })\n } else {\n // this.$el.removeEventListener('scroll', this.updatePopper\n if (visible.value) {\n close()\n }\n }\n }\n )\n\n watch(\n () => props.fullscreen,\n (val) => {\n if (!targetRef.value) return\n if (val) {\n lastPosition = targetRef.value.style.transform\n targetRef.value.style.transform = ''\n } else {\n targetRef.value.style.transform = lastPosition\n }\n }\n )\n\n onMounted(() => {\n if (props.modelValue) {\n visible.value = true\n rendered.value = true // enables lazy rendering\n open()\n }\n })\n\n return {\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n close,\n doClose,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n titleId,\n bodyId,\n closed,\n style,\n overlayDialogStyle,\n rendered,\n visible,\n zIndex,\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-dialog.mjs","sources":["../../../../../../packages/components/dialog/src/use-dialog.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport {\n defaultNamespace,\n useId,\n useLockscreen,\n useZIndex,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n addUnit,\n debugWarn,\n isArray,\n isClient,\n isFunction,\n isObject,\n} from '@element-plus/utils'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\nimport { DEFAULT_DIALOG_TRANSITION } from './constants'\n\nimport type { CSSProperties, Ref, SetupContext, TransitionProps } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { DialogEmits, DialogProps } from './dialog'\n\nconst COMPONENT_NAME = 'ElDialog'\n\nexport const useDialog = (\n props: DialogProps,\n targetRef: Ref<HTMLElement | undefined>\n) => {\n const instance = getCurrentInstance()!\n const emit = instance.emit as SetupContext<DialogEmits>['emit']\n const { nextZIndex } = useZIndex()\n\n let lastPosition = ''\n const titleId = useId()\n const bodyId = useId()\n const visible = ref(false)\n const closed = ref(false)\n const rendered = ref(false) // when destroyOnClose is true, we initialize it as false vise versa\n const zIndex = ref(props.zIndex ?? nextZIndex())\n\n let openTimer: (() => void) | undefined = undefined\n let closeTimer: (() => void) | undefined = undefined\n\n const namespace = useGlobalConfig('namespace', defaultNamespace)\n\n const style = computed<CSSProperties>(() => {\n const style: CSSProperties = {}\n const varPrefix = `--${namespace.value}-dialog` as const\n if (!props.fullscreen) {\n if (props.top) {\n style[`${varPrefix}-margin-top`] = props.top\n }\n if (props.width) {\n style[`${varPrefix}-width`] = addUnit(props.width)\n }\n }\n return style\n })\n\n const overlayDialogStyle = computed<CSSProperties>(() => {\n if (props.alignCenter) {\n return { display: 'flex' }\n }\n return {}\n })\n\n const transitionConfig = computed(() => {\n const baseConfig = {\n name: props.transition,\n onAfterEnter: afterEnter,\n onBeforeLeave: beforeLeave,\n onAfterLeave: afterLeave,\n }\n if (isObject(props.transition)) {\n const config = { ...props.transition } as TransitionProps\n const _mergeHook = (\n userHook: Arrayable<(el: Element) => void> | undefined,\n defaultHook: () => void\n ) => {\n return (el: Element) => {\n if (isArray(userHook)) {\n userHook.forEach((fn) => {\n if (isFunction(fn)) fn(el)\n })\n } else if (isFunction(userHook)) {\n userHook(el)\n }\n defaultHook()\n }\n }\n config.onAfterEnter = _mergeHook(config.onAfterEnter, afterEnter)\n config.onBeforeLeave = _mergeHook(config.onBeforeLeave, beforeLeave)\n config.onAfterLeave = _mergeHook(config.onAfterLeave, afterLeave)\n if (!config.name) {\n config.name = DEFAULT_DIALOG_TRANSITION\n debugWarn(\n COMPONENT_NAME,\n `transition.name is missing when using object syntax, fallback to '${DEFAULT_DIALOG_TRANSITION}'`\n )\n }\n return config\n }\n\n return baseConfig\n })\n\n function afterEnter() {\n emit('opened')\n }\n\n function afterLeave() {\n emit('closed')\n emit(UPDATE_MODEL_EVENT, false)\n if (props.destroyOnClose) {\n rendered.value = false\n }\n }\n\n function beforeLeave() {\n emit('close')\n }\n\n function open() {\n closeTimer?.()\n openTimer?.()\n\n if (props.openDelay && props.openDelay > 0) {\n ;({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay))\n } else {\n doOpen()\n }\n }\n\n function close() {\n openTimer?.()\n closeTimer?.()\n\n if (props.closeDelay && props.closeDelay > 0) {\n ;({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay))\n } else {\n doClose()\n }\n }\n\n function handleClose() {\n function hide(shouldCancel?: boolean) {\n if (shouldCancel) return\n closed.value = true\n visible.value = false\n }\n\n if (props.beforeClose) {\n props.beforeClose(hide)\n } else {\n close()\n }\n }\n\n function onModalClick() {\n if (props.closeOnClickModal) {\n handleClose()\n }\n }\n\n function doOpen() {\n if (!isClient) return\n visible.value = true\n }\n\n function doClose() {\n visible.value = false\n }\n\n function onOpenAutoFocus() {\n emit('openAutoFocus')\n }\n\n function onCloseAutoFocus() {\n emit('closeAutoFocus')\n }\n\n function onFocusoutPrevented(event: CustomEvent) {\n if (event.detail?.focusReason === 'pointer') {\n event.preventDefault()\n }\n }\n\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n function onCloseRequested() {\n if (props.closeOnPressEscape) {\n handleClose()\n }\n }\n\n watch(\n () => props.zIndex,\n () => {\n zIndex.value = props.zIndex ?? nextZIndex()\n }\n )\n\n watch(\n () => props.modelValue,\n (val) => {\n if (val) {\n closed.value = false\n open()\n rendered.value = true // enables lazy rendering\n zIndex.value = props.zIndex ?? nextZIndex()\n // this.$el.addEventListener('scroll', this.updatePopper)\n nextTick(() => {\n emit('open')\n if (targetRef.value) {\n targetRef.value.parentElement!.scrollTop = 0\n targetRef.value.parentElement!.scrollLeft = 0\n targetRef.value.scrollTop = 0\n }\n })\n } else {\n // this.$el.removeEventListener('scroll', this.updatePopper\n if (visible.value) {\n close()\n }\n }\n }\n )\n\n watch(\n () => props.fullscreen,\n (val) => {\n if (!targetRef.value) return\n if (val) {\n lastPosition = targetRef.value.style.transform\n targetRef.value.style.transform = ''\n } else {\n targetRef.value.style.transform = lastPosition\n }\n }\n )\n\n onMounted(() => {\n if (props.modelValue) {\n visible.value = true\n rendered.value = true // enables lazy rendering\n open()\n }\n })\n\n return {\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n close,\n doClose,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n titleId,\n bodyId,\n closed,\n style,\n overlayDialogStyle,\n rendered,\n visible,\n zIndex,\n transitionConfig,\n }\n}\n"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export declare const drawerProps: {
44
44
  __epPropKey: true;
45
45
  };
46
46
  readonly trapFocus: BooleanConstructor;
47
+ readonly transition: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition) | ((new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition))[], unknown, unknown, "dialog-fade", boolean>;
47
48
  readonly center: BooleanConstructor;
48
49
  readonly alignCenter: BooleanConstructor;
49
50
  readonly closeIcon: {
@@ -53,6 +53,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
53
53
  __epPropKey: true;
54
54
  };
55
55
  readonly trapFocus: BooleanConstructor;
56
+ readonly transition: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition) | ((new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition))[], unknown, unknown, "dialog-fade", boolean>;
56
57
  readonly center: BooleanConstructor;
57
58
  readonly alignCenter: BooleanConstructor;
58
59
  readonly closeIcon: {
@@ -124,6 +125,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
124
125
  __epPropKey: true;
125
126
  };
126
127
  readonly trapFocus: BooleanConstructor;
128
+ readonly transition: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition) | ((new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition))[], unknown, unknown, "dialog-fade", boolean>;
127
129
  readonly center: BooleanConstructor;
128
130
  readonly alignCenter: BooleanConstructor;
129
131
  readonly closeIcon: {
@@ -151,6 +153,7 @@ declare const __VLS_component: import("vue").DefineComponent<{
151
153
  readonly center: boolean;
152
154
  readonly direction: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "ltr" | "rtl" | "ttb" | "btt", unknown>;
153
155
  readonly overflow: boolean;
156
+ readonly transition: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition) | ((new (...args: any[]) => string | import("vue").TransitionProps) | (() => import("@element-plus/nightly/es/components/dialog").DialogTransition))[], unknown, unknown>;
154
157
  readonly size: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
155
158
  readonly modelValue: boolean;
156
159
  readonly ariaLevel: string;
@@ -1,7 +1,7 @@
1
1
  import Form from './src/form2.mjs';
2
- import FormItem from './src/form-item2.mjs';
2
+ import FormItem from './src/form-item.mjs';
3
3
  export { formEmits, formMetaProps, formProps } from './src/form.mjs';
4
- export { formItemProps, formItemValidateStates } from './src/form-item.mjs';
4
+ export { formItemProps, formItemValidateStates } from './src/form-item2.mjs';
5
5
  export { formContextKey, formItemContextKey } from './src/constants.mjs';
6
6
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
7
7
  export { useDisabled, useFormDisabled, useFormSize, useSize } from './src/hooks/use-form-common-props.mjs';
@@ -1,52 +1,327 @@
1
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
2
- import { componentSizes } from '../../../constants/size.mjs';
1
+ import { defineComponent, useSlots, inject, ref, computed, watch, reactive, toRefs, provide, onMounted, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, createBlock, resolveDynamicComponent, normalizeStyle, renderSlot, createTextVNode, toDisplayString, createCommentVNode, createElementVNode, TransitionGroup, nextTick } from 'vue';
2
+ import AsyncValidator from 'async-validator';
3
+ import { castArray, clone } from 'lodash-unified';
4
+ import { refDebounced } from '@vueuse/core';
5
+ import { formItemProps } from './form-item2.mjs';
6
+ import FormLabelWrap from './form-label-wrap.mjs';
7
+ import { formContextKey, formItemContextKey } from './constants.mjs';
8
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
+ import { useId } from '../../../hooks/use-id/index.mjs';
10
+ import { getProp } from '../../../utils/objects.mjs';
11
+ import { useFormSize } from './hooks/use-form-common-props.mjs';
12
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
13
+ import { addUnit } from '../../../utils/dom/style.mjs';
14
+ import { isBoolean } from '../../../utils/types.mjs';
15
+ import { isArray, isFunction } from '@vue/shared';
3
16
 
4
- const formItemValidateStates = [
5
- "",
6
- "error",
7
- "validating",
8
- "success"
9
- ];
10
- const formItemProps = buildProps({
11
- label: String,
12
- labelWidth: {
13
- type: [String, Number],
14
- default: ""
15
- },
16
- labelPosition: {
17
- type: String,
18
- values: ["left", "right", "top", ""],
19
- default: ""
20
- },
21
- prop: {
22
- type: definePropType([String, Array])
23
- },
24
- required: {
25
- type: Boolean,
26
- default: void 0
27
- },
28
- rules: {
29
- type: definePropType([Object, Array])
30
- },
31
- error: String,
32
- validateStatus: {
33
- type: String,
34
- values: formItemValidateStates
35
- },
36
- for: String,
37
- inlineMessage: {
38
- type: [String, Boolean],
39
- default: ""
40
- },
41
- showMessage: {
42
- type: Boolean,
43
- default: true
44
- },
45
- size: {
46
- type: String,
47
- values: componentSizes
17
+ const __default__ = defineComponent({
18
+ name: "ElFormItem"
19
+ });
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ ...__default__,
22
+ props: formItemProps,
23
+ setup(__props, { expose }) {
24
+ const props = __props;
25
+ const slots = useSlots();
26
+ const formContext = inject(formContextKey, void 0);
27
+ const parentFormItemContext = inject(formItemContextKey, void 0);
28
+ const _size = useFormSize(void 0, { formItem: false });
29
+ const ns = useNamespace("form-item");
30
+ const labelId = useId().value;
31
+ const inputIds = ref([]);
32
+ const validateState = ref("");
33
+ const validateStateDebounced = refDebounced(validateState, 100);
34
+ const validateMessage = ref("");
35
+ const formItemRef = ref();
36
+ let initialValue = void 0;
37
+ let isResettingField = false;
38
+ const labelPosition = computed(() => props.labelPosition || (formContext == null ? void 0 : formContext.labelPosition));
39
+ const labelStyle = computed(() => {
40
+ if (labelPosition.value === "top") {
41
+ return {};
42
+ }
43
+ const labelWidth = addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
44
+ if (labelWidth)
45
+ return { width: labelWidth };
46
+ return {};
47
+ });
48
+ const contentStyle = computed(() => {
49
+ if (labelPosition.value === "top" || (formContext == null ? void 0 : formContext.inline)) {
50
+ return {};
51
+ }
52
+ if (!props.label && !props.labelWidth && isNested) {
53
+ return {};
54
+ }
55
+ const labelWidth = addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
56
+ if (!props.label && !slots.label) {
57
+ return { marginLeft: labelWidth };
58
+ }
59
+ return {};
60
+ });
61
+ const formItemClasses = computed(() => [
62
+ ns.b(),
63
+ ns.m(_size.value),
64
+ ns.is("error", validateState.value === "error"),
65
+ ns.is("validating", validateState.value === "validating"),
66
+ ns.is("success", validateState.value === "success"),
67
+ ns.is("required", isRequired.value || props.required),
68
+ ns.is("no-asterisk", formContext == null ? void 0 : formContext.hideRequiredAsterisk),
69
+ (formContext == null ? void 0 : formContext.requireAsteriskPosition) === "right" ? "asterisk-right" : "asterisk-left",
70
+ {
71
+ [ns.m("feedback")]: formContext == null ? void 0 : formContext.statusIcon,
72
+ [ns.m(`label-${labelPosition.value}`)]: labelPosition.value
73
+ }
74
+ ]);
75
+ const _inlineMessage = computed(() => isBoolean(props.inlineMessage) ? props.inlineMessage : (formContext == null ? void 0 : formContext.inlineMessage) || false);
76
+ const validateClasses = computed(() => [
77
+ ns.e("error"),
78
+ { [ns.em("error", "inline")]: _inlineMessage.value }
79
+ ]);
80
+ const propString = computed(() => {
81
+ if (!props.prop)
82
+ return "";
83
+ return isArray(props.prop) ? props.prop.join(".") : props.prop;
84
+ });
85
+ const hasLabel = computed(() => {
86
+ return !!(props.label || slots.label);
87
+ });
88
+ const labelFor = computed(() => {
89
+ var _a;
90
+ return (_a = props.for) != null ? _a : inputIds.value.length === 1 ? inputIds.value[0] : void 0;
91
+ });
92
+ const isGroup = computed(() => {
93
+ return !labelFor.value && hasLabel.value;
94
+ });
95
+ const isNested = !!parentFormItemContext;
96
+ const fieldValue = computed(() => {
97
+ const model = formContext == null ? void 0 : formContext.model;
98
+ if (!model || !props.prop) {
99
+ return;
100
+ }
101
+ return getProp(model, props.prop).value;
102
+ });
103
+ const normalizedRules = computed(() => {
104
+ const { required } = props;
105
+ const rules = [];
106
+ if (props.rules) {
107
+ rules.push(...castArray(props.rules));
108
+ }
109
+ const formRules = formContext == null ? void 0 : formContext.rules;
110
+ if (formRules && props.prop) {
111
+ const _rules = getProp(formRules, props.prop).value;
112
+ if (_rules) {
113
+ rules.push(...castArray(_rules));
114
+ }
115
+ }
116
+ if (required !== void 0) {
117
+ const requiredRules = rules.map((rule, i) => [rule, i]).filter(([rule]) => Object.keys(rule).includes("required"));
118
+ if (requiredRules.length > 0) {
119
+ for (const [rule, i] of requiredRules) {
120
+ if (rule.required === required)
121
+ continue;
122
+ rules[i] = { ...rule, required };
123
+ }
124
+ } else {
125
+ rules.push({ required });
126
+ }
127
+ }
128
+ return rules;
129
+ });
130
+ const validateEnabled = computed(() => normalizedRules.value.length > 0);
131
+ const getFilteredRule = (trigger) => {
132
+ const rules = normalizedRules.value;
133
+ return rules.filter((rule) => {
134
+ if (!rule.trigger || !trigger)
135
+ return true;
136
+ if (isArray(rule.trigger)) {
137
+ return rule.trigger.includes(trigger);
138
+ } else {
139
+ return rule.trigger === trigger;
140
+ }
141
+ }).map(({ trigger: trigger2, ...rule }) => rule);
142
+ };
143
+ const isRequired = computed(() => normalizedRules.value.some((rule) => rule.required));
144
+ const shouldShowError = computed(() => {
145
+ var _a;
146
+ return validateStateDebounced.value === "error" && props.showMessage && ((_a = formContext == null ? void 0 : formContext.showMessage) != null ? _a : true);
147
+ });
148
+ const currentLabel = computed(() => `${props.label || ""}${(formContext == null ? void 0 : formContext.labelSuffix) || ""}`);
149
+ const setValidationState = (state) => {
150
+ validateState.value = state;
151
+ };
152
+ const onValidationFailed = (error) => {
153
+ var _a, _b;
154
+ const { errors, fields } = error;
155
+ if (!errors || !fields) {
156
+ console.error(error);
157
+ }
158
+ setValidationState("error");
159
+ validateMessage.value = errors ? (_b = (_a = errors == null ? void 0 : errors[0]) == null ? void 0 : _a.message) != null ? _b : `${props.prop} is required` : "";
160
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, false, validateMessage.value);
161
+ };
162
+ const onValidationSucceeded = () => {
163
+ setValidationState("success");
164
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, true, "");
165
+ };
166
+ const doValidate = async (rules) => {
167
+ const modelName = propString.value;
168
+ const validator = new AsyncValidator({
169
+ [modelName]: rules
170
+ });
171
+ return validator.validate({ [modelName]: fieldValue.value }, { firstFields: true }).then(() => {
172
+ onValidationSucceeded();
173
+ return true;
174
+ }).catch((err) => {
175
+ onValidationFailed(err);
176
+ return Promise.reject(err);
177
+ });
178
+ };
179
+ const validate = async (trigger, callback) => {
180
+ if (isResettingField || !props.prop) {
181
+ return false;
182
+ }
183
+ const hasCallback = isFunction(callback);
184
+ if (!validateEnabled.value) {
185
+ callback == null ? void 0 : callback(false);
186
+ return false;
187
+ }
188
+ const rules = getFilteredRule(trigger);
189
+ if (rules.length === 0) {
190
+ callback == null ? void 0 : callback(true);
191
+ return true;
192
+ }
193
+ setValidationState("validating");
194
+ return doValidate(rules).then(() => {
195
+ callback == null ? void 0 : callback(true);
196
+ return true;
197
+ }).catch((err) => {
198
+ const { fields } = err;
199
+ callback == null ? void 0 : callback(false, fields);
200
+ return hasCallback ? false : Promise.reject(fields);
201
+ });
202
+ };
203
+ const clearValidate = () => {
204
+ setValidationState("");
205
+ validateMessage.value = "";
206
+ isResettingField = false;
207
+ };
208
+ const resetField = async () => {
209
+ const model = formContext == null ? void 0 : formContext.model;
210
+ if (!model || !props.prop)
211
+ return;
212
+ const computedValue = getProp(model, props.prop);
213
+ isResettingField = true;
214
+ computedValue.value = clone(initialValue);
215
+ await nextTick();
216
+ clearValidate();
217
+ isResettingField = false;
218
+ };
219
+ const addInputId = (id) => {
220
+ if (!inputIds.value.includes(id)) {
221
+ inputIds.value.push(id);
222
+ }
223
+ };
224
+ const removeInputId = (id) => {
225
+ inputIds.value = inputIds.value.filter((listId) => listId !== id);
226
+ };
227
+ watch(() => props.error, (val) => {
228
+ validateMessage.value = val || "";
229
+ setValidationState(val ? "error" : "");
230
+ }, { immediate: true });
231
+ watch(() => props.validateStatus, (val) => setValidationState(val || ""));
232
+ const context = reactive({
233
+ ...toRefs(props),
234
+ $el: formItemRef,
235
+ size: _size,
236
+ validateMessage,
237
+ validateState,
238
+ labelId,
239
+ inputIds,
240
+ isGroup,
241
+ hasLabel,
242
+ fieldValue,
243
+ addInputId,
244
+ removeInputId,
245
+ resetField,
246
+ clearValidate,
247
+ validate,
248
+ propString
249
+ });
250
+ provide(formItemContextKey, context);
251
+ onMounted(() => {
252
+ if (props.prop) {
253
+ formContext == null ? void 0 : formContext.addField(context);
254
+ initialValue = clone(fieldValue.value);
255
+ }
256
+ });
257
+ onBeforeUnmount(() => {
258
+ formContext == null ? void 0 : formContext.removeField(context);
259
+ });
260
+ expose({
261
+ size: _size,
262
+ validateMessage,
263
+ validateState,
264
+ validate,
265
+ clearValidate,
266
+ resetField
267
+ });
268
+ return (_ctx, _cache) => {
269
+ var _a;
270
+ return openBlock(), createElementBlock("div", {
271
+ ref_key: "formItemRef",
272
+ ref: formItemRef,
273
+ class: normalizeClass(unref(formItemClasses)),
274
+ role: unref(isGroup) ? "group" : void 0,
275
+ "aria-labelledby": unref(isGroup) ? unref(labelId) : void 0
276
+ }, [
277
+ createVNode(unref(FormLabelWrap), {
278
+ "is-auto-width": unref(labelStyle).width === "auto",
279
+ "update-all": ((_a = unref(formContext)) == null ? void 0 : _a.labelWidth) === "auto"
280
+ }, {
281
+ default: withCtx(() => [
282
+ unref(hasLabel) ? (openBlock(), createBlock(resolveDynamicComponent(unref(labelFor) ? "label" : "div"), {
283
+ key: 0,
284
+ id: unref(labelId),
285
+ for: unref(labelFor),
286
+ class: normalizeClass(unref(ns).e("label")),
287
+ style: normalizeStyle(unref(labelStyle))
288
+ }, {
289
+ default: withCtx(() => [
290
+ renderSlot(_ctx.$slots, "label", { label: unref(currentLabel) }, () => [
291
+ createTextVNode(toDisplayString(unref(currentLabel)), 1)
292
+ ])
293
+ ]),
294
+ _: 3
295
+ }, 8, ["id", "for", "class", "style"])) : createCommentVNode("v-if", true)
296
+ ]),
297
+ _: 3
298
+ }, 8, ["is-auto-width", "update-all"]),
299
+ createElementVNode("div", {
300
+ class: normalizeClass(unref(ns).e("content")),
301
+ style: normalizeStyle(unref(contentStyle))
302
+ }, [
303
+ renderSlot(_ctx.$slots, "default"),
304
+ createVNode(TransitionGroup, {
305
+ name: `${unref(ns).namespace.value}-zoom-in-top`
306
+ }, {
307
+ default: withCtx(() => [
308
+ unref(shouldShowError) ? renderSlot(_ctx.$slots, "error", {
309
+ key: 0,
310
+ error: validateMessage.value
311
+ }, () => [
312
+ createElementVNode("div", {
313
+ class: normalizeClass(unref(validateClasses))
314
+ }, toDisplayString(validateMessage.value), 3)
315
+ ]) : createCommentVNode("v-if", true)
316
+ ]),
317
+ _: 3
318
+ }, 8, ["name"])
319
+ ], 6)
320
+ ], 10, ["role", "aria-labelledby"]);
321
+ };
48
322
  }
49
323
  });
324
+ var FormItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "form-item.vue"]]);
50
325
 
51
- export { formItemProps, formItemValidateStates };
326
+ export { FormItem as default };
52
327
  //# sourceMappingURL=form-item.mjs.map