@element-plus/nightly 0.0.20240917 → 0.0.20240919

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 (556) hide show
  1. package/dist/index.full.js +6 -4
  2. package/dist/index.full.min.js +3 -3
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +3 -3
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +6 -4
  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 +78 -41
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.js.map +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.min.mjs.map +1 -1
  80. package/dist/locale/fa.mjs +78 -41
  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/hr.js +1 -1
  94. package/dist/locale/hr.min.js +1 -1
  95. package/dist/locale/hr.min.mjs +1 -1
  96. package/dist/locale/hr.mjs +1 -1
  97. package/dist/locale/hu.js +1 -1
  98. package/dist/locale/hu.min.js +1 -1
  99. package/dist/locale/hu.min.mjs +1 -1
  100. package/dist/locale/hu.mjs +1 -1
  101. package/dist/locale/hy-am.js +1 -1
  102. package/dist/locale/hy-am.min.js +1 -1
  103. package/dist/locale/hy-am.min.mjs +1 -1
  104. package/dist/locale/hy-am.mjs +1 -1
  105. package/dist/locale/id.js +1 -1
  106. package/dist/locale/id.min.js +1 -1
  107. package/dist/locale/id.min.mjs +1 -1
  108. package/dist/locale/id.mjs +1 -1
  109. package/dist/locale/it.js +1 -1
  110. package/dist/locale/it.min.js +1 -1
  111. package/dist/locale/it.min.mjs +1 -1
  112. package/dist/locale/it.mjs +1 -1
  113. package/dist/locale/ja.js +1 -1
  114. package/dist/locale/ja.min.js +1 -1
  115. package/dist/locale/ja.min.mjs +1 -1
  116. package/dist/locale/ja.mjs +1 -1
  117. package/dist/locale/kk.js +1 -1
  118. package/dist/locale/kk.min.js +1 -1
  119. package/dist/locale/kk.min.mjs +1 -1
  120. package/dist/locale/kk.mjs +1 -1
  121. package/dist/locale/km.js +1 -1
  122. package/dist/locale/km.min.js +1 -1
  123. package/dist/locale/km.min.mjs +1 -1
  124. package/dist/locale/km.mjs +1 -1
  125. package/dist/locale/ko.js +1 -1
  126. package/dist/locale/ko.min.js +1 -1
  127. package/dist/locale/ko.min.mjs +1 -1
  128. package/dist/locale/ko.mjs +1 -1
  129. package/dist/locale/ku.js +1 -1
  130. package/dist/locale/ku.min.js +1 -1
  131. package/dist/locale/ku.min.mjs +1 -1
  132. package/dist/locale/ku.mjs +1 -1
  133. package/dist/locale/ky.js +1 -1
  134. package/dist/locale/ky.min.js +1 -1
  135. package/dist/locale/ky.min.mjs +1 -1
  136. package/dist/locale/ky.mjs +1 -1
  137. package/dist/locale/lt.js +1 -1
  138. package/dist/locale/lt.min.js +1 -1
  139. package/dist/locale/lt.min.mjs +1 -1
  140. package/dist/locale/lt.mjs +1 -1
  141. package/dist/locale/lv.js +1 -1
  142. package/dist/locale/lv.min.js +1 -1
  143. package/dist/locale/lv.min.mjs +1 -1
  144. package/dist/locale/lv.mjs +1 -1
  145. package/dist/locale/mg.js +1 -1
  146. package/dist/locale/mg.min.js +1 -1
  147. package/dist/locale/mg.min.mjs +1 -1
  148. package/dist/locale/mg.mjs +1 -1
  149. package/dist/locale/mn.js +1 -1
  150. package/dist/locale/mn.min.js +1 -1
  151. package/dist/locale/mn.min.mjs +1 -1
  152. package/dist/locale/mn.mjs +1 -1
  153. package/dist/locale/my.js +1 -1
  154. package/dist/locale/my.min.js +1 -1
  155. package/dist/locale/my.min.mjs +1 -1
  156. package/dist/locale/my.mjs +1 -1
  157. package/dist/locale/nb-no.js +1 -1
  158. package/dist/locale/nb-no.min.js +1 -1
  159. package/dist/locale/nb-no.min.mjs +1 -1
  160. package/dist/locale/nb-no.mjs +1 -1
  161. package/dist/locale/nl.js +1 -1
  162. package/dist/locale/nl.min.js +1 -1
  163. package/dist/locale/nl.min.mjs +1 -1
  164. package/dist/locale/nl.mjs +1 -1
  165. package/dist/locale/pa.js +1 -1
  166. package/dist/locale/pa.min.js +1 -1
  167. package/dist/locale/pa.min.mjs +1 -1
  168. package/dist/locale/pa.mjs +1 -1
  169. package/dist/locale/pl.js +1 -1
  170. package/dist/locale/pl.min.js +1 -1
  171. package/dist/locale/pl.min.mjs +1 -1
  172. package/dist/locale/pl.mjs +1 -1
  173. package/dist/locale/pt-br.js +1 -1
  174. package/dist/locale/pt-br.min.js +1 -1
  175. package/dist/locale/pt-br.min.mjs +1 -1
  176. package/dist/locale/pt-br.mjs +1 -1
  177. package/dist/locale/pt.js +1 -1
  178. package/dist/locale/pt.min.js +1 -1
  179. package/dist/locale/pt.min.mjs +1 -1
  180. package/dist/locale/pt.mjs +1 -1
  181. package/dist/locale/ro.js +1 -1
  182. package/dist/locale/ro.min.js +1 -1
  183. package/dist/locale/ro.min.mjs +1 -1
  184. package/dist/locale/ro.mjs +1 -1
  185. package/dist/locale/ru.js +1 -1
  186. package/dist/locale/ru.min.js +1 -1
  187. package/dist/locale/ru.min.mjs +1 -1
  188. package/dist/locale/ru.mjs +1 -1
  189. package/dist/locale/sk.js +1 -1
  190. package/dist/locale/sk.min.js +1 -1
  191. package/dist/locale/sk.min.mjs +1 -1
  192. package/dist/locale/sk.mjs +1 -1
  193. package/dist/locale/sl.js +1 -1
  194. package/dist/locale/sl.min.js +1 -1
  195. package/dist/locale/sl.min.mjs +1 -1
  196. package/dist/locale/sl.mjs +1 -1
  197. package/dist/locale/sr.js +1 -1
  198. package/dist/locale/sr.min.js +1 -1
  199. package/dist/locale/sr.min.mjs +1 -1
  200. package/dist/locale/sr.mjs +1 -1
  201. package/dist/locale/sv.js +1 -1
  202. package/dist/locale/sv.min.js +1 -1
  203. package/dist/locale/sv.min.mjs +1 -1
  204. package/dist/locale/sv.mjs +1 -1
  205. package/dist/locale/sw.js +1 -1
  206. package/dist/locale/sw.min.js +1 -1
  207. package/dist/locale/sw.min.mjs +1 -1
  208. package/dist/locale/sw.mjs +1 -1
  209. package/dist/locale/ta.js +1 -1
  210. package/dist/locale/ta.min.js +1 -1
  211. package/dist/locale/ta.min.mjs +1 -1
  212. package/dist/locale/ta.mjs +1 -1
  213. package/dist/locale/th.js +1 -1
  214. package/dist/locale/th.min.js +1 -1
  215. package/dist/locale/th.min.mjs +1 -1
  216. package/dist/locale/th.mjs +1 -1
  217. package/dist/locale/tk.js +1 -1
  218. package/dist/locale/tk.min.js +1 -1
  219. package/dist/locale/tk.min.mjs +1 -1
  220. package/dist/locale/tk.mjs +1 -1
  221. package/dist/locale/tr.js +1 -1
  222. package/dist/locale/tr.min.js +1 -1
  223. package/dist/locale/tr.min.mjs +1 -1
  224. package/dist/locale/tr.mjs +1 -1
  225. package/dist/locale/ug-cn.js +1 -1
  226. package/dist/locale/ug-cn.min.js +1 -1
  227. package/dist/locale/ug-cn.min.mjs +1 -1
  228. package/dist/locale/ug-cn.mjs +1 -1
  229. package/dist/locale/uk.js +1 -1
  230. package/dist/locale/uk.min.js +1 -1
  231. package/dist/locale/uk.min.mjs +1 -1
  232. package/dist/locale/uk.mjs +1 -1
  233. package/dist/locale/uz-uz.js +1 -1
  234. package/dist/locale/uz-uz.min.js +1 -1
  235. package/dist/locale/uz-uz.min.mjs +1 -1
  236. package/dist/locale/uz-uz.mjs +1 -1
  237. package/dist/locale/vi.js +1 -1
  238. package/dist/locale/vi.min.js +1 -1
  239. package/dist/locale/vi.min.mjs +1 -1
  240. package/dist/locale/vi.mjs +1 -1
  241. package/dist/locale/zh-cn.js +1 -1
  242. package/dist/locale/zh-cn.min.js +1 -1
  243. package/dist/locale/zh-cn.min.mjs +1 -1
  244. package/dist/locale/zh-cn.mjs +1 -1
  245. package/dist/locale/zh-tw.js +1 -1
  246. package/dist/locale/zh-tw.min.js +1 -1
  247. package/dist/locale/zh-tw.min.mjs +1 -1
  248. package/dist/locale/zh-tw.mjs +1 -1
  249. package/es/components/alert/index.mjs +2 -2
  250. package/es/components/alert/src/alert.mjs +96 -36
  251. package/es/components/alert/src/alert.mjs.map +1 -1
  252. package/es/components/alert/src/alert2.mjs +36 -96
  253. package/es/components/alert/src/alert2.mjs.map +1 -1
  254. package/es/components/anchor/index.mjs +2 -2
  255. package/es/components/anchor/src/anchor.mjs +193 -38
  256. package/es/components/anchor/src/anchor.mjs.map +1 -1
  257. package/es/components/anchor/src/anchor2.mjs +38 -193
  258. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  259. package/es/components/breadcrumb/index.mjs +2 -2
  260. package/es/components/breadcrumb/src/breadcrumb-item.mjs +57 -9
  261. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  262. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +9 -57
  263. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  264. package/es/components/dialog/src/dialog-content.mjs +89 -26
  265. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  266. package/es/components/dialog/src/dialog-content2.mjs +26 -89
  267. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  268. package/es/components/dialog/src/dialog.mjs +1 -1
  269. package/es/components/dialog/src/dialog2.mjs +1 -1
  270. package/es/components/drawer/index.mjs +2 -2
  271. package/es/components/drawer/src/drawer.mjs +181 -27
  272. package/es/components/drawer/src/drawer.mjs.map +1 -1
  273. package/es/components/drawer/src/drawer2.mjs +27 -181
  274. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  275. package/es/components/dropdown/index.mjs +2 -2
  276. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  277. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  278. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  279. package/es/components/dropdown/src/dropdown.mjs +304 -94
  280. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  281. package/es/components/dropdown/src/dropdown2.mjs +94 -304
  282. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  283. package/es/components/form/index.mjs +2 -2
  284. package/es/components/form/src/form.mjs +153 -54
  285. package/es/components/form/src/form.mjs.map +1 -1
  286. package/es/components/form/src/form2.mjs +54 -153
  287. package/es/components/form/src/form2.mjs.map +1 -1
  288. package/es/components/icon/index.mjs +2 -2
  289. package/es/components/icon/src/icon.mjs +36 -8
  290. package/es/components/icon/src/icon.mjs.map +1 -1
  291. package/es/components/icon/src/icon2.mjs +8 -36
  292. package/es/components/icon/src/icon2.mjs.map +1 -1
  293. package/es/components/index.mjs +23 -23
  294. package/es/components/mention/index.mjs +2 -2
  295. package/es/components/mention/src/mention-dropdown.mjs +167 -15
  296. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  297. package/es/components/mention/src/mention-dropdown2.mjs +15 -167
  298. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  299. package/es/components/mention/src/mention.mjs +273 -64
  300. package/es/components/mention/src/mention.mjs.map +1 -1
  301. package/es/components/mention/src/mention2.mjs +64 -273
  302. package/es/components/mention/src/mention2.mjs.map +1 -1
  303. package/es/components/pagination/src/components/next.mjs +36 -19
  304. package/es/components/pagination/src/components/next.mjs.map +1 -1
  305. package/es/components/pagination/src/components/next2.mjs +19 -36
  306. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  307. package/es/components/pagination/src/pagination.mjs +1 -1
  308. package/es/components/popover/index.mjs +2 -2
  309. package/es/components/popover/src/popover.mjs +111 -66
  310. package/es/components/popover/src/popover.mjs.map +1 -1
  311. package/es/components/popover/src/popover2.mjs +66 -111
  312. package/es/components/popover/src/popover2.mjs.map +1 -1
  313. package/es/components/popper/index.mjs +2 -2
  314. package/es/components/popper/src/arrow.mjs +37 -8
  315. package/es/components/popper/src/arrow.mjs.map +1 -1
  316. package/es/components/popper/src/arrow2.mjs +8 -37
  317. package/es/components/popper/src/arrow2.mjs.map +1 -1
  318. package/es/components/progress/index.mjs +2 -2
  319. package/es/components/progress/src/progress.mjs +208 -53
  320. package/es/components/progress/src/progress.mjs.map +1 -1
  321. package/es/components/progress/src/progress2.mjs +53 -208
  322. package/es/components/progress/src/progress2.mjs.map +1 -1
  323. package/es/components/rate/index.mjs +2 -2
  324. package/es/components/rate/src/rate.mjs +259 -83
  325. package/es/components/rate/src/rate.mjs.map +1 -1
  326. package/es/components/rate/src/rate2.mjs +83 -259
  327. package/es/components/rate/src/rate2.mjs.map +1 -1
  328. package/es/components/result/index.mjs +2 -2
  329. package/es/components/result/src/result.mjs +63 -29
  330. package/es/components/result/src/result.mjs.map +1 -1
  331. package/es/components/result/src/result2.mjs +29 -63
  332. package/es/components/result/src/result2.mjs.map +1 -1
  333. package/es/components/row/index.mjs +2 -2
  334. package/es/components/row/src/row.mjs +45 -29
  335. package/es/components/row/src/row.mjs.map +1 -1
  336. package/es/components/row/src/row2.mjs +29 -45
  337. package/es/components/row/src/row2.mjs.map +1 -1
  338. package/es/components/scrollbar/index.mjs +1 -1
  339. package/es/components/scrollbar/src/bar2.mjs +1 -1
  340. package/es/components/scrollbar/src/scrollbar2.mjs +4 -2
  341. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  342. package/es/components/scrollbar/src/thumb.mjs +130 -11
  343. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  344. package/es/components/scrollbar/src/thumb2.mjs +11 -130
  345. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  346. package/es/components/segmented/index.mjs +2 -2
  347. package/es/components/segmented/src/segmented.mjs +30 -158
  348. package/es/components/segmented/src/segmented.mjs.map +1 -1
  349. package/es/components/segmented/src/segmented2.mjs +158 -30
  350. package/es/components/segmented/src/segmented2.mjs.map +1 -1
  351. package/es/components/skeleton/index.mjs +2 -2
  352. package/es/components/skeleton/src/skeleton.mjs +49 -22
  353. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  354. package/es/components/skeleton/src/skeleton2.mjs +22 -49
  355. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  356. package/es/components/slider/src/button.mjs +21 -91
  357. package/es/components/slider/src/button.mjs.map +1 -1
  358. package/es/components/slider/src/button2.mjs +91 -21
  359. package/es/components/slider/src/button2.mjs.map +1 -1
  360. package/es/components/slider/src/slider2.mjs +1 -1
  361. package/es/components/steps/index.mjs +2 -2
  362. package/es/components/steps/src/steps.mjs +39 -36
  363. package/es/components/steps/src/steps.mjs.map +1 -1
  364. package/es/components/steps/src/steps2.mjs +36 -39
  365. package/es/components/steps/src/steps2.mjs.map +1 -1
  366. package/es/components/time-select/index.mjs +2 -2
  367. package/es/components/time-select/src/time-select.mjs +51 -124
  368. package/es/components/time-select/src/time-select.mjs.map +1 -1
  369. package/es/components/time-select/src/time-select2.mjs +124 -51
  370. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  371. package/es/components/tooltip/index.mjs +2 -2
  372. package/es/components/tooltip/src/tooltip.mjs +31 -168
  373. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  374. package/es/components/tooltip/src/tooltip2.mjs +168 -31
  375. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  376. package/es/components/tooltip-v2/index.mjs +3 -3
  377. package/es/components/tooltip-v2/src/arrow.mjs +37 -22
  378. package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
  379. package/es/components/tooltip-v2/src/arrow2.mjs +22 -37
  380. package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
  381. package/es/components/tooltip-v2/src/tooltip.mjs +77 -20
  382. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  383. package/es/components/tooltip-v2/src/tooltip2.mjs +20 -77
  384. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  385. package/es/components/tour/index.mjs +3 -3
  386. package/es/components/tour/src/content.mjs +68 -44
  387. package/es/components/tour/src/content.mjs.map +1 -1
  388. package/es/components/tour/src/content2.mjs +44 -68
  389. package/es/components/tour/src/content2.mjs.map +1 -1
  390. package/es/components/tour/src/step.mjs +1 -1
  391. package/es/components/tour/src/tour.mjs +158 -69
  392. package/es/components/tour/src/tour.mjs.map +1 -1
  393. package/es/components/tour/src/tour2.mjs +69 -158
  394. package/es/components/tour/src/tour2.mjs.map +1 -1
  395. package/es/index.mjs +23 -23
  396. package/es/locale/lang/fa.d.ts +37 -0
  397. package/es/locale/lang/fa.mjs +77 -40
  398. package/es/locale/lang/fa.mjs.map +1 -1
  399. package/es/version.d.ts +1 -1
  400. package/es/version.mjs +1 -1
  401. package/es/version.mjs.map +1 -1
  402. package/lib/components/alert/index.js +2 -2
  403. package/lib/components/alert/src/alert.js +95 -37
  404. package/lib/components/alert/src/alert.js.map +1 -1
  405. package/lib/components/alert/src/alert2.js +37 -95
  406. package/lib/components/alert/src/alert2.js.map +1 -1
  407. package/lib/components/anchor/index.js +2 -2
  408. package/lib/components/anchor/src/anchor.js +192 -38
  409. package/lib/components/anchor/src/anchor.js.map +1 -1
  410. package/lib/components/anchor/src/anchor2.js +38 -192
  411. package/lib/components/anchor/src/anchor2.js.map +1 -1
  412. package/lib/components/breadcrumb/index.js +2 -2
  413. package/lib/components/breadcrumb/src/breadcrumb-item.js +57 -9
  414. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  415. package/lib/components/breadcrumb/src/breadcrumb-item2.js +9 -57
  416. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  417. package/lib/components/dialog/src/dialog-content.js +88 -26
  418. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  419. package/lib/components/dialog/src/dialog-content2.js +26 -88
  420. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  421. package/lib/components/dialog/src/dialog.js +1 -1
  422. package/lib/components/dialog/src/dialog2.js +1 -1
  423. package/lib/components/drawer/index.js +2 -2
  424. package/lib/components/drawer/src/drawer.js +181 -28
  425. package/lib/components/drawer/src/drawer.js.map +1 -1
  426. package/lib/components/drawer/src/drawer2.js +28 -181
  427. package/lib/components/drawer/src/drawer2.js.map +1 -1
  428. package/lib/components/dropdown/index.js +2 -2
  429. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  430. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  431. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  432. package/lib/components/dropdown/src/dropdown.js +304 -103
  433. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  434. package/lib/components/dropdown/src/dropdown2.js +103 -304
  435. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  436. package/lib/components/form/index.js +2 -2
  437. package/lib/components/form/src/form.js +152 -55
  438. package/lib/components/form/src/form.js.map +1 -1
  439. package/lib/components/form/src/form2.js +55 -152
  440. package/lib/components/form/src/form2.js.map +1 -1
  441. package/lib/components/icon/index.js +2 -2
  442. package/lib/components/icon/src/icon.js +36 -8
  443. package/lib/components/icon/src/icon.js.map +1 -1
  444. package/lib/components/icon/src/icon2.js +8 -36
  445. package/lib/components/icon/src/icon2.js.map +1 -1
  446. package/lib/components/index.js +23 -23
  447. package/lib/components/mention/index.js +2 -2
  448. package/lib/components/mention/src/mention-dropdown.js +167 -16
  449. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  450. package/lib/components/mention/src/mention-dropdown2.js +16 -167
  451. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  452. package/lib/components/mention/src/mention.js +271 -63
  453. package/lib/components/mention/src/mention.js.map +1 -1
  454. package/lib/components/mention/src/mention2.js +63 -271
  455. package/lib/components/mention/src/mention2.js.map +1 -1
  456. package/lib/components/pagination/src/components/next.js +36 -19
  457. package/lib/components/pagination/src/components/next.js.map +1 -1
  458. package/lib/components/pagination/src/components/next2.js +19 -36
  459. package/lib/components/pagination/src/components/next2.js.map +1 -1
  460. package/lib/components/pagination/src/pagination.js +1 -1
  461. package/lib/components/popover/index.js +2 -2
  462. package/lib/components/popover/src/popover.js +111 -67
  463. package/lib/components/popover/src/popover.js.map +1 -1
  464. package/lib/components/popover/src/popover2.js +67 -111
  465. package/lib/components/popover/src/popover2.js.map +1 -1
  466. package/lib/components/popper/index.js +2 -2
  467. package/lib/components/popper/src/arrow.js +37 -9
  468. package/lib/components/popper/src/arrow.js.map +1 -1
  469. package/lib/components/popper/src/arrow2.js +9 -37
  470. package/lib/components/popper/src/arrow2.js.map +1 -1
  471. package/lib/components/progress/index.js +2 -2
  472. package/lib/components/progress/src/progress.js +208 -53
  473. package/lib/components/progress/src/progress.js.map +1 -1
  474. package/lib/components/progress/src/progress2.js +53 -208
  475. package/lib/components/progress/src/progress2.js.map +1 -1
  476. package/lib/components/rate/index.js +2 -2
  477. package/lib/components/rate/src/rate.js +258 -83
  478. package/lib/components/rate/src/rate.js.map +1 -1
  479. package/lib/components/rate/src/rate2.js +83 -258
  480. package/lib/components/rate/src/rate2.js.map +1 -1
  481. package/lib/components/result/index.js +2 -2
  482. package/lib/components/result/src/result.js +63 -31
  483. package/lib/components/result/src/result.js.map +1 -1
  484. package/lib/components/result/src/result2.js +31 -63
  485. package/lib/components/result/src/result2.js.map +1 -1
  486. package/lib/components/row/index.js +2 -2
  487. package/lib/components/row/src/row.js +45 -31
  488. package/lib/components/row/src/row.js.map +1 -1
  489. package/lib/components/row/src/row2.js +31 -45
  490. package/lib/components/row/src/row2.js.map +1 -1
  491. package/lib/components/scrollbar/index.js +1 -1
  492. package/lib/components/scrollbar/src/bar2.js +1 -1
  493. package/lib/components/scrollbar/src/scrollbar2.js +4 -2
  494. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  495. package/lib/components/scrollbar/src/thumb.js +130 -11
  496. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  497. package/lib/components/scrollbar/src/thumb2.js +11 -130
  498. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  499. package/lib/components/segmented/index.js +2 -2
  500. package/lib/components/segmented/src/segmented.js +30 -157
  501. package/lib/components/segmented/src/segmented.js.map +1 -1
  502. package/lib/components/segmented/src/segmented2.js +157 -30
  503. package/lib/components/segmented/src/segmented2.js.map +1 -1
  504. package/lib/components/skeleton/index.js +2 -2
  505. package/lib/components/skeleton/src/skeleton.js +49 -22
  506. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  507. package/lib/components/skeleton/src/skeleton2.js +22 -49
  508. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  509. package/lib/components/slider/src/button.js +22 -91
  510. package/lib/components/slider/src/button.js.map +1 -1
  511. package/lib/components/slider/src/button2.js +91 -22
  512. package/lib/components/slider/src/button2.js.map +1 -1
  513. package/lib/components/slider/src/slider2.js +1 -1
  514. package/lib/components/steps/index.js +2 -2
  515. package/lib/components/steps/src/steps.js +39 -37
  516. package/lib/components/steps/src/steps.js.map +1 -1
  517. package/lib/components/steps/src/steps2.js +37 -39
  518. package/lib/components/steps/src/steps2.js.map +1 -1
  519. package/lib/components/time-select/index.js +2 -2
  520. package/lib/components/time-select/src/time-select.js +51 -129
  521. package/lib/components/time-select/src/time-select.js.map +1 -1
  522. package/lib/components/time-select/src/time-select2.js +129 -51
  523. package/lib/components/time-select/src/time-select2.js.map +1 -1
  524. package/lib/components/tooltip/index.js +2 -2
  525. package/lib/components/tooltip/src/tooltip.js +34 -167
  526. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  527. package/lib/components/tooltip/src/tooltip2.js +167 -34
  528. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  529. package/lib/components/tooltip-v2/index.js +3 -3
  530. package/lib/components/tooltip-v2/src/arrow.js +37 -23
  531. package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
  532. package/lib/components/tooltip-v2/src/arrow2.js +23 -37
  533. package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
  534. package/lib/components/tooltip-v2/src/tooltip.js +77 -20
  535. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  536. package/lib/components/tooltip-v2/src/tooltip2.js +20 -77
  537. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  538. package/lib/components/tour/index.js +3 -3
  539. package/lib/components/tour/src/content.js +68 -47
  540. package/lib/components/tour/src/content.js.map +1 -1
  541. package/lib/components/tour/src/content2.js +47 -68
  542. package/lib/components/tour/src/content2.js.map +1 -1
  543. package/lib/components/tour/src/step.js +1 -1
  544. package/lib/components/tour/src/tour.js +156 -68
  545. package/lib/components/tour/src/tour.js.map +1 -1
  546. package/lib/components/tour/src/tour2.js +68 -156
  547. package/lib/components/tour/src/tour2.js.map +1 -1
  548. package/lib/index.js +23 -23
  549. package/lib/locale/lang/fa.d.ts +37 -0
  550. package/lib/locale/lang/fa.js +77 -40
  551. package/lib/locale/lang/fa.js.map +1 -1
  552. package/lib/version.d.ts +1 -1
  553. package/lib/version.js +1 -1
  554. package/lib/version.js.map +1 -1
  555. package/package.json +2 -2
  556. package/web-types.json +1 -1
@@ -2,66 +2,163 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../constants/index.js');
5
+ var vue = require('vue');
6
6
  require('../../../utils/index.js');
7
- var runtime = require('../../../utils/vue/props/runtime.js');
8
- var size = require('../../../constants/size.js');
7
+ require('../../../hooks/index.js');
8
+ require('./hooks/index.js');
9
+ var constants = require('./constants.js');
10
+ var form = require('./form2.js');
11
+ var utils = require('./utils.js');
12
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
+ var useFormCommonProps = require('./hooks/use-form-common-props.js');
14
+ var index = require('../../../hooks/use-namespace/index.js');
15
+ var error = require('../../../utils/error.js');
9
16
  var shared = require('@vue/shared');
10
- var types = require('../../../utils/types.js');
11
17
 
12
- const formMetaProps = runtime.buildProps({
13
- size: {
14
- type: String,
15
- values: size.componentSizes
16
- },
17
- disabled: Boolean
18
+ const COMPONENT_NAME = "ElForm";
19
+ const __default__ = vue.defineComponent({
20
+ name: COMPONENT_NAME
18
21
  });
19
- const formProps = runtime.buildProps({
20
- ...formMetaProps,
21
- model: Object,
22
- rules: {
23
- type: runtime.definePropType(Object)
24
- },
25
- labelPosition: {
26
- type: String,
27
- values: ["left", "right", "top"],
28
- default: "right"
29
- },
30
- requireAsteriskPosition: {
31
- type: String,
32
- values: ["left", "right"],
33
- default: "left"
34
- },
35
- labelWidth: {
36
- type: [String, Number],
37
- default: ""
38
- },
39
- labelSuffix: {
40
- type: String,
41
- default: ""
42
- },
43
- inline: Boolean,
44
- inlineMessage: Boolean,
45
- statusIcon: Boolean,
46
- showMessage: {
47
- type: Boolean,
48
- default: true
49
- },
50
- validateOnRuleChange: {
51
- type: Boolean,
52
- default: true
53
- },
54
- hideRequiredAsterisk: Boolean,
55
- scrollToError: Boolean,
56
- scrollIntoViewOptions: {
57
- type: [Object, Boolean]
22
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
+ ...__default__,
24
+ props: form.formProps,
25
+ emits: form.formEmits,
26
+ setup(__props, { expose, emit }) {
27
+ const props = __props;
28
+ const fields = [];
29
+ const formSize = useFormCommonProps.useFormSize();
30
+ const ns = index.useNamespace("form");
31
+ const formClasses = vue.computed(() => {
32
+ const { labelPosition, inline } = props;
33
+ return [
34
+ ns.b(),
35
+ ns.m(formSize.value || "default"),
36
+ {
37
+ [ns.m(`label-${labelPosition}`)]: labelPosition,
38
+ [ns.m("inline")]: inline
39
+ }
40
+ ];
41
+ });
42
+ const getField = (prop) => {
43
+ return fields.find((field) => field.prop === prop);
44
+ };
45
+ const addField = (field) => {
46
+ fields.push(field);
47
+ };
48
+ const removeField = (field) => {
49
+ if (field.prop) {
50
+ fields.splice(fields.indexOf(field), 1);
51
+ }
52
+ };
53
+ const resetFields = (properties = []) => {
54
+ if (!props.model) {
55
+ error.debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
56
+ return;
57
+ }
58
+ utils.filterFields(fields, properties).forEach((field) => field.resetField());
59
+ };
60
+ const clearValidate = (props2 = []) => {
61
+ utils.filterFields(fields, props2).forEach((field) => field.clearValidate());
62
+ };
63
+ const isValidatable = vue.computed(() => {
64
+ const hasModel = !!props.model;
65
+ if (!hasModel) {
66
+ error.debugWarn(COMPONENT_NAME, "model is required for validate to work.");
67
+ }
68
+ return hasModel;
69
+ });
70
+ const obtainValidateFields = (props2) => {
71
+ if (fields.length === 0)
72
+ return [];
73
+ const filteredFields = utils.filterFields(fields, props2);
74
+ if (!filteredFields.length) {
75
+ error.debugWarn(COMPONENT_NAME, "please pass correct props!");
76
+ return [];
77
+ }
78
+ return filteredFields;
79
+ };
80
+ const validate = async (callback) => validateField(void 0, callback);
81
+ const doValidateField = async (props2 = []) => {
82
+ if (!isValidatable.value)
83
+ return false;
84
+ const fields2 = obtainValidateFields(props2);
85
+ if (fields2.length === 0)
86
+ return true;
87
+ let validationErrors = {};
88
+ for (const field of fields2) {
89
+ try {
90
+ await field.validate("");
91
+ } catch (fields3) {
92
+ validationErrors = {
93
+ ...validationErrors,
94
+ ...fields3
95
+ };
96
+ }
97
+ }
98
+ if (Object.keys(validationErrors).length === 0)
99
+ return true;
100
+ return Promise.reject(validationErrors);
101
+ };
102
+ const validateField = async (modelProps = [], callback) => {
103
+ const shouldThrow = !shared.isFunction(callback);
104
+ try {
105
+ const result = await doValidateField(modelProps);
106
+ if (result === true) {
107
+ await (callback == null ? void 0 : callback(result));
108
+ }
109
+ return result;
110
+ } catch (e) {
111
+ if (e instanceof Error)
112
+ throw e;
113
+ const invalidFields = e;
114
+ if (props.scrollToError) {
115
+ scrollToField(Object.keys(invalidFields)[0]);
116
+ }
117
+ await (callback == null ? void 0 : callback(false, invalidFields));
118
+ return shouldThrow && Promise.reject(invalidFields);
119
+ }
120
+ };
121
+ const scrollToField = (prop) => {
122
+ var _a;
123
+ const field = utils.filterFields(fields, prop)[0];
124
+ if (field) {
125
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
126
+ }
127
+ };
128
+ vue.watch(() => props.rules, () => {
129
+ if (props.validateOnRuleChange) {
130
+ validate().catch((err) => error.debugWarn(err));
131
+ }
132
+ }, { deep: true });
133
+ vue.provide(constants.formContextKey, vue.reactive({
134
+ ...vue.toRefs(props),
135
+ emit,
136
+ resetFields,
137
+ clearValidate,
138
+ validateField,
139
+ getField,
140
+ addField,
141
+ removeField,
142
+ ...utils.useFormLabelWidth()
143
+ }));
144
+ expose({
145
+ validate,
146
+ validateField,
147
+ resetFields,
148
+ clearValidate,
149
+ scrollToField,
150
+ fields
151
+ });
152
+ return (_ctx, _cache) => {
153
+ return vue.openBlock(), vue.createElementBlock("form", {
154
+ class: vue.normalizeClass(vue.unref(formClasses))
155
+ }, [
156
+ vue.renderSlot(_ctx.$slots, "default")
157
+ ], 2);
158
+ };
58
159
  }
59
160
  });
60
- const formEmits = {
61
- validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && types.isBoolean(isValid) && shared.isString(message)
62
- };
161
+ var Form = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "form.vue"]]);
63
162
 
64
- exports.formEmits = formEmits;
65
- exports.formMetaProps = formMetaProps;
66
- exports.formProps = formProps;
163
+ exports["default"] = Form;
67
164
  //# 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 } 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 }\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","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":"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"}
@@ -2,163 +2,66 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
5
+ require('../../../constants/index.js');
6
6
  require('../../../utils/index.js');
7
- require('../../../hooks/index.js');
8
- require('./hooks/index.js');
9
- var constants = require('./constants.js');
10
- var form = require('./form.js');
11
- var utils = require('./utils.js');
12
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
- var useFormCommonProps = require('./hooks/use-form-common-props.js');
14
- var index = require('../../../hooks/use-namespace/index.js');
15
- var error = require('../../../utils/error.js');
7
+ var runtime = require('../../../utils/vue/props/runtime.js');
8
+ var size = require('../../../constants/size.js');
16
9
  var shared = require('@vue/shared');
10
+ var types = require('../../../utils/types.js');
17
11
 
18
- const COMPONENT_NAME = "ElForm";
19
- const __default__ = vue.defineComponent({
20
- name: COMPONENT_NAME
12
+ const formMetaProps = runtime.buildProps({
13
+ size: {
14
+ type: String,
15
+ values: size.componentSizes
16
+ },
17
+ disabled: Boolean
21
18
  });
22
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
- ...__default__,
24
- props: form.formProps,
25
- emits: form.formEmits,
26
- setup(__props, { expose, emit }) {
27
- const props = __props;
28
- const fields = [];
29
- const formSize = useFormCommonProps.useFormSize();
30
- const ns = index.useNamespace("form");
31
- const formClasses = vue.computed(() => {
32
- const { labelPosition, inline } = props;
33
- return [
34
- ns.b(),
35
- ns.m(formSize.value || "default"),
36
- {
37
- [ns.m(`label-${labelPosition}`)]: labelPosition,
38
- [ns.m("inline")]: inline
39
- }
40
- ];
41
- });
42
- const getField = (prop) => {
43
- return fields.find((field) => field.prop === prop);
44
- };
45
- const addField = (field) => {
46
- fields.push(field);
47
- };
48
- const removeField = (field) => {
49
- if (field.prop) {
50
- fields.splice(fields.indexOf(field), 1);
51
- }
52
- };
53
- const resetFields = (properties = []) => {
54
- if (!props.model) {
55
- error.debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
56
- return;
57
- }
58
- utils.filterFields(fields, properties).forEach((field) => field.resetField());
59
- };
60
- const clearValidate = (props2 = []) => {
61
- utils.filterFields(fields, props2).forEach((field) => field.clearValidate());
62
- };
63
- const isValidatable = vue.computed(() => {
64
- const hasModel = !!props.model;
65
- if (!hasModel) {
66
- error.debugWarn(COMPONENT_NAME, "model is required for validate to work.");
67
- }
68
- return hasModel;
69
- });
70
- const obtainValidateFields = (props2) => {
71
- if (fields.length === 0)
72
- return [];
73
- const filteredFields = utils.filterFields(fields, props2);
74
- if (!filteredFields.length) {
75
- error.debugWarn(COMPONENT_NAME, "please pass correct props!");
76
- return [];
77
- }
78
- return filteredFields;
79
- };
80
- const validate = async (callback) => validateField(void 0, callback);
81
- const doValidateField = async (props2 = []) => {
82
- if (!isValidatable.value)
83
- return false;
84
- const fields2 = obtainValidateFields(props2);
85
- if (fields2.length === 0)
86
- return true;
87
- let validationErrors = {};
88
- for (const field of fields2) {
89
- try {
90
- await field.validate("");
91
- } catch (fields3) {
92
- validationErrors = {
93
- ...validationErrors,
94
- ...fields3
95
- };
96
- }
97
- }
98
- if (Object.keys(validationErrors).length === 0)
99
- return true;
100
- return Promise.reject(validationErrors);
101
- };
102
- const validateField = async (modelProps = [], callback) => {
103
- const shouldThrow = !shared.isFunction(callback);
104
- try {
105
- const result = await doValidateField(modelProps);
106
- if (result === true) {
107
- await (callback == null ? void 0 : callback(result));
108
- }
109
- return result;
110
- } catch (e) {
111
- if (e instanceof Error)
112
- throw e;
113
- const invalidFields = e;
114
- if (props.scrollToError) {
115
- scrollToField(Object.keys(invalidFields)[0]);
116
- }
117
- await (callback == null ? void 0 : callback(false, invalidFields));
118
- return shouldThrow && Promise.reject(invalidFields);
119
- }
120
- };
121
- const scrollToField = (prop) => {
122
- var _a;
123
- const field = utils.filterFields(fields, prop)[0];
124
- if (field) {
125
- (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
126
- }
127
- };
128
- vue.watch(() => props.rules, () => {
129
- if (props.validateOnRuleChange) {
130
- validate().catch((err) => error.debugWarn(err));
131
- }
132
- }, { deep: true });
133
- vue.provide(constants.formContextKey, vue.reactive({
134
- ...vue.toRefs(props),
135
- emit,
136
- resetFields,
137
- clearValidate,
138
- validateField,
139
- getField,
140
- addField,
141
- removeField,
142
- ...utils.useFormLabelWidth()
143
- }));
144
- expose({
145
- validate,
146
- validateField,
147
- resetFields,
148
- clearValidate,
149
- scrollToField,
150
- fields
151
- });
152
- return (_ctx, _cache) => {
153
- return vue.openBlock(), vue.createElementBlock("form", {
154
- class: vue.normalizeClass(vue.unref(formClasses))
155
- }, [
156
- vue.renderSlot(_ctx.$slots, "default")
157
- ], 2);
158
- };
19
+ const formProps = runtime.buildProps({
20
+ ...formMetaProps,
21
+ model: Object,
22
+ rules: {
23
+ type: runtime.definePropType(Object)
24
+ },
25
+ labelPosition: {
26
+ type: String,
27
+ values: ["left", "right", "top"],
28
+ default: "right"
29
+ },
30
+ requireAsteriskPosition: {
31
+ type: String,
32
+ values: ["left", "right"],
33
+ default: "left"
34
+ },
35
+ labelWidth: {
36
+ type: [String, Number],
37
+ default: ""
38
+ },
39
+ labelSuffix: {
40
+ type: String,
41
+ default: ""
42
+ },
43
+ inline: Boolean,
44
+ inlineMessage: Boolean,
45
+ statusIcon: Boolean,
46
+ showMessage: {
47
+ type: Boolean,
48
+ default: true
49
+ },
50
+ validateOnRuleChange: {
51
+ type: Boolean,
52
+ default: true
53
+ },
54
+ hideRequiredAsterisk: Boolean,
55
+ scrollToError: Boolean,
56
+ scrollIntoViewOptions: {
57
+ type: [Object, Boolean]
159
58
  }
160
59
  });
161
- var Form = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "form.vue"]]);
60
+ const formEmits = {
61
+ validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && types.isBoolean(isValid) && shared.isString(message)
62
+ };
162
63
 
163
- exports["default"] = Form;
64
+ exports.formEmits = formEmits;
65
+ exports.formMetaProps = formMetaProps;
66
+ exports.formProps = formProps;
164
67
  //# sourceMappingURL=form2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form2.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 } 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 }\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","isFunction","watch","provide","reactive","toRefs","useFormLabelWidth"],"mappings":";;;;;;;;;;;;;;;;;;uCA0Bc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AAIA,IAAA,MAAM,SAA4B,EAAC,CAAA;AAEnC,IAAA,MAAM,WAAWA,8BAAY,EAAA,CAAA;AAC7B,IAAM,MAAA,EAAA,GAAKC,mBAAa,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAM,MAAA,EAAE,eAAe,MAAW,EAAA,GAAA,KAAA,CAAA;AAClC,MAAO,OAAA;AAAA,QACL,GAAG,CAAE,EAAA;AAAA,QAGL,EAAG,CAAA,CAAA,CAAE,QAAS,CAAA,KAAA,IAAS,SAAS,CAAA;AAAA,QAChC;AAAA,UACE,CAAC,EAAA,CAAG,CAAE,CAAA,CAAA,MAAA,EAAS,eAAe,CAAI,GAAA,aAAA;AAAA,UAClC,CAAC,EAAA,CAAG,CAAE,CAAA,QAAQ,CAAI,GAAA,MAAA;AAAA,SACpB;AAAA,OACF,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAoC,CAAC,IAAS,KAAA;AAClD,MAAA,OAAO,OAAO,IAAK,CAAA,CAAC,KAAU,KAAA,KAAA,CAAM,SAAS,IAAI,CAAA,CAAA;AAAA,KACnD,CAAA;AAEA,IAAM,MAAA,QAAA,GAAoC,CAAC,KAAU,KAAA;AACnD,MAAA,MAAA,CAAO,KAAK,KAAK,CAAA,CAAA;AAAA,KACnB,CAAA;AAEA,IAAM,MAAA,WAAA,GAA0C,CAAC,KAAU,KAAA;AACzD,MAAA,IAAI,MAAM,IAAM,EAAA;AACd,QAAA,MAAA,CAAO,MAAO,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAK,GAAG,CAAC,CAAA,CAAA;AAAA,OACxC;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,WAA0C,GAAA,CAAC,UAAa,GAAA,EAAO,KAAA;AACnE,MAAI,IAAA,CAAC,MAAM,KAAO,EAAA;AAChB,QAAAC,eAAA,CAAU,gBAAgB,4CAA4C,CAAA,CAAA;AACtE,QAAA,OAAA;AAAA,OACF;AACA,MAAaC,kBAAA,CAAA,MAAA,EAAQ,UAAU,CAAE,CAAA,OAAA,CAAQ,CAAC,KAAU,KAAA,KAAA,CAAM,YAAY,CAAA,CAAA;AAAA,KACxE,CAAA;AAEA,IAAA,MAAM,aAA8C,GAAA,CAAC,MAAQ,GAAA,EAAO,KAAA;AAClE,MAAaA,kBAAA,CAAA,MAAA,EAAQ,MAAK,CAAE,CAAA,OAAA,CAAQ,CAAC,KAAU,KAAA,KAAA,CAAM,eAAe,CAAA,CAAA;AAAA,KACtE,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgBF,aAAS,MAAM;AACnC,MAAM,MAAA,QAAA,GAAW,CAAC,CAAC,KAAM,CAAA,KAAA,CAAA;AACzB,MAAA,IAAI,CAAC,QAAU,EAAA;AACb,QAAAC,eAAA,CAAU,gBAAgB,yCAAyC,CAAA,CAAA;AAAA,OACrE;AACA,MAAO,OAAA,QAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,oBAAA,GAAuB,CAAC,MAAmC,KAAA;AAC/D,MAAA,IAAI,OAAO,MAAW,KAAA,CAAA;AAAG,QAAA,OAAO,EAAC,CAAA;AAEjC,MAAM,MAAA,cAAA,GAAiBC,kBAAa,CAAA,MAAA,EAAQ,MAAK,CAAA,CAAA;AACjD,MAAI,IAAA,CAAC,eAAe,MAAQ,EAAA;AAC1B,QAAAD,eAAA,CAAU,gBAAgB,4BAA4B,CAAA,CAAA;AACtD,QAAA,OAAO,EAAC,CAAA;AAAA,OACV;AACA,MAAO,OAAA,cAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,MAAM,QAAW,GAAA,OACf,QACyB,KAAA,aAAA,CAAc,QAAW,QAAQ,CAAA,CAAA;AAE5D,IAAA,MAAM,eAAkB,GAAA,OACtB,MAAiC,GAAA,EACZ,KAAA;AACrB,MAAA,IAAI,CAAC,aAAc,CAAA,KAAA;AAAO,QAAO,OAAA,KAAA,CAAA;AAEjC,MAAM,MAAA,OAAA,GAAS,qBAAqB,MAAK,CAAA,CAAA;AACzC,MAAA,IAAI,QAAO,MAAW,KAAA,CAAA;AAAG,QAAO,OAAA,IAAA,CAAA;AAEhC,MAAA,IAAI,mBAAwC,EAAC,CAAA;AAC7C,MAAA,KAAA,MAAW,SAAS,OAAQ,EAAA;AAC1B,QAAI,IAAA;AACF,UAAM,MAAA,KAAA,CAAM,SAAS,EAAE,CAAA,CAAA;AAAA,iBAChB,OAAP,EAAA;AACA,UAAmB,gBAAA,GAAA;AAAA,YACjB,GAAG,gBAAA;AAAA,YACH,GAAI,OAAA;AAAA,WACN,CAAA;AAAA,SACF;AAAA,OACF;AAEA,MAAA,IAAI,MAAO,CAAA,IAAA,CAAK,gBAAgB,CAAA,CAAE,MAAW,KAAA,CAAA;AAAG,QAAO,OAAA,IAAA,CAAA;AACvD,MAAO,OAAA,OAAA,CAAQ,OAAO,gBAAgB,CAAA,CAAA;AAAA,KACxC,CAAA;AAEA,IAAA,MAAM,aAA8C,GAAA,OAClD,UAAa,GAAA,IACb,QACG,KAAA;AACH,MAAM,MAAA,WAAA,GAAc,CAACE,iBAAA,CAAW,QAAQ,CAAA,CAAA;AACxC,MAAI,IAAA;AACF,QAAM,MAAA,MAAA,GAAS,MAAM,eAAA,CAAgB,UAAU,CAAA,CAAA;AAE/C,QAAA,IAAI,WAAW,IAAM,EAAA;AACnB,UAAA,mBAAuB,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,SACzB;AACA,QAAO,OAAA,MAAA,CAAA;AAAA,eACA,CAAP,EAAA;AACA,QAAA,IAAI,CAAa,YAAA,KAAA;AAAO,UAAM,MAAA,CAAA,CAAA;AAE9B,QAAA,MAAM,aAAgB,GAAA,CAAA,CAAA;AAEtB,QAAA,IAAI,MAAM,aAAe,EAAA;AACvB,UAAA,aAAA,CAAc,MAAO,CAAA,IAAA,CAAK,aAAa,CAAA,CAAE,CAAE,CAAA,CAAA,CAAA;AAAA,SAC7C;AACA,QAAM,OAAA,QAAA,WAA+B,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AACrC,QAAO,OAAA,WAAA,IAAe,OAAQ,CAAA,MAAA,CAAO,aAAa,CAAA,CAAA;AAAA,OACpD;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,CAAC,IAAuB,KAAA;AAC5C,MAAA,IAAA,EAAM,CAAQ;AACd,MAAA,MAAW,KAAA,GAAAD,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,MAAM,IAAA,KAAA,EAAA;AAA+C,QACvD,CAAA,EAAA,GAAA,KAAA,CAAA,GAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAAA,OACF;AAEA,KACE,CAAA;AAEE,IAAAE,SAAA,CAAI,MAAM,KAAsB,CAAA,KAAA,EAAA,MAAA;AAC9B,MAAA,IAAA,KAAA,CAAA,oBAA0B,EAAA;AAAc,QAC1C,QAAA,EAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAAH,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OAEF;AAGF,KAAA,EAAA,EAAA;AAEW,IACPI,oCAAe,EAAAC,YAAA,CAAA;AAAA,MACf,GAAAC,UAAA,CAAA,KAAA,CAAA;AAAA,MAEA,IAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MAEA,WAAqB;AAAA,MAEzB,GAAAC,uBAAA,EAAA;AAEA,KAAa,CAAA,CAAA,CAAA;AAAA,IAIX,MAAA,CAAA;AAAA,MAIA,QAAA;AAAA,MAIA,aAAA;AAAA,MAIA,WAAA;AAAA,MAIA,aAAA;AAAA,MAIA,aAAA;AAAA,MACD,MAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"form2.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;;;;;;"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var icon$1 = require('./src/icon2.js');
7
- var icon = require('./src/icon.js');
6
+ var icon$1 = require('./src/icon.js');
7
+ var icon = require('./src/icon2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const ElIcon = install.withInstall(icon$1["default"]);
@@ -2,17 +2,45 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
5
6
  require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
7
+ require('../../../hooks/index.js');
8
+ var icon = require('./icon2.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var index = require('../../../hooks/use-namespace/index.js');
11
+ var types = require('../../../utils/types.js');
12
+ var style = require('../../../utils/dom/style.js');
7
13
 
8
- const iconProps = runtime.buildProps({
9
- size: {
10
- type: runtime.definePropType([Number, String])
11
- },
12
- color: {
13
- type: String
14
+ const __default__ = vue.defineComponent({
15
+ name: "ElIcon",
16
+ inheritAttrs: false
17
+ });
18
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
+ ...__default__,
20
+ props: icon.iconProps,
21
+ setup(__props) {
22
+ const props = __props;
23
+ const ns = index.useNamespace("icon");
24
+ const style$1 = vue.computed(() => {
25
+ const { size, color } = props;
26
+ if (!size && !color)
27
+ return {};
28
+ return {
29
+ fontSize: types.isUndefined(size) ? void 0 : style.addUnit(size),
30
+ "--color": color
31
+ };
32
+ });
33
+ return (_ctx, _cache) => {
34
+ return vue.openBlock(), vue.createElementBlock("i", vue.mergeProps({
35
+ class: vue.unref(ns).b(),
36
+ style: vue.unref(style$1)
37
+ }, _ctx.$attrs), [
38
+ vue.renderSlot(_ctx.$slots, "default")
39
+ ], 16);
40
+ };
14
41
  }
15
42
  });
43
+ var Icon = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "icon.vue"]]);
16
44
 
17
- exports.iconProps = iconProps;
45
+ exports["default"] = Icon;
18
46
  //# sourceMappingURL=icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../../../../packages/components/icon/src/icon.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Icon from './icon.vue'\n\nexport const iconProps = buildProps({\n /**\n * @description SVG icon size, size x size\n */\n size: {\n type: definePropType<number | string>([Number, String]),\n },\n /**\n * @description SVG tag's fill attribute\n */\n color: {\n type: String,\n },\n} as const)\nexport type IconProps = ExtractPropTypes<typeof iconProps>\nexport type IconInstance = InstanceType<typeof Icon>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,SAAS,GAAGA,kBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"icon.js","sources":["../../../../../../packages/components/icon/src/icon.vue"],"sourcesContent":["<template>\n <i :class=\"ns.b()\" :style=\"style\" v-bind=\"$attrs\">\n <slot />\n </i>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { addUnit, isUndefined } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { iconProps } from './icon'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElIcon',\n inheritAttrs: false,\n})\nconst props = defineProps(iconProps)\nconst ns = useNamespace('icon')\n\nconst style = computed<CSSProperties>(() => {\n const { size, color } = props\n if (!size && !color) return {}\n\n return {\n fontSize: isUndefined(size) ? undefined : addUnit(size),\n '--color': color,\n }\n})\n</script>\n"],"names":["useNamespace","style","computed","isUndefined","addUnit"],"mappings":";;;;;;;;;;;;;uCAac,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;AAEA,IAAM,MAAA,EAAA,GAAKA,mBAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAAC,OAAA,GAAQC,aAAwB,MAAM;AAC1C,MAAM,MAAA,EAAE,MAAM,KAAU,EAAA,GAAA,KAAA,CAAA;AACxB,MAAI,IAAA,CAAC,QAAQ,CAAC,KAAA;AAAO,QAAA,OAAO,EAAC,CAAA;AAE7B,MAAO,OAAA;AAAA,QACL,UAAUC,iBAAY,CAAA,IAAI,CAAI,GAAA,KAAA,CAAA,GAAYC,cAAQ,IAAI,CAAA;AAAA,QACtD,SAAW,EAAA,KAAA;AAAA,OACb,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;"}