@element-plus/nightly 0.0.20240220 → 0.0.20240224

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 (410) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +8 -7
  3. package/dist/index.full.min.js +10 -10
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +10 -10
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +8 -7
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hr.js +1 -1
  93. package/dist/locale/hr.min.js +1 -1
  94. package/dist/locale/hr.min.mjs +1 -1
  95. package/dist/locale/hr.mjs +1 -1
  96. package/dist/locale/hu.js +1 -1
  97. package/dist/locale/hu.min.js +1 -1
  98. package/dist/locale/hu.min.mjs +1 -1
  99. package/dist/locale/hu.mjs +1 -1
  100. package/dist/locale/hy-am.js +1 -1
  101. package/dist/locale/hy-am.min.js +1 -1
  102. package/dist/locale/hy-am.min.mjs +1 -1
  103. package/dist/locale/hy-am.mjs +1 -1
  104. package/dist/locale/id.js +1 -1
  105. package/dist/locale/id.min.js +1 -1
  106. package/dist/locale/id.min.mjs +1 -1
  107. package/dist/locale/id.mjs +1 -1
  108. package/dist/locale/it.js +1 -1
  109. package/dist/locale/it.min.js +1 -1
  110. package/dist/locale/it.min.mjs +1 -1
  111. package/dist/locale/it.mjs +1 -1
  112. package/dist/locale/ja.js +1 -1
  113. package/dist/locale/ja.min.js +1 -1
  114. package/dist/locale/ja.min.mjs +1 -1
  115. package/dist/locale/ja.mjs +1 -1
  116. package/dist/locale/kk.js +1 -1
  117. package/dist/locale/kk.min.js +1 -1
  118. package/dist/locale/kk.min.mjs +1 -1
  119. package/dist/locale/kk.mjs +1 -1
  120. package/dist/locale/km.js +1 -1
  121. package/dist/locale/km.min.js +1 -1
  122. package/dist/locale/km.min.mjs +1 -1
  123. package/dist/locale/km.mjs +1 -1
  124. package/dist/locale/ko.js +1 -1
  125. package/dist/locale/ko.min.js +1 -1
  126. package/dist/locale/ko.min.mjs +1 -1
  127. package/dist/locale/ko.mjs +1 -1
  128. package/dist/locale/ku.js +1 -1
  129. package/dist/locale/ku.min.js +1 -1
  130. package/dist/locale/ku.min.mjs +1 -1
  131. package/dist/locale/ku.mjs +1 -1
  132. package/dist/locale/ky.js +1 -1
  133. package/dist/locale/ky.min.js +1 -1
  134. package/dist/locale/ky.min.mjs +1 -1
  135. package/dist/locale/ky.mjs +1 -1
  136. package/dist/locale/lt.js +1 -1
  137. package/dist/locale/lt.min.js +1 -1
  138. package/dist/locale/lt.min.mjs +1 -1
  139. package/dist/locale/lt.mjs +1 -1
  140. package/dist/locale/lv.js +1 -1
  141. package/dist/locale/lv.min.js +1 -1
  142. package/dist/locale/lv.min.mjs +1 -1
  143. package/dist/locale/lv.mjs +1 -1
  144. package/dist/locale/mg.js +1 -1
  145. package/dist/locale/mg.min.js +1 -1
  146. package/dist/locale/mg.min.mjs +1 -1
  147. package/dist/locale/mg.mjs +1 -1
  148. package/dist/locale/mn.js +1 -1
  149. package/dist/locale/mn.min.js +1 -1
  150. package/dist/locale/mn.min.mjs +1 -1
  151. package/dist/locale/mn.mjs +1 -1
  152. package/dist/locale/nb-no.js +1 -1
  153. package/dist/locale/nb-no.min.js +1 -1
  154. package/dist/locale/nb-no.min.mjs +1 -1
  155. package/dist/locale/nb-no.mjs +1 -1
  156. package/dist/locale/nl.js +1 -1
  157. package/dist/locale/nl.min.js +1 -1
  158. package/dist/locale/nl.min.mjs +1 -1
  159. package/dist/locale/nl.mjs +1 -1
  160. package/dist/locale/pa.js +1 -1
  161. package/dist/locale/pa.min.js +1 -1
  162. package/dist/locale/pa.min.mjs +1 -1
  163. package/dist/locale/pa.mjs +1 -1
  164. package/dist/locale/pl.js +1 -1
  165. package/dist/locale/pl.min.js +1 -1
  166. package/dist/locale/pl.min.mjs +1 -1
  167. package/dist/locale/pl.mjs +1 -1
  168. package/dist/locale/pt-br.js +1 -1
  169. package/dist/locale/pt-br.min.js +1 -1
  170. package/dist/locale/pt-br.min.mjs +1 -1
  171. package/dist/locale/pt-br.mjs +1 -1
  172. package/dist/locale/pt.js +1 -1
  173. package/dist/locale/pt.min.js +1 -1
  174. package/dist/locale/pt.min.mjs +1 -1
  175. package/dist/locale/pt.mjs +1 -1
  176. package/dist/locale/ro.js +1 -1
  177. package/dist/locale/ro.min.js +1 -1
  178. package/dist/locale/ro.min.mjs +1 -1
  179. package/dist/locale/ro.mjs +1 -1
  180. package/dist/locale/ru.js +1 -1
  181. package/dist/locale/ru.min.js +1 -1
  182. package/dist/locale/ru.min.mjs +1 -1
  183. package/dist/locale/ru.mjs +1 -1
  184. package/dist/locale/sk.js +1 -1
  185. package/dist/locale/sk.min.js +1 -1
  186. package/dist/locale/sk.min.mjs +1 -1
  187. package/dist/locale/sk.mjs +1 -1
  188. package/dist/locale/sl.js +1 -1
  189. package/dist/locale/sl.min.js +1 -1
  190. package/dist/locale/sl.min.mjs +1 -1
  191. package/dist/locale/sl.mjs +1 -1
  192. package/dist/locale/sr.js +1 -1
  193. package/dist/locale/sr.min.js +1 -1
  194. package/dist/locale/sr.min.mjs +1 -1
  195. package/dist/locale/sr.mjs +1 -1
  196. package/dist/locale/sv.js +1 -1
  197. package/dist/locale/sv.min.js +1 -1
  198. package/dist/locale/sv.min.mjs +1 -1
  199. package/dist/locale/sv.mjs +1 -1
  200. package/dist/locale/sw.js +1 -1
  201. package/dist/locale/sw.min.js +1 -1
  202. package/dist/locale/sw.min.mjs +1 -1
  203. package/dist/locale/sw.mjs +1 -1
  204. package/dist/locale/ta.js +1 -1
  205. package/dist/locale/ta.min.js +1 -1
  206. package/dist/locale/ta.min.mjs +1 -1
  207. package/dist/locale/ta.mjs +1 -1
  208. package/dist/locale/th.js +1 -1
  209. package/dist/locale/th.min.js +1 -1
  210. package/dist/locale/th.min.mjs +1 -1
  211. package/dist/locale/th.mjs +1 -1
  212. package/dist/locale/tk.js +1 -1
  213. package/dist/locale/tk.min.js +1 -1
  214. package/dist/locale/tk.min.mjs +1 -1
  215. package/dist/locale/tk.mjs +1 -1
  216. package/dist/locale/tr.js +1 -1
  217. package/dist/locale/tr.min.js +1 -1
  218. package/dist/locale/tr.min.mjs +1 -1
  219. package/dist/locale/tr.mjs +1 -1
  220. package/dist/locale/ug-cn.js +1 -1
  221. package/dist/locale/ug-cn.min.js +1 -1
  222. package/dist/locale/ug-cn.min.mjs +1 -1
  223. package/dist/locale/ug-cn.mjs +1 -1
  224. package/dist/locale/uk.js +1 -1
  225. package/dist/locale/uk.min.js +1 -1
  226. package/dist/locale/uk.min.mjs +1 -1
  227. package/dist/locale/uk.mjs +1 -1
  228. package/dist/locale/uz-uz.js +1 -1
  229. package/dist/locale/uz-uz.min.js +1 -1
  230. package/dist/locale/uz-uz.min.mjs +1 -1
  231. package/dist/locale/uz-uz.mjs +1 -1
  232. package/dist/locale/vi.js +1 -1
  233. package/dist/locale/vi.min.js +1 -1
  234. package/dist/locale/vi.min.mjs +1 -1
  235. package/dist/locale/vi.mjs +1 -1
  236. package/dist/locale/zh-cn.js +1 -1
  237. package/dist/locale/zh-cn.min.js +1 -1
  238. package/dist/locale/zh-cn.min.mjs +1 -1
  239. package/dist/locale/zh-cn.mjs +1 -1
  240. package/dist/locale/zh-tw.js +1 -1
  241. package/dist/locale/zh-tw.min.js +1 -1
  242. package/dist/locale/zh-tw.min.mjs +1 -1
  243. package/dist/locale/zh-tw.mjs +1 -1
  244. package/es/components/alert/index.d.ts +2 -2
  245. package/es/components/alert/src/alert.vue.d.ts +2 -2
  246. package/es/components/alert/src/alert2.mjs +3 -3
  247. package/es/components/alert/src/alert2.mjs.map +1 -1
  248. package/es/components/breadcrumb/index.mjs +2 -2
  249. package/es/components/breadcrumb/src/breadcrumb-item.mjs +11 -56
  250. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  251. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +56 -11
  252. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  253. package/es/components/cascader-panel/src/index.mjs +1 -1
  254. package/es/components/cascader-panel/src/menu.mjs +1 -1
  255. package/es/components/cascader-panel/src/node.mjs +116 -209
  256. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  257. package/es/components/cascader-panel/src/node2.mjs +209 -116
  258. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  259. package/es/components/cascader-panel/src/store.mjs +1 -1
  260. package/es/components/color-picker/index.mjs +2 -2
  261. package/es/components/color-picker/src/color-picker.mjs +40 -402
  262. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  263. package/es/components/color-picker/src/color-picker2.mjs +402 -40
  264. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  265. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  266. package/es/components/countdown/index.mjs +2 -2
  267. package/es/components/countdown/src/countdown.mjs +23 -74
  268. package/es/components/countdown/src/countdown.mjs.map +1 -1
  269. package/es/components/countdown/src/countdown2.mjs +74 -23
  270. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  271. package/es/components/drawer/index.d.ts +1 -0
  272. package/es/components/drawer/src/drawer.vue.d.ts +1 -0
  273. package/es/components/drawer/src/drawer2.mjs +2 -1
  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 +306 -97
  280. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  281. package/es/components/dropdown/src/dropdown2.mjs +97 -306
  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-item.mjs +43 -318
  285. package/es/components/form/src/form-item.mjs.map +1 -1
  286. package/es/components/form/src/form-item2.mjs +318 -43
  287. package/es/components/form/src/form-item2.mjs.map +1 -1
  288. package/es/components/index.mjs +9 -9
  289. package/es/components/link/index.mjs +2 -2
  290. package/es/components/link/src/link.mjs +51 -25
  291. package/es/components/link/src/link.mjs.map +1 -1
  292. package/es/components/link/src/link2.mjs +25 -51
  293. package/es/components/link/src/link2.mjs.map +1 -1
  294. package/es/components/message/src/instance.mjs +1 -1
  295. package/es/components/message/src/instance.mjs.map +1 -1
  296. package/es/components/popover/src/popover.mjs +1 -1
  297. package/es/components/rate/index.mjs +2 -2
  298. package/es/components/rate/src/rate.mjs +260 -87
  299. package/es/components/rate/src/rate.mjs.map +1 -1
  300. package/es/components/rate/src/rate2.mjs +87 -260
  301. package/es/components/rate/src/rate2.mjs.map +1 -1
  302. package/es/components/steps/index.mjs +2 -2
  303. package/es/components/steps/src/steps.mjs +39 -36
  304. package/es/components/steps/src/steps.mjs.map +1 -1
  305. package/es/components/steps/src/steps2.mjs +36 -39
  306. package/es/components/steps/src/steps2.mjs.map +1 -1
  307. package/es/components/tooltip-v2/index.mjs +2 -2
  308. package/es/components/tooltip-v2/src/tooltip.mjs +20 -73
  309. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  310. package/es/components/tooltip-v2/src/tooltip2.mjs +73 -20
  311. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  312. package/es/components/upload/index.mjs +1 -1
  313. package/es/components/upload/src/upload-list.mjs +29 -178
  314. package/es/components/upload/src/upload-list.mjs.map +1 -1
  315. package/es/components/upload/src/upload-list2.mjs +178 -29
  316. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  317. package/es/components/upload/src/upload2.mjs +1 -1
  318. package/es/index.mjs +9 -9
  319. package/es/version.d.ts +1 -1
  320. package/es/version.mjs +1 -1
  321. package/es/version.mjs.map +1 -1
  322. package/lib/components/alert/index.d.ts +2 -2
  323. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  324. package/lib/components/alert/src/alert2.js +3 -3
  325. package/lib/components/alert/src/alert2.js.map +1 -1
  326. package/lib/components/breadcrumb/index.js +2 -2
  327. package/lib/components/breadcrumb/src/breadcrumb-item.js +11 -56
  328. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  329. package/lib/components/breadcrumb/src/breadcrumb-item2.js +56 -11
  330. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  331. package/lib/components/cascader-panel/src/index.js +1 -1
  332. package/lib/components/cascader-panel/src/menu.js +1 -1
  333. package/lib/components/cascader-panel/src/node.js +116 -209
  334. package/lib/components/cascader-panel/src/node.js.map +1 -1
  335. package/lib/components/cascader-panel/src/node2.js +209 -116
  336. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  337. package/lib/components/cascader-panel/src/store.js +1 -1
  338. package/lib/components/color-picker/index.js +2 -2
  339. package/lib/components/color-picker/src/color-picker.js +40 -400
  340. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  341. package/lib/components/color-picker/src/color-picker2.js +400 -40
  342. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  343. package/lib/components/color-picker/src/components/predefine.js +1 -1
  344. package/lib/components/countdown/index.js +2 -2
  345. package/lib/components/countdown/src/countdown.js +24 -74
  346. package/lib/components/countdown/src/countdown.js.map +1 -1
  347. package/lib/components/countdown/src/countdown2.js +74 -24
  348. package/lib/components/countdown/src/countdown2.js.map +1 -1
  349. package/lib/components/drawer/index.d.ts +1 -0
  350. package/lib/components/drawer/src/drawer.vue.d.ts +1 -0
  351. package/lib/components/drawer/src/drawer2.js +2 -1
  352. package/lib/components/drawer/src/drawer2.js.map +1 -1
  353. package/lib/components/dropdown/index.js +2 -2
  354. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  355. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  356. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  357. package/lib/components/dropdown/src/dropdown.js +306 -106
  358. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  359. package/lib/components/dropdown/src/dropdown2.js +106 -306
  360. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  361. package/lib/components/form/index.js +2 -2
  362. package/lib/components/form/src/form-item.js +44 -322
  363. package/lib/components/form/src/form-item.js.map +1 -1
  364. package/lib/components/form/src/form-item2.js +322 -44
  365. package/lib/components/form/src/form-item2.js.map +1 -1
  366. package/lib/components/index.js +9 -9
  367. package/lib/components/link/index.js +2 -2
  368. package/lib/components/link/src/link.js +51 -26
  369. package/lib/components/link/src/link.js.map +1 -1
  370. package/lib/components/link/src/link2.js +26 -51
  371. package/lib/components/link/src/link2.js.map +1 -1
  372. package/lib/components/message/src/instance.js +1 -1
  373. package/lib/components/message/src/instance.js.map +1 -1
  374. package/lib/components/popover/src/popover.js +1 -1
  375. package/lib/components/rate/index.js +2 -2
  376. package/lib/components/rate/src/rate.js +259 -87
  377. package/lib/components/rate/src/rate.js.map +1 -1
  378. package/lib/components/rate/src/rate2.js +87 -259
  379. package/lib/components/rate/src/rate2.js.map +1 -1
  380. package/lib/components/steps/index.js +2 -2
  381. package/lib/components/steps/src/steps.js +39 -37
  382. package/lib/components/steps/src/steps.js.map +1 -1
  383. package/lib/components/steps/src/steps2.js +37 -39
  384. package/lib/components/steps/src/steps2.js.map +1 -1
  385. package/lib/components/tooltip-v2/index.js +2 -2
  386. package/lib/components/tooltip-v2/src/tooltip.js +20 -73
  387. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  388. package/lib/components/tooltip-v2/src/tooltip2.js +73 -20
  389. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  390. package/lib/components/upload/index.js +1 -1
  391. package/lib/components/upload/src/upload-list.js +30 -178
  392. package/lib/components/upload/src/upload-list.js.map +1 -1
  393. package/lib/components/upload/src/upload-list2.js +178 -30
  394. package/lib/components/upload/src/upload-list2.js.map +1 -1
  395. package/lib/components/upload/src/upload2.js +1 -1
  396. package/lib/index.js +9 -9
  397. package/lib/version.d.ts +1 -1
  398. package/lib/version.js +1 -1
  399. package/lib/version.js.map +1 -1
  400. package/package.json +2 -2
  401. package/theme-chalk/el-alert.css +1 -1
  402. package/theme-chalk/el-message.css +1 -1
  403. package/theme-chalk/el-select-v2.css +1 -1
  404. package/theme-chalk/el-select.css +1 -1
  405. package/theme-chalk/index.css +1 -1
  406. package/theme-chalk/src/alert.scss +13 -9
  407. package/theme-chalk/src/common/var.scss +7 -5
  408. package/theme-chalk/src/message.scss +1 -14
  409. package/theme-chalk/src/select.scss +4 -0
  410. package/web-types.json +1 -1
@@ -2,53 +2,331 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../constants/index.js');
5
+ var vue = require('vue');
6
+ var AsyncValidator = require('async-validator');
7
+ var lodashUnified = require('lodash-unified');
8
+ var core = require('@vueuse/core');
6
9
  require('../../../utils/index.js');
7
- var runtime = require('../../../utils/vue/props/runtime.js');
8
- var size = require('../../../constants/size.js');
10
+ require('../../../hooks/index.js');
11
+ require('./hooks/index.js');
12
+ var formItem = require('./form-item.js');
13
+ var formLabelWrap = require('./form-label-wrap.js');
14
+ var constants = require('./constants.js');
15
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
16
+ var useFormCommonProps = require('./hooks/use-form-common-props.js');
17
+ var index = require('../../../hooks/use-namespace/index.js');
18
+ var index$1 = require('../../../hooks/use-id/index.js');
19
+ var style = require('../../../utils/dom/style.js');
20
+ var types = require('../../../utils/types.js');
21
+ var shared = require('@vue/shared');
22
+ var objects = require('../../../utils/objects.js');
9
23
 
10
- const formItemValidateStates = [
11
- "",
12
- "error",
13
- "validating",
14
- "success"
15
- ];
16
- const formItemProps = runtime.buildProps({
17
- label: String,
18
- labelWidth: {
19
- type: [String, Number],
20
- default: ""
21
- },
22
- prop: {
23
- type: runtime.definePropType([String, Array])
24
- },
25
- required: {
26
- type: Boolean,
27
- default: void 0
28
- },
29
- rules: {
30
- type: runtime.definePropType([Object, Array])
31
- },
32
- error: String,
33
- validateStatus: {
34
- type: String,
35
- values: formItemValidateStates
36
- },
37
- for: String,
38
- inlineMessage: {
39
- type: [String, Boolean],
40
- default: ""
41
- },
42
- showMessage: {
43
- type: Boolean,
44
- default: true
45
- },
46
- size: {
47
- type: String,
48
- values: size.componentSizes
24
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
25
+
26
+ var AsyncValidator__default = /*#__PURE__*/_interopDefaultLegacy(AsyncValidator);
27
+
28
+ const _hoisted_1 = ["role", "aria-labelledby"];
29
+ const __default__ = vue.defineComponent({
30
+ name: "ElFormItem"
31
+ });
32
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
33
+ ...__default__,
34
+ props: formItem.formItemProps,
35
+ setup(__props, { expose }) {
36
+ const props = __props;
37
+ const slots = vue.useSlots();
38
+ const formContext = vue.inject(constants.formContextKey, void 0);
39
+ const parentFormItemContext = vue.inject(constants.formItemContextKey, void 0);
40
+ const _size = useFormCommonProps.useFormSize(void 0, { formItem: false });
41
+ const ns = index.useNamespace("form-item");
42
+ const labelId = index$1.useId().value;
43
+ const inputIds = vue.ref([]);
44
+ const validateState = vue.ref("");
45
+ const validateStateDebounced = core.refDebounced(validateState, 100);
46
+ const validateMessage = vue.ref("");
47
+ const formItemRef = vue.ref();
48
+ let initialValue = void 0;
49
+ let isResettingField = false;
50
+ const labelStyle = vue.computed(() => {
51
+ if ((formContext == null ? void 0 : formContext.labelPosition) === "top") {
52
+ return {};
53
+ }
54
+ const labelWidth = style.addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
55
+ if (labelWidth)
56
+ return { width: labelWidth };
57
+ return {};
58
+ });
59
+ const contentStyle = vue.computed(() => {
60
+ if ((formContext == null ? void 0 : formContext.labelPosition) === "top" || (formContext == null ? void 0 : formContext.inline)) {
61
+ return {};
62
+ }
63
+ if (!props.label && !props.labelWidth && isNested) {
64
+ return {};
65
+ }
66
+ const labelWidth = style.addUnit(props.labelWidth || (formContext == null ? void 0 : formContext.labelWidth) || "");
67
+ if (!props.label && !slots.label) {
68
+ return { marginLeft: labelWidth };
69
+ }
70
+ return {};
71
+ });
72
+ const formItemClasses = vue.computed(() => [
73
+ ns.b(),
74
+ ns.m(_size.value),
75
+ ns.is("error", validateState.value === "error"),
76
+ ns.is("validating", validateState.value === "validating"),
77
+ ns.is("success", validateState.value === "success"),
78
+ ns.is("required", isRequired.value || props.required),
79
+ ns.is("no-asterisk", formContext == null ? void 0 : formContext.hideRequiredAsterisk),
80
+ (formContext == null ? void 0 : formContext.requireAsteriskPosition) === "right" ? "asterisk-right" : "asterisk-left",
81
+ { [ns.m("feedback")]: formContext == null ? void 0 : formContext.statusIcon }
82
+ ]);
83
+ const _inlineMessage = vue.computed(() => types.isBoolean(props.inlineMessage) ? props.inlineMessage : (formContext == null ? void 0 : formContext.inlineMessage) || false);
84
+ const validateClasses = vue.computed(() => [
85
+ ns.e("error"),
86
+ { [ns.em("error", "inline")]: _inlineMessage.value }
87
+ ]);
88
+ const propString = vue.computed(() => {
89
+ if (!props.prop)
90
+ return "";
91
+ return shared.isString(props.prop) ? props.prop : props.prop.join(".");
92
+ });
93
+ const hasLabel = vue.computed(() => {
94
+ return !!(props.label || slots.label);
95
+ });
96
+ const labelFor = vue.computed(() => {
97
+ return props.for || (inputIds.value.length === 1 ? inputIds.value[0] : void 0);
98
+ });
99
+ const isGroup = vue.computed(() => {
100
+ return !labelFor.value && hasLabel.value;
101
+ });
102
+ const isNested = !!parentFormItemContext;
103
+ const fieldValue = vue.computed(() => {
104
+ const model = formContext == null ? void 0 : formContext.model;
105
+ if (!model || !props.prop) {
106
+ return;
107
+ }
108
+ return objects.getProp(model, props.prop).value;
109
+ });
110
+ const normalizedRules = vue.computed(() => {
111
+ const { required } = props;
112
+ const rules = [];
113
+ if (props.rules) {
114
+ rules.push(...lodashUnified.castArray(props.rules));
115
+ }
116
+ const formRules = formContext == null ? void 0 : formContext.rules;
117
+ if (formRules && props.prop) {
118
+ const _rules = objects.getProp(formRules, props.prop).value;
119
+ if (_rules) {
120
+ rules.push(...lodashUnified.castArray(_rules));
121
+ }
122
+ }
123
+ if (required !== void 0) {
124
+ const requiredRules = rules.map((rule, i) => [rule, i]).filter(([rule]) => Object.keys(rule).includes("required"));
125
+ if (requiredRules.length > 0) {
126
+ for (const [rule, i] of requiredRules) {
127
+ if (rule.required === required)
128
+ continue;
129
+ rules[i] = { ...rule, required };
130
+ }
131
+ } else {
132
+ rules.push({ required });
133
+ }
134
+ }
135
+ return rules;
136
+ });
137
+ const validateEnabled = vue.computed(() => normalizedRules.value.length > 0);
138
+ const getFilteredRule = (trigger) => {
139
+ const rules = normalizedRules.value;
140
+ return rules.filter((rule) => {
141
+ if (!rule.trigger || !trigger)
142
+ return true;
143
+ if (Array.isArray(rule.trigger)) {
144
+ return rule.trigger.includes(trigger);
145
+ } else {
146
+ return rule.trigger === trigger;
147
+ }
148
+ }).map(({ trigger: trigger2, ...rule }) => rule);
149
+ };
150
+ const isRequired = vue.computed(() => normalizedRules.value.some((rule) => rule.required));
151
+ const shouldShowError = vue.computed(() => {
152
+ var _a;
153
+ return validateStateDebounced.value === "error" && props.showMessage && ((_a = formContext == null ? void 0 : formContext.showMessage) != null ? _a : true);
154
+ });
155
+ const currentLabel = vue.computed(() => `${props.label || ""}${(formContext == null ? void 0 : formContext.labelSuffix) || ""}`);
156
+ const setValidationState = (state) => {
157
+ validateState.value = state;
158
+ };
159
+ const onValidationFailed = (error) => {
160
+ var _a, _b;
161
+ const { errors, fields } = error;
162
+ if (!errors || !fields) {
163
+ console.error(error);
164
+ }
165
+ setValidationState("error");
166
+ validateMessage.value = errors ? (_b = (_a = errors == null ? void 0 : errors[0]) == null ? void 0 : _a.message) != null ? _b : `${props.prop} is required` : "";
167
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, false, validateMessage.value);
168
+ };
169
+ const onValidationSucceeded = () => {
170
+ setValidationState("success");
171
+ formContext == null ? void 0 : formContext.emit("validate", props.prop, true, "");
172
+ };
173
+ const doValidate = async (rules) => {
174
+ const modelName = propString.value;
175
+ const validator = new AsyncValidator__default["default"]({
176
+ [modelName]: rules
177
+ });
178
+ return validator.validate({ [modelName]: fieldValue.value }, { firstFields: true }).then(() => {
179
+ onValidationSucceeded();
180
+ return true;
181
+ }).catch((err) => {
182
+ onValidationFailed(err);
183
+ return Promise.reject(err);
184
+ });
185
+ };
186
+ const validate = async (trigger, callback) => {
187
+ if (isResettingField || !props.prop) {
188
+ return false;
189
+ }
190
+ const hasCallback = shared.isFunction(callback);
191
+ if (!validateEnabled.value) {
192
+ callback == null ? void 0 : callback(false);
193
+ return false;
194
+ }
195
+ const rules = getFilteredRule(trigger);
196
+ if (rules.length === 0) {
197
+ callback == null ? void 0 : callback(true);
198
+ return true;
199
+ }
200
+ setValidationState("validating");
201
+ return doValidate(rules).then(() => {
202
+ callback == null ? void 0 : callback(true);
203
+ return true;
204
+ }).catch((err) => {
205
+ const { fields } = err;
206
+ callback == null ? void 0 : callback(false, fields);
207
+ return hasCallback ? false : Promise.reject(fields);
208
+ });
209
+ };
210
+ const clearValidate = () => {
211
+ setValidationState("");
212
+ validateMessage.value = "";
213
+ isResettingField = false;
214
+ };
215
+ const resetField = async () => {
216
+ const model = formContext == null ? void 0 : formContext.model;
217
+ if (!model || !props.prop)
218
+ return;
219
+ const computedValue = objects.getProp(model, props.prop);
220
+ isResettingField = true;
221
+ computedValue.value = lodashUnified.clone(initialValue);
222
+ await vue.nextTick();
223
+ clearValidate();
224
+ isResettingField = false;
225
+ };
226
+ const addInputId = (id) => {
227
+ if (!inputIds.value.includes(id)) {
228
+ inputIds.value.push(id);
229
+ }
230
+ };
231
+ const removeInputId = (id) => {
232
+ inputIds.value = inputIds.value.filter((listId) => listId !== id);
233
+ };
234
+ vue.watch(() => props.error, (val) => {
235
+ validateMessage.value = val || "";
236
+ setValidationState(val ? "error" : "");
237
+ }, { immediate: true });
238
+ vue.watch(() => props.validateStatus, (val) => setValidationState(val || ""));
239
+ const context = vue.reactive({
240
+ ...vue.toRefs(props),
241
+ $el: formItemRef,
242
+ size: _size,
243
+ validateState,
244
+ labelId,
245
+ inputIds,
246
+ isGroup,
247
+ hasLabel,
248
+ fieldValue,
249
+ addInputId,
250
+ removeInputId,
251
+ resetField,
252
+ clearValidate,
253
+ validate
254
+ });
255
+ vue.provide(constants.formItemContextKey, context);
256
+ vue.onMounted(() => {
257
+ if (props.prop) {
258
+ formContext == null ? void 0 : formContext.addField(context);
259
+ initialValue = lodashUnified.clone(fieldValue.value);
260
+ }
261
+ });
262
+ vue.onBeforeUnmount(() => {
263
+ formContext == null ? void 0 : formContext.removeField(context);
264
+ });
265
+ expose({
266
+ size: _size,
267
+ validateMessage,
268
+ validateState,
269
+ validate,
270
+ clearValidate,
271
+ resetField
272
+ });
273
+ return (_ctx, _cache) => {
274
+ var _a;
275
+ return vue.openBlock(), vue.createElementBlock("div", {
276
+ ref_key: "formItemRef",
277
+ ref: formItemRef,
278
+ class: vue.normalizeClass(vue.unref(formItemClasses)),
279
+ role: vue.unref(isGroup) ? "group" : void 0,
280
+ "aria-labelledby": vue.unref(isGroup) ? vue.unref(labelId) : void 0
281
+ }, [
282
+ vue.createVNode(vue.unref(formLabelWrap["default"]), {
283
+ "is-auto-width": vue.unref(labelStyle).width === "auto",
284
+ "update-all": ((_a = vue.unref(formContext)) == null ? void 0 : _a.labelWidth) === "auto"
285
+ }, {
286
+ default: vue.withCtx(() => [
287
+ vue.unref(hasLabel) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(labelFor) ? "label" : "div"), {
288
+ key: 0,
289
+ id: vue.unref(labelId),
290
+ for: vue.unref(labelFor),
291
+ class: vue.normalizeClass(vue.unref(ns).e("label")),
292
+ style: vue.normalizeStyle(vue.unref(labelStyle))
293
+ }, {
294
+ default: vue.withCtx(() => [
295
+ vue.renderSlot(_ctx.$slots, "label", { label: vue.unref(currentLabel) }, () => [
296
+ vue.createTextVNode(vue.toDisplayString(vue.unref(currentLabel)), 1)
297
+ ])
298
+ ]),
299
+ _: 3
300
+ }, 8, ["id", "for", "class", "style"])) : vue.createCommentVNode("v-if", true)
301
+ ]),
302
+ _: 3
303
+ }, 8, ["is-auto-width", "update-all"]),
304
+ vue.createElementVNode("div", {
305
+ class: vue.normalizeClass(vue.unref(ns).e("content")),
306
+ style: vue.normalizeStyle(vue.unref(contentStyle))
307
+ }, [
308
+ vue.renderSlot(_ctx.$slots, "default"),
309
+ vue.createVNode(vue.TransitionGroup, {
310
+ name: `${vue.unref(ns).namespace.value}-zoom-in-top`
311
+ }, {
312
+ default: vue.withCtx(() => [
313
+ vue.unref(shouldShowError) ? vue.renderSlot(_ctx.$slots, "error", {
314
+ key: 0,
315
+ error: validateMessage.value
316
+ }, () => [
317
+ vue.createElementVNode("div", {
318
+ class: vue.normalizeClass(vue.unref(validateClasses))
319
+ }, vue.toDisplayString(validateMessage.value), 3)
320
+ ]) : vue.createCommentVNode("v-if", true)
321
+ ]),
322
+ _: 3
323
+ }, 8, ["name"])
324
+ ], 6)
325
+ ], 10, _hoisted_1);
326
+ };
49
327
  }
50
328
  });
329
+ var FormItem = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "form-item.vue"]]);
51
330
 
52
- exports.formItemProps = formItemProps;
53
- exports.formItemValidateStates = formItemValidateStates;
331
+ exports["default"] = FormItem;
54
332
  //# sourceMappingURL=form-item2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-item2.js","sources":["../../../../../../packages/components/form/src/form-item.ts"],"sourcesContent":["import { componentSizes } from '@element-plus/constants'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemRule } from './types'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable<string>\n\nexport const formItemProps = buildProps({\n /**\n * @description Label text.\n */\n label: String,\n /**\n * @description Width of label, e.g. `'50px'`. `'auto'` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description A key of `model`. It could be an array of property paths (e.g `['a', 'b', '0']`). In the use of `validate` and `resetFields` method, the attribute is required.\n */\n prop: {\n type: definePropType<FormItemProp>([String, Array]),\n },\n /**\n * @description Whether the field is required or not, will be determined by validation rules if omitted.\n */\n required: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description Validation rules of form, see the [following table](#formitemrule), more advanced usage at [async-validator](https://github.com/yiminghe/async-validator).\n */\n rules: {\n type: definePropType<Arrayable<FormItemRule>>([Object, Array]),\n },\n /**\n * @description Field error message, set its value and the field will validate error and show this message immediately.\n */\n error: String,\n /**\n * @description Validation state of formItem.\n */\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n /**\n * @description Same as for in native label.\n */\n for: String,\n /**\n * @description Inline style validate message.\n */\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Control the size of components in this form-item.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes<typeof formItemProps>\n"],"names":["buildProps","definePropType","componentSizes"],"mappings":";;;;;;;;;AAEY,MAAC,sBAAsB,GAAG;AACtC,EAAE,EAAE;AACJ,EAAE,OAAO;AACT,EAAE,YAAY;AACd,EAAE,SAAS;AACX,EAAE;AACU,MAAC,aAAa,GAAGA,kBAAU,CAAC;AACxC,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzC,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,sBAAsB;AAClC,GAAG;AACH,EAAE,GAAG,EAAE,MAAM;AACb,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAEC,mBAAc;AAC1B,GAAG;AACH,CAAC;;;;;"}
1
+ {"version":3,"file":"form-item2.js","sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div\n ref=\"formItemRef\"\n :class=\"formItemClasses\"\n :role=\"isGroup ? 'group' : undefined\"\n :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext?.labelWidth === 'auto'\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\"\n v-if=\"hasLabel\"\n :id=\"labelId\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </component>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition-group :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n useSlots,\n watch,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { clone } from 'lodash-unified'\nimport { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isBoolean,\n isFunction,\n isString,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport { formItemProps } from './form-item'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from './types'\nimport type { FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = defineProps(formItemProps)\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey, undefined)\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useFormSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateStateDebounced = refDebounced(validateState, 100)\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\n// special inline value.\nlet initialValue: any = undefined\nlet isResettingField = false\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (formContext?.labelPosition === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth || formContext?.labelWidth || '')\n if (labelWidth) return { width: labelWidth }\n return {}\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (formContext?.labelPosition === 'top' || formContext?.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth || formContext?.labelWidth || '')\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext?.hideRequiredAsterisk),\n formContext?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n { [ns.m('feedback')]: formContext?.statusIcon },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext?.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isString(props.prop) ? props.prop : props.prop.join('.')\n})\n\nconst hasLabel = computed<boolean>(() => {\n return !!(props.label || slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for || (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext?.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst normalizedRules = computed(() => {\n const { required } = props\n\n const rules: FormItemRule[] = []\n\n if (props.rules) {\n rules.push(...ensureArray(props.rules))\n }\n\n const formRules = formContext?.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (required !== undefined) {\n const requiredRules = rules\n .map((rule, i) => [rule, i] as const)\n .filter(([rule]) => Object.keys(rule).includes('required'))\n\n if (requiredRules.length > 0) {\n for (const [rule, i] of requiredRules) {\n if (rule.required === required) continue\n rules[i] = { ...rule, required }\n }\n } else {\n rules.push({ required })\n }\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => normalizedRules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = normalizedRules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n normalizedRules.value.some((rule) => rule.required)\n)\n\nconst shouldShowError = computed(\n () =>\n validateStateDebounced.value === 'error' &&\n props.showMessage &&\n (formContext?.showMessage ?? true)\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext?.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? errors?.[0]?.message ?? `${props.prop} is required`\n : ''\n\n formContext?.emit('validate', props.prop!, false, validateMessage.value)\n}\n\nconst onValidationSucceeded = () => {\n setValidationState('success')\n formContext?.emit('validate', props.prop!, true, '')\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n onValidationSucceeded()\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err as FormValidateFailure)\n return Promise.reject(err)\n })\n}\n\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n // skip validation if its resetting\n if (isResettingField || !props.prop) {\n return false\n }\n\n const hasCallback = isFunction(callback)\n if (!validateEnabled.value) {\n callback?.(false)\n return false\n }\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) {\n callback?.(true)\n return true\n }\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return hasCallback ? false : Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n isResettingField = false\n}\n\nconst resetField: FormItemContext['resetField'] = async () => {\n const model = formContext?.model\n if (!model || !props.prop) return\n\n const computedValue = getProp(model, props.prop)\n\n // prevent validation from being triggered\n isResettingField = true\n\n computedValue.value = clone(initialValue)\n\n await nextTick()\n clearValidate()\n\n isResettingField = false\n}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter((listId) => listId !== id)\n}\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n formContext?.addField(context)\n initialValue = clone(fieldValue.value)\n }\n})\n\nonBeforeUnmount(() => {\n formContext?.removeField(context)\n})\n\ndefineExpose({\n /**\n * @description Form item size.\n */\n size: _size,\n /**\n * @description Validation message.\n */\n validateMessage,\n /**\n * @description Validation state.\n */\n validateState,\n /**\n * @description Validate form item.\n */\n validate,\n /**\n * @description Remove validation status of the field.\n */\n clearValidate,\n /**\n * @description Reset current field and remove validation result.\n */\n resetField,\n})\n</script>\n"],"names":["useSlots","inject","formContextKey","formItemContextKey","useFormSize","useNamespace","useId","ref","refDebounced","computed","addUnit","isBoolean","isString","getProp","ensureArray","AsyncValidator","isFunction","clone","nextTick","watch","reactive","toRefs","provide","onMounted","onBeforeUnmount"],"mappings":"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"}
@@ -88,7 +88,7 @@ var avatar = require('./avatar/src/avatar.js');
88
88
  var backtop = require('./backtop/src/backtop.js');
89
89
  var badge = require('./badge/src/badge.js');
90
90
  var breadcrumb = require('./breadcrumb/src/breadcrumb.js');
91
- var breadcrumbItem = require('./breadcrumb/src/breadcrumb-item2.js');
91
+ var breadcrumbItem = require('./breadcrumb/src/breadcrumb-item.js');
92
92
  var constants = require('./breadcrumb/src/constants.js');
93
93
  var button = require('./button/src/button.js');
94
94
  var constants$1 = require('./button/src/constants.js');
@@ -108,12 +108,12 @@ var col = require('./col/src/col.js');
108
108
  var collapse = require('./collapse/src/collapse.js');
109
109
  var collapseItem = require('./collapse/src/collapse-item.js');
110
110
  var constants$4 = require('./collapse/src/constants.js');
111
- var colorPicker = require('./color-picker/src/color-picker2.js');
111
+ var colorPicker = require('./color-picker/src/color-picker.js');
112
112
  var configProvider = require('./config-provider/src/config-provider.js');
113
113
  var configProviderProps = require('./config-provider/src/config-provider-props.js');
114
114
  var constants$5 = require('./config-provider/src/constants.js');
115
115
  var useGlobalConfig = require('./config-provider/src/hooks/use-global-config.js');
116
- var countdown = require('./countdown/src/countdown2.js');
116
+ var countdown = require('./countdown/src/countdown.js');
117
117
  var constants$6 = require('./date-picker/src/constants.js');
118
118
  var datePicker = require('./date-picker/src/props/date-picker.js');
119
119
  var description = require('./descriptions/src/description.js');
@@ -122,11 +122,11 @@ var dialog = require('./dialog/src/dialog.js');
122
122
  var constants$7 = require('./dialog/src/constants.js');
123
123
  var divider = require('./divider/src/divider.js');
124
124
  var drawer = require('./drawer/src/drawer.js');
125
- var dropdown = require('./dropdown/src/dropdown.js');
125
+ var dropdown = require('./dropdown/src/dropdown2.js');
126
126
  var tokens = require('./dropdown/src/tokens.js');
127
127
  var empty = require('./empty/src/empty.js');
128
128
  var form = require('./form/src/form.js');
129
- var formItem = require('./form/src/form-item2.js');
129
+ var formItem = require('./form/src/form-item.js');
130
130
  var constants$8 = require('./form/src/constants.js');
131
131
  var useFormCommonProps = require('./form/src/hooks/use-form-common-props.js');
132
132
  var useFormItem = require('./form/src/hooks/use-form-item.js');
@@ -135,7 +135,7 @@ var image = require('./image/src/image.js');
135
135
  var imageViewer = require('./image-viewer/src/image-viewer.js');
136
136
  var input = require('./input/src/input.js');
137
137
  var inputNumber = require('./input-number/src/input-number.js');
138
- var link = require('./link/src/link.js');
138
+ var link = require('./link/src/link2.js');
139
139
  var menu = require('./menu/src/menu.js');
140
140
  var menuItem = require('./menu/src/menu-item.js');
141
141
  var menuItemGroup = require('./menu/src/menu-item-group.js');
@@ -158,7 +158,7 @@ var radio = require('./radio/src/radio.js');
158
158
  var radioGroup = require('./radio/src/radio-group.js');
159
159
  var radioButton = require('./radio/src/radio-button.js');
160
160
  var constants$b = require('./radio/src/constants.js');
161
- var rate = require('./rate/src/rate.js');
161
+ var rate = require('./rate/src/rate2.js');
162
162
  var result = require('./result/src/result.js');
163
163
  var row = require('./row/src/row.js');
164
164
  var constants$c = require('./row/src/constants.js');
@@ -176,7 +176,7 @@ var space = require('./space/src/space.js');
176
176
  var useSpace = require('./space/src/use-space.js');
177
177
  var statistic = require('./statistic/src/statistic.js');
178
178
  var item = require('./steps/src/item.js');
179
- var steps = require('./steps/src/steps.js');
179
+ var steps = require('./steps/src/steps2.js');
180
180
  var _switch = require('./switch/src/switch.js');
181
181
  var constants$f = require('./table-v2/src/constants.js');
182
182
  var tableV2 = require('./table-v2/src/table-v2.js');
@@ -204,7 +204,7 @@ var constants$i = require('./tooltip/src/constants.js');
204
204
  var transfer = require('./transfer/src/transfer.js');
205
205
  var upload = require('./upload/src/upload.js');
206
206
  var uploadContent = require('./upload/src/upload-content.js');
207
- var uploadList = require('./upload/src/upload-list2.js');
207
+ var uploadList = require('./upload/src/upload-list.js');
208
208
  var uploadDragger = require('./upload/src/upload-dragger.js');
209
209
  var constants$j = require('./upload/src/constants.js');
210
210
  var fixedSizeList = require('./virtual-list/src/components/fixed-size-list.js');
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var link$1 = require('./src/link2.js');
7
- var link = require('./src/link.js');
6
+ var link$1 = require('./src/link.js');
7
+ var link = require('./src/link2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const ElLink = install.withInstall(link$1["default"]);
@@ -2,34 +2,59 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
7
- var icon = require('../../../utils/vue/icon.js');
5
+ var vue = require('vue');
6
+ var index$1 = require('../../icon/index.js');
7
+ require('../../../hooks/index.js');
8
+ var link = require('./link2.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var index = require('../../../hooks/use-namespace/index.js');
8
11
 
9
- const linkProps = runtime.buildProps({
10
- type: {
11
- type: String,
12
- values: ["primary", "success", "warning", "info", "danger", "default"],
13
- default: "default"
14
- },
15
- underline: {
16
- type: Boolean,
17
- default: true
18
- },
19
- disabled: { type: Boolean, default: false },
20
- href: { type: String, default: "" },
21
- target: {
22
- type: String,
23
- default: "_self"
24
- },
25
- icon: {
26
- type: icon.iconPropType
12
+ const _hoisted_1 = ["href", "target"];
13
+ const __default__ = vue.defineComponent({
14
+ name: "ElLink"
15
+ });
16
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
+ ...__default__,
18
+ props: link.linkProps,
19
+ emits: link.linkEmits,
20
+ setup(__props, { emit }) {
21
+ const props = __props;
22
+ const ns = index.useNamespace("link");
23
+ const linkKls = vue.computed(() => [
24
+ ns.b(),
25
+ ns.m(props.type),
26
+ ns.is("disabled", props.disabled),
27
+ ns.is("underline", props.underline && !props.disabled)
28
+ ]);
29
+ function handleClick(event) {
30
+ if (!props.disabled)
31
+ emit("click", event);
32
+ }
33
+ return (_ctx, _cache) => {
34
+ return vue.openBlock(), vue.createElementBlock("a", {
35
+ class: vue.normalizeClass(vue.unref(linkKls)),
36
+ href: _ctx.disabled || !_ctx.href ? void 0 : _ctx.href,
37
+ target: _ctx.disabled || !_ctx.href ? void 0 : _ctx.target,
38
+ onClick: handleClick
39
+ }, [
40
+ _ctx.icon ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), { key: 0 }, {
41
+ default: vue.withCtx(() => [
42
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.icon)))
43
+ ]),
44
+ _: 1
45
+ })) : vue.createCommentVNode("v-if", true),
46
+ _ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("span", {
47
+ key: 1,
48
+ class: vue.normalizeClass(vue.unref(ns).e("inner"))
49
+ }, [
50
+ vue.renderSlot(_ctx.$slots, "default")
51
+ ], 2)) : vue.createCommentVNode("v-if", true),
52
+ _ctx.$slots.icon ? vue.renderSlot(_ctx.$slots, "icon", { key: 2 }) : vue.createCommentVNode("v-if", true)
53
+ ], 10, _hoisted_1);
54
+ };
27
55
  }
28
56
  });
29
- const linkEmits = {
30
- click: (evt) => evt instanceof MouseEvent
31
- };
57
+ var Link = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "link.vue"]]);
32
58
 
33
- exports.linkEmits = linkEmits;
34
- exports.linkProps = linkProps;
59
+ exports["default"] = Link;
35
60
  //# sourceMappingURL=link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sources":["../../../../../../packages/components/link/src/link.ts"],"sourcesContent":["import { buildProps, iconPropType } from '@element-plus/utils'\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type Link from './link.vue'\n\nexport const linkProps = buildProps({\n /**\n * @description type\n */\n type: {\n type: String,\n values: ['primary', 'success', 'warning', 'info', 'danger', 'default'],\n default: 'default',\n },\n /**\n * @description whether the component has underline\n */\n underline: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the component is disabled\n */\n disabled: { type: Boolean, default: false },\n /**\n * @description same as native hyperlink's `href`\n */\n href: { type: String, default: '' },\n /**\n * @description same as native hyperlink's `target`\n */\n target: {\n type: String as PropType<'_blank' | '_parent' | '_self' | '_top' | string>,\n default: '_self',\n },\n /**\n * @description icon component\n */\n icon: {\n type: iconPropType,\n },\n} as const)\nexport type LinkProps = ExtractPropTypes<typeof linkProps>\n\nexport const linkEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type LinkEmits = typeof linkEmits\n\nexport type LinkInstance = InstanceType<typeof Link>\n"],"names":["buildProps","iconPropType"],"mappings":";;;;;;;;AACY,MAAC,SAAS,GAAGA,kBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;AAC1E,IAAI,OAAO,EAAE,SAAS;AACtB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;AAC7C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;AACrC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAEC,iBAAY;AACtB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C;;;;;"}
1
+ {"version":3,"file":"link.js","sources":["../../../../../../packages/components/link/src/link.vue"],"sourcesContent":["<template>\n <a\n :class=\"linkKls\"\n :href=\"disabled || !href ? undefined : href\"\n :target=\"disabled || !href ? undefined : target\"\n @click=\"handleClick\"\n >\n <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n <span v-if=\"$slots.default\" :class=\"ns.e('inner')\">\n <slot />\n </span>\n\n <slot v-if=\"$slots.icon\" name=\"icon\" />\n </a>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useNamespace } from '@element-plus/hooks'\nimport { linkEmits, linkProps } from './link'\n\ndefineOptions({\n name: 'ElLink',\n})\nconst props = defineProps(linkProps)\nconst emit = defineEmits(linkEmits)\n\nconst ns = useNamespace('link')\n\nconst linkKls = computed(() => [\n ns.b(),\n ns.m(props.type),\n ns.is('disabled', props.disabled),\n ns.is('underline', props.underline && !props.disabled),\n])\n\nfunction handleClick(event: MouseEvent) {\n if (!props.disabled) emit('click', event)\n}\n</script>\n"],"names":["useNamespace","computed"],"mappings":";;;;;;;;;;;;uCAsBc,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAIA,IAAM,MAAA,EAAA,GAAKA,mBAAa,MAAM,CAAA,CAAA;AAE9B,IAAM,MAAA,OAAA,GAAUC,aAAS,MAAM;AAAA,MAC7B,GAAG,CAAE,EAAA;AAAA,MACL,EAAA,CAAG,CAAE,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACf,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,MAChC,GAAG,EAAG,CAAA,WAAA,EAAa,MAAM,SAAa,IAAA,CAAC,MAAM,QAAQ,CAAA;AAAA,KACtD,CAAA,CAAA;AAED,IAAA,SAAA,WAAA,CAAqB,KAAmB,EAAA;AACtC,MAAA,IAAI,CAAC,KAAM,CAAA,QAAA;AAAU,QAAA,IAAA,CAAK,SAAS,KAAK,CAAA,CAAA;AAAA,KAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}