@element-plus/nightly 0.0.20251118 → 0.0.20251119

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 (573) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +13 -7
  3. package/dist/index.full.min.js +5 -5
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +5 -5
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +13 -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/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/affix/index.mjs +2 -2
  277. package/es/components/affix/src/affix.mjs +129 -24
  278. package/es/components/affix/src/affix.mjs.map +1 -1
  279. package/es/components/affix/src/affix2.mjs +24 -129
  280. package/es/components/affix/src/affix2.mjs.map +1 -1
  281. package/es/components/alert/index.mjs +2 -2
  282. package/es/components/alert/src/alert.mjs +96 -40
  283. package/es/components/alert/src/alert.mjs.map +1 -1
  284. package/es/components/alert/src/alert2.mjs +40 -96
  285. package/es/components/alert/src/alert2.mjs.map +1 -1
  286. package/es/components/anchor/index.mjs +2 -2
  287. package/es/components/anchor/src/anchor.mjs +207 -40
  288. package/es/components/anchor/src/anchor.mjs.map +1 -1
  289. package/es/components/anchor/src/anchor2.mjs +40 -207
  290. package/es/components/anchor/src/anchor2.mjs.map +1 -1
  291. package/es/components/avatar/index.mjs +2 -2
  292. package/es/components/avatar/src/avatar.mjs +65 -31
  293. package/es/components/avatar/src/avatar.mjs.map +1 -1
  294. package/es/components/avatar/src/avatar2.mjs +31 -65
  295. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  296. package/es/components/backtop/index.mjs +2 -2
  297. package/es/components/backtop/src/backtop.mjs +53 -21
  298. package/es/components/backtop/src/backtop.mjs.map +1 -1
  299. package/es/components/backtop/src/backtop2.mjs +21 -53
  300. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  301. package/es/components/calendar/src/calendar2.mjs +1 -1
  302. package/es/components/calendar/src/date-table.mjs +89 -31
  303. package/es/components/calendar/src/date-table.mjs.map +1 -1
  304. package/es/components/calendar/src/date-table2.mjs +31 -89
  305. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  306. package/es/components/calendar/src/use-date-table.mjs +1 -1
  307. package/es/components/carousel/index.mjs +2 -2
  308. package/es/components/carousel/src/carousel-item.mjs +7 -69
  309. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  310. package/es/components/carousel/src/carousel-item2.mjs +69 -7
  311. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  312. package/es/components/check-tag/index.mjs +2 -2
  313. package/es/components/check-tag/src/check-tag.mjs +37 -14
  314. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  315. package/es/components/check-tag/src/check-tag2.mjs +14 -37
  316. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  317. package/es/components/dropdown/src/dropdown.mjs +2 -2
  318. package/es/components/form/index.mjs +2 -2
  319. package/es/components/form/src/form.mjs +54 -161
  320. package/es/components/form/src/form.mjs.map +1 -1
  321. package/es/components/form/src/form2.mjs +161 -54
  322. package/es/components/form/src/form2.mjs.map +1 -1
  323. package/es/components/index.mjs +21 -21
  324. package/es/components/input/src/input2.mjs +2 -2
  325. package/es/components/input/src/input2.mjs.map +1 -1
  326. package/es/components/mention/src/mention-dropdown.mjs +166 -15
  327. package/es/components/mention/src/mention-dropdown.mjs.map +1 -1
  328. package/es/components/mention/src/mention-dropdown2.mjs +15 -166
  329. package/es/components/mention/src/mention-dropdown2.mjs.map +1 -1
  330. package/es/components/mention/src/mention2.mjs +1 -1
  331. package/es/components/menu/index.mjs +4 -4
  332. package/es/components/menu/src/menu-item-group.mjs +4 -33
  333. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  334. package/es/components/menu/src/menu-item-group2.mjs +33 -4
  335. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  336. package/es/components/menu/src/menu-item.mjs +15 -101
  337. package/es/components/menu/src/menu-item.mjs.map +1 -1
  338. package/es/components/menu/src/menu-item2.mjs +101 -15
  339. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  340. package/es/components/pagination/src/components/jumper.mjs +7 -58
  341. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  342. package/es/components/pagination/src/components/jumper2.mjs +58 -7
  343. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  344. package/es/components/pagination/src/components/next.mjs +18 -35
  345. package/es/components/pagination/src/components/next.mjs.map +1 -1
  346. package/es/components/pagination/src/components/next2.mjs +35 -18
  347. package/es/components/pagination/src/components/next2.mjs.map +1 -1
  348. package/es/components/pagination/src/pagination.mjs +2 -2
  349. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  350. package/es/components/popconfirm/src/popconfirm2.mjs +3 -1
  351. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  352. package/es/components/popover/src/popover.mjs +1 -1
  353. package/es/components/popper/index.mjs +4 -4
  354. package/es/components/popper/src/popper.mjs +22 -32
  355. package/es/components/popper/src/popper.mjs.map +1 -1
  356. package/es/components/popper/src/popper2.mjs +32 -22
  357. package/es/components/popper/src/popper2.mjs.map +1 -1
  358. package/es/components/popper/src/trigger.mjs +31 -133
  359. package/es/components/popper/src/trigger.mjs.map +1 -1
  360. package/es/components/popper/src/trigger2.mjs +133 -31
  361. package/es/components/popper/src/trigger2.mjs.map +1 -1
  362. package/es/components/radio/index.mjs +2 -2
  363. package/es/components/radio/src/radio-group.mjs +86 -51
  364. package/es/components/radio/src/radio-group.mjs.map +1 -1
  365. package/es/components/radio/src/radio-group2.mjs +51 -86
  366. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  367. package/es/components/slider/index.mjs +2 -2
  368. package/es/components/slider/src/slider.mjs +88 -237
  369. package/es/components/slider/src/slider.mjs.map +1 -1
  370. package/es/components/slider/src/slider2.mjs +237 -88
  371. package/es/components/slider/src/slider2.mjs.map +1 -1
  372. package/es/components/steps/index.mjs +4 -4
  373. package/es/components/steps/src/item.mjs +198 -19
  374. package/es/components/steps/src/item.mjs.map +1 -1
  375. package/es/components/steps/src/item2.mjs +19 -198
  376. package/es/components/steps/src/item2.mjs.map +1 -1
  377. package/es/components/steps/src/steps.mjs +35 -41
  378. package/es/components/steps/src/steps.mjs.map +1 -1
  379. package/es/components/steps/src/steps2.mjs +41 -35
  380. package/es/components/steps/src/steps2.mjs.map +1 -1
  381. package/es/components/tabs/index.mjs +2 -2
  382. package/es/components/tabs/src/tab-pane.mjs +16 -85
  383. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  384. package/es/components/tabs/src/tab-pane2.mjs +85 -16
  385. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  386. package/es/components/time-select/index.mjs +2 -2
  387. package/es/components/time-select/src/time-select.mjs +64 -134
  388. package/es/components/time-select/src/time-select.mjs.map +1 -1
  389. package/es/components/time-select/src/time-select2.mjs +134 -64
  390. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  391. package/es/components/tooltip/index.mjs +1 -1
  392. package/es/components/tooltip/src/tooltip.mjs +2 -2
  393. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  394. package/es/components/tooltip/src/trigger.mjs +81 -16
  395. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  396. package/es/components/tooltip/src/trigger2.mjs +16 -81
  397. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  398. package/es/components/tour/src/mask.mjs +18 -76
  399. package/es/components/tour/src/mask.mjs.map +1 -1
  400. package/es/components/tour/src/mask2.mjs +76 -18
  401. package/es/components/tour/src/mask2.mjs.map +1 -1
  402. package/es/components/tour/src/tour2.mjs +1 -1
  403. package/es/components/tree-v2/src/composables/useTree.d.ts +2 -0
  404. package/es/components/upload/index.mjs +1 -1
  405. package/es/components/upload/src/upload-list.mjs +25 -175
  406. package/es/components/upload/src/upload-list.mjs.map +1 -1
  407. package/es/components/upload/src/upload-list2.mjs +175 -25
  408. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  409. package/es/components/upload/src/upload2.mjs +1 -1
  410. package/es/components/virtual-list/src/builders/build-grid.mjs +3 -1
  411. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  412. package/es/components/virtual-list/src/builders/build-list.d.ts +2 -0
  413. package/es/components/virtual-list/src/builders/build-list.mjs +3 -1
  414. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  415. package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -0
  416. package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -0
  417. package/es/index.mjs +21 -21
  418. package/es/version.d.ts +1 -1
  419. package/es/version.mjs +1 -1
  420. package/es/version.mjs.map +1 -1
  421. package/lib/components/affix/index.js +2 -2
  422. package/lib/components/affix/src/affix.js +129 -25
  423. package/lib/components/affix/src/affix.js.map +1 -1
  424. package/lib/components/affix/src/affix2.js +25 -129
  425. package/lib/components/affix/src/affix2.js.map +1 -1
  426. package/lib/components/alert/index.js +2 -2
  427. package/lib/components/alert/src/alert.js +95 -41
  428. package/lib/components/alert/src/alert.js.map +1 -1
  429. package/lib/components/alert/src/alert2.js +41 -95
  430. package/lib/components/alert/src/alert2.js.map +1 -1
  431. package/lib/components/anchor/index.js +2 -2
  432. package/lib/components/anchor/src/anchor.js +206 -40
  433. package/lib/components/anchor/src/anchor.js.map +1 -1
  434. package/lib/components/anchor/src/anchor2.js +40 -206
  435. package/lib/components/anchor/src/anchor2.js.map +1 -1
  436. package/lib/components/avatar/index.js +2 -2
  437. package/lib/components/avatar/src/avatar.js +65 -32
  438. package/lib/components/avatar/src/avatar.js.map +1 -1
  439. package/lib/components/avatar/src/avatar2.js +32 -65
  440. package/lib/components/avatar/src/avatar2.js.map +1 -1
  441. package/lib/components/backtop/index.js +2 -2
  442. package/lib/components/backtop/src/backtop.js +53 -22
  443. package/lib/components/backtop/src/backtop.js.map +1 -1
  444. package/lib/components/backtop/src/backtop2.js +22 -53
  445. package/lib/components/backtop/src/backtop2.js.map +1 -1
  446. package/lib/components/calendar/src/calendar2.js +1 -1
  447. package/lib/components/calendar/src/date-table.js +89 -35
  448. package/lib/components/calendar/src/date-table.js.map +1 -1
  449. package/lib/components/calendar/src/date-table2.js +35 -89
  450. package/lib/components/calendar/src/date-table2.js.map +1 -1
  451. package/lib/components/calendar/src/use-date-table.js +1 -1
  452. package/lib/components/carousel/index.js +2 -2
  453. package/lib/components/carousel/src/carousel-item.js +7 -69
  454. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  455. package/lib/components/carousel/src/carousel-item2.js +69 -7
  456. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  457. package/lib/components/check-tag/index.js +2 -2
  458. package/lib/components/check-tag/src/check-tag.js +37 -15
  459. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  460. package/lib/components/check-tag/src/check-tag2.js +15 -37
  461. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  462. package/lib/components/dropdown/src/dropdown.js +2 -2
  463. package/lib/components/form/index.js +2 -2
  464. package/lib/components/form/src/form.js +55 -160
  465. package/lib/components/form/src/form.js.map +1 -1
  466. package/lib/components/form/src/form2.js +160 -55
  467. package/lib/components/form/src/form2.js.map +1 -1
  468. package/lib/components/index.js +21 -21
  469. package/lib/components/input/src/input2.js +2 -2
  470. package/lib/components/input/src/input2.js.map +1 -1
  471. package/lib/components/mention/src/mention-dropdown.js +166 -16
  472. package/lib/components/mention/src/mention-dropdown.js.map +1 -1
  473. package/lib/components/mention/src/mention-dropdown2.js +16 -166
  474. package/lib/components/mention/src/mention-dropdown2.js.map +1 -1
  475. package/lib/components/mention/src/mention2.js +1 -1
  476. package/lib/components/menu/index.js +4 -4
  477. package/lib/components/menu/src/menu-item-group.js +4 -33
  478. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  479. package/lib/components/menu/src/menu-item-group2.js +33 -4
  480. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  481. package/lib/components/menu/src/menu-item.js +16 -101
  482. package/lib/components/menu/src/menu-item.js.map +1 -1
  483. package/lib/components/menu/src/menu-item2.js +101 -16
  484. package/lib/components/menu/src/menu-item2.js.map +1 -1
  485. package/lib/components/pagination/src/components/jumper.js +7 -58
  486. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  487. package/lib/components/pagination/src/components/jumper2.js +58 -7
  488. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  489. package/lib/components/pagination/src/components/next.js +18 -35
  490. package/lib/components/pagination/src/components/next.js.map +1 -1
  491. package/lib/components/pagination/src/components/next2.js +35 -18
  492. package/lib/components/pagination/src/components/next2.js.map +1 -1
  493. package/lib/components/pagination/src/pagination.js +2 -2
  494. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  495. package/lib/components/popconfirm/src/popconfirm2.js +3 -1
  496. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  497. package/lib/components/popover/src/popover.js +1 -1
  498. package/lib/components/popper/index.js +4 -4
  499. package/lib/components/popper/src/popper.js +25 -32
  500. package/lib/components/popper/src/popper.js.map +1 -1
  501. package/lib/components/popper/src/popper2.js +32 -25
  502. package/lib/components/popper/src/popper2.js.map +1 -1
  503. package/lib/components/popper/src/trigger.js +32 -133
  504. package/lib/components/popper/src/trigger.js.map +1 -1
  505. package/lib/components/popper/src/trigger2.js +133 -32
  506. package/lib/components/popper/src/trigger2.js.map +1 -1
  507. package/lib/components/radio/index.js +2 -2
  508. package/lib/components/radio/src/radio-group.js +86 -53
  509. package/lib/components/radio/src/radio-group.js.map +1 -1
  510. package/lib/components/radio/src/radio-group2.js +53 -86
  511. package/lib/components/radio/src/radio-group2.js.map +1 -1
  512. package/lib/components/slider/index.js +2 -2
  513. package/lib/components/slider/src/slider.js +89 -237
  514. package/lib/components/slider/src/slider.js.map +1 -1
  515. package/lib/components/slider/src/slider2.js +237 -89
  516. package/lib/components/slider/src/slider2.js.map +1 -1
  517. package/lib/components/steps/index.js +4 -4
  518. package/lib/components/steps/src/item.js +198 -19
  519. package/lib/components/steps/src/item.js.map +1 -1
  520. package/lib/components/steps/src/item2.js +19 -198
  521. package/lib/components/steps/src/item2.js.map +1 -1
  522. package/lib/components/steps/src/steps.js +36 -41
  523. package/lib/components/steps/src/steps.js.map +1 -1
  524. package/lib/components/steps/src/steps2.js +41 -36
  525. package/lib/components/steps/src/steps2.js.map +1 -1
  526. package/lib/components/tabs/index.js +2 -2
  527. package/lib/components/tabs/src/tab-pane.js +16 -85
  528. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  529. package/lib/components/tabs/src/tab-pane2.js +85 -16
  530. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  531. package/lib/components/time-select/index.js +2 -2
  532. package/lib/components/time-select/src/time-select.js +64 -139
  533. package/lib/components/time-select/src/time-select.js.map +1 -1
  534. package/lib/components/time-select/src/time-select2.js +139 -64
  535. package/lib/components/time-select/src/time-select2.js.map +1 -1
  536. package/lib/components/tooltip/index.js +1 -1
  537. package/lib/components/tooltip/src/tooltip.js +2 -2
  538. package/lib/components/tooltip/src/tooltip2.js +1 -1
  539. package/lib/components/tooltip/src/trigger.js +81 -16
  540. package/lib/components/tooltip/src/trigger.js.map +1 -1
  541. package/lib/components/tooltip/src/trigger2.js +16 -81
  542. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  543. package/lib/components/tour/src/mask.js +18 -76
  544. package/lib/components/tour/src/mask.js.map +1 -1
  545. package/lib/components/tour/src/mask2.js +76 -18
  546. package/lib/components/tour/src/mask2.js.map +1 -1
  547. package/lib/components/tour/src/tour2.js +1 -1
  548. package/lib/components/tree-v2/src/composables/useTree.d.ts +2 -0
  549. package/lib/components/upload/index.js +1 -1
  550. package/lib/components/upload/src/upload-list.js +26 -175
  551. package/lib/components/upload/src/upload-list.js.map +1 -1
  552. package/lib/components/upload/src/upload-list2.js +175 -26
  553. package/lib/components/upload/src/upload-list2.js.map +1 -1
  554. package/lib/components/upload/src/upload2.js +1 -1
  555. package/lib/components/virtual-list/src/builders/build-grid.js +3 -1
  556. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  557. package/lib/components/virtual-list/src/builders/build-list.d.ts +2 -0
  558. package/lib/components/virtual-list/src/builders/build-list.js +3 -1
  559. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  560. package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -0
  561. package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -0
  562. package/lib/index.js +21 -21
  563. package/lib/version.d.ts +1 -1
  564. package/lib/version.js +1 -1
  565. package/lib/version.js.map +1 -1
  566. package/package.json +2 -2
  567. package/tags.json +1 -1
  568. package/theme-chalk/el-cascader.css +1 -1
  569. package/theme-chalk/el-rate.css +1 -1
  570. package/theme-chalk/index.css +1 -1
  571. package/theme-chalk/src/cascader.scss +3 -0
  572. package/theme-chalk/src/rate.scss +1 -1
  573. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form ref=\"formRef\" :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, ref, 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 formRef = ref<HTMLElement>()\nconst fields = reactive<FormItemContext[]>([])\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\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 filterFields(fields, [prop])[0]\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error' && !field.error) field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n let result = false\n const shouldThrow = !isFunction(callback)\n try {\n 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 // form-item may be dynamically rendered based on the judgment conditions, and the order in invalidFields is uncertain.\n // Therefore, the first form field with an error is determined by directly looking for the rendered element.\n if (formRef.value) {\n const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`)\n formItem?.scrollIntoView(props.scrollIntoViewOptions)\n }\n }\n !result && (await callback?.(false, invalidFields))\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = getField(prop)\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description Get a field context.\n */\n getField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["ref","reactive","useFormSize","useNamespace","computed","filterFields","debugWarn","props","fields","isFunction","watch","provide","toRefs","useFormLabelWidth","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_export_sfc"],"mappings":"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"}
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, __ExtractPublicPropTypes } 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: definePropType<ScrollIntoViewOptions | boolean>([Object, Boolean]),\n default: true,\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormPropsPublic = __ExtractPublicPropTypes<typeof formProps>\n\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\nexport type FormMetaPropsPublic = __ExtractPublicPropTypes<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,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,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;;;;;;"}
@@ -2,65 +2,170 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var runtime = require('../../../utils/vue/props/runtime.js');
6
- var size = require('../../../constants/size.js');
5
+ var vue = require('vue');
6
+ var constants = require('./constants.js');
7
+ var form = require('./form.js');
8
+ var utils = require('./utils.js');
9
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
10
+ var useFormCommonProps = require('./hooks/use-form-common-props.js');
11
+ var index = require('../../../hooks/use-namespace/index.js');
12
+ var error = require('../../../utils/error.js');
7
13
  var shared = require('@vue/shared');
8
- var types = require('../../../utils/types.js');
9
14
 
10
- const formMetaProps = runtime.buildProps({
11
- size: {
12
- type: String,
13
- values: size.componentSizes
14
- },
15
- disabled: Boolean
15
+ const COMPONENT_NAME = "ElForm";
16
+ const __default__ = vue.defineComponent({
17
+ name: COMPONENT_NAME
16
18
  });
17
- const formProps = runtime.buildProps({
18
- ...formMetaProps,
19
- model: Object,
20
- rules: {
21
- type: runtime.definePropType(Object)
22
- },
23
- labelPosition: {
24
- type: String,
25
- values: ["left", "right", "top"],
26
- default: "right"
27
- },
28
- requireAsteriskPosition: {
29
- type: String,
30
- values: ["left", "right"],
31
- default: "left"
32
- },
33
- labelWidth: {
34
- type: [String, Number],
35
- default: ""
36
- },
37
- labelSuffix: {
38
- type: String,
39
- default: ""
40
- },
41
- inline: Boolean,
42
- inlineMessage: Boolean,
43
- statusIcon: Boolean,
44
- showMessage: {
45
- type: Boolean,
46
- default: true
47
- },
48
- validateOnRuleChange: {
49
- type: Boolean,
50
- default: true
51
- },
52
- hideRequiredAsterisk: Boolean,
53
- scrollToError: Boolean,
54
- scrollIntoViewOptions: {
55
- type: runtime.definePropType([Object, Boolean]),
56
- default: true
19
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
+ ...__default__,
21
+ props: form.formProps,
22
+ emits: form.formEmits,
23
+ setup(__props, { expose, emit }) {
24
+ const props = __props;
25
+ const formRef = vue.ref();
26
+ const fields = vue.reactive([]);
27
+ const formSize = useFormCommonProps.useFormSize();
28
+ const ns = index.useNamespace("form");
29
+ const formClasses = vue.computed(() => {
30
+ const { labelPosition, inline } = props;
31
+ return [
32
+ ns.b(),
33
+ ns.m(formSize.value || "default"),
34
+ {
35
+ [ns.m(`label-${labelPosition}`)]: labelPosition,
36
+ [ns.m("inline")]: inline
37
+ }
38
+ ];
39
+ });
40
+ const getField = (prop) => {
41
+ return utils.filterFields(fields, [prop])[0];
42
+ };
43
+ const addField = (field) => {
44
+ fields.push(field);
45
+ };
46
+ const removeField = (field) => {
47
+ if (field.prop) {
48
+ fields.splice(fields.indexOf(field), 1);
49
+ }
50
+ };
51
+ const resetFields = (properties = []) => {
52
+ if (!props.model) {
53
+ error.debugWarn(COMPONENT_NAME, "model is required for resetFields to work.");
54
+ return;
55
+ }
56
+ utils.filterFields(fields, properties).forEach((field) => field.resetField());
57
+ };
58
+ const clearValidate = (props2 = []) => {
59
+ utils.filterFields(fields, props2).forEach((field) => field.clearValidate());
60
+ };
61
+ const isValidatable = vue.computed(() => {
62
+ const hasModel = !!props.model;
63
+ if (!hasModel) {
64
+ error.debugWarn(COMPONENT_NAME, "model is required for validate to work.");
65
+ }
66
+ return hasModel;
67
+ });
68
+ const obtainValidateFields = (props2) => {
69
+ if (fields.length === 0)
70
+ return [];
71
+ const filteredFields = utils.filterFields(fields, props2);
72
+ if (!filteredFields.length) {
73
+ error.debugWarn(COMPONENT_NAME, "please pass correct props!");
74
+ return [];
75
+ }
76
+ return filteredFields;
77
+ };
78
+ const validate = async (callback) => validateField(void 0, callback);
79
+ const doValidateField = async (props2 = []) => {
80
+ if (!isValidatable.value)
81
+ return false;
82
+ const fields2 = obtainValidateFields(props2);
83
+ if (fields2.length === 0)
84
+ return true;
85
+ let validationErrors = {};
86
+ for (const field of fields2) {
87
+ try {
88
+ await field.validate("");
89
+ if (field.validateState === "error" && !field.error)
90
+ field.resetField();
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
+ let result = false;
104
+ const shouldThrow = !shared.isFunction(callback);
105
+ try {
106
+ result = await doValidateField(modelProps);
107
+ if (result === true) {
108
+ await (callback == null ? void 0 : callback(result));
109
+ }
110
+ return result;
111
+ } catch (e) {
112
+ if (e instanceof Error)
113
+ throw e;
114
+ const invalidFields = e;
115
+ if (props.scrollToError) {
116
+ if (formRef.value) {
117
+ const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`);
118
+ formItem == null ? void 0 : formItem.scrollIntoView(props.scrollIntoViewOptions);
119
+ }
120
+ }
121
+ !result && await (callback == null ? void 0 : callback(false, invalidFields));
122
+ return shouldThrow && Promise.reject(invalidFields);
123
+ }
124
+ };
125
+ const scrollToField = (prop) => {
126
+ var _a;
127
+ const field = getField(prop);
128
+ if (field) {
129
+ (_a = field.$el) == null ? void 0 : _a.scrollIntoView(props.scrollIntoViewOptions);
130
+ }
131
+ };
132
+ vue.watch(() => props.rules, () => {
133
+ if (props.validateOnRuleChange) {
134
+ validate().catch((err) => error.debugWarn(err));
135
+ }
136
+ }, { deep: true, flush: "post" });
137
+ vue.provide(constants.formContextKey, vue.reactive({
138
+ ...vue.toRefs(props),
139
+ emit,
140
+ resetFields,
141
+ clearValidate,
142
+ validateField,
143
+ getField,
144
+ addField,
145
+ removeField,
146
+ ...utils.useFormLabelWidth()
147
+ }));
148
+ expose({
149
+ validate,
150
+ validateField,
151
+ resetFields,
152
+ clearValidate,
153
+ scrollToField,
154
+ getField,
155
+ fields
156
+ });
157
+ return (_ctx, _cache) => {
158
+ return vue.openBlock(), vue.createElementBlock("form", {
159
+ ref_key: "formRef",
160
+ ref: formRef,
161
+ class: vue.normalizeClass(vue.unref(formClasses))
162
+ }, [
163
+ vue.renderSlot(_ctx.$slots, "default")
164
+ ], 2);
165
+ };
57
166
  }
58
167
  });
59
- const formEmits = {
60
- validate: (prop, isValid, message) => (shared.isArray(prop) || shared.isString(prop)) && types.isBoolean(isValid) && shared.isString(message)
61
- };
168
+ var Form = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "form.vue"]]);
62
169
 
63
- exports.formEmits = formEmits;
64
- exports.formMetaProps = formMetaProps;
65
- exports.formProps = formProps;
170
+ exports["default"] = Form;
66
171
  //# sourceMappingURL=form2.js.map
@@ -1 +1 @@
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, __ExtractPublicPropTypes } 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: definePropType<ScrollIntoViewOptions | boolean>([Object, Boolean]),\n default: true,\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\nexport type FormPropsPublic = __ExtractPublicPropTypes<typeof formProps>\n\nexport type FormMetaProps = ExtractPropTypes<typeof formMetaProps>\nexport type FormMetaPropsPublic = __ExtractPublicPropTypes<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,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3C,IAAI,OAAO,EAAE,IAAI;AACjB,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":"form2.js","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <form ref=\"formRef\" :class=\"formClasses\">\n <slot />\n </form>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, reactive, ref, 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 formRef = ref<HTMLElement>()\nconst fields = reactive<FormItemContext[]>([])\n\nconst formSize = useFormSize()\nconst ns = useNamespace('form')\nconst formClasses = computed(() => {\n const { labelPosition, inline } = props\n return [\n ns.b(),\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 filterFields(fields, [prop])[0]\n}\n\nconst addField: FormContext['addField'] = (field) => {\n fields.push(field)\n}\n\nconst removeField: FormContext['removeField'] = (field) => {\n if (field.prop) {\n fields.splice(fields.indexOf(field), 1)\n }\n}\n\nconst resetFields: FormContext['resetFields'] = (properties = []) => {\n if (!props.model) {\n debugWarn(COMPONENT_NAME, 'model is required for resetFields to work.')\n return\n }\n filterFields(fields, properties).forEach((field) => field.resetField())\n}\n\nconst clearValidate: FormContext['clearValidate'] = (props = []) => {\n filterFields(fields, props).forEach((field) => field.clearValidate())\n}\n\nconst isValidatable = computed(() => {\n const hasModel = !!props.model\n if (!hasModel) {\n debugWarn(COMPONENT_NAME, 'model is required for validate to work.')\n }\n return hasModel\n})\n\nconst obtainValidateFields = (props: Arrayable<FormItemProp>) => {\n if (fields.length === 0) return []\n\n const filteredFields = filterFields(fields, props)\n if (!filteredFields.length) {\n debugWarn(COMPONENT_NAME, 'please pass correct props!')\n return []\n }\n return filteredFields\n}\n\nconst validate = async (\n callback?: FormValidateCallback\n): FormValidationResult => validateField(undefined, callback)\n\nconst doValidateField = async (\n props: Arrayable<FormItemProp> = []\n): Promise<boolean> => {\n if (!isValidatable.value) return false\n\n const fields = obtainValidateFields(props)\n if (fields.length === 0) return true\n\n let validationErrors: ValidateFieldsError = {}\n for (const field of fields) {\n try {\n await field.validate('')\n if (field.validateState === 'error' && !field.error) field.resetField()\n } catch (fields) {\n validationErrors = {\n ...validationErrors,\n ...(fields as ValidateFieldsError),\n }\n }\n }\n\n if (Object.keys(validationErrors).length === 0) return true\n return Promise.reject(validationErrors)\n}\n\nconst validateField: FormContext['validateField'] = async (\n modelProps = [],\n callback\n) => {\n let result = false\n const shouldThrow = !isFunction(callback)\n try {\n 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 // form-item may be dynamically rendered based on the judgment conditions, and the order in invalidFields is uncertain.\n // Therefore, the first form field with an error is determined by directly looking for the rendered element.\n if (formRef.value) {\n const formItem = formRef.value.querySelector(`.${ns.b()}-item.is-error`)\n formItem?.scrollIntoView(props.scrollIntoViewOptions)\n }\n }\n !result && (await callback?.(false, invalidFields))\n return shouldThrow && Promise.reject(invalidFields)\n }\n}\n\nconst scrollToField = (prop: FormItemProp) => {\n const field = getField(prop)\n if (field) {\n field.$el?.scrollIntoView(props.scrollIntoViewOptions)\n }\n}\n\nwatch(\n () => props.rules,\n () => {\n if (props.validateOnRuleChange) {\n validate().catch((err) => debugWarn(err))\n }\n },\n { deep: true, flush: 'post' }\n)\n\nprovide(\n formContextKey,\n reactive({\n ...toRefs(props),\n emit,\n\n resetFields,\n clearValidate,\n validateField,\n getField,\n addField,\n removeField,\n\n ...useFormLabelWidth(),\n })\n)\n\ndefineExpose({\n /**\n * @description Validate the whole form. Receives a callback or returns `Promise`.\n */\n validate,\n /**\n * @description Validate specified fields.\n */\n validateField,\n /**\n * @description Reset specified fields and remove validation result.\n */\n resetFields,\n /**\n * @description Clear validation message for specified fields.\n */\n clearValidate,\n /**\n * @description Scroll to the specified fields.\n */\n scrollToField,\n /**\n * @description Get a field context.\n */\n getField,\n /**\n * @description All fields context.\n */\n fields,\n})\n</script>\n"],"names":["ref","reactive","useFormSize","useNamespace","computed","filterFields","debugWarn","props","fields","isFunction","watch","provide","toRefs","useFormLabelWidth","_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_export_sfc"],"mappings":";;;;;;;;;;;;;;;uCA0Bc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AAIA,IAAA,MAAM,UAAUA,OAAiB,EAAA,CAAA;AACjC,IAAM,MAAA,MAAA,GAASC,YAA4B,CAAA,EAAE,CAAA,CAAA;AAE7C,IAAA,MAAM,WAAWC,8BAAY,EAAA,CAAA;AAC7B,IAAM,MAAA,EAAA,GAAKC,mBAAa,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA,WAAA,GAAcC,aAAS,MAAM;AACjC,MAAM,MAAA,EAAE,aAAe,EAAA,MAAA,EAAW,GAAA,KAAA,CAAA;AAClC,MAAO,OAAA;AAAA,QACL,GAAG,CAAE,EAAA;AAAA,QACL,EAAG,CAAA,CAAA,CAAE,QAAS,CAAA,KAAA,IAAS,SAAS,CAAA;AAAA,QAChC;AAAA,UACE,CAAC,EAAG,CAAA,CAAA,CAAE,SAAS,aAAa,CAAA,CAAE,CAAC,GAAG,aAAA;AAAA,UAClC,CAAC,EAAA,CAAG,CAAE,CAAA,QAAQ,CAAC,GAAG,MAAA;AAAA,SACpB;AAAA,OACF,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAoC,CAAC,IAAS,KAAA;AAClD,MAAA,OAAOC,mBAAa,MAAQ,EAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAA;AAAA,KACvC,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,MAAaD,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,CAACE,MAAQ,GAAA,EAAO,KAAA;AAClE,MAAaF,kBAAA,CAAA,MAAA,EAAQE,MAAK,CAAE,CAAA,OAAA,CAAQ,CAAC,KAAU,KAAA,KAAA,CAAM,eAAe,CAAA,CAAA;AAAA,KACtE,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgBH,aAAS,MAAM;AACnC,MAAM,MAAA,QAAA,GAAW,CAAC,CAAC,KAAM,CAAA,KAAA,CAAA;AACzB,MAAA,IAAI,CAAC,QAAU,EAAA;AACb,QAAAE,eAAA,CAAU,gBAAgB,yCAAyC,CAAA,CAAA;AAAA,OACrE;AACA,MAAO,OAAA,QAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,oBAAA,GAAuB,CAACC,MAAmC,KAAA;AAC/D,MAAA,IAAI,MAAO,CAAA,MAAA,KAAW,CAAG;AAEzB,QAAM,OAAA,EAAA,CAAA;AACN,MAAI,oBAAgB,GAAQF,kBAAA,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA;AAC1B,MAAA,IAAA,CAAA,uBAA0B;AAC1B,QAAAC,eAAQ,CAAA,cAAA,EAAA,4BAAA,CAAA,CAAA;AAAA,QACV,OAAA,EAAA,CAAA;AACA,OAAO;AAAA,MACT,OAAA,cAAA,CAAA;AAEA,KAAA,CAAA;AAIA,IAAA,MAAM,QAAkB,GAAA,OAAA,QACW,KAAA,aACZ,CAAA,KAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AACrB,IAAI,MAAA,eAAe,GAAA,OAAc,MAAA,GAAA,EAAA,KAAA;AAEjC,MAAME,IAAAA,CAAAA;AACN,QAAIA,OAAAA,KAAkB,CAAA;AAEtB,MAAA,oCAA6C,CAAA,MAAA,CAAA,CAAA;AAC7C,MAAA,IAAA,OAAW,YAAiB,CAAA;AAC1B,QAAI,OAAA,IAAA,CAAA;AACF,MAAM,IAAA,qBAAe,CAAE;AACvB,MAAA,KAAA,WAA4B,IAAA,OAAA,EAAA;AAA0C,QACxE;AACE,UAAmB,MAAA,KAAA,CAAA,QAAA,CAAA,EAAA,CAAA,CAAA;AAAA,UAAA,IACd,KAAA,CAAA,aAAA,KAAA,OAAA,IAAA,CAAA,KAAA,CAAA,KAAA;AAAA,YACH,KAAIA,CAAAA,UAAAA,EAAAA,CAAAA;AAAA,SACN,CAAA,OAAA,OAAA,EAAA;AAAA,UACF,gBAAA,GAAA;AAAA,YACF,GAAA,gBAAA;AAEA,sBAAgB;AAChB,WAAO,CAAA;AAA+B,SACxC;AAEA,OAAA;AAIE,MAAA,IAAI,MAAS,CAAA,IAAA,CAAA,gBAAA,CAAA,CAAA,MAAA,KAAA,CAAA;AACb,QAAM,OAAA,IAAA,CAAA;AACN,MAAI,OAAA,OAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;AACF,KAAS,CAAA;AAET,IAAA,MAAA,aAAe,GAAM,OAAA,UAAA,GAAA,EAAA,EAAA,QAAA,KAAA;AACnB,MAAA,IAAA,MAAM;AAAiB,MACzB,MAAA,WAAA,GAAA,CAAAC,iBAAA,CAAA,QAAA,CAAA,CAAA;AACA,MAAO,IAAA;AAAA,iBACG,MAAA,eAAA,CAAA,UAAA,CAAA,CAAA;AACV,QAAI,IAAA,MAAA,KAAA;AAEJ,UAAA,OAAsB,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAEtB,SAAA;AAGE,QAAA,cAAY;AACV,OAAM,CAAA,OAAA,CAAA,EAAA;AACN,QAAU,IAAA,CAAA,YAAA,KAAA;AAA0C,UACtD,MAAA,CAAA,CAAA;AAAA,QACF,MAAA,aAAA,GAAA,CAAA,CAAA;AACA,QAAA,IAAY,KAAA,CAAA,aAAiB,EAAA;AAC7B,UAAO,IAAA,OAAA,CAAA,KAAA,EAAA;AAA2C,YACpD,MAAA,QAAA,GAAA,OAAA,CAAA,KAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,cAAA,CAAA,CAAA,CAAA;AAAA,YACF,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,cAAA,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAEA,WAAM;AACJ,SAAM;AACN,QAAA,CAAA,MAAW,IAAA,OAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AACT,QAAM,OAAA,WAAoB,IAAA,OAAA,CAAA,MAA2B,CAAA,aAAA,CAAA,CAAA;AAAA,OACvD;AAAA,KACF,CAAA;AAEA,IAAA,MAAA,aAAA,GAAA,CAAA,IAAA,KAAA;AAAA,MACE,MAAM,CAAM;AAAA,MACZ,MAAM,KAAA,GAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AACJ,MAAA,IAAA;AACE,QAAA,CAAA,EAAA,GAAA,KAAS,IAAQ,KAAC,IAAQ,GAAA,KAAA,CAAA,GAAA,EAAU,eAAI,CAAA,KAAA,CAAA,qBAAA,CAAA,CAAA;AAAA,OAC1C;AAAA,KACF,CAAA;AAAA,IAAAC,SACE,CAAA,MAAY,KAAA,CAAA,KAAO,EAAO,MAAA;AAAA,MAC9B,IAAA,KAAA,CAAA,oBAAA,EAAA;AAEA,QAAA,QAAA,EAAA,CAAA,KAAA,CAAA,CAAA,GAAA,KAAAJ,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,OACE;AAAA,KAAA,EACS,EAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,CAAA,CAAA;AAAA,IACPK,WAAG,yBAAY,EAAAV,YAAA,CAAA;AAAA,MACf,GAAAW,UAAA,CAAA,KAAA,CAAA;AAAA,MAEA,IAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MAAA,WAEqB;AAAA,MACvB,GAACC,uBAAA,EAAA;AAAA,KACH,CAAA,CAAA,CAAA;AAEA,IAAa,MAAA,CAAA;AAAA,MAAA,QAAA;AAAA,MAAA,aAAA;AAAA,MAAA,WAAA;AAAA,MAIX,aAAA;AAAA,MAAA,aAAA;AAAA,MAAA,QAAA;AAAA,MAAA,MAAA;AAAA,KAIA,CAAA,CAAA;AAAA,IAAA,OAAA,CAAA,IAAA,EAAA,MAAA,KAAA;AAAA,MAAA,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EAAA,SAAA;AAAA,QAIA,GAAA,EAAA,OAAA;AAAA,QAAA,KAAA,EAAAC,kBAAA,CAAAC,SAAA,CAAA,WAAA,CAAA,CAAA;AAAA,OAAA,EAAA;AAAA,QAAAC,cAAA,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,OAIA,EAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,CAAA;AAIA,WAAA,gBAAAC,iCAAA,CAAA,SAAA,EAAA,CAAA,CAAA,QAAA,EAAA,UAAA,CAAA,CAAA,CAAA;;;;"}
@@ -91,11 +91,11 @@ var fixedSizeGrid = require('./virtual-list/src/components/fixed-size-grid.js');
91
91
  var dynamicSizeGrid = require('./virtual-list/src/components/dynamic-size-grid.js');
92
92
  var directive = require('./loading/src/directive.js');
93
93
  var service = require('./loading/src/service.js');
94
- var affix = require('./affix/src/affix.js');
95
- var alert = require('./alert/src/alert.js');
94
+ var affix = require('./affix/src/affix2.js');
95
+ var alert = require('./alert/src/alert2.js');
96
96
  var autocomplete = require('./autocomplete/src/autocomplete.js');
97
- var avatar = require('./avatar/src/avatar.js');
98
- var backtop = require('./backtop/src/backtop.js');
97
+ var avatar = require('./avatar/src/avatar2.js');
98
+ var backtop = require('./backtop/src/backtop2.js');
99
99
  var badge = require('./badge/src/badge.js');
100
100
  var breadcrumb = require('./breadcrumb/src/breadcrumb.js');
101
101
  var breadcrumbItem = require('./breadcrumb/src/breadcrumb-item.js');
@@ -105,12 +105,12 @@ var constants$1 = require('./button/src/constants.js');
105
105
  var calendar = require('./calendar/src/calendar.js');
106
106
  var card = require('./card/src/card.js');
107
107
  var carousel = require('./carousel/src/carousel.js');
108
- var carouselItem = require('./carousel/src/carousel-item2.js');
108
+ var carouselItem = require('./carousel/src/carousel-item.js');
109
109
  var constants$2 = require('./carousel/src/constants.js');
110
110
  var cascader = require('./cascader/src/cascader.js');
111
111
  var types = require('./cascader-panel/src/types.js');
112
112
  var config = require('./cascader-panel/src/config.js');
113
- var checkTag = require('./check-tag/src/check-tag.js');
113
+ var checkTag = require('./check-tag/src/check-tag2.js');
114
114
  var checkboxGroup = require('./checkbox/src/checkbox-group.js');
115
115
  var checkbox = require('./checkbox/src/checkbox.js');
116
116
  var constants$3 = require('./checkbox/src/constants.js');
@@ -138,7 +138,7 @@ var drawer = require('./drawer/src/drawer.js');
138
138
  var dropdown = require('./dropdown/src/dropdown.js');
139
139
  var tokens = require('./dropdown/src/tokens.js');
140
140
  var empty = require('./empty/src/empty.js');
141
- var form = require('./form/src/form2.js');
141
+ var form = require('./form/src/form.js');
142
142
  var formItem = require('./form/src/form-item.js');
143
143
  var constants$8 = require('./form/src/constants.js');
144
144
  var useFormCommonProps = require('./form/src/hooks/use-form-common-props.js');
@@ -151,8 +151,8 @@ var inputNumber = require('./input-number/src/input-number.js');
151
151
  var inputTag = require('./input-tag/src/input-tag.js');
152
152
  var link = require('./link/src/link.js');
153
153
  var menu = require('./menu/src/menu.js');
154
- var menuItem = require('./menu/src/menu-item2.js');
155
- var menuItemGroup = require('./menu/src/menu-item-group2.js');
154
+ var menuItem = require('./menu/src/menu-item.js');
155
+ var menuItemGroup = require('./menu/src/menu-item-group.js');
156
156
  var subMenu = require('./menu/src/sub-menu.js');
157
157
  var tokens$1 = require('./menu/src/tokens.js');
158
158
  var overlay = require('./overlay/src/overlay.js');
@@ -160,17 +160,17 @@ var pageHeader = require('./page-header/src/page-header.js');
160
160
  var pagination = require('./pagination/src/pagination.js');
161
161
  var constants$9 = require('./pagination/src/constants.js');
162
162
  var popconfirm = require('./popconfirm/src/popconfirm.js');
163
- var popper = require('./popper/src/popper2.js');
164
- var trigger$1 = require('./popper/src/trigger2.js');
163
+ var popper = require('./popper/src/popper.js');
164
+ var trigger$1 = require('./popper/src/trigger.js');
165
165
  var content$1 = require('./popper/src/content.js');
166
166
  var arrow$1 = require('./popper/src/arrow.js');
167
167
  var constants$a = require('./popper/src/constants.js');
168
168
  var arrow = require('./popper/src/arrow2.js');
169
- var trigger = require('./popper/src/trigger.js');
169
+ var trigger = require('./popper/src/trigger2.js');
170
170
  var content = require('./popper/src/content2.js');
171
171
  var progress = require('./progress/src/progress.js');
172
172
  var radio = require('./radio/src/radio.js');
173
- var radioGroup = require('./radio/src/radio-group.js');
173
+ var radioGroup = require('./radio/src/radio-group2.js');
174
174
  var radioButton = require('./radio/src/radio-button.js');
175
175
  var constants$b = require('./radio/src/constants.js');
176
176
  var rate = require('./rate/src/rate.js');
@@ -186,14 +186,14 @@ var select = require('./select/src/select.js');
186
186
  var token$1 = require('./select-v2/src/token.js');
187
187
  var skeleton = require('./skeleton/src/skeleton.js');
188
188
  var skeletonItem = require('./skeleton/src/skeleton-item.js');
189
- var slider = require('./slider/src/slider2.js');
189
+ var slider = require('./slider/src/slider.js');
190
190
  var constants$e = require('./slider/src/constants.js');
191
191
  var space = require('./space/src/space.js');
192
192
  var item = require('./space/src/item.js');
193
193
  var useSpace = require('./space/src/use-space.js');
194
194
  var statistic = require('./statistic/src/statistic.js');
195
- var item$1 = require('./steps/src/item.js');
196
- var steps = require('./steps/src/steps2.js');
195
+ var item$1 = require('./steps/src/item2.js');
196
+ var steps = require('./steps/src/steps.js');
197
197
  var tokens$2 = require('./steps/src/tokens.js');
198
198
  var _switch = require('./switch/src/switch.js');
199
199
  var constants$f = require('./table-v2/src/constants.js');
@@ -205,7 +205,7 @@ var row$1 = require('./table-v2/src/row.js');
205
205
  var tabs = require('./tabs/src/tabs.js');
206
206
  var tabBar = require('./tabs/src/tab-bar.js');
207
207
  var tabNav = require('./tabs/src/tab-nav.js');
208
- var tabPane = require('./tabs/src/tab-pane2.js');
208
+ var tabPane = require('./tabs/src/tab-pane.js');
209
209
  var constants$g = require('./tabs/src/constants.js');
210
210
  var tag = require('./tag/src/tag.js');
211
211
  var text = require('./text/src/text.js');
@@ -214,11 +214,11 @@ var constants$h = require('./time-picker/src/constants.js');
214
214
  var props$1 = require('./time-picker/src/common/props.js');
215
215
  var picker = require('./time-picker/src/common/picker.js');
216
216
  var panelTimePick = require('./time-picker/src/time-picker-com/panel-time-pick.js');
217
- var timeSelect = require('./time-select/src/time-select2.js');
217
+ var timeSelect = require('./time-select/src/time-select.js');
218
218
  var timelineItem = require('./timeline/src/timeline-item.js');
219
219
  var tokens$3 = require('./timeline/src/tokens.js');
220
220
  var tooltip = require('./tooltip/src/tooltip.js');
221
- var trigger$2 = require('./tooltip/src/trigger.js');
221
+ var trigger$2 = require('./tooltip/src/trigger2.js');
222
222
  var content$2 = require('./tooltip/src/content.js');
223
223
  var constants$i = require('./tooltip/src/constants.js');
224
224
  var transfer = require('./transfer/src/transfer.js');
@@ -226,7 +226,7 @@ var tokens$4 = require('./tree/src/tokens.js');
226
226
  var tree = require('./tree/src/tree.js');
227
227
  var upload = require('./upload/src/upload.js');
228
228
  var uploadContent = require('./upload/src/upload-content.js');
229
- var uploadList = require('./upload/src/upload-list2.js');
229
+ var uploadList = require('./upload/src/upload-list.js');
230
230
  var uploadDragger = require('./upload/src/upload-dragger.js');
231
231
  var constants$j = require('./upload/src/constants.js');
232
232
  var fixedSizeList = require('./virtual-list/src/components/fixed-size-list.js');
@@ -236,7 +236,7 @@ var watermark = require('./watermark/src/watermark.js');
236
236
  var tour = require('./tour/src/tour.js');
237
237
  var step = require('./tour/src/step.js');
238
238
  var content$3 = require('./tour/src/content.js');
239
- var anchor = require('./anchor/src/anchor.js');
239
+ var anchor = require('./anchor/src/anchor2.js');
240
240
  var segmented = require('./segmented/src/segmented.js');
241
241
  var mention = require('./mention/src/mention.js');
242
242
  var splitter = require('./splitter/src/splitter.js');
@@ -104,12 +104,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
104
104
  const [recordCursor, setCursor] = index$5.useCursor(input);
105
105
  core.useResizeObserver(textarea, (entries) => {
106
106
  onceInitSizeTextarea();
107
- if (!isWordLimitVisible.value || props.resize !== "both")
107
+ if (!isWordLimitVisible.value || props.resize !== "both" && props.resize !== "horizontal")
108
108
  return;
109
109
  const entry = entries[0];
110
110
  const { width } = entry.contentRect;
111
111
  countStyle.value = {
112
- right: `calc(100% - ${width + 15 + 6}px)`
112
+ right: `calc(100% - ${width + 22 - 10}px)`
113
113
  };
114
114
  });
115
115
  const resizeTextarea = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n containerKls,\n {\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n },\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div ref=\"wrapperRef\" :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :role=\"containerRole\"\n :inputmode=\"inputmode\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span\n v-if=\"isWordLimitVisible\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"[nsTextarea.e('inner'), nsInput.is('focus', isFocused)]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :rows=\"rows\"\n :role=\"containerRole\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n {{ textLength }} / {{ maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Hide as IconHide, View as IconView } from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useComposition,\n useCursor,\n useFocusController,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { calcTextareaHeight, looseToNumber } from './utils'\nimport { inputEmits, inputProps } from './input'\n\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n [nsInput.b('hidden')]: props.type === 'hidden',\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst { form: elForm, formItem: elFormItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => elForm?.statusIcon ?? false)\nconst validateState = computed(() => elFormItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () => props.showPassword && !inputDisabled.value && !!nativeInputValue.value\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!props.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(props.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\nconst hasModelModifiers = computed(\n () => !!Object.keys(props.modelModifiers).length\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (!isWordLimitVisible.value || props.resize !== 'both') return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(15) + right(6) */\n right: `calc(100% - ${width + 15 + 6}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n setTimeout(resizeTextarea)\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue || props.type === 'file') return\n input.value = formatterValue\n}\n\nconst formatValue = (value: string) => {\n const { trim, number } = props.modelModifiers\n if (trim) {\n value = value.trim()\n }\n if (number) {\n value = `${looseToNumber(value)}`\n }\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n return value\n}\n\nconst handleInput = async (event: Event) => {\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n const { lazy } = props.modelModifiers\n let { value } = event.target as TargetElement\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (String(value) === nativeInputValue.value) {\n // preserve native features while being compatible with #9501\n if (props.formatter) {\n setNativeInputValue()\n }\n return\n }\n\n recordCursor()\n emit(UPDATE_MODEL_EVENT, value)\n emit(INPUT_EVENT, value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n\n if ((props.formatter && props.parser) || !hasModelModifiers.value) {\n setNativeInputValue()\n }\n setCursor()\n}\n\nconst handleChange = async (event: Event) => {\n let { value } = event.target as TargetElement\n\n value = formatValue(value)\n if (props.modelModifiers.lazy) {\n emit(UPDATE_MODEL_EVENT, value)\n }\n emit(CHANGE_EVENT, value, event)\n\n await nextTick()\n setNativeInputValue()\n}\n\nconst {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n} = useComposition({ emit, afterComposition: handleInput })\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n}\n\nconst focus = () => _ref.value?.focus()\n\nconst blur = () => _ref.value?.blur()\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear')\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, (newValue) => {\n if (!_ref.value) {\n return\n }\n const { trim, number } = props.modelModifiers\n const elValue = _ref.value.value\n const displayValue =\n (number || props.type === 'number') && !/^0\\d/.test(elValue)\n ? `${looseToNumber(elValue)}`\n : elValue\n\n if (displayValue === newValue) {\n return\n }\n\n if (document.activeElement === _ref.value && _ref.value.type !== 'range') {\n if (trim && displayValue.trim() === newValue) {\n return\n }\n }\n\n setNativeInputValue()\n})\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n COMPONENT_NAME,\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description is input composing */\n isComposing,\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","useSlots","computed","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","useFocusController","debugWarn","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","textareaStyle","looseToNumber","input","event","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","useComposition","watch","onMounted","toRef","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createCommentVNode","_Fragment","_renderSlot","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"input2.js","sources":["../../../../../../packages/components/input/src/input.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n containerKls,\n {\n [nsInput.bm('group', 'append')]: $slots.append,\n [nsInput.bm('group', 'prepend')]: $slots.prepend,\n },\n ]\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- input -->\n <template v-if=\"type !== 'textarea'\">\n <!-- prepend slot -->\n <div v-if=\"$slots.prepend\" :class=\"nsInput.be('group', 'prepend')\">\n <slot name=\"prepend\" />\n </div>\n\n <div ref=\"wrapperRef\" :class=\"wrapperKls\">\n <!-- prefix slot -->\n <span v-if=\"$slots.prefix || prefixIcon\" :class=\"nsInput.e('prefix')\">\n <span :class=\"nsInput.e('prefix-inner')\">\n <slot name=\"prefix\" />\n <el-icon v-if=\"prefixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"prefixIcon\" />\n </el-icon>\n </span>\n </span>\n\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"nsInput.e('inner')\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :type=\"showPassword ? (passwordVisible ? 'text' : 'password') : type\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :style=\"inputStyle\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :role=\"containerRole\"\n :inputmode=\"inputmode\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n\n <!-- suffix slot -->\n <span v-if=\"suffixVisible\" :class=\"nsInput.e('suffix')\">\n <span :class=\"nsInput.e('suffix-inner')\">\n <template\n v-if=\"!showClear || !showPwdVisible || !isWordLimitVisible\"\n >\n <slot name=\"suffix\" />\n <el-icon v-if=\"suffixIcon\" :class=\"nsInput.e('icon')\">\n <component :is=\"suffixIcon\" />\n </el-icon>\n </template>\n <el-icon\n v-if=\"showClear\"\n :class=\"[nsInput.e('icon'), nsInput.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"clear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"showPwdVisible\"\n :class=\"[nsInput.e('icon'), nsInput.e('password')]\"\n @click=\"handlePasswordVisible\"\n @mousedown.prevent=\"NOOP\"\n @mouseup.prevent=\"NOOP\"\n >\n <component :is=\"passwordIcon\" />\n </el-icon>\n <span\n v-if=\"isWordLimitVisible\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n <span :class=\"nsInput.e('count-inner')\">\n {{ textLength }} / {{ maxlength }}\n </span>\n </span>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </span>\n </div>\n\n <!-- append slot -->\n <div v-if=\"$slots.append\" :class=\"nsInput.be('group', 'append')\">\n <slot name=\"append\" />\n </div>\n </template>\n\n <!-- textarea -->\n <template v-else>\n <textarea\n :id=\"inputId\"\n ref=\"textarea\"\n :class=\"[nsTextarea.e('inner'), nsInput.is('focus', isFocused)]\"\n v-bind=\"attrs\"\n :name=\"name\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :tabindex=\"tabindex\"\n :disabled=\"inputDisabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :style=\"textareaStyle\"\n :aria-label=\"ariaLabel\"\n :placeholder=\"placeholder\"\n :form=\"form\"\n :autofocus=\"autofocus\"\n :rows=\"rows\"\n :role=\"containerRole\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @change=\"handleChange\"\n @keydown=\"handleKeydown\"\n />\n <span\n v-if=\"isWordLimitVisible\"\n :style=\"countStyle\"\n :class=\"[\n nsInput.e('count'),\n nsInput.is('outside', wordLimitPosition === 'outside'),\n ]\"\n >\n {{ textLength }} / {{ maxlength }}\n </span>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n toRef,\n useAttrs as useRawAttrs,\n useSlots,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Hide as IconHide, View as IconView } from '@element-plus/icons-vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport {\n NOOP,\n ValidateComponentsMap,\n debugWarn,\n isClient,\n isObject,\n} from '@element-plus/utils'\nimport {\n useAttrs,\n useComposition,\n useCursor,\n useFocusController,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { calcTextareaHeight, looseToNumber } from './utils'\nimport { inputEmits, inputProps } from './input'\n\nimport type { StyleValue } from 'vue'\n\ntype TargetElement = HTMLInputElement | HTMLTextAreaElement\n\nconst COMPONENT_NAME = 'ElInput'\ndefineOptions({\n name: COMPONENT_NAME,\n inheritAttrs: false,\n})\nconst props = defineProps(inputProps)\nconst emit = defineEmits(inputEmits)\n\nconst rawAttrs = useRawAttrs()\nconst attrs = useAttrs()\nconst slots = useSlots()\n\nconst containerKls = computed(() => [\n props.type === 'textarea' ? nsTextarea.b() : nsInput.b(),\n nsInput.m(inputSize.value),\n nsInput.is('disabled', inputDisabled.value),\n nsInput.is('exceed', inputExceed.value),\n {\n [nsInput.b('group')]: slots.prepend || slots.append,\n [nsInput.m('prefix')]: slots.prefix || props.prefixIcon,\n [nsInput.m('suffix')]:\n slots.suffix || props.suffixIcon || props.clearable || props.showPassword,\n [nsInput.bm('suffix', 'password-clear')]:\n showClear.value && showPwdVisible.value,\n [nsInput.b('hidden')]: props.type === 'hidden',\n },\n rawAttrs.class,\n])\n\nconst wrapperKls = computed(() => [\n nsInput.e('wrapper'),\n nsInput.is('focus', isFocused.value),\n])\n\nconst { form: elForm, formItem: elFormItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n})\nconst inputSize = useFormSize()\nconst inputDisabled = useFormDisabled()\nconst nsInput = useNamespace('input')\nconst nsTextarea = useNamespace('textarea')\n\nconst input = shallowRef<HTMLInputElement>()\nconst textarea = shallowRef<HTMLTextAreaElement>()\n\nconst hovering = ref(false)\nconst passwordVisible = ref(false)\nconst countStyle = ref<StyleValue>()\nconst textareaCalcStyle = shallowRef(props.inputStyle)\n\nconst _ref = computed(() => input.value || textarea.value)\n\n// wrapperRef for type=\"text\", handleFocus and handleBlur for type=\"textarea\"\nconst { wrapperRef, isFocused, handleFocus, handleBlur } = useFocusController(\n _ref,\n {\n disabled: inputDisabled,\n afterBlur() {\n if (props.validateEvent) {\n elFormItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n }\n)\n\nconst needStatusIcon = computed(() => elForm?.statusIcon ?? false)\nconst validateState = computed(() => elFormItem?.validateState || '')\nconst validateIcon = computed(\n () => validateState.value && ValidateComponentsMap[validateState.value]\n)\nconst passwordIcon = computed(() =>\n passwordVisible.value ? IconView : IconHide\n)\nconst containerStyle = computed<StyleValue>(() => [\n rawAttrs.style as StyleValue,\n])\nconst textareaStyle = computed<StyleValue>(() => [\n props.inputStyle,\n textareaCalcStyle.value,\n { resize: props.resize },\n])\nconst nativeInputValue = computed(() =>\n isNil(props.modelValue) ? '' : String(props.modelValue)\n)\nconst showClear = computed(\n () =>\n props.clearable &&\n !inputDisabled.value &&\n !props.readonly &&\n !!nativeInputValue.value &&\n (isFocused.value || hovering.value)\n)\nconst showPwdVisible = computed(\n () => props.showPassword && !inputDisabled.value && !!nativeInputValue.value\n)\nconst isWordLimitVisible = computed(\n () =>\n props.showWordLimit &&\n !!props.maxlength &&\n (props.type === 'text' || props.type === 'textarea') &&\n !inputDisabled.value &&\n !props.readonly &&\n !props.showPassword\n)\nconst textLength = computed(() => nativeInputValue.value.length)\nconst inputExceed = computed(\n () =>\n // show exceed style if length of initial value greater then maxlength\n !!isWordLimitVisible.value && textLength.value > Number(props.maxlength)\n)\nconst suffixVisible = computed(\n () =>\n !!slots.suffix ||\n !!props.suffixIcon ||\n showClear.value ||\n props.showPassword ||\n isWordLimitVisible.value ||\n (!!validateState.value && needStatusIcon.value)\n)\nconst hasModelModifiers = computed(\n () => !!Object.keys(props.modelModifiers).length\n)\n\nconst [recordCursor, setCursor] = useCursor(input)\n\nuseResizeObserver(textarea, (entries) => {\n onceInitSizeTextarea()\n if (\n !isWordLimitVisible.value ||\n (props.resize !== 'both' && props.resize !== 'horizontal')\n )\n return\n const entry = entries[0]\n const { width } = entry.contentRect\n countStyle.value = {\n /** right: 100% - width + padding(22) - right(10) */\n right: `calc(100% - ${width + 22 - 10}px)`,\n }\n})\n\nconst resizeTextarea = () => {\n const { type, autosize } = props\n\n if (!isClient || type !== 'textarea' || !textarea.value) return\n\n if (autosize) {\n const minRows = isObject(autosize) ? autosize.minRows : undefined\n const maxRows = isObject(autosize) ? autosize.maxRows : undefined\n const textareaStyle = calcTextareaHeight(textarea.value, minRows, maxRows)\n\n // If the scrollbar is displayed, the height of the textarea needs more space than the calculated height.\n // If set textarea height in this case, the scrollbar will not hide.\n // So we need to hide scrollbar first, and reset it in next tick.\n // see https://github.com/element-plus/element-plus/issues/8825\n textareaCalcStyle.value = {\n overflowY: 'hidden',\n ...textareaStyle,\n }\n\n nextTick(() => {\n // NOTE: Force repaint to make sure the style set above is applied.\n textarea.value!.offsetHeight\n textareaCalcStyle.value = textareaStyle\n })\n } else {\n textareaCalcStyle.value = {\n minHeight: calcTextareaHeight(textarea.value).minHeight,\n }\n }\n}\n\nconst createOnceInitResize = (resizeTextarea: () => void) => {\n let isInit = false\n return () => {\n if (isInit || !props.autosize) return\n const isElHidden = textarea.value?.offsetParent === null\n if (!isElHidden) {\n setTimeout(resizeTextarea)\n isInit = true\n }\n }\n}\n// fix: https://github.com/element-plus/element-plus/issues/12074\nconst onceInitSizeTextarea = createOnceInitResize(resizeTextarea)\n\nconst setNativeInputValue = () => {\n const input = _ref.value\n const formatterValue = props.formatter\n ? props.formatter(nativeInputValue.value)\n : nativeInputValue.value\n if (!input || input.value === formatterValue || props.type === 'file') return\n input.value = formatterValue\n}\n\nconst formatValue = (value: string) => {\n const { trim, number } = props.modelModifiers\n if (trim) {\n value = value.trim()\n }\n if (number) {\n value = `${looseToNumber(value)}`\n }\n if (props.formatter && props.parser) {\n value = props.parser(value)\n }\n return value\n}\n\nconst handleInput = async (event: Event) => {\n // should not emit input during composition\n // see: https://github.com/ElemeFE/element/issues/10516\n if (isComposing.value) return\n\n const { lazy } = props.modelModifiers\n let { value } = event.target as TargetElement\n if (lazy) {\n emit(INPUT_EVENT, value)\n return\n }\n\n value = formatValue(value)\n\n // hack for https://github.com/ElemeFE/element/issues/8548\n // should remove the following line when we don't support IE\n if (String(value) === nativeInputValue.value) {\n // preserve native features while being compatible with #9501\n if (props.formatter) {\n setNativeInputValue()\n }\n return\n }\n\n recordCursor()\n emit(UPDATE_MODEL_EVENT, value)\n emit(INPUT_EVENT, value)\n\n // ensure native input value is controlled\n // see: https://github.com/ElemeFE/element/issues/12850\n await nextTick()\n\n if ((props.formatter && props.parser) || !hasModelModifiers.value) {\n setNativeInputValue()\n }\n setCursor()\n}\n\nconst handleChange = async (event: Event) => {\n let { value } = event.target as TargetElement\n\n value = formatValue(value)\n if (props.modelModifiers.lazy) {\n emit(UPDATE_MODEL_EVENT, value)\n }\n emit(CHANGE_EVENT, value, event)\n\n await nextTick()\n setNativeInputValue()\n}\n\nconst {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n} = useComposition({ emit, afterComposition: handleInput })\n\nconst handlePasswordVisible = () => {\n passwordVisible.value = !passwordVisible.value\n}\n\nconst focus = () => _ref.value?.focus()\n\nconst blur = () => _ref.value?.blur()\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n hovering.value = false\n emit('mouseleave', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n hovering.value = true\n emit('mouseenter', evt)\n}\n\nconst handleKeydown = (evt: KeyboardEvent) => {\n emit('keydown', evt)\n}\n\nconst select = () => {\n _ref.value?.select()\n}\n\nconst clear = () => {\n emit(UPDATE_MODEL_EVENT, '')\n emit(CHANGE_EVENT, '')\n emit('clear')\n emit(INPUT_EVENT, '')\n}\n\nwatch(\n () => props.modelValue,\n () => {\n nextTick(() => resizeTextarea())\n if (props.validateEvent) {\n elFormItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n }\n)\n\n// native input value is set explicitly\n// do not use v-model / :value in template\n// see: https://github.com/ElemeFE/element/issues/14521\nwatch(nativeInputValue, (newValue) => {\n if (!_ref.value) {\n return\n }\n const { trim, number } = props.modelModifiers\n const elValue = _ref.value.value\n const displayValue =\n (number || props.type === 'number') && !/^0\\d/.test(elValue)\n ? `${looseToNumber(elValue)}`\n : elValue\n\n if (displayValue === newValue) {\n return\n }\n\n if (document.activeElement === _ref.value && _ref.value.type !== 'range') {\n if (trim && displayValue.trim() === newValue) {\n return\n }\n }\n\n setNativeInputValue()\n})\n\n// when change between <input> and <textarea>,\n// update DOM dependent value and styles\n// https://github.com/ElemeFE/element/issues/14857\nwatch(\n () => props.type,\n async () => {\n await nextTick()\n setNativeInputValue()\n resizeTextarea()\n }\n)\n\nonMounted(() => {\n if (!props.formatter && props.parser) {\n debugWarn(\n COMPONENT_NAME,\n 'If you set the parser, you also need to set the formatter.'\n )\n }\n setNativeInputValue()\n nextTick(resizeTextarea)\n})\n\ndefineExpose({\n /** @description HTML input element */\n input,\n /** @description HTML textarea element */\n textarea,\n /** @description HTML element, input or textarea */\n ref: _ref,\n /** @description style of textarea. */\n textareaStyle,\n\n /** @description from props (used on unit test) */\n autosize: toRef(props, 'autosize'),\n\n /** @description is input composing */\n isComposing,\n\n /** @description HTML input element native method */\n focus,\n /** @description HTML input element native method */\n blur,\n /** @description HTML input element native method */\n select,\n /** @description clear input value */\n clear,\n /** @description resize textarea. */\n resizeTextarea,\n})\n</script>\n"],"names":["useRawAttrs","useAttrs","useSlots","computed","useFormItem","useFormItemInputId","useFormSize","useFormDisabled","useNamespace","shallowRef","ref","useFocusController","debugWarn","IconView","IconHide","isNil","useCursor","useResizeObserver","isClient","isObject","calcTextareaHeight","nextTick","textareaStyle","looseToNumber","input","event","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","useComposition","watch","onMounted","toRef","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createCommentVNode","_Fragment","_renderSlot","_createElementVNode"],"mappings":"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"}